summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-07-14 03:01:33 +0000
committerNorbert Preining <norbert@preining.info>2021-07-14 03:01:33 +0000
commit3303a89b11161d66ec78811056b85306f696cc09 (patch)
tree32dec4376d10f3e3aa82049a3388462e39914a70 /macros/latex
parent4ac920a9909dd7d233ed3662bb576e1ae4ade873 (diff)
CTAN sync 202107140301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx419
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin569332 -> 568439 bytes
-rw-r--r--macros/latex/contrib/etoc/README.md146
-rw-r--r--macros/latex/contrib/etoc/etoc-DE.pdfbin566467 -> 583023 bytes
-rw-r--r--macros/latex/contrib/etoc/etoc.dtx293
-rw-r--r--macros/latex/contrib/etoc/etoc.pdfbin622143 -> 639634 bytes
-rw-r--r--macros/latex/contrib/ifallfalse/README.md10
-rw-r--r--macros/latex/contrib/ifallfalse/ifallfalse.dtx35
-rw-r--r--macros/latex/contrib/ifallfalse/ifallfalse.pdfbin163190 -> 176927 bytes
-rw-r--r--macros/latex/contrib/l3backend/CHANGELOG.md9
-rw-r--r--macros/latex/contrib/l3backend/README.md2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-basics.dtx23
-rw-r--r--macros/latex/contrib/l3backend/l3backend-box.dtx2
-rw-r--r--macros/latex/contrib/l3backend/l3backend-code.pdfbin884350 -> 887250 bytes
-rw-r--r--macros/latex/contrib/l3backend/l3backend-color.dtx2
-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.dtx59
-rw-r--r--macros/latex/contrib/l3backend/l3backend-pdf.dtx24
-rw-r--r--macros/latex/contrib/l3backend/l3backend.ins2
-rw-r--r--macros/latex/contrib/l3experimental/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3experimental/README.md11
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.pdfbin308513 -> 308192 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3bitset.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3bitset.pdfbin404327 -> 404027 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-boxes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-code.pdfbin653470 -> 653480 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-layers.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-paths.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-points.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-scopes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-softpath.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-state.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-transforms.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.pdfbin516603 -> 516286 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.pdfbin408867 -> 408562 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.pdfbin383971 -> 383668 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.dtx140
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.ins58
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.pdfbin0 -> 334707 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.pdfbin367963 -> 367660 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.pdfbin347992 -> 347679 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.pdfbin394330 -> 394017 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.pdfbin299666 -> 299354 bytes
-rw-r--r--macros/latex/contrib/l3kernel/CHANGELOG.md11
-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.pdfbin623657 -> 623220 bytes
-rw-r--r--macros/latex/contrib/l3kernel/interface3.pdfbin1721426 -> 1720994 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.dtx2
-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.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3color.dtx17
-rw-r--r--macros/latex/contrib/l3kernel/l3debug.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3deprecation.dtx115
-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.pdfbin151926 -> 151531 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.pdfbin395907 -> 395907 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news01.pdfbin122713 -> 122713 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news02.pdfbin150672 -> 150672 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news03.pdfbin148707 -> 148707 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news04.pdfbin114588 -> 114588 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news05.pdfbin112485 -> 112485 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news06.pdfbin151572 -> 151572 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news07.pdfbin128312 -> 128312 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news08.pdfbin163455 -> 163455 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news09.pdfbin250134 -> 250134 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news10.pdfbin150289 -> 150289 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news11.pdfbin170069 -> 170069 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3news12.pdfbin204992 -> 204992 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3pdf.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.csv1
-rw-r--r--macros/latex/contrib/l3kernel/l3prefixes.pdfbin80464 -> 80515 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.dtx2
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.pdfbin296381 -> 295936 bytes
-rw-r--r--macros/latex/contrib/l3kernel/l3styleguide.tex2
-rw-r--r--macros/latex/contrib/l3kernel/l3syntax-changes.pdfbin243052 -> 242611 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.pdfbin231439 -> 230998 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.pdfbin6840646 -> 6831125 bytes
-rw-r--r--macros/latex/contrib/l3kernel/source3.tex2
-rw-r--r--macros/latex/contrib/macrolist/README.md37
-rw-r--r--macros/latex/contrib/macrolist/macrolist.dtx325
-rw-r--r--macros/latex/contrib/macrolist/macrolist.ins45
-rw-r--r--macros/latex/contrib/macrolist/macrolist.pdfbin0 -> 183759 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin84066 -> 97018 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex467
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty22
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls2
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls2
-rw-r--r--macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdfbin3218742 -> 3218647 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdfbin87390 -> 89611 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdfbin137244 -> 94452 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx3934
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins16
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdfbin382547 -> 348939 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdfbin104918 -> 112604 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdfbin151732 -> 114124 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdfbin58977 -> 49368 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdfbin217816 -> 221098 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdfbin298749 -> 303784 bytes
-rw-r--r--macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdfbin0 -> 207486 bytes
-rw-r--r--macros/latex/contrib/yathesis/CHANGELOG.md14
-rw-r--r--macros/latex/contrib/yathesis/README.md2
-rw-r--r--macros/latex/contrib/yathesis/doc/yathesis-fr.pdfbin6373433 -> 6469140 bytes
-rw-r--r--macros/latex/contrib/yathesis/exemples/specimen/these.pdfbin1246063 -> 1261113 bytes
-rw-r--r--macros/latex/contrib/yathesis/exemples/specimen/these.tex3
-rw-r--r--macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx6
-rw-r--r--macros/latex/contrib/yathesis/source/yathesis.dtx457
166 files changed, 3685 insertions, 3214 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 28934e5a5f..2070d0dfd9 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -28,7 +28,7 @@
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/07/12\hskip\ccwd\relax v1.27c\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/07/13\hskip\ccwd\relax v1.27d\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -90,7 +90,7 @@
%
% \section{文档类选项}
% \label{sec:document class options}
-% 标准 \cls{book} 文类与 \cls{ctexbook} 文类的选项同样适用于本文档。除此之外选项分为两类
+% 标准文档类与 \CTeX 文档类的选项和命令同样适用于本文档,除此之外选项分为两类:
% \begin{itemize}
% \item 带有 \rexptarget\rexpstar{} 号的选项,需要在引入文档类的时候设定。
% \item 带有 \exptarget\expstar{} 号的选项,需要通过 \CTeX 宏集提供的用户接口命令 \tn{ctexset} 或节 \ref{sec:interface options} 中此选项所属模块接口命令设定。
@@ -148,7 +148,7 @@
% cjkfont = <adobe|fandol|founder|mac|macnew|macold|ubuntu|windows|none>
% \end{syntax}
% 中文字体采用 \CTeX 宏集包含的字库并与其一致,具体配置方案可以查看 \CTeX 使用手册。它与 \opt{fontset} 选项是等效的,如果没有指定 \opt{cjkfont} 的值,将会自动检测用户的操作系统并选择相应的字体。
-% \changes{v1.27c}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
+% \changes{v1.27d}{2021/07/12}{新增 \opt{cjkfont} 选项设置中文字体,原 \opt{font} 选项设置英文字体,中文字体使用 \CTeX 的字库。}
% \end{function}
%
% 如果需要使用其它中文字体,可以在启用选项 \opt{cjkfont = none} 后,再使用 \pkg{xeCJK} 宏包的相关命令设置字体以及声明字体族:
@@ -188,7 +188,7 @@
% \begin{syntax}
% class = <(book)|article>
% \end{syntax}
-% 使用 \cls{easybook} 文档类可以有两种模式,默认为 \cls{book} 模式。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时节 \ref{sec:document command} 中目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。也可以使用 \opt{book} 或 \opt{article} 选项指定文档类型。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则 \opt{book} 宏包选项会失效。
+% 使用 \cls{easybook} 文档类可以有两种模式,默认为 \cls{book} 模式。选用 \opt{article} 会变为 \opt{oneside} 单面排版,同时使文档编号、结构等与标准 \cls{article} 文档类的特性相似,可用于短篇幅的文章,不需要再使用 \tn{chapter} 命令,此时节 \ref{sec:document command} 中目录命令的 \opt{chapter} 选项会失效,将以 \opt{section} 标题级别输出目录。也可以使用 \opt{book} 或 \opt{article} 选项指定文档类型。如果使用 \cls{ctexart} 配合 \pkg{easybase} 宏包,则宏包选项 \opt{book} 会失效。
% \changes{v1.23}{2021/03/16}{增加 article 文章模式,可用于短篇幅的文章。}
% \end{function}
%
@@ -280,7 +280,7 @@
% \changes{v1.26}{2021/06/28}{增加可以调整相对位置和格式的上标和下标命令 \tn{super}、\tn{sub} 和 \tn{supersub}。}
% \end{function}
%
-% 垂直和水平偏移默认值都是 0 pt,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。上标和下标命令还分别具有更简短的等价命令 \tn{sp}、\tn{sb} 和 \tn{spb}。
+% 默认没有垂直和水平偏移,\meta{对齐方式} 的参数与 \opt{supersubalign} 相同。\meta{格式代码} 用于格式化上标和下标,可以插入字体或颜色等命令。代码中的最后一个命令可以接受一个为上标或下标的参数。上标和下标命令还分别具有更简短的等价命令 \tn{sp}、\tn{sb} 和 \tn{spb}。
%
% \section{接口选项}
% \label{sec:interface options}
@@ -317,19 +317,19 @@
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{style/...}
% \changes{v1.10}{2021/01/08}{更改颜色实现方式与选项名。}
-% \changes{v1.23}{2021/02/02}{noto风格的数学字体独立出来,可自定义设置。}
+% \changes{v1.23}{2021/02/02}{noto 风格的数学字体独立出来,可自定义设置。}
% \changes{v1.23}{2021/02/09}{增加控制页面横线粗细的选项 \opt{rulewidth}。}
% \end{function}
%
% \begin{optdesc}
% \item[color] 预置了四种主题颜色,默认主题 \opt{none} 为黑白页面,主题颜色不包括超链接。
-% \begin{function}{\DeclareThemeColor}
-% \begin{syntax}
-% \tn{DeclareThemeColor}\{<风格名称>,<ctex@frame>,<ctex@emph>,<ctex@verb>\}
-% \end{syntax}
-% 可以使用 \tn{DeclareThemeColor} 命令声明新的主题颜色,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成主题颜色。类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。
-% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareThemeColor} 命令声明新的颜色风格。}
-% \end{function}
+% \begin{function}{\DeclareThemeColor}
+% \begin{syntax}
+% \tn{DeclareThemeColor}\{<风格名称>,<ctex@frame>,<ctex@emph>,<ctex@verb>\}
+% \end{syntax}
+% 可以使用 \tn{DeclareThemeColor} 命令声明新的主题颜色,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成主题颜色。类似地更改超链接颜色见小节 \ref{subsec:hyperlinks}。
+% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareThemeColor} 命令声明新的颜色风格。}
+% \end{function}
% \item[color-all] 统一设置主题的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
% \item[multoc] 开启多栏目录,与节 \ref{sec:document command} 中目录命令的同名选项有相同效果。
% \item[withpart] 使章跟随每一部分编号,默认不跟随。
@@ -388,13 +388,13 @@
% \begin{optdesc}
% \item[linktype] \opt{edge} 使超链接为边框形式,\opt{various} 使超链接变为彩色,预置了四种颜色样式。\opt{none} 关闭超链接边框与颜色,此时 \opt{linkcolor} 选项无效。
% \item[linkcolor] 超链接颜色样式。
-% \begin{function}{\DeclareLinkColor}
-% \begin{syntax}
-% \tn{DeclareLinkColor}\{<风格名称>,<ctex@link>,<ctex@url>,<ctex@cite>\}
-% \end{syntax}
-% 可以使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色样式,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成超链接颜色。
-% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色。}
-% \end{function}
+% \begin{function}{\DeclareLinkColor}
+% \begin{syntax}
+% \tn{DeclareLinkColor}\{<风格名称>,<ctex@link>,<ctex@url>,<ctex@cite>\}
+% \end{syntax}
+% 可以使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色样式,它的参数以英文逗号分隔,第一部分为颜色风格名称,后面三部分为 HTML 颜色代码,构成超链接颜色。
+% \changes{v1.26}{2021/07/03}{使用 \tn{DeclareLinkColor} 命令声明新的超链接颜色。}
+% \end{function}
% \item[linkcol-all] 统一设置超链接的各部分颜色,参数是 6 个十六进制数字组成的 HTML 颜色代码,任意颜色的代码可以在常见的图片处理工具拾色器中查看。
% \item[linktoc] 将目录中的超链接取消、置于标题上、置于页码上或置于标题和页码上。
% \end{optdesc}
@@ -434,7 +434,7 @@
% listing-cap = <(\tn{sffamily}\tn{small})>
% footnote = <(\tn{rmfamily})>
% marginpar = <(\tn{rmfamily}\tn{footnotesize})>
-% math = <times|(noto)|notosans|nc|stix|charter|garamond|libertine|none>
+% math = <(times)|noto|notosans|nc|stix|charter|garamond|libertine|none>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
@@ -474,7 +474,7 @@
% \item[datafile] 参考文献数据库的文件名,可以是单个文件也可以是以括号包裹并以英文逗号分隔的文件列表,使用 \hologo{biber} 处理时要带有 \opt{bib} 后缀,若不在当前文件夹名称需要包含路径。只有设置数据库的文件名才会载入 \pkg{natbib} 或 \pkg{biblatex} 宏包,之后才可使用相关配置命令,否则需要手动载入相关宏包配置参考文献。
% \end{optdesc}
%
-% \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\BibtexPostset,\BiblatexPreset,\BiblatexPostset}
+% \begin{function}[added = 2021-01-11,updated = 2021-04-09]{\printbibliography,\BibtexPreSet,\BibtexPostSet,\BiblatexPreSet,\BiblatexPostSet}
% \begin{syntax}
% \tn{printbibliography}\oarg{键值列表}
% \end{syntax}
@@ -483,16 +483,17 @@
%
% \begin{optdesc}
% \item[\tn{printbibliography}] 两种方式 \textbf{均使用} 此命令打印参考文献,不同处理后端此命令的 \meta{键值列表} 不同。使用 \hologo{BibTeX} 处理时选项与节 \ref{sec:document command} 目录的选项相同,使用 \hologo{biber} 处理时常用的选项如下:
-% \begin{function}{heading,title}
-% \begin{syntax}
-% heading = <bibliography|subbibliography|(bibintoc)|subbibintoc>
-% title = <参考文献标题名>
-% \end{syntax}
-% \opt{heading} 为参考文献标题的处理方式,\opt{bibliography} 选项以 \opt{chapter} 级别输出参考文献,不加进目录,\opt{subbibliography} 选项以 \opt{section} 级别输出参考文献,不加进目录,\opt{bibintoc} 选项以 \opt{chapter} 级别输出参考文献,加进目录,\opt{subbibintoc} 选项以 \opt{section} 级别输出参考文献,加进目录。\opt{title} 选项覆盖由 \opt{heading} 选项提供的缺省标题名。除此之外其他支持选项可见 \pkg{biblatex} 宏包说明文档。
-% \end{function}
-% \item[\tn{BibtexPostset}] 这是 \pkg{natbib} 宏包的配置命令,需要与 \pkg{natbib} 配合并放在载入其之后使用,默认保存了参考文献风格和标题的设置。
-% \item[\tn{BiblatexPreset}] 这是 \pkg{biblatex} 宏包的前配置命令,需要与 \pkg{biblatex} 配合并放在载入其之前使用,默认保存了参考文献风格的设置。若重新定义可使用 \tn{PassOptionsToPackage} 命令向 \pkg{biblatex} 传递它支持的各种参考文献选项。
-% \item[\tn{BiblatexPostset}] 这是 \pkg{biblatex} 宏包的后配置命令,需要与 \pkg{biblatex} 配合并放在载入其之后使用,默认保存了参考文献标题的设置。
+% \begin{function}{heading,title}
+% \begin{syntax}
+% heading = <bibliography|subbibliography|(bibintoc)|subbibintoc>
+% title = <参考文献标题名>
+% \end{syntax}
+% \opt{heading} 为参考文献标题的处理方式,\opt{bibliography} 选项以 \opt{chapter} 级别输出参考文献,不加进目录,\opt{subbibliography} 选项以 \opt{section} 级别输出参考文献,不加进目录,\opt{bibintoc} 选项以 \opt{chapter} 级别输出参考文献,加进目录,\opt{subbibintoc} 选项以 \opt{section} 级别输出参考文献,加进目录。\opt{title} 选项覆盖由 \opt{heading} 选项提供的缺省标题名。除此之外其他支持选项可见 \pkg{biblatex} 宏包说明文档。
+% \end{function}
+% \item[\tn{BibtexPreSet}] 这是 \pkg{natbib} 宏包的前配置命令,需要与 \pkg{natbib} 配合并放在载入其之前使用,可以重新定义它向 \pkg{natbib} 传递宏包选项。
+% \item[\tn{BibtexPostSet}] 这是 \pkg{natbib} 宏包的后配置命令,需要与 \pkg{natbib} 配合并放在载入其之后使用,默认保存了参考文献风格和标题的设置。
+% \item[\tn{BiblatexPreSet}] 这是 \pkg{biblatex} 宏包的前配置命令,需要与 \pkg{biblatex} 配合并放在载入其之前使用,默认保存了参考文献风格的设置。若重新定义可使用 \tn{PassOptionsToPackage} 命令向 \pkg{biblatex} 传递它支持的各种参考文献选项。
+% \item[\tn{BiblatexPostSet}] 这是 \pkg{biblatex} 宏包的后配置命令,需要与 \pkg{biblatex} 配合并放在载入其之后使用,默认保存了参考文献标题的设置。
% \end{optdesc}
%
% \subsection{定理样式}
@@ -532,26 +533,27 @@
% \item[brackets] 设置行间公式编号标签的括号,以英文逗号分隔,分别为左右括号。
% \end{optdesc}
%
-% \begin{function}[added = 2021-01-12,updated = 2021-06-15]{\declaretheorem,\DeclareTheorem,\declaretheoremstyle}
+% \subsubsection{新建定理样式}
+% \begin{function}[added = 2021-01-12,updated = 2021-07-13]{\declaretheorem,\DeclareTheorem,\declaretheoremstyle}
% \begin{syntax}
-% \tn{declaretheorem}\oarg{键值列表}\marg{定理环境名}
+% \tn{declaretheorem}\oarg{键值列表}\marg{定理环境名}\oarg{键值列表}
% \tn{DeclareTheorem}\marg{定理环境名}\oarg{英文标题}\marg{中文标题}\parg{盒子样式|(tc-theorem)}\oarg{键值列表}
-% \tn{declaretheoremstyle}\oarg{键值列表}\marg{定理样式名}
+% \tn{declaretheoremstyle}\oarg{键值列表}\marg{定理样式名}\oarg{键值列表}
% \end{syntax}
-% 文档类已预置 8 个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令,由 \pkg{thmtools} 提供支持,用法与它的同名命令一致。
+% 文档类已预置 8 个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这三个命令,由 \pkg{thmtools} 提供支持,其中两个命令各自前后可选参数的 \meta{键值列表} 是等效的,用法与它们的同名命令一致。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{DeclareTheorem}。}
% \changes{v1.26}{2021/06/15}{定义新定理环境的命令调整为 \tn{declaretheorem}。}
% \end{function}
%
% \begin{optdesc}
-% \item[\tn{declaretheorem}] 定义新的定理类环境,\tn{newtheorem} 命令与它等效。\meta{键值列表} 中常用的选项如下
-% \begin{description}
-% \item[name] 定理的标题。默认值是环境的名称,并且首字母大写(英文标题)。
-% \item[numbered] 值为 \opt{no}、\opt{yes} 或 \opt{unless unique}。定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
-% \item[numberlike] 定理将使用此计数器进行编号,通常这是另一个定理环境的名称。
-% \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。
-% \end{description}
+% \item[\tn{declaretheorem}] 定义新的定理类环境,\tn{newtheorem} 命令与它等效。\meta{键值列表} 中常用的选项如下:
+% \begin{optdesc}
+% \item[name] 定理的标题。默认值是环境的名称,并且首字母大写(英文标题)。
+% \item[numbered] 值为 \opt{no}、\opt{yes} 或 \opt{unless unique}。定理可以被编号、不被编号或者只有在文档中多次出现时才被编号。
+% \item[numberlike] 定理将使用此计数器进行编号,通常这是另一个定理环境的名称。
+% \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。
+% \end{optdesc}
% \item[\tn{DeclareTheorem}] \tn{DeclareTheorem} 是更便捷的定理命令,它定义一个新的定理环境,\meta{键值列表} 支持的选项与 \tn{declaretheorem} 相同,但它们的区别有:
% \begin{itemize}
% \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的环境名。
@@ -562,10 +564,9 @@
% \item[\tn{declaretheoremstyle}] 定义新的定理样式,\meta{键值列表} 中包括上述定理样式以及 \tn{declaretheorem} 的所有选项。
% \end{optdesc}
%
-% \subsubsection{新的定理样式}
-% 预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样:
+% 下面简单列举定理命令的用法,预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样:
% \begin{ctexexam}
-% \DeclareTheorem{定理环境名}{中文标题}[style = other theorem]
+% \DeclareTheorem{定理环境名}{中文标题}[style = easy-theorem]
% \declaretheorem[style = easy-theorem,name = 定理名]{定理环境名}
% \end{ctexexam}
% \tn{declaretheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置:
@@ -667,21 +668,29 @@
% \subsubsection{脚注格式}
% \begin{function}[EXP,added = 2021-05-12]{fnmargin,fnparskip,fnparindent,fnhang,fnmark-pos,fnmark-num,fnmark-num,fnmark-form,afterfnmark}
% \begin{syntax}
-% fnmargin = <脚注首段缩进|(0.75\tn{ccwd})>
-% fnparskip = <脚注段落间距|(0ex)>
-% fnparindent = <脚注段落缩进|(2\tn{ccwd})>
+% fnmargin = <刚性长度|(0.75\tn{ccwd})>
+% fnparskip = <弹性长度|(0ex)>
+% fnparindent = <刚性长度|(2\tn{ccwd})>
% fnhang = <(true)|false>
% fnmark-pos = <normal|(super)>
% fnmark-num = <(plain)|pifont|pifont*|pifont-sans|pifont-sans*>
-% fnmark-form = <脚注标记格式>
-% afterfnmark = <脚注标记后的代码>
+% fnmark-form = <格式代码>
+% afterfnmark = <格式代码>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
-% 上面几个选项用于设置脚注格式,\opt{fnparskip} 和 \opt{fnparindent} 选项仅在 \opt{fnhang = true} 时有效。\opt{fnhang} 用于将脚注设置为悬挂缩进的格式,\opt{fnmark-pos} 选项设置脚注编号的位置,正常文本或是上标形式。\opt{fnmark-num} 选项设置脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括 1-10。
% \changes{v1.25}{2021/05/12}{增加脚注样式设置选项。}
% \end{function}
%
-% \opt{fnmark-form} 是脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
+% \begin{optdesc}
+% \item[fnmargin] 脚注首段缩进距离,等于长度 \tn{footnotemargin} 的值。
+% \item[fnparskip] 脚注段落间距,仅在脚注为悬挂缩进时有效。
+% \item[fnparindent] 脚注段落缩进,仅在脚注为悬挂缩进时有效。
+% \item[fnhang] 脚注是否为悬挂缩进的格式,默认开启。
+% \item[fnmark-pos] 设置脚注编号的位置,正常文本或是上标形式。
+% \item[fnmark-num] 脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括 1-10。
+% \item[fnmark-form] 脚注标记的格式,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。
+% \item[afterfnmark] 脚注标记后的代码,由于脚注标记处于水平盒子中,它一般用于设置标记与文本间的距离。
+% \end{optdesc}
%
% \subsection{目录样式}
% \label{subsec:catalog style}
@@ -694,7 +703,7 @@
% numsep = <编号后间距|(\tn{ccwd})>
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{tocset/(level)/...} \\
-% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 part、chapter、section、subsection、figure、table 和 lstlisting 级别的目录,而使用 \opt{list} 级别可以统一设置图片、表格和代码目录的样式。
+% \opt{tocset} 将目录样式交给 \pkg{titletoc} 处理,\opt{(level)} 代表 part、chapter、section、subsection、figure、table 和 lstlisting 级别的目录,而使用 list 级别可以统一设置图片、表格和代码目录的样式。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
% \changes{v1.25}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
@@ -794,40 +803,19 @@
% \ \tn{item} <列表内容>
% \tn{end}\marg{环境名}
% \end{syntax}
-% \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的 \meta{键值列表},具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如:
+% \pkg{enumitem} 宏包为系统预置的三种列表环境即排序列表 \env{enumerate}、常规列表 \env{itemize} 和 主题列表 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置三种列表格式,或者直接使用可选参数的 \meta{键值列表},具体选项见 \pkg{enumitem} 宏包文档。
+%
+% 已为三种列表预置了三个级别,同种列表或不同种列表间的不同级别可相互嵌套,带有星号的环境为行内列表。默认列表标签与标准 \cls{book} 文档类一致,下面举几个更改列表标签以及其它格式的例子:
% \changes{v1.24}{2021/04/08}{重新优化列表环境的配置。}
% \end{function}
%
% \begin{ctexexam}
+% \setlist{nosep} % 取消所有列表额外的垂直间距
% \begin{enumerate}[label = \arabic*(a),leftmargin = 1cm,resume]
% \begin{itemize}[label = \textbullet]
% \begin{description}[font = \sffamily\bfseries,style = nextline]
% \end{ctexexam}
%
-% \subsubsection{排序列表}
-% \label{subsec:sort list}
-% 使用 \opt{enumerate} 环境可创建排序列表,使用 \env{enumerate*} 环境产生行内部列表,可以使用 \textbf{A、a、I、i和1} 作为可选项为 \env{enumerate} 与 \env{enumerate*} 格式化标签。若生成 \textbf{Item I、Item II、Item III} 格式可以这样:
-% \begin{ctexexam}
-% \begin{enumerate*}[(a)]
-% \begin{enumerate}[\bfseries{Item} I]
-% \end{ctexexam}
-%
-% \subsubsection{常规列表}
-% 使用 \env{itemize} 环境可创建不计数列表,列表环境中若换行不缩进,若在列表中分段后则缩进两字符。 \opt{itemize*} 为行内常规列表,举一个用$\star$取代默认的符号的例子:
-% \begin{ctexexam}
-% \begin{itemize*}[$\star$]
-% \begin{itemize}[$\star$]
-% \end{ctexexam}
-%
-% \subsubsection{主题列表}
-% 使用 \env{description} 环境可创建带有主题词的列表:
-% \begin{ctexexam}
-% \begin{description}
-% \item[主题一] 内容一
-% \item[主题二] 内容二
-% \end{description}
-% \end{ctexexam}
-%
% \subsection{定理}
% \label{subsec:theorem}
% \begin{function}[added = 2021-01-05,updated = 2021-01-08]{theorem,definition,lemma,corollary,proposition,example,remark,proof}
@@ -856,7 +844,7 @@
% \tn{end}\{hangparas\}
% \end{syntax}
% \tn{hangpara} 命令使其后的一个段落保持悬挂缩进,\env{hangparas} 环境使其中的段落均保持悬挂缩进。缩进将以 \meta{缩进长度} 从每个段落的 \meta{缩进开始行数} 开始。
-% \changes{v1.27c}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
+% \changes{v1.27d}{2021/07/11}{增加悬挂缩进段落命令 \tn{hangpara} 和环境 \env{hangparas}。}
% \end{function}
%
% \subsection{代码}
@@ -906,8 +894,8 @@
% \tcphanifname{\markright{\UseCounter{tcbcounter}{\quad 习题}}}{}
% \exerprologue{习题前的一段文本}
% \begin{exercise}+[color = LightSkyBlue](after skip = 3.75ex)[itemsep = 1ex]
-% \item 习题内容
-% \item 习题内容
+% \item 第一题
+% \item 第二题
% \end{exercise}
% \end{ctexexam}
%
@@ -944,9 +932,9 @@
%
% \begin{ctexexam}
% \begin{easybox}*[DarkCyan](段落标题)
-% 盒子内容
-% \tcblower % 盒子上下部分分界线
-% 盒子内容
+% 上半盒子内容
+% \tcblower % 盒子上下部分分界线
+% 下半盒子内容
% \end{easybox}
% \end{ctexexam}
%
@@ -956,17 +944,18 @@
% \ <盒子内容>
% \tn{end}\{ebparbox\}
% \end{syntax}
-% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
+% 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。
% \changes{v1.24}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。}
% \end{function}
%
% \subsubsection{行内盒子}
-% \begin{function}[added = 2021-03-13,updated = 2021-04-21]{\eblink,\ebemph}
+% \begin{function}[added = 2021-03-13,updated = 2021-07-13]{\eblink,\ebemph,\ebfbox}
% \begin{syntax}
% \tn{eblink}\oarg{颜色名|(Aqua)}\marg{内容}\oarg{配置选项}
% \tn{ebemph}\oarg{颜色名|(DarkSeaGreen)}\marg{内容}\oarg{配置选项}
+% \tn{ebfbox}\oarg{颜色名|(Lime)}\marg{内容}\oarg{配置选项}
% \end{syntax}
-% 设置了两个参数选项相同的行内盒子,盒子 \opt{eblink} 为抄录盒子有三个参数,行内盒子内容是必选参数其他可选。盒子 \opt{ebemph} 也是抄录盒子,具有模糊边缘类似高亮的效果。
+% 使用 \pkg{tcolorbox} 预置了三个参数选项相同的行内盒子,它们均为抄录命令。盒子 \opt{eblink} 具有类似超链接边框的效果,盒子 \opt{ebemph} 具有模糊边缘类似高亮的效果,盒子 \opt{ebfbox} 则有直角边缘并带有上下框线。
% \end{function}
%
% \section{更多用法}
@@ -1043,11 +1032,11 @@
% \subsubsection{自定义脚注}
% \begin{function}[added = 2021-01-05]{\Footnote,\Footnotetext,\Footnotemark}
% \begin{syntax}
-% \tn{Footnote}\marg{标记}\marg{插入文本}
-% \tn{Footnotetext}\marg{标记}\marg{插入文本}
+% \tn{Footnote}\marg{标记}\marg{脚注文本}
+% \tn{Footnotetext}\marg{标记}\marg{脚注文本}
% \tn{Footnotemark}\marg{标记}
% \end{syntax}
-% 自定义标记且不影响正常编号的脚注命令。
+% 这些是自定义 \meta{标记} 且不影响正常编号的脚注命令,用法与它们对应首字母小写的命令类似。如果 \meta{标记} 为空,那么将会使用上一个脚注标记。
% \end{function}
%
% \begin{ctexexam}
@@ -1102,7 +1091,7 @@
%
% \section{载入的宏包}
% 以下为 \cls{easybook} 直接调用的关键宏包,带有 \ding{75} 符号的宏包并未载入它们,仅做了预配置和兼容性处理,可根据需要在导言区手动载入以实现相关的功能。
-% \begin{description}
+% \begin{description}[font = \normalfont\sffamily]
% \item[ctex] 提供中文排版的通用框架。
% \item[xcolor] 提供任意颜色的设定与混合,已载入了 \opt{svgnames} 颜色库。
% \item[footmisc] 更改脚注排版的方法的集合。
@@ -1185,7 +1174,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2021/07/12}{1.27c}
+\ProvidesExplClass{easybook}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -1480,7 +1469,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2021/07/12}{1.27c}
+\ProvidesExplPackage{easybase}{2021/07/13}{1.27d}
{Typeset Chinese theses or books}
\cs_generate_variant:Nn \ctex_define:nn { nx }
@@ -1585,8 +1574,8 @@
\bool_set_false:N \l__eb_page_twoside_bool
},
class .initial:n = book,
- book .meta:n = { class = #1 },
- article .meta:n = { class = #1 },
+ book .meta:n = { class = book },
+ article .meta:n = { class = article },
unknown .code:n =
{ \clist_gput_right:NV \g__eb_ctex_options_clist \CurrentOption }
@@ -1725,7 +1714,7 @@
headruleskip .tl_set:N = \headruleskip,
headruleskip .initial:n = 1.5pt,
footruleskip .tl_set:N = \footruleskip,
- unknown .code:n =
+ unknown .code:n =
{
\clist_gput_right:Nx \g__eb_geometry_clist
{
@@ -2419,8 +2408,8 @@
\cs_new_protected:Npn \eb_biber_title_level_bool:n #1
{
\bool_if:NTF \l__eb_class_book_bool
- { \bichapter*{#1}{\l__eb_bib_bitoc_title} }
- { \bisection*{#1}{\l__eb_bib_bitoc_title} }
+ { \bichapter*{#1}{\l__eb_bib_en_bitoc_title_tl} }
+ { \bisection*{#1}{\l__eb_bib_en_bitoc_title_tl} }
\eb@level@section@mark{#1}
}
\cs_new_protected:Npn \eb_toc_start_multicol_bool:n #1
@@ -2575,7 +2564,7 @@
\l__eb_subfont_math_choice_tl \l_keys_choice_tl
},
math .value_required:n = true,
- math .initial:n = noto
+ math .initial:n = times
}
\cs_new_protected:Npn \eb_put_newtxmath:n #1
@@ -2753,30 +2742,32 @@
{ \tl_const:cn { c__eb_name_#1_tl } {#3} }
{ \tl_const:cn { c__eb_name_#1_tl } {#2} }
}
+\cs_set_eq:NN \eb@declaretheorem@save \declaretheorem
+\cs_set_eq:NN \eb@declaretheoremsyle@save \declaretheoremstyle
+\RenewDocumentCommand{\declaretheorem}{O{}mO{}}
+ {\AfterPreamble{\eb@declaretheorem@save[#1,#3]{#2}}}
+\cs_new_protected:Npn \eb@declaretheorem #1#2
+ { \declaretheorem[#2]{#1} }
+\RenewDocumentCommand{\declaretheoremstyle}{O{}mO{}}
+ {\eb@declaretheoremsyle@save[#1,#3]{#2}}
+\cs_set_eq:NN \newtheorem \declaretheorem
\NewDocumentCommand{\DeclareTheorem}
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
- \ctex_at_end_preamble:n
+ \eb_thm_name_set:nnn {#1} {#2} {#3}
+ \eb@declaretheorem{#1}
{
- \eb_thm_name_set:nnn {#1} {#2} {#3}
- \exp_args:No \declaretheorem@i
- {
- name = \tl_use:c { c__eb_name_#1_tl },
- style = easy-theorem,#5
- }{#1}[]
- \bool_if:NT \l__eb_thmbox_bool
- {
- \@ifpackageloaded{tcolorbox}
- {\tcolorboxenvironment{#1}{#4}}{}
- }
- \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
+ name = \tl_use:c { c__eb_name_#1_tl },
+ style = easy-theorem,#5
+ }
+ \bool_if:NT \l__eb_thmbox_bool
+ {
+ \@ifpackageloaded{tcolorbox}
+ {\tcolorboxenvironment{#1}{#4}}{}
}
+ \labelformat{#1}{\tl_use:c { c__eb_name_#1_tl }~##1}
}
\cs_set_eq:NN \EBNewTheorem \DeclareTheorem
-\cs_set_eq:NN \eb@declare@theorem@save \declaretheorem
-\RenewDocumentCommand{\declaretheorem}{O{}m}
- {\AfterPreamble{\eb@declare@theorem@save[#1]{#2}}}
-\cs_set_eq:NN \newtheorem \declaretheorem
\prop_new:N \l__eb_thmtools_entry_prop
\clist_const:Nn \c__eb_thmtools_entry_clist
{
@@ -2928,58 +2919,48 @@
}
\bool_set_true:N \l__eb_backend_bibtex_bool
-\tl_new:N \l__eb_bib_style_tl
-\tl_new:N \l__eb_bib_otherstyle_tl
-\tl_new:N \l__eb_bib_citestyle_tl
+\tl_new:N \l__eb_bib_all_style_tl
+\tl_new:N \l__eb_bib_cite_style_tl
\clist_new:N \l__eb_bib_datafile_clist
\ctex_define:nn { bibset }
{
backend .choice:,
- backend .value_required:n = true,
- backend/bibtex .code:n = { },
- backend/biblatex .code:n =
+ backend .value_required:n = true,
+ backend/bibtex .code:n = { },
+ backend/biblatex .code:n =
{ \bool_set_false:N \l__eb_backend_bibtex_bool },
- bib-style .choice:,
- bib-style .value_required:n = true,
- bib-style/numerical .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/authoryear .code:n =
- {
- \tl_set:Nn \l__eb_bib_style_tl {#1}
- \tl_clear:N \l__eb_bib_otherstyle_tl
- },
- bib-style/unknown .code:n =
- { \tl_set_eq:NN \l__eb_bib_otherstyle_tl \l_keys_value_tl },
- bib-style .initial:n = numerical,
+ bib-style .code:n =
+ { \tl_set:Nn \l__eb_bib_all_style_tl {#1} },
+ bib-style .value_required:n = true,
+ bib-style .initial:n = numerical,
cite-style .code:n =
- { \tl_set:Nn \l__eb_bib_citestyle_tl {#1} },
+ { \tl_set:Nn \l__eb_bib_cite_style_tl {#1} },
datafile .clist_set:N = \l__eb_bib_datafile_clist,
- bitoc-title .tl_set:N = \l__eb_bib_bitoc_title,
+ bitoc-title .tl_set:N = \l__eb_bib_en_bitoc_title_tl,
bitoc-title .initial:n = Reference
}
-\cs_new_protected:Npn \BibtexPostset
+\cs_new_protected:Npn \BibtexPreSet
+ { \PassOptionsToPackage{sort&compress}{natbib} }
+\cs_new_protected:Npn \BibtexPostSet
{
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
+ \str_case:VnTF \l__eb_bib_all_style_tl
{
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- {
- \bibliographystyle{gbt7714-numerical}
- \setcitestyle{comma,square,super}
- }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \bibliographystyle{gbt7714-author-year} }
- \cs_set_eq:NN \cite \citep
+ { numerical }
+ {
+ \bibliographystyle{gbt7714-numerical}
+ \setcitestyle{comma,square,super}
+ }
+ { authoryear }
+ { \bibliographystyle{gbt7714-author-year} }
}
+ { \cs_set_eq:NN \cite \citep }
{ \exp_args:NV \bibliographystyle \l__eb_bib_otherstyle_tl }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \exp_args:NV \setcitestyle \l__eb_bib_citestyle_tl }
+ \tl_if_empty:NF \l__eb_bib_cite_style_tl
+ { \exp_args:NV \setcitestyle \l__eb_bib_cite_style_tl }
\skip_zero:N \bibsep
\AtEndEnvironment{thebibliography}
{\bool_if:NT \l__eb_toc_multi_column_bool { \end{multicols} }}
@@ -3000,21 +2981,22 @@
}
\cs_new_protected:Npn \eb_put_biblatex:n #1
{ \PassOptionsToPackage{#1}{biblatex} }
-\cs_new_protected:Npn \BiblatexPreset
+\cs_new_protected:Npn \BiblatexPreSet
{
- \tl_if_empty:NTF \l__eb_bib_otherstyle_tl
+ \str_case:VnF \l__eb_bib_all_style_tl
{
- \tl_if_eq:NnT \l__eb_bib_style_tl { numerical }
- { \eb_put_biblatex:n { style = gb7714-2015 } }
- \tl_if_eq:NnT \l__eb_bib_style_tl { authoryear }
- { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { numerical } { \use_i:nnn }
+ { authoryear } { \use_ii:nnn }
}
- { \eb_put_biblatex:n { style = \l__eb_bib_otherstyle_tl } }
- \tl_if_empty:NF \l__eb_bib_citestyle_tl
- { \eb_put_biblatex:n { citestyle = \l__eb_bib_citestyle_tl } }
+ { \use_iii:nnn }
+ { \eb_put_biblatex:n { style = gb7714-2015 } }
+ { \eb_put_biblatex:n { style = gb7714-2015ay } }
+ { \eb_put_biblatex:n { style = \l__eb_bib_all_style_tl } }
+ \tl_if_empty:NF \l__eb_bib_cite_style_tl
+ { \eb_put_biblatex:n { citestyle = \l__eb_bib_cite_style_tl } }
\eb_put_biblatex:n { backend = biber }
}
-\cs_new_protected:Npn \BiblatexPostset
+\cs_new_protected:Npn \BiblatexPostSet
{
\clist_map_function:NN \l__eb_bib_datafile_clist \addbibresource
\tl_gset:Nn \blx@default@theheading { bibintoc }
@@ -3028,43 +3010,33 @@
{
\bool_if:NTF \l__eb_backend_bibtex_bool
{
- \LoadPackage[sort&compress]{natbib}
- \BibtexPostset
+ \BibtexPreSet
+ \LoadPackage{natbib}
+ \BibtexPostSet
}
{
- \BiblatexPreset
+ \BiblatexPreSet
\LoadPackage{biblatex}
- \BiblatexPostset
+ \BiblatexPostSet
}
}
}
+\cs_new:Npn \eb@lst@if@display #1#2
+ { \lst@ifdisplaystyle #1\else #2\fi }
\lstdefinestyle{easy-listings}
{
language = [LaTeX]TeX,
- texcsstyle =
- {
- *\lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
- },
+ texcsstyle = {*},
basicstyle =
{
- \ttfamily\lst@ifdisplaystyle
- \small
- \else
- \color{ctex@verb}
- \fi
+ \ttfamily
+ \eb@lst@if@display{\small}{\color{ctex@verb}}
},
keywordstyle =
{
- \lst@ifdisplaystyle
- \bfseries\color{ctex@verb}
- \else
- \color{ctex@verb}
- \fi
+ \color{ctex@verb}
+ \eb@lst@if@display{\bfseries}{}
},
framexleftmargin = 0pt,
framexrightmargin = 0pt,
@@ -3075,12 +3047,7 @@
frame = single,
rulecolor = \color{ctex@frame},
commentstyle = \color{SlateGray},
- emphstyle = \color{ctex@emph},
- % emph = {},
- morekeywords =
- {
- includegraphics,setmainfont,setsansfont,setmonofont,setCJKmainfont,setCJKsansfont,setCJKmonofont,setCJKfamilyfont,RequirePackage
- }
+ emphstyle = \color{ctex@emph}
}
\lstset
{
@@ -3203,7 +3170,7 @@
\clist_map_function:nN
{
{ none, 000000,000000,000000 },
- { seaside, 4169e1,007130,9932cc },
+ { seaside, 4169e1,9932cc,eb6100 },
{ energy, f39800,00a0e9,893895 },
{ cyberpunk, 601986,eb6877,a4005b }
}
@@ -3215,10 +3182,11 @@
\cs_new:Npn \eb_allow_urlbreak:
{
- \cs_new:Npn \eb_add_urlbreak_points:
- { \tl_map_function:NN \c__eb_urlbreak_points_tl \do }
\eb_appto_cmd:Nn \UrlBreaks
- { \UrlOrds\eb_add_urlbreak_points: }
+ {
+ \UrlOrds
+ \tl_map_function:NN \c__eb_urlbreak_points_tl \do
+ }
}
\tl_const:Nn \c__eb_urlbreak_points_tl
{
@@ -3274,7 +3242,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/12}{1.27c}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2021/07/13}{1.27d}
{Customization of tcolorbox for easybook}
\cs_new_protected:Npn \eb_tcb_theorem_set:n #1
@@ -3283,13 +3251,17 @@
{ \tcbset{tc-outline/.style = {#1}} }
\cs_new_protected:Npn \eb_tcb_exercise_set:n #1
{ \tcbset{tc-exercise/.style = {#1}} }
+\tl_gset:Nn \eb@tc@line@skip { 0.5\baselineskip }
\eb_tcb_theorem_set:n
{
enhanced~jigsaw,pad~at~break* = 3pt,
opacityback = 0,
colframe = ctex@emph,
sharpish~corners,
- left = 6pt,right = 6pt,top = 8pt,bottom = 8pt,middle= 8pt
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
+ left = 8pt,right = 8pt,
+ top = \eb@tc@line@skip,bottom = \eb@tc@line@skip,
+ middle = \eb@tc@line@skip
}
\eb_tcb_outline_set:n
{
@@ -3300,7 +3272,8 @@
fonttitle = \large\sffamily,fontupper = \itshape,
boxed~title~style = {size = normal,opacityframe = 0,boxrule = 0pt},
attach~boxed~title~to~top~center = {yshift = -\tcboxedtitleheight/2},
- after~skip = 3ex,arc = 3pt,
+ after~skip = 3ex plus .2ex minus .1ex,
+ arc = 3pt,
left = 2pc,right = 2pc,top = 1.5pc,bottom = 1pc
}
\eb_tcb_exercise_set:n
@@ -3308,7 +3281,7 @@
blank,on~line,center,
sharpish~corners,
fontupper = \Large\sffamily,
- before~skip = 3.75ex,
+ before~skip = 3.75ex plus.2ex minus .1ex,
after~skip = 3ex\tl_if_empty:NF \eb@tc@list@prologue { + 0.75ex }
}
\tcbset
@@ -3404,16 +3377,20 @@
{
enhanced~jigsaw,pad~at~break* = 3pt,
IfBooleanTF = {#1}
- {toptitle = 8pt,top = 8pt}
- {frame~hidden,boxrule = 0pt,toptitle = 8pt,top = 0pt},
+ {toptitle = \eb@tc@line@skip,top = \eb@tc@line@skip}
+ {
+ frame~hidden,boxrule = 0pt,
+ toptitle = \eb@tc@line@skip,top = 0pt
+ },
IfValueT = {#3}{title = #3},
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
coltitle = black,colframe = black,
sharpish~corners,
- left = 6pt,right = 6pt,bottom = 8pt,middle= 8pt,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,right = 8pt,
+ bottom = \eb@tc@line@skip,middle = \eb@tc@line@skip,
+ bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
halign~upper = left,halign~lower = left,
center~title,#4
}
@@ -3425,33 +3402,37 @@
borderline~west = {3pt}{0pt}{#2},
IfBooleanTF = {#1}
{
- colback = white,
- IfValueT = {#3}{title = #3},
- top = 0pt,bottom = 0pt,toptitle = 0pt
- }{
colback = #2,colbacktitle = #2,
opacityback = 0.2,opacitybacktitle = 0.2,
- IfValueTF = {#3}{title = #3,top = 0pt}{top = 8pt},
- bottom = 8pt,toptitle = 8pt
+ IfValueTF = {#3}{title = #3,top = 0pt}{top = \eb@tc@line@skip},
+ bottom = \eb@tc@line@skip,toptitle = \eb@tc@line@skip,
+ right = 8pt
+ }{
+ colback = white,
+ IfValueT = {#3}{title = #3},
+ top = 0pt,bottom = 0pt,right = 0pt,toptitle = 0pt
},
- left = 8pt,right = 8pt,middle= 8pt,
sharpish~corners,
- bottomtitle = 8pt,
- beforeafter~skip = 2ex,
+ left = 8pt,
+ middle = \eb@tc@line@skip,bottomtitle = \eb@tc@line@skip,
+ beforeafter~skip = 1.75ex plus .2ex minus .1ex,
colframe = #2,coltitle = #2,#4
}
\DeclareTotalTCBox{\ebemph}{O{DarkSeaGreen}vO{}}
- {
- nobeforeafter,tcbox~raise~base,
- blank,fuzzy~halo = 2pt~with~#1,#3
- }{#2}
+ {on~line,blank,fuzzy~halo = 2pt~with~#1,#3}{#2}
\DeclareTotalTCBox{\eblink}{O{Aqua}vO{}}
{
- standard~jigsaw,
- nobeforeafter,tcbox~raise~base,
- top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt,
+ standard~jigsaw,on~line,
+ top = 1.5pt,bottom = 1.5pt,left = 1.5pt,right = 1.5pt,
boxrule = 0.75pt,arc = 1pt,
colback = #1,opacityback = 0.2,colframe = #1,#3
}{#2}
+\DeclareTotalTCBox{\ebfbox}{O{Lime}vO{}}
+ {
+ on~line,sharpish~corners,
+ top = 2pt,bottom = 2pt,left = 1pt,right = 1pt,
+ leftrule = 0pt,rightrule = 0pt,
+ colback = #1!10!white,colframe = #1!50!black,#3
+ }{#2}
%</tcolorbox>
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index 9126c42467..017c449994 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/etoc/README.md b/macros/latex/contrib/etoc/README.md
index 555755615d..b6fd46940a 100644
--- a/macros/latex/contrib/etoc/README.md
+++ b/macros/latex/contrib/etoc/README.md
@@ -1,13 +1,13 @@
<!-- -->
- Source: etoc.dtx (v1.09c-2020/05/15)
+ Source: etoc.dtx (v1.09d)
Author: Jean-Francois Burnol
Author: Christine Roemer et al. (German tranlation)
Info: Completely customisable TOCs
License: LPPL 1.3c
- Copyright (C) 2012-2020 Jean-Francois Burnol.
- Copyright (C) 2014-2020 Christine Roemer and collaborators for
- the translation into German of the documentation.
+ Copyright (C) 2012-2021 Jean-Francois Burnol.
+ Copyright (C) 2014-2015 Christine Roemer and collaborators
+ (translation into German of the documentation)
<jfbu at free dot fr> <Christine_Roemer at t-online dot de>
ABSTRACT
@@ -107,7 +107,20 @@ etoc.pdf, etoc-DE.pdf, etoc.dvi, etoc-DE.dvi.
RECENT CHANGES
==============
-v1.09c \[2020/05/05\]
+v1.09d \[2021/07/13\]
+-------------------------
+
+Some minor synching with tableof 1.4c.
+
+Add `\etockeeporiginaltableofcontents` to provide a work-around to a
+compatibility issue with listings's `\lstlistoflistings`, which abuses
+`\tableofcontents` for doing something unrelated to the actual contents.
+Thanks to Denis Bitouzé for report.
+
+Usage: `\usepackage{etoc}\etockeeporiginaltableofcontents`, then
+however you must employ `\etoctableofcontents`, not `\tableofcontents`.
+
+v1.09c \[2020/05/15\]
---------------------
Syncs with KOMA-script deprecation of `\iftocfeature`.
@@ -131,123 +144,6 @@ Note to hackers: internal control sequence `\Etoc@localtop` is gone.
etoc now requires e-TeX (`\numexpr`, `\unless`).
-v1.08p \[2018/07/04\]
----------------------
-
-Fixed bug surfacing in case of `linktoc=page` option of hyperref.
-Thanks to Denis Bitouzé for report (cf.
-https://github.com/ho-tex/hyperref/issues/65,
-https://github.com/dbitouze/yathesis/issues/61).
-
-v1.08o \[2018/06/15\]
----------------------
-
-Fixed bug showing up if an unnumbered TOC entry starts with a brace,
-and document uses hyperref. Caused by a typo in a macro name at
-previous release.
-
-v1.08n \[2018/02/23\]
----------------------
-
-Refactoring of core macros detecting `\numberline` and its variants.
-
-v1.08m \[2018/02/07\]
----------------------
-
-Fix to `1.08k`'s introduced incompatibility with KOMA-script
-and tocbasic's `\nonumberline`.
-
-v1.08l \[2017/10/23\]
----------------------
-
-Workaround an issue with `Emacs/AUCTeX` wrongly reporting about
-actually non-existent LaTeX errors, which was triggered by some
-strings written (indirectly) to log file by etoc under some
-circumstances.
-
-v1.08k \[2017/09/28\]
----------------------
-
-Adds `\etocsetlocaltop.toc`. See corresponding manual section for
-details.
-
-Adds `\etocsavedparttocline`, `\etocsavedchaptertocline`,
-`\etocsavedsectiontocline`, ... They can be used in the context of
-the technique explained in section "Another compatibility mode".
-
-Formerly, etoc redefined for the duration of the TOC the memoir
-macro `\chapternumberline` and its likes to have same meaning as
-`\numberline` (of course, not when executed in compatibility mode),
-for the sake of extraction of `\etocnumber`.
-
-New method detects presence of any `\<foo>numberline` macro without
-any change to originals; they can thus be used as is when applying
-the approach of "Another compatibility mode" section from manual.
-
-v1.08j \[2017/09/21\]
----------------------
-
-Since `1.08a-2015/03/13` `\etocname`, `\etocnumber`, `\etocpage`
-contain, if hyperref is present and configured for using
-hyperlinks in the TOC, the link destination in already expanded
-form. This means one can use them even if the style closes a
-group (for example from a `&` in a tabular), if `\etocglobaldefs`
-was issued; also one can save their meaning for delayed usage
-(with for example `\LetLtxMacro` as they are robust).
-
-But for some legacy reason `\etoclink`, contrarily to
-`\etocthelink`, was handled differently. Now, `\etoclink` also
-contains the link destination in already expanded form, and can
-thus be used even if the line style issues a `&`, as long as
-`\etocglobaldefs` is issued.
-
-Also, bugs dating back to the early days of the package, but
-surfacing only under relatively rare conditions such as usage
-of hyperref with its option "linktoc=page" got fixed.
-
-v1.08i \[2016/09/29\]
----------------------
-
-This fixes an issue dating back to `1.08e-2015/04/17`: under
-`\etocchecksemptiness` regime, some circumstances (such as adding to
-an already compiled document a `\localtableofcontents` before the
-main `\tableofcontents`) created an "`Undefined control sequence`
-`\Etoc@localtop`" error. Thanks to Denis Bitouzé for reporting the
-problem.
-
-On this occasion, `\etocdoesnotcheckemptiness` has been
-added to unset the flag.
-
-A rather more exotic issue was fixed: the emptiness check for
-local tocs could get confused if the `tocdepth` counter was varying
-in some specific ways from inside the `toc` file.
-
-After adding to a document a `\localtableofcontents`, two LaTeX
-passes are needed for etoc to get a chance to print the
-correct local contents. Formerly, etoc issued a Warning on
-the first pass; it now also induces LaTeX into
-announcing "There were undefined references", as this is nearer
-to the end of the log file and console output.
-
-v1.08h \[2016/09/25\]
----------------------
-
-New functioning of `\etocsetnexttocdepth`: the tocdepth counter is
-modified only at the time of the table of contents, not before. This
-fixes an issue which arose when `\etocsetnexttocdepth` was used
-multiple times with no intervening table of contents. Thanks to
-Denis Bitouzé for reporting the problem.
-
-The PDF documentation includes about 25 LaTeX code snippets also
-as file attachment annotations, additionally to their verbatim
-typesetting. The ordering of the documentation contents has been
-slightly re-organized.
-
-A previous documentation-only update on 2016/09/09 added a new
-section with the (approximate) translation into etoc lingua of the
-book class toc style, for easy customizability.
-
-The latest translation into German of the additions made to the
-documentation dates back to v1.08d \[2015/04/09\].
-
-Thanks to Christine Römer!
+Note: the German version of the documentation was last updated
+at the time of the v1.08d \[2015/04/09\] release. Since then
+all additions to it have been left in English language.
diff --git a/macros/latex/contrib/etoc/etoc-DE.pdf b/macros/latex/contrib/etoc/etoc-DE.pdf
index 57f8f97060..6a2b623e0f 100644
--- a/macros/latex/contrib/etoc/etoc-DE.pdf
+++ b/macros/latex/contrib/etoc/etoc-DE.pdf
Binary files differ
diff --git a/macros/latex/contrib/etoc/etoc.dtx b/macros/latex/contrib/etoc/etoc.dtx
index 6809655d29..9a0fc5716a 100644
--- a/macros/latex/contrib/etoc/etoc.dtx
+++ b/macros/latex/contrib/etoc/etoc.dtx
@@ -2,27 +2,26 @@
% N.B.: this dtx file is NOT for use with \DocInput. The latex source of the
% user manual is not prefixed with percent signs.
%<*none>
-\def\etocdtxtimestamp {Time-stamp: <15-05-2020 at 19:18:31 CEST>}%
+\def\etocdtxtimestamp {Time-stamp: <13-07-2021 at 10:15:28 CEST>}%
%</none>
%<*!readme>
%%
%% Package: etoc
-%% Version: 1.09c-2020/05/15
+%% Version: 1.09d
%% License: LPPL 1.3c
-%% Copyright (C) 2012-2020 Jean-Francois Burnol
+%% Copyright (C) 2012-2021 Jean-Francois Burnol
%% <jfbu at free dot fr>
-%% Copyright (C) 2014-2020 Christine Roemer
+%% Copyright (C) 2014-2015 Christine Roemer and collaborators
%% <Christine_Roemer at t-online dot de>
-%% and collaborators for the translation into German of the documentation
-%%
+%% (translation into German of the documentation)
%</!readme>
%<*none>
-\def\etocpkgdate {2020/05/15}
-\def\etocdocdate {2020/05/15}
-\def\etocpkgversion {v1.09c}
+\def\etocpkgdate {2021/07/13}
+\def\etocdocdate {2021/07/13}
+\def\etocpkgversion {v1.09d}
\def\etocpkgdescription {Completely customisable TOCs (JFB)}
-\def\etocDEpkgdate {15.05.2020}% METTRE À JOUR À CHAQUE BUMP!
-\def\etocDEdocdate {15.05.2020}
+\def\etocDEpkgdate {13.07.2021}% METTRE À JOUR À CHAQUE BUMP!
+\def\etocDEdocdate {13.07.2021}
\def\etocDEDEdocdate {09.04.2015}%
\def\etocDEDEpkgversion {v1.08d}%
% Definition of \etocLicense
@@ -33,11 +32,12 @@
\catcode32=13\catcode`\\=12^^Brelax^^A
^^Bfirstofone{^^Bendgroup^^Bdef^^BetocLicense^^A
{% Package: etoc
-% Version: 1.09c-2020/05/15
+% Version: 1.09d
% License: LPPL 1.3c
-% Copyright (C) 2012-2020 Jean-Francois Burnol <jfbu at free dot fr>
-% Copyright (C) 2014-2020 Christine Roemer <Christine_Roemer at t-online dot de>
-% and collaborators for the translation into German of the documentation
+% Copyright (C) 2012-2021 Jean-Francois Burnol <jfbu at free dot fr>
+% Copyright (C) 2014-2015 Christine Roemer and collaborators
+% <Christine_Roemer at t-online dot de>
+% (translation into German of the documentation)
%
% This Work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, in its
@@ -67,14 +67,14 @@
%<*readme>
<!-- -->
- Source: etoc.dtx (v1.09c-2020/05/15)
+ Source: etoc.dtx (v1.09d)
Author: Jean-Francois Burnol
Author: Christine Roemer et al. (German tranlation)
Info: Completely customisable TOCs
License: LPPL 1.3c
- Copyright (C) 2012-2020 Jean-Francois Burnol.
- Copyright (C) 2014-2020 Christine Roemer and collaborators for
- the translation into German of the documentation.
+ Copyright (C) 2012-2021 Jean-Francois Burnol.
+ Copyright (C) 2014-2015 Christine Roemer and collaborators
+ (translation into German of the documentation)
<jfbu at free dot fr> <Christine_Roemer at t-online dot de>
ABSTRACT
@@ -174,7 +174,20 @@ etoc.pdf, etoc-DE.pdf, etoc.dvi, etoc-DE.dvi.
RECENT CHANGES
==============
-v1.09c \[2020/05/05\]
+v1.09d \[2021/07/13\]
+-------------------------
+
+Some minor synching with tableof 1.4c.
+
+Add `\etockeeporiginaltableofcontents` to provide a work-around to a
+compatibility issue with listings's `\lstlistoflistings`, which abuses
+`\tableofcontents` for doing something unrelated to the actual contents.
+Thanks to Denis Bitouzé for report.
+
+Usage: `\usepackage{etoc}\etockeeporiginaltableofcontents`, then
+however you must employ `\etoctableofcontents`, not `\tableofcontents`.
+
+v1.09c \[2020/05/15\]
---------------------
Syncs with KOMA-script deprecation of `\iftocfeature`.
@@ -198,136 +211,9 @@ Note to hackers: internal control sequence `\Etoc@localtop` is gone.
etoc now requires e-TeX (`\numexpr`, `\unless`).
-
-v1.08p \[2018/07/04\]
----------------------
-
-Fixed bug surfacing in case of `linktoc=page` option of hyperref.
-Thanks to Denis Bitouzé for report (cf.
-https://github.com/ho-tex/hyperref/issues/65,
-https://github.com/dbitouze/yathesis/issues/61).
-
-
-v1.08o \[2018/06/15\]
----------------------
-
-Fixed bug showing up if an unnumbered TOC entry starts with a brace,
-and document uses hyperref. Caused by a typo in a macro name at
-previous release.
-
-
-v1.08n \[2018/02/23\]
----------------------
-
-Refactoring of core macros detecting `\numberline` and its variants.
-
-
-v1.08m \[2018/02/07\]
----------------------
-
-Fix to `1.08k`'s introduced incompatibility with KOMA-script
-and tocbasic's `\nonumberline`.
-
-
-v1.08l \[2017/10/23\]
----------------------
-
-Workaround an issue with `Emacs/AUCTeX` wrongly reporting about
-actually non-existent LaTeX errors, which was triggered by some
-strings written (indirectly) to log file by etoc under some
-circumstances.
-
-
-v1.08k \[2017/09/28\]
----------------------
-
-Adds `\etocsetlocaltop.toc`. See corresponding manual section for
-details.
-
-Adds `\etocsavedparttocline`, `\etocsavedchaptertocline`,
-`\etocsavedsectiontocline`, ... They can be used in the context of
-the technique explained in section "Another compatibility mode".
-
-Formerly, etoc redefined for the duration of the TOC the memoir
-macro `\chapternumberline` and its likes to have same meaning as
-`\numberline` (of course, not when executed in compatibility mode),
-for the sake of extraction of `\etocnumber`.
-
-New method detects presence of any `\<foo>numberline` macro without
-any change to originals; they can thus be used as is when applying
-the approach of "Another compatibility mode" section from manual.
-
-
-v1.08j \[2017/09/21\]
----------------------
-
-Since `1.08a-2015/03/13` `\etocname`, `\etocnumber`, `\etocpage`
-contain, if hyperref is present and configured for using
-hyperlinks in the TOC, the link destination in already expanded
-form. This means one can use them even if the style closes a
-group (for example from a `&` in a tabular), if `\etocglobaldefs`
-was issued; also one can save their meaning for delayed usage
-(with for example `\LetLtxMacro` as they are robust).
-
-But for some legacy reason `\etoclink`, contrarily to
-`\etocthelink`, was handled differently. Now, `\etoclink` also
-contains the link destination in already expanded form, and can
-thus be used even if the line style issues a `&`, as long as
-`\etocglobaldefs` is issued.
-
-Also, bugs dating back to the early days of the package, but
-surfacing only under relatively rare conditions such as usage
-of hyperref with its option "linktoc=page" got fixed.
-
-
-v1.08i \[2016/09/29\]
----------------------
-
-This fixes an issue dating back to `1.08e-2015/04/17`: under
-`\etocchecksemptiness` regime, some circumstances (such as adding to
-an already compiled document a `\localtableofcontents` before the
-main `\tableofcontents`) created an "`Undefined control sequence`
-`\Etoc@localtop`" error. Thanks to Denis Bitouzé for reporting the
-problem.
-
-On this occasion, `\etocdoesnotcheckemptiness` has been
-added to unset the flag.
-
-A rather more exotic issue was fixed: the emptiness check for
-local tocs could get confused if the `tocdepth` counter was varying
-in some specific ways from inside the `toc` file.
-
-After adding to a document a `\localtableofcontents`, two LaTeX
-passes are needed for etoc to get a chance to print the
-correct local contents. Formerly, etoc issued a Warning on
-the first pass; it now also induces LaTeX into
-announcing "There were undefined references", as this is nearer
-to the end of the log file and console output.
-
-
-v1.08h \[2016/09/25\]
----------------------
-
-New functioning of `\etocsetnexttocdepth`: the tocdepth counter is
-modified only at the time of the table of contents, not before. This
-fixes an issue which arose when `\etocsetnexttocdepth` was used
-multiple times with no intervening table of contents. Thanks to
-Denis Bitouzé for reporting the problem.
-
-The PDF documentation includes about 25 LaTeX code snippets also
-as file attachment annotations, additionally to their verbatim
-typesetting. The ordering of the documentation contents has been
-slightly re-organized.
-
-A previous documentation-only update on 2016/09/09 added a new
-section with the (approximate) translation into etoc lingua of the
-book class toc style, for easy customizability.
-
-
-The latest translation into German of the additions made to the
-documentation dates back to v1.08d \[2015/04/09\].
-
-Thanks to Christine Römer!
+Note: the German version of the documentation was last updated
+at the time of the v1.08d \[2015/04/09\] release. Since then
+all additions to it have been left in English language.
%</readme>
%<*tex>-------------------------------------------------------------------------
%% run pdflatex thrice on this file etoc.tex to produce the documentation
@@ -1150,6 +1036,7 @@ etoc-right-rule-col-or-cmd
etoc-bot-tom-rule-col-or-cmd
etoc-bkg-col-or-cmd
etoc-framed-mp-hook
+etoc-keep-orig-i-nal-table-of-con-tents
}
\hyphenation{next-toc-with-tags}
@@ -1372,7 +1259,17 @@ etoc-framed-mp-hook
based on a multi-column format, with, optionally, a ruled title or framed
contents.
- The \csa{tableofcontents} command may be used arbitrarily many times and it
+ The \csa{tableofcontents} command may be used arbitrarily many times%
+%
+\footnote{Except if \texttt{\string\etockeeporiginaltableofcontents}
+ (\textcolor{Green}{\bfseries New with 1.09d}) is issued in the preamble
+ after package loading. Then the macro \texttt{\string\etoctableofcontents},
+ not \texttt{\string\tableofcontents}, must be used if the \etoc features
+ are to apply to the global TOC. This was added to fix a compatiblity issue
+ with \texttt{listings}'s \texttt{\string\lstlistoflistings}, as it needs the
+ \texttt{\string\tableofcontents} macro to keep its original meaning.}
+%
+ and it
has a variant \csa{localtableofcontents} which prints tables of contents
`local' to the current surrounding document unit. An extension of the
\csa{label}/\csa{ref} syntax allows to reproduce (with another layout) a local
@@ -6102,7 +5999,17 @@ version is \texttt{\etocpkgversion}, of \texttt{\etocpkgdate}.
vordefinierte Stile, die auf der Mehrspaltenansicht mit optionalen,
unterstrichenen Titeln oder eingerahmten Inhalten basieren.
- Der \csa{tableofcontents}"=Befehl kann beliebig mehrfach benutzt werden. Er hat
+ Der \csa{tableofcontents}"=Befehl kann beliebig mehrfach benutzt werden.%
+%
+\footnote{Except if \texttt{\string\etockeeporiginaltableofcontents}
+ (\textcolor{Green}{\bfseries New with 1.09d}) is issued in the preamble
+ after package loading. Then the macro \texttt{\string\etoctableofcontents},
+ not \texttt{\string\tableofcontents}, must be used if the \etoc features
+ are to apply to the global TOC. This was added to fix a compatiblity issue
+ with \texttt{listings}'s \texttt{\string\lstlistoflistings}, as it needs the
+ \texttt{\string\tableofcontents} macro to keep its original meaning.}
+%
+ Er hat
die Variante \csa{localtableofcontents}, welche die Inhaltsangabe 'local' zur
aktuellen Dokumenten"=Sektion ausgibt. Eine Erweiterung der
\csa{label}/\csa{ref}-Syntax erlaubt die Reproduktion (mit anderem Layout)
@@ -10724,7 +10631,19 @@ Dokumentation erzeugt von der Quelldatei mit dem Stempel
\begin{multicols}{2}
\begin{jfverbatim}
-v1.09c [2020/05/05]^
+v1.09d [2021/07/13]^
+
+ Some minor synching with tableof 1.4c.
+
+ Add \etockeeporiginaltableofcontents to provide a work-around to a
+ compatibility issue with listings's \lstlistoflistings, which abuses
+ \tableofcontents for doing something unrelated to the actual contents.
+ Thanks to Denis Bitouzé for report.
+
+ Usage: \usepackage{etoc}\etockeeporiginal-tableofcontents, then
+ however you must employ \etoctableofcontents, not \tableofcontents.
+
+~v1.09c [2020/05/15]^
Syncs with KOMA-script deprecation of \iftocfeature.
@@ -12692,15 +12611,12 @@ v1.09c [2020/05/05]^
\Etoc@tocdepthset % new with 1.08h (\etocsetnexttocdepth)
\begingroup % closed in \Etoc@t@bleofcontents or \Etoc@localtableofcontents
% \end{macrocode}
-% No need for the |tableof| extra group level, even it is better to get rid of
-% it. I don't globally cancel |\tof@begingroup| and |\tof@endgroup| to leave
-% open for the user the (dubious) possibility of using directly |\tableof|,
-% |\tablenotof| (rather than only the reasonable thing which is
-% |\nexttocwithtags{}{}|).
-% \begin{macrocode}
- \let\tof@begingroup\@empty
- \let\tof@endgroup \@empty
-% \end{macrocode}
+% Prior to its release |1.4c|, |tableof| added a group pair via |\tof@begin|
+% and |\tof@finish|. This was removed at |1.4c|. So no need to do anything now
+% here about silencing |\tof@begingroup| and |\tof@endgroup|: they are
+% inserted only in the |tableof| private copy of the |.toc| file which is
+% used by its own table of contents typesetting command.
+%
% |1.08i| removes definition of |\etoc@startlocaltoc| from here. It is done
% in |\Etoc@localtableofcontents| or uses its default of |\@gobble|.
%
@@ -12712,13 +12628,19 @@ v1.09c [2020/05/05]^
{\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents}
{\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}%
}% \etoctableofcontents
+% \end{macrocode}
+% See at end of this file for the explanation of this |1.09d| added saving
+% of original meaning at package loading time.
+% \begin{macrocode}
+\let\etocoriginaltableofcontents\tableofcontents
\let\tableofcontents\etoctableofcontents
\newcommand*\localtableofcontents{%
\Etoc@openouttoc
\Etoc@tocdepthset % new with 1.08h (\etocsetnexttocdepth)
\begingroup % closed in \Etoc@t@bleofcontents or \Etoc@localtableofcontents
- \let\tof@begingroup\@empty
- \let\tof@endgroup \@empty
+% \end{macrocode}
+% Same comment relative to |tableof|. No need to do anything here.
+% \begin{macrocode}
\@ifstar
{\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents}
{\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}%
@@ -12823,15 +12745,36 @@ v1.09c [2020/05/05]^
#2\@nobreakfalse % 1.07d: \@nobreakfalse moved here
\Etoc@restoretocdepth % 1.07g. moved here from before #2 by 1.08
% \end{macrocode}
-% |1.08|: necessary if |tableof 1.4a| has been used in global mode and thus
-% was forced to modify globally |\contentsline|. The collateral effect is that
-% \etoc is now forced to reset globally |\contentsline|.
+% |\contentsline| was set to |\Etoc@etoccontentsline| by a non-global |\let|,
+% and it will recover its normal value from exiting a scope limiting group.
+% But |tableof| (since |1.4a|) under |\etocglobaldefstrue| does a global
+% redefinition of |\contentsline|. Its |\tof@finish| then does a global
+% restore of |\contentsline|, but it will be to the \etoc set
+% value. |\tof@finish| is active only if either the table of contents was
+% typeset using |\tableof|, |\tablenotof|, |\tableoftaggedcontents|, or
+% |\nextocwithtags| was used. If not active it is either undefined (no
+% package |tableof|) or |\@empty|. Prior to |tableof| |1.4c|, the
+% |\tof@finish| closed a group and could be undefined as well, but not if
+% |\etocglobaldefstrue|.
+%
+% \etoc |1.09c| tested here only equality to |\@empty| to decide if it is
+% needed to globally restore |\contentsline| but this meant the global restore
+% was done systematically in case of absence of package |tableof|.
+%
+% If rather than |\@empty| the |\tof@finish| fall-back was |\relax| we could
+% use here |\@ifundefined| to check in one go (matters of speaking because
+% expansion of |\@ifundefined| is not in "one-go"). Maybe I should update
+% |tableof|, but for time being I will simply add an extra test. All this is
+% probably lots of time on irrelevant issue.
% \begin{macrocode}
\ifx\Etoc@global\global
- \ifx\tof@finish\@empty
- \else
+ \@ifundefined{tof@finish}
+ {}
+ {\ifx\tof@finish\@empty
+ \else
\global\let\contentsline\Etoc@savedcontentsline
- \fi
+ \fi
+ }%
\fi
\@gobble\etoc@
}% end of \Etoc@tableofcontents definition by \etocsettocstyle
@@ -13765,6 +13708,14 @@ v1.09c [2020/05/05]^
\etocobeydepthtags
\let\etocaftertochook \@empty % public for end user.
\let\etocbeforetitlehook \@empty % new with 1.07m
+% \end{macrocode}
+% |listings| abuses |\tableofcontents| for its |\lstlistoflistings|. It
+% doesn't seem worth to let my version of |\tableofcontents| have to check for
+% this special circumstance. So at |1.09d|, simply add this (and induced
+% annoying updates to documentation at at least two locations):
+% \begin{macrocode}
+\def\etockeeporiginaltableofcontents
+ {\let\tableofcontents\etocoriginaltableofcontents}%
\endinput
% \end{macrocode}
% \MakePercentComment
@@ -13784,7 +13735,7 @@ v1.09c [2020/05/05]^
Grave accent \` Left brace \{ Vertical bar \|
Right brace \} Tilde \~}
-\CheckSum{3516}%
+\CheckSum{3513}%
\csname check@checksum\endcsname
\Finale
diff --git a/macros/latex/contrib/etoc/etoc.pdf b/macros/latex/contrib/etoc/etoc.pdf
index 929e58aea3..7ed8db0803 100644
--- a/macros/latex/contrib/etoc/etoc.pdf
+++ b/macros/latex/contrib/etoc/etoc.pdf
Binary files differ
diff --git a/macros/latex/contrib/ifallfalse/README.md b/macros/latex/contrib/ifallfalse/README.md
index cddfa35cd3..925d98f471 100644
--- a/macros/latex/contrib/ifallfalse/README.md
+++ b/macros/latex/contrib/ifallfalse/README.md
@@ -1,4 +1,4 @@
-# The LaTeX package ifallfalse - version 1.0.0 (2021/07/01)
+# The LaTeX package ifallfalse - version 1.0.1 (2021/07/12)
> Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com>
>
@@ -11,12 +11,14 @@
> and version 1.3 or later is part of all distributions of LaTeX
> version 2005/12/01 or later.
-`ifallfalse` provides an environment that can compare a string against a set of another strings, and if it matches none of them, it executes some action.
+`ifallfalse` provides an `allfalse` environment that can compare a string against a set of another strings, and if it matches none of them, it executes some action.
+
+Note that this package does not work with the `lualatex` engine.
## Package contents
- `README.md` this file
-- `ifallfalse.pdf` documentation PDF with implementation details
+- `ifallfalse.pdf` documentation PDF with implementation details
- `ifallfalse.dtx` contains package and documentation code
- `ifallfalse.ins` generates .sty from .dtx
@@ -34,4 +36,4 @@ Run
pdflatex ifallfalse.dtx
-to generate `ifallfalse.pdf`, which contains the package documentation. \ No newline at end of file
+to generate `ifallfalse.pdf`, which contains the package documentation.
diff --git a/macros/latex/contrib/ifallfalse/ifallfalse.dtx b/macros/latex/contrib/ifallfalse/ifallfalse.dtx
index 23bbbedd0d..9d5e630f73 100644
--- a/macros/latex/contrib/ifallfalse/ifallfalse.dtx
+++ b/macros/latex/contrib/ifallfalse/ifallfalse.dtx
@@ -15,7 +15,7 @@
% \iffalse
%<package>
%<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{ifallfalse}[2021/07/01 v1.0.0 Compare string against set of other strings]
+%<package>\ProvidesPackage{ifallfalse}[2021/07/12 v1.0.1 Compare string against set of other strings]
%<*driver>
\documentclass{ltxdoc}
@@ -30,6 +30,7 @@
%</driver>
% \fi
%
+% \changes{v.1.0.1}{2021/07/12}{Fix errant references to allfalse environment and add limitations}
% \changes{v1.0.0}{2021/07/01}{Initial version}
%
% \GetFileInfo{ifallfalse.sty}
@@ -46,40 +47,40 @@
%
% \section{Usage}
%
-% The package provides an \textsf{ifallfalse} environment and a macro |\orcheck| to be used inside the \textsf{ifallfalse} environment.
+% The package provides an \textsf{allfalse} environment and a macro |\orcheck| to be used inside the \textsf{allfalse} environment.
%
-% \DescribeEnv{ifallfalse}
-% To set up an ifallfalse environment, simply write
+% \DescribeEnv{allfalse}
+% To set up an allfalse environment, simply write
% \begin{verbatim}
-%\begin{ifallfalse}{string}{action}
+%\begin{allfalse}{string}{action}
%
-%\end{ifallfalse}
+%\end{allfalse}
% \end{verbatim}
% \textsf{string} will be compared to the set of strings (which we will declare via |\orcheck|), and if \textsf{string} does not match the set of strings, \textsf{action} will be executed.
%
% \DescribeMacro{\orcheck}
%
-% To add strings to the set that \textsf{string} will be compared to, we must write |\orcheck{setstring}| inside the corresponding \textsf{ifallfalse} environment. Then, \textsf{action} will not execute if \textsf{string} matches \textsf{setstring} or any arguments of previous |\orcheck| declarations.
+% To add strings to the set that \textsf{string} will be compared to, we must write |\orcheck{setstring}| inside the corresponding \textsf{allfalse} environment. Then, \textsf{action} will not execute if \textsf{string} matches \textsf{setstring} or any arguments of previous |\orcheck| declarations.
%
% If no |\orcheck| declarations exist, then \textsf{action} will always be executed.
%
% \subsection{Error Checking}
%
-% The package checks whether the macro |\orcheck| is used inside an \textsf{ifallfalse} environment. If it is not, the package throws an error.
+% The package checks whether the macro |\orcheck| is used inside an \textsf{allfalse} environment. If it is not, the package throws an error.
%
% \section{Example}
%
-% Here is a simple example to demonstrate how \textsf{ifallfalse} is used.
+% Here is a simple example to demonstrate how \textsf{allfalse} is used.
% \begin{verbatim}
%\documentclass{minimal}
%
%\begin{document}
%
-%\begin{ifallfalse}{purple}{This color is not red, blue, or green!}
+%\begin{allfalse}{purple}{This color is not red, blue, or green!}
% \orcheck{red}
% \orcheck{blue}
% \orcheck{green}
-%\end{ifallfalse}
+%\end{allfalse}
%
%\end{document}
% \end{verbatim}
@@ -88,10 +89,10 @@
%
% \section{Implementation}
%
-% These are the implementation details of package \textsf{ifallfalse}. Because the package is so short, we can explain everything.
+% These are the implementation details of package \textsf{allfalse}. Because the package is so short, we can explain everything.
%
-% \begin{environment}{ifallfalse}
-% When setting up ifallfalse, we locally define the |\comparedstring| macro with the first argument that the environment takes in. This is what will be compared against all the strings passed in through the |\orcheck| declarations inside the environment.
+% \begin{environment}{allfalse}
+% When setting up allfalse, we locally define the |\comparedstring| macro with the first argument that the environment takes in. This is what will be compared against all the strings passed in through the |\orcheck| declarations inside the environment.
%
% Then, we define our body of logic (which we will be adding onto through |\orcheck|) to just initially consist of the action we would like to perform if |\comparedstring| matches none of the strings passed in through |\orcheck|.
% \begin{macrocode}
@@ -139,5 +140,9 @@
% \end{macrocode}
% \end{macro}
%
+% \section{Limitations}
+%
+% This package cannot be used in the \textsf{lualatex} engine.
+%
% \Finale
-\endinput \ No newline at end of file
+\endinput
diff --git a/macros/latex/contrib/ifallfalse/ifallfalse.pdf b/macros/latex/contrib/ifallfalse/ifallfalse.pdf
index 6793c7799b..44df77fa26 100644
--- a/macros/latex/contrib/ifallfalse/ifallfalse.pdf
+++ b/macros/latex/contrib/ifallfalse/ifallfalse.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/contrib/l3backend/CHANGELOG.md
index 1ec53b4d8b..fae21bb66f 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/contrib/l3backend/CHANGELOG.md
@@ -6,6 +6,12 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-07-12]
+
+### Fixed
+- GoTo link formation for Distiller-based workflows (issue #957)
+- Support transparency with Distiller
+
## [2021-05-07]
### Changed
@@ -180,7 +186,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-05-07...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-07-12...HEAD
+[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
[2021-03-18]: https://github.com/latex3/latex3/compare/2021-03-02...2021-03-18
[2021-03-02]: https://github.com/latex3/latex3/compare/2021-02-18...2021-03-02
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/contrib/l3backend/README.md
index b4b156dee9..fa022b27e6 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/contrib/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2021-05-07
+Release 2021-07-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 446178138e..ef02b741e0 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2021-05-07}{}
+ {l3backend-dvipdfmx.def}{2021-07-12}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2021-05-07}{}
+ {l3backend-dvips.def}{2021-07-12}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2021-05-07}{}
+ {l3backend-dvisvgm.def}{2021-07-12}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2021-05-07}{}
+ {l3backend-luatex.def}{2021-07-12}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2021-05-07}{}
+ {l3backend-pdftex.def}{2021-07-12}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2021-05-07}{}
+ {l3backend-xetex.def}{2021-07-12}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
@@ -156,7 +156,14 @@
% most up-to-date method,
% \begin{macrocode}
\cs_if_exist:NTF \@ifl@t@r
- { \cs_new_eq:NN \__kernel_backend_first_shipout:n \AtBeginDvi }
+ {
+ \@ifl@t@r \fmtversion { 2020-10-01 }
+ {
+ \cs_new_protected:Npn \__kernel_backend_first_shipout:n #1
+ { \hook_gput_code:nnn { shipout / firstpage } { l3backend } {#1} }
+ }
+ { \cs_new_eq:NN \__kernel_backend_first_shipout:n \AtBeginDvi }
+ }
{ \cs_new_eq:NN \__kernel_backend_first_shipout:n \use:n }
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/contrib/l3backend/l3backend-box.dtx
index e45df7604b..7724aa7104 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/contrib/l3backend/l3backend-code.pdf
index c87ef2dc38..e86f472ae4 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 7979b2d8e6..ad3075dff5 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/contrib/l3backend/l3backend-draw.dtx
index 449b7f9c93..5a896469bd 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/contrib/l3backend/l3backend-graphics.dtx
index 1448ecddc1..e1bd1e0921 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/contrib/l3backend/l3backend-header.dtx
index 1d01b18928..b5ab577892 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/contrib/l3backend/l3backend-opacity.dtx
index a600defcc0..6017403ea0 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -72,7 +72,14 @@
% \end{macrocode}
%
% \begin{macro}{\@@_backend_select:n,\@@_backend_select_aux:n}
-% No stack so set values directly.
+% \begin{macro}{\@@_backend_fill:n, \@@_backend_stroke:n}
+% \begin{macro}{\@@_backend:nnn, \@@_backend:xnn}
+% No stack so set values directly. The need to deal with Distiller and
+% Ghostscript separately means we use a common auxiliary: the two
+% systems require different PostScript for transparency. This is
+% of course not quite as efficient as doing one test for setting all
+% transparency, but it keeps things clearer here. Thanks to Alex Grahn
+% for the detail on testing for GhostScript.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_select:n #1
{
@@ -81,29 +88,47 @@
}
\cs_new_protected:Npn \@@_backend_select_aux:n #1
{
- \__kernel_backend_postscript:n
- { #1 ~ .setfillconstantalpha ~ #1 ~ .setstrokeconstantalpha }
+ \@@_backend:nnn {#1} { fill } { ca }
+ \@@_backend:nnn {#1} { stroke } { CA }
}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@_backend_fill:n, \@@_backend_stroke:n}
-% \begin{macro}{\@@_backend:nn, \@@_backend:xn}
-% Similar to the above but with no stack and only adding to one or other of
-% the entries.
-% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_fill:n #1
- { \@@_backend:xn { \fp_eval:n { min(max(0,#1),1) } } { fill } }
+ {
+ \@@_backend:xnn
+ { \fp_eval:n { min(max(0,#1),1) } }
+ { fill }
+ { ca }
+ }
\cs_new_protected:Npn \@@_backend_stroke:n #1
- { \@@_backend:xn { \fp_eval:n { min(max(0,#1),1) } } { stroke } }
-\cs_new_protected:Npn \@@_backend:nn #1#2
{
- \__kernel_backend_postscript:n { #1 ~ .set #2 constantalpha }
+ \@@_backend:xnn
+ { \fp_eval:n { min(max(0,#1),1) } }
+ { stroke }
+ { CA }
}
-\cs_generate_variant:Nn \@@_backend:nn { x }
+\cs_new_protected:Npn \@@_backend:nnn #1#2#3
+ {
+ \__kernel_backend_postscript:n
+ {
+ product ~ (Ghostscript) ~ search
+ {
+ pop ~ pop ~ pop ~
+ #1 ~ .set #2 constantalpha
+ }
+ {
+ pop ~
+ mark ~
+ /#3 ~ #1
+ /SetTransparency ~
+ pdfmark
+ }
+ ifelse
+ }
+ }
+\cs_generate_variant:Nn \@@_backend:nnn { x }
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macrocode}
%</dvips>
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/contrib/l3backend/l3backend-pdf.dtx
index 11456302a2..5c7fa3b565 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-05-07}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -392,8 +392,8 @@
% {
% pdf.linkdp.pad ,
% pdf.linkht.pad ,
-% pdf.llx, pdf.lly ,
-% pdf.ury, pdf.ury ,
+% pdf.llx, pdf.lly ,
+% pdf.ury, pdf.ury ,
% pdf.link.dict ,
% pdf.outerbox ,
% pdf.baselineskip
@@ -403,6 +403,10 @@
% grab the link content as a box which can then unbox: this allows the same
% interface as for \pdfTeX{}.
%
+% Notice that the link setup here uses |/Action| not |/A|. That is because
+% Distiller \emph{requires} this trigger word, rather than a \enquote{raw}
+% PDF dictionary key (Ghostscript can handle either form).
+%
% Taking the idea of |evenboxes| from \pkg{hypdvips}, we implement a minimum
% box height and depth for link placement. This means that \enquote{underlining}
% with a hyperlink will generally give an even appearance. However, to ensure
@@ -417,10 +421,13 @@
% as taken from \pkg{hypdvips}.
%
% Getting the outer dimensions of the text area may be better using a two-pass
-% approach and |\tex_savepos:D|. That plus format mode are still to re-examine.
+% approach and |\tex_savepos:D|. That plus generic mode are still to re-examine.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_link_begin_goto:nnw #1#2
- { \@@_backend_link_begin:nw { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } }
+ {
+ \@@_backend_link_begin:nw
+ { #1 /Subtype /Link /Action << /S /GoTo /D ( #2 ) >> }
+ }
\cs_new_protected:Npn \@@_backend_link_begin_user:nnw #1#2
{ \@@_backend_link_begin:nw {#1#2} }
\cs_new_protected:Npn \@@_backend_link_begin:nw #1
@@ -428,6 +435,11 @@
\bool_if:NF \g_@@_backend_link_bool
{ \@@_backend_link_begin_aux:nw {#1} }
}
+% \end{macrocode}
+% The definition of |pdf.link.dict| here is needed as there is code in the
+% PostScript headers for breaking links, and that can only work with this
+% available.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_link_begin_aux:nw #1
{
\bool_gset_true:N \g_@@_backend_link_bool
@@ -1377,7 +1389,7 @@
width ~ \dim_eval:n {#1} ~
height ~ \dim_eval:n {#2} ~
depth ~ \dim_eval:n {#3} ~
- <</Type/Annot #4 >>
+ << /Type /Annot #4 >>
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3backend/l3backend.ins b/macros/latex/contrib/l3backend/l3backend.ins
index 5bba632ffb..8e316be0f0 100644
--- a/macros/latex/contrib/l3backend/l3backend.ins
+++ b/macros/latex/contrib/l3backend/l3backend.ins
@@ -35,7 +35,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 1990-2021 The LaTeX Project
+Copyright (C) 2019-2021 The LaTeX Project
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md
index 75d0cd7458..5ad7f3d183 100644
--- a/macros/latex/contrib/l3experimental/CHANGELOG.md
+++ b/macros/latex/contrib/l3experimental/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-07-12]
+
+### Added
+- Module `l3opacity`
+
## [2021-05-27]
### Added
@@ -210,7 +215,8 @@ this project uses date-based 'snapshot' version identifiers.
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2021-05-27...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-07-12...HEAD
+[2021-07-12]: https://github.com/latex3/latex3/compare/2021-05-27...2021-07-12
[2021-05-27]: https://github.com/latex3/latex3/compare/2021-02-18...2021-05-27
[2021-02-18]: https://github.com/latex3/latex3/compare/2021-02-06...2021-02-18
[2021-02-06]: https://github.com/latex3/latex3/compare/2021-01-29...2021-02-06
diff --git a/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md
index eb62a10b04..ebb812c17d 100644
--- a/macros/latex/contrib/l3experimental/README.md
+++ b/macros/latex/contrib/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2021-05-27
+Release 2021-07-12
Overview
--------
@@ -24,7 +24,7 @@ bundles:
* `l3benchmark`
* `l3draw`
* `l3graphics`
-* `l3pdf`
+* `l3opacity`
* `l3str`
* `l3sys-shell`
* `xcoffins`
@@ -48,18 +48,17 @@ TikZ system.
This module provides interfaces for the inclusion of graphics files
in documents, similar to the `graphics` package.
-`l3pdf`
+`l3opacity`
-------
-This module provides support for core PDF concepts such compression, objects,
-PDF version and so on.
+This module provides support for opacity in PDF output.
`l3str`
-------
A 'string' in TeX terms is a token list in which all of the tokens have
category code 12 ('other'), with the exception of spaces which have the
-category code 10 ('space'). The `l3strf-format` module provides methods
+category code 10 ('space'). The `l3str-format` module provides methods
for formatting such strings.
`l3sys-shell`
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.dtx b/macros/latex/contrib/l3experimental/l3benchmark.dtx
index 3cb4fa0880..71c12d8920 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.dtx
+++ b/macros/latex/contrib/l3experimental/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2021-05-27}{}
+\ProvidesExplPackage{l3benchmark}{2021-07-12}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf
index f70e4ce170..e7b04df65e 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.pdf
+++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3bitset.dtx b/macros/latex/contrib/l3experimental/l3bitset.dtx
index fd7f59b562..0021241628 100644
--- a/macros/latex/contrib/l3experimental/l3bitset.dtx
+++ b/macros/latex/contrib/l3experimental/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
% \begin{documentation}
@@ -264,7 +264,7 @@
%<@@=bitset>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2021-05-27}{}
+\ProvidesExplPackage{l3bitset}{2021-07-12}{}
{L3 Experimental bitset support}
% \end{macrocode}
% A bitset is a string variable.
diff --git a/macros/latex/contrib/l3experimental/l3bitset.pdf b/macros/latex/contrib/l3experimental/l3bitset.pdf
index 1bc1fbb3a6..04e300fe46 100644
--- a/macros/latex/contrib/l3experimental/l3bitset.pdf
+++ b/macros/latex/contrib/l3experimental/l3bitset.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
index cd3ac24744..45c6b0a16a 100644
--- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf
index 074a30ee1f..68c0490580 100644
--- a/macros/latex/contrib/l3experimental/l3draw-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-layers.dtx b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
index 8f1fd9253b..57238ab2f1 100644
--- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
index f0569e5603..043f9a5926 100644
--- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx
index 71633ca740..527194b8ee 100644
--- a/macros/latex/contrib/l3experimental/l3draw-points.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
index 6fcb544eb6..7065afd267 100644
--- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
index fc7fac00db..dd4104a689 100644
--- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx
index 046a3a7944..81f992f29d 100644
--- a/macros/latex/contrib/l3experimental/l3draw-state.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
index de39ce257d..ff23ae4db0 100644
--- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx
index 9a9e670cce..a713774f8c 100644
--- a/macros/latex/contrib/l3experimental/l3draw.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -1136,7 +1136,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2021-05-27}{}
+\ProvidesExplPackage{l3draw}{2021-07-12}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf
index 0edae24d33..d63d703791 100644
--- a/macros/latex/contrib/l3experimental/l3draw.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3galley.dtx b/macros/latex/contrib/l3experimental/l3galley.dtx
index 8d0291d1b1..ba662b097f 100644
--- a/macros/latex/contrib/l3experimental/l3galley.dtx
+++ b/macros/latex/contrib/l3experimental/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2021-05-27}{}
+\ProvidesExplPackage{l3galley}{2021-07-12}{}
{L3 Experimental galley code}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf
index a5519755d2..2b407e61d9 100644
--- a/macros/latex/contrib/l3experimental/l3galley.pdf
+++ b/macros/latex/contrib/l3experimental/l3galley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3graphics.dtx b/macros/latex/contrib/l3experimental/l3graphics.dtx
index 89a9410016..5101c9ae71 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.dtx
+++ b/macros/latex/contrib/l3experimental/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -240,7 +240,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2021-05-27}{}
+\ProvidesExplPackage{l3graphics}{2021-07-12}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf
index 82a0c5dc3c..a59d1f86e3 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.pdf
+++ b/macros/latex/contrib/l3experimental/l3graphics.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3opacity.dtx b/macros/latex/contrib/l3experimental/l3opacity.dtx
new file mode 100644
index 0000000000..4b1e7ea64f
--- /dev/null
+++ b/macros/latex/contrib/l3experimental/l3opacity.dtx
@@ -0,0 +1,140 @@
+% \iffalse meta-comment
+%
+%% File: l3opacity.dtx
+%
+% Copyright (C) 2021 The LaTeX Project
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this
+% license or (at your option) any later version. The latest version
+% of this license is in the file
+%
+% http://www.latex-project.org/lppl.txt
+%
+% This file is part of the "l3experimental bundle" (The Work in LPPL)
+% and all files in that bundle must be distributed together.
+%
+% -----------------------------------------------------------------------
+%
+% The development version of the bundle can be found at
+%
+% https://github.com/latex3/latex3
+%
+% for those people who are interested.
+%
+%<*driver|package>
+\RequirePackage{expl3}
+%</driver|package>
+%<*driver>
+\documentclass[full]{l3doc}
+\begin{document}
+ \DocInput{\jobname.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \title{^^A
+% The \textsf{l3opacity} package\\ Experimental opacity (transparency) support^^A
+% }
+%
+% \author{^^A
+% The \LaTeX{} Project\thanks
+% {^^A
+% E-mail:
+% \href{mailto:latex-team@latex-project.org}
+% {latex-team@latex-project.org}^^A
+% }^^A
+% }
+%
+% \date{Released 2021-07-12}
+%
+% \maketitle
+%
+% \begin{documentation}
+%
+% \section{Selecting opacity}
+%
+% Opacity (transparency) shares many characteristics with color. However,
+% limitations in terms of backends mean that it is not always possible
+% to use a dedicated stack for tracking opacity. The best results when
+% breaking pages are therefore likely to result using direct PDF output
+% (\pdfTeX{}, \LuaTeX{}) or with recent versions of \texttt{(x)dvipdfmx}:
+% these backends do offer the necessary support.
+%
+% For users of PostScript-based routes, note that there are security
+% restrictions which can prevent opacity being available in output. In
+% particular, using Adobe Distiller, you will need to enable transparency
+% in the (text-based) configuration: this is not selectable from the GUI.
+%
+% \begin{function}[added = 2021-07-01]{\opacity_select:n}
+% \begin{syntax}
+% \cs{opacity_select:n} \Arg{expression}
+% \end{syntax}
+% Evaluates the \meta{expression}, which should yield a value in the range $[0,1]$.
+% This is then activated as an opacity for both filling and stroking.
+% \end{function}
+%
+% \begin{function}[added = 2021-07-01]{\opacity_fill:n, \opacity_stroke:n}
+% \begin{syntax}
+% \cs{opacity_fill:n} \Arg{expression}
+% \end{syntax}
+% Evaluates the \meta{expression}, which should yield a value in the range $[0,1]$.
+% This is then activated as an opacity for filling or stroking, respectively.
+% \end{function}
+%
+% \end{documentation}
+%
+% \begin{implementation}
+%
+% \section{\pkg{l3opacity} Implementation}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<@@=opacity>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProvidesExplPackage{l3opacity}{2021-07-12}{}
+ {L3 Experimental opacity support}
+% \end{macrocode}
+%
+% \begin{macro}{\opacity_select:n, \opacity_fill:n, \opacity_stroke:n}
+% \begin{macro}{\@@_select:nN, \@@_select_aux:nN}
+% Thin wrapper with error checking.
+% \begin{macrocode}
+\cs_new_protected:Npn \opacity_select:n #1
+ { \@@_select:nN {#1} \@@_backend_select:n }
+\cs_new_protected:Npn \opacity_fill:n #1
+ { \@@_select:nN {#1} \@@_backend_fill:n }
+\cs_new_protected:Npn \opacity_stroke:n #1
+ { \@@_select:nN {#1} \@@_backend_stroke:n }
+\cs_new_protected:Npn \@@_select:nN #1#2
+ { \exp_args:Ne \@@_select_aux:nN { \fp_eval:n {#1} } #2 }
+\cs_new_protected:Npn \@@_select_aux:nN #1#2
+ {
+ \bool_lazy_or:nnTF
+ { \fp_compare_p:nNn {#1} < { 0 } }
+ { \fp_compare_p:nNn {#1} > { 1 } }
+ { \msg_error:nnn { opacity } { out-of-range } {#1} }
+ { #2 {#1} }
+ }
+\msg_new:nnnn { opacity } { out-of-range }
+ { Opacity~value~out~of~range. }
+ {
+ LaTeX~was~asked~to~set~opacity~of~#1,~but~only~values~in~the~range~
+ 0~to~1~are~supported.
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \end{implementation}
+%
+% \PrintIndex
diff --git a/macros/latex/contrib/l3experimental/l3opacity.ins b/macros/latex/contrib/l3experimental/l3opacity.ins
new file mode 100644
index 0000000000..15d87c8f95
--- /dev/null
+++ b/macros/latex/contrib/l3experimental/l3opacity.ins
@@ -0,0 +1,58 @@
+\iffalse meta-comment
+
+File: l3opacity.ins
+
+Copyright (C) 2021 The LaTeX Project
+
+It may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this
+license or (at your option) any later version. The latest version
+of this license is in the file
+
+ http://www.latex-project.org/lppl.txt
+
+This file is part of the "l3experimental bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+-----------------------------------------------------------------------
+
+The development version of the bundle can be found at
+
+ https://github.com/latex3/latex3
+
+for those people who are interested.
+
+-----------------------------------------------------------------------
+
+Any modification of this file should ensure that the copyright and
+license information is placed in the derived files.
+
+\fi
+
+\input docstrip %
+\askforoverwritefalse
+
+\preamble
+
+Copyright (C) 2021 The LaTeX Project
+
+It may be distributed and/or modified under the conditions of
+the LaTeX Project Public License (LPPL), either version 1.3c of
+this license or (at your option) any later version. The latest
+version of this license is in the file:
+
+ http://www.latex-project.org/lppl.txt
+
+This file is part of the "l3experimental bundle" (The Work in LPPL)
+and all files in that bundle must be distributed together.
+
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+\endpostamble
+
+\keepsilent
+
+\generate{\file{l3opacity.sty}{\from{l3opacity.dtx}{package}}}
+
+\endbatchfile
diff --git a/macros/latex/contrib/l3experimental/l3opacity.pdf b/macros/latex/contrib/l3experimental/l3opacity.pdf
new file mode 100644
index 0000000000..afde835c29
--- /dev/null
+++ b/macros/latex/contrib/l3experimental/l3opacity.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx
index 34ccffbb5b..669d198790 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.dtx
+++ b/macros/latex/contrib/l3experimental/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2021-05-27}{}
+\ProvidesExplPackage{l3str-format}{2021-07-12}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf
index 3e909d02f2..d070a93856 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.pdf
+++ b/macros/latex/contrib/l3experimental/l3str-format.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
index cf3e3f1405..56f5ccf610 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2021-05-27}{}
+\ProvidesExplPackage{l3sys-shell}{2021-07-12}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
index d0cde462c2..f7db627adf 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xcoffins.dtx b/macros/latex/contrib/l3experimental/xcoffins.dtx
index f8f10fc063..afd086567b 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.dtx
+++ b/macros/latex/contrib/l3experimental/xcoffins.dtx
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2021-05-27}{}
+\ProvidesExplPackage{xcoffins}{2021-07-12}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf
index 8cd96a0ad1..4847b73a25 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.pdf
+++ b/macros/latex/contrib/l3experimental/xcoffins.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xgalley.dtx b/macros/latex/contrib/l3experimental/xgalley.dtx
index f23d7c5f48..b75c45ee2d 100644
--- a/macros/latex/contrib/l3experimental/xgalley.dtx
+++ b/macros/latex/contrib/l3experimental/xgalley.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-05-27}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2021-05-27}{}
+\ProvidesExplPackage{xgalley}{2021-07-12}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf
index 02a99f8eb8..52cb016046 100644
--- a/macros/latex/contrib/l3experimental/xgalley.pdf
+++ b/macros/latex/contrib/l3experimental/xgalley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/contrib/l3kernel/CHANGELOG.md
index ba547574c8..903d491f24 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/contrib/l3kernel/CHANGELOG.md
@@ -7,6 +7,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-07-12]
+
+### Fixed
+- Handling of multiple color models (issue #962)
+
+### Removed
+- Functions marked for removal end-2020
+
## [2021-06-18]
### Fixed
@@ -939,7 +947,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-06-18...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-07-12...HEAD
+[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
[2021-06-01]: https://github.com/latex3/latex3/compare/2021-05-27...2021-06-01
[2021-05-27]: https://github.com/latex3/latex3/compare/2021-05-25...2021-05-27
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/contrib/l3kernel/README.md
index fb9ac4b35e..b674bc603f 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/contrib/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2021-06-18
+Release 2021-07-12
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/contrib/l3kernel/expl3.dtx
index bf5d002f00..5bc448a208 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-06-18}%
+\def\ExplFileDate{2021-07-12}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/contrib/l3kernel/expl3.pdf
index 2f6c765002..8f944b1fd2 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 4b8b052652..75613a8cb1 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 910481e48e..20d24e0d91 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-06-18}
+\date{Released 2021-07-12}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/contrib/l3kernel/l3basics.dtx
index 6c1d3438dd..46401b132e 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/contrib/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
index aa17ea4fe9..8bfa4f1c20 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/contrib/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/contrib/l3kernel/l3box.dtx
index 348b4a4891..d0142d1aab 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/contrib/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3candidates.dtx b/macros/latex/contrib/l3kernel/l3candidates.dtx
index d086571aab..639d7e5a8e 100644
--- a/macros/latex/contrib/l3kernel/l3candidates.dtx
+++ b/macros/latex/contrib/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/contrib/l3kernel/l3cctab.dtx
index c3fc4bf154..33b11e5060 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/contrib/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/contrib/l3kernel/l3clist.dtx
index 3634c4cfeb..84bf84e518 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/contrib/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/contrib/l3kernel/l3coffins.dtx
index df743b97c2..7be4e07ddb 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/contrib/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/contrib/l3kernel/l3color.dtx
index a6b1b11262..3a8efd6ea3 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/contrib/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -1339,7 +1339,7 @@
% \begin{macro}{\@@_set:nnn}
% \begin{macro}{\@@_set:nn}
% \begin{macro}{\@@_set:nnw}
-% \begin{macro}{\color_set:nnn}
+% \begin{macro}{\color_set:nnn, \@@_set_aux:nnn}
% \begin{macro}{\@@_set_colon:nnw}
% \begin{macro}{\@@_set_loop:nw}
% \begin{macro}{\color_set_eq:nn}
@@ -1403,16 +1403,21 @@
}
}
}
-\cs_new_protected:Npx \color_set:nnn #1#2#3
+\cs_new_protected:Npn \color_set:nnn #1#2#3
{
- \exp_not:N \str_if_eq:nnF {#1} { . }
+ \str_if_eq:nnF {#1} { . }
{
\tl_clear_new:c { l_@@_named_ #1 _tl }
\prop_clear_new:c { l_@@_named_ #1 _prop }
- \exp_not:N \@@_set_colon:nnw {#1} {#3}
- #2 \c_colon_str \c_colon_str \exp_not:N \s_@@_stop
+ \exp_args:Ne \@@_set_aux:nnn { \tl_to_str:n {#2} }
+ {#1} {#3}
}
}
+\cs_new_protected:Npx \@@_set_aux:nnn #1#2#3
+ {
+ \exp_not:N \@@_set_colon:nnw {#2} {#3}
+ #1 \c_colon_str \c_colon_str \exp_not:N \s_@@_stop
+ }
\use:x
{
\cs_new_protected:Npn \exp_not:N \@@_set_colon:nnw
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/contrib/l3kernel/l3debug.dtx
index b8d89381d9..d654974767 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/contrib/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/contrib/l3kernel/l3deprecation.dtx
index 569153fb6a..276c4d08fd 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/contrib/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
@@ -617,49 +617,6 @@
\ProvidesExplFile{l3deprecation.def}{2019-04-06}{}{L3 Deprecated functions}
% \end{macrocode}
%
-% \subsection{Deprecated \pkg{l3box} functions}
-%
-% \begin{macro}[deprecated = 2021-07-01]
-% {
-% \box_set_eq_clear:NN, \box_set_eq_clear:cN,
-% \box_set_eq_clear:Nc, \box_set_eq_clear:cc
-% }
-% \begin{macro}[deprecated = 2021-07-01]
-% {
-% \box_gset_eq_clear:NN, \box_gset_eq_clear:cN,
-% \box_gset_eq_clear:Nc, \box_gset_eq_clear:cc
-% }
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \box_set_eq_drop:N }
-\cs_gset_protected:Npn \box_set_eq_clear:NN #1#2
- { \tex_setbox:D #1 \tex_box:D #2 }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \box_gset_eq_drop:N }
-\cs_gset_protected:Npn \box_gset_eq_clear:NN #1#2
- { \tex_global:D \tex_setbox:D #1 \tex_box:D #2 }
-\cs_generate_variant:Nn \box_set_eq_clear:NN { c , Nc , cc }
-\cs_generate_variant:Nn \box_gset_eq_clear:NN { c , Nc , cc }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}[deprecated = 2021-07-01]{\hbox_unpack_clear:N, \hbox_unpack_clear:c}
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \hbox_unpack_drop:N }
-\cs_gset_protected:Npn \hbox_unpack_clear:N
- { \hbox_unpack_drop:N }
-\cs_generate_variant:Nn \hbox_unpack_clear:N { c }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}[deprecated = 2021-07-01]{\vbox_unpack_clear:N, \vbox_unpack_clear:c}
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \vbox_unpack_drop:N }
-\cs_gset_protected:Npn \vbox_unpack_clear:N
- { \vbox_unpack_drop:N }
-\cs_generate_variant:Nn \vbox_unpack_clear:N { c }
-% \end{macrocode}
-% \end{macro}
-%
% \subsection{Deprecated \pkg{l3str} functions}
%
% \begin{macrocode}
@@ -720,51 +677,6 @@
%<@@=tl>
% \end{macrocode}
%
-% \begin{macro}[deprecated = 2021-07-01]
-% {
-% \tl_set_from_file:Nnn, \tl_set_from_file:cnn,
-% \tl_gset_from_file:Nnn, \tl_gset_from_file:cnn,
-% \tl_set_from_file_x:Nnn, \tl_set_from_file_x:cnn,
-% \tl_gset_from_file_x:Nnn, \tl_gset_from_file_x:cnn
-% }
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
-\cs_gset_protected:Npn \tl_set_from_file:Nnn #1#2#3
- { \file_get:nnN {#3} {#2} #1 }
-\cs_generate_variant:Nn \tl_set_from_file:Nnn { c }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
-\cs_gset_protected:Npn \tl_gset_from_file:Nnn #1#2#3
- {
- \group_begin:
- \file_get:nnN {#3} {#2} \l_@@_internal_a_tl
- \tl_gset_eq:NN #1 \l_@@_internal_a_tl
- \group_end:
- }
-\cs_generate_variant:Nn \tl_gset_from_file:Nnn { c }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
-\cs_gset_protected:Npn \tl_set_from_file_x:Nnn #1#2#3
- {
- \group_begin:
- \file_get:nnN {#3} {#2} \l_@@_internal_a_tl
- #2 \scan_stop:
- \__kernel_tl_set:Nx \l_@@_internal_a_tl { \l_@@_internal_a_tl }
- \exp_args:NNNo \group_end:
- \tl_set:Nn #1 \l_@@_internal_a_tl
- }
-\cs_generate_variant:Nn \tl_set_from_file_x:Nnn { c }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \file_get:nnN }
-\cs_gset_protected:Npn \tl_gset_from_file_x:Nnn #1#2#3
- {
- \group_begin:
- \file_get:nnN {#3} {#2} \l_@@_internal_a_tl
- #2 \scan_stop:
- \__kernel_tl_gset:Nx #1 { \l_@@_internal_a_tl }
- \group_end:
- }
-\cs_generate_variant:Nn \tl_gset_from_file_x:Nnn { c }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}[deprecated = 2022-07-01]
% {
% \tl_lower_case:n, \tl_lower_case:nn,
@@ -795,22 +707,6 @@
%
% \subsection{Deprecated \pkg{l3token} functions}
%
-% \begin{macro}[EXP, deprecated = 2021-07-01]
-% {
-% \token_get_prefix_spec:N,
-% \token_get_arg_spec:N,
-% \token_get_replacement_spec:N
-% }
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \cs_prefix_spec:N }
-\cs_gset:Npn \token_get_prefix_spec:N { \cs_prefix_spec:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \cs_argument_spec:N }
-\cs_gset:Npn \token_get_arg_spec:N { \cs_argument_spec:N }
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { \cs_replacement_spec:N }
-\cs_gset:Npn \token_get_replacement_spec:N { \cs_replacement_spec:N }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macro}[EXP, deprecated = 2022-07-01]
% {
% \char_lower_case:N, \char_upper_case:N,
@@ -838,15 +734,6 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Deprecated \pkg{l3file} functions}
-%
-% \begin{macro}[EXP, deprecated = 2021-07-01]{\c_term_ior}
-% \begin{macrocode}
-\__kernel_patch_deprecation:nnNNpn { 2021-01-01 } { -1 }
-\cs_gset_protected:Npn \c_term_ior { -1 \scan_stop: }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macrocode}
%</patches>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/contrib/l3kernel/l3doc.dtx
index 1a3dbbeb90..5f98e21825 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-06-18}
+% \date{Released 2021-07-12}
% \maketitle
% \tableofcontents
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/contrib/l3kernel/l3docstrip.dtx
index 045e32f4cb..39aa374428 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/contrib/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/contrib/l3kernel/l3docstrip.pdf
index b6e64a7b3e..e1d85cc04d 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 9b031db812..ab9c7df678 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/contrib/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/contrib/l3kernel/l3file.dtx
index 4962f58d17..2b85b49dfa 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/contrib/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/contrib/l3kernel/l3flag.dtx
index a9e02e1619..bcf1c5f645 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/contrib/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/contrib/l3kernel/l3fp-assign.dtx
index 144308f9ef..59007556d5 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-06-18}
+% \date{Released 2021-07-12}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/contrib/l3kernel/l3fp-aux.dtx
index 0e975f1dcb..679036fa86 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/contrib/l3kernel/l3fp-basics.dtx
index 2bcfe264d9..35d2d50039 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/contrib/l3kernel/l3fp-convert.dtx
index 9586c12f4f..64290bb1b2 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/contrib/l3kernel/l3fp-expo.dtx
index a2bf913bb0..850bde051d 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/contrib/l3kernel/l3fp-extended.dtx
index 06a7018065..ff64954a67 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/contrib/l3kernel/l3fp-logic.dtx
index fe505475db..5e79cff9e9 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/contrib/l3kernel/l3fp-parse.dtx
index 2300d319d3..e73eadf6d1 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/contrib/l3kernel/l3fp-random.dtx
index 7dd2dfbc37..809ba5a8d9 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/contrib/l3kernel/l3fp-round.dtx
index 62bdc91e6f..dbbd3683ee 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/contrib/l3kernel/l3fp-traps.dtx
index c7a9296ba8..776955fb9c 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-06-18}
+% \date{Released 2021-07-12}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/contrib/l3kernel/l3fp-trig.dtx
index 8bcea37b09..aa76dc356a 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/contrib/l3kernel/l3fp.dtx
index 62e370d78f..202a784b10 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/contrib/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/contrib/l3kernel/l3fparray.dtx
index 1f50538909..21a8fb490a 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/contrib/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/contrib/l3kernel/l3int.dtx
index 3e1b6ae796..35871da7db 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/contrib/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/contrib/l3kernel/l3intarray.dtx
index 7913bb33a3..87eafe5a0c 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
index ba5fb07e64..095718793f 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/contrib/l3kernel/l3keys.dtx
index 911dca1c4a..af7ed2f1e5 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/contrib/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/contrib/l3kernel/l3legacy.dtx
index eec217d33e..adc82af2f9 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/contrib/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/contrib/l3kernel/l3luatex.dtx
index d5f01e9703..37f55d4247 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/contrib/l3kernel/l3msg.dtx
index b2341a9034..d08550273e 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/contrib/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/contrib/l3kernel/l3names.dtx
index 0d306a533c..13904fbbaf 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/contrib/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/contrib/l3kernel/l3news.pdf
index fb6b613b01..d22238c0dd 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 bc846306df..70073206a0 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 0d20678a7d..64d37bc644 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 43c14de35d..77b6bb2243 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 4261a77e79..62cda66f24 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 2f293cee60..85b9f321cd 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 08b5622507..b08dc9a31a 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 303ba407c1..e014af8e0f 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 a7dc4778e4..4aa1dbfe54 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 f247028b93..72c6f8c483 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 3ba552665b..08f15c074e 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 e84613d4ca..333a1835d1 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 85287d2fe1..2f7c4c8b94 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 f5bed9f426..e58d87f648 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/contrib/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/contrib/l3kernel/l3prefixes.csv
index 9bf91296d0..3330c62273 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/contrib/l3kernel/l3prefixes.csv
@@ -141,6 +141,7 @@ namedef,namedef,Phelype Oleinik,https://github.com/PhelypeOleinik/namedef,https:
nan,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,
nicematrix,nicematrix,François Pantigny,,,,2019-12-19,2019-12-19,
nil,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,
+nmc,numerica,Andrew Parsloe,,,,2021-06-30,2021-06-30,
no,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,
notestobib,notes2bib,Joseph Wright,https://github.com/josephwright/notes2bib,https://github.com/josephwright/notes2bib.git,https://github.com/josephwright/notes2bib/issues,2012-11-07,2012-11-07,
novalue,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,
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/contrib/l3kernel/l3prefixes.pdf
index cf725f6a8e..03c390a8d6 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 a581d8c058..1053097c6f 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/contrib/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/contrib/l3kernel/l3prop.dtx
index 15cd20f78b..5cdd55d178 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/contrib/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/contrib/l3kernel/l3quark.dtx
index 50ec219874..40923da37b 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/contrib/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/contrib/l3kernel/l3regex.dtx
index a26b1c0b2c..5005284d33 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/contrib/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/contrib/l3kernel/l3seq.dtx
index 278dcc521e..a04c6dc27c 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/contrib/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/contrib/l3kernel/l3skip.dtx
index d3b338f664..fdbd36427d 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/contrib/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/contrib/l3kernel/l3sort.dtx
index 2c82f521aa..1cf74d0e40 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/contrib/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/contrib/l3kernel/l3str-convert.dtx
index a49d2d7f11..904f84fc31 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/contrib/l3kernel/l3str.dtx
index 72bf49b062..ae1715761b 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/contrib/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/contrib/l3kernel/l3styleguide.pdf
index 91877e934c..b6697e9949 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 e81b8cd899..786296bd3a 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-06-18}
+\date{Released 2021-07-12}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
index 90bc87c2aa..a1f156a8bd 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 f1237177f6..7159309d36 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-06-18}
+\date{Released 2021-07-12}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/contrib/l3kernel/l3sys.dtx
index 3dc310fdca..1c1ad4b0d9 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/contrib/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/contrib/l3kernel/l3term-glossary.pdf
index 93dbdcb147..915031ea1a 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 b2b77851b9..5830f4e7c3 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-06-18}
+\date{Released 2021-07-12}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/contrib/l3kernel/l3text-case.dtx
index 691d6a8f06..64b7401e51 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/contrib/l3kernel/l3text-purify.dtx
index b215f68953..35a5f67a31 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/contrib/l3kernel/l3text.dtx
index c7ced6efbf..5f35a92972 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/contrib/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
index adf4218a35..1b79732fde 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-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/contrib/l3kernel/l3tl.dtx
index fa2d4780ea..cbbb122adb 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/contrib/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/contrib/l3kernel/l3token.dtx
index 86882d5944..173b866dfb 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/contrib/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/contrib/l3kernel/l3unicode.dtx
index e185bc71a6..e439c55069 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/contrib/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2021-06-18}
+% \date{Released 2021-07-12}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/contrib/l3kernel/source3.pdf
index c57ab4d98b..447e74fb34 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 f1364e89d0..ca9255d6e4 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-06-18}
+\date{Released 2021-07-12}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/macrolist/README.md b/macros/latex/contrib/macrolist/README.md
new file mode 100644
index 0000000000..ee73093939
--- /dev/null
+++ b/macros/latex/contrib/macrolist/README.md
@@ -0,0 +1,37 @@
+# The LaTeX package macrolist - version 1.0.0 (2021/07/12)
+
+> Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com>
+>
+> This file may be distributed and/or modified under
+> the conditions the LaTeX Project Public License (LPPL),
+> either version 1.3 of this license or (at your option)
+> any later version. The latest version of this license
+> can be found 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.
+
+`macrolist` provides lists and common list functions, such as `add`, `remove`, `foreach`, as well as `removelast` and `join`.
+
+## Package contents
+
+- `README.md` this file
+- `macrolist.pdf` documentation PDF with implementation details
+- `macrolist.dtx` contains package and documentation code
+- `macrolist.ins` generates .sty from .dtx
+
+## File generation
+
+A working TeX installation is required.
+
+Run
+
+ tex macrolist.ins
+
+to generate `macrolist.sty`. To use it, you need to put `macrolist.sty` into a directory searched by TeX.
+
+Run
+
+ pdflatex macrolist.dtx
+
+to generate `macrolist.pdf`, which contains the package documentation.
diff --git a/macros/latex/contrib/macrolist/macrolist.dtx b/macros/latex/contrib/macrolist/macrolist.dtx
new file mode 100644
index 0000000000..9c0ee6eb62
--- /dev/null
+++ b/macros/latex/contrib/macrolist/macrolist.dtx
@@ -0,0 +1,325 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com>
+%
+% This file may be distributed and/or modified under
+% the conditions the LaTeX Project Public License (LPPL),
+% either version 1.3 of this license or (at your option)
+% any later version. The latest version of this license
+% can be found 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.
+% \fi
+%
+% \iffalse
+%<*package>
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{macrolist}[2021/07/09 v1.0.0 Create lists of macros and perform operations on them]
+
+\RequirePackage{pgffor}
+%</package>
+
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{macrolist}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{macrolist.dtx}
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+% \changes{v1.0.0}{2021/07/01}{Initial version}
+%
+% \GetFileInfo{macrolist.sty}
+%
+% \title{\textsf{macrolist} -- Create lists of macros and manipulate them}
+% \author{Dennis Chen \\ proofprogram@gmail.com}
+% \date{\fileversion, v. \filedate\thanks{\url{https://github/com/chennisden/macrolist}}}
+%
+% \maketitle
+%
+% \begin{abstract}
+% The \textsf{macrolist} package allows you to create lists and manipulate them, with utilities such as |\listforeach| and an implementation of arr.join() from Javascript. Contrary to the name of the package, non-macros and groups of macros can be put into an item of the list.
+% \end{abstract}
+%
+% \section{Usage}
+%
+% \DescribeMacro{\newlist}
+% To create a list, pass in |\newlist{listname}| to create a list with the name \textsf{listname}.
+%
+% The package checks that \textsf{listname} is not the name of another list, and will throw an error if another list \textsf{listname} has already been defined.
+%
+% \iffalse
+\newcommand{\newlist}[1]{
+ \ifcsname c@macrolist@list@#1\endcsname
+ \PackageError{macrolist}{The list '#1' is already defined}{}
+ \else
+ \newcounter{macrolist@list@#1}
+ \setcounter{macrolist@list@#1}{0}
+ \fi
+}
+% \fi
+%
+% \DescribeMacro{\listelement}
+%
+% To execute the \textsf{i}th element of \textsf{listname}, write |\listelement{listname}{i}|. Note that \textit{lists are 1-indexed}, meaning the first element is numbered 1, the second element numbered 2, and so on.
+%
+% An error will be thrown if \textsf{listname} is not a defined list, if \textsf{i} is empty, or if \textsf{i} is greater than the size of the list.
+%
+% \iffalse
+\newcommand{\listelement}[2]{%
+ \macrolist@inbounds{#1}{#2}%
+ \csname macrolist@list@#1\the\numexpr #2\relax\endcsname%
+}
+% \fi
+%
+% \DescribeMacro{\listadd}
+%
+% To add something to the list \textsf{listname}, pass in |\listadd{listname}[position]{element}|, where \textsf{position} is an optional argument. If nothing is passed in for \textsf{position}, then by default \textsf{element} will be added to the end of the list.
+%
+% \iffalse
+\newcommand{\listadd}[1]{
+ \macrolist@exists{#1}
+ \def\macrolist@currlist{#1}
+ \macrolist@listadd
+}
+%% We write \listadd this way such that the optional argument will be positioned correctly
+\newcommand{\macrolist@listadd}[2][]{
+ \stepcounter{macrolist@list@\macrolist@currlist}
+
+ \if\relax\detokenize{#1}\relax
+ \expandafter\def\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2}
+ \else
+ \expandafter\ifnum\csname themacrolist@list@\macrolist@currlist\endcsname=#1
+ \expandafter\def\csname macrolist@list@\macrolist@currlist\listsize{\macrolist@currlist}\endcsname{#2}
+ \else
+ \macrolist@inbounds{\macrolist@currlist}{#1}
+ \foreach \macrolist@index in {\listsize{\macrolist@currlist}, ...,\the\numexpr #1+1\relax} {
+ \global\expandafter\let\csname macrolist@list@\macrolist@currlist\macrolist@index\expandafter\endcsname\csname macrolist@list@\macrolist@currlist\the\numexpr\macrolist@index-1\relax\endcsname
+ }
+ \expandafter\def\csname macrolist@list@\macrolist@currlist#1\endcsname{#2}
+ \fi
+ \fi
+}
+% \fi
+%
+% \DescribeMacro{\listremove}
+%
+% To remove an element in a list, write |\listremove{listname}{index}|.
+%
+% \iffalse
+\newcommand{\listremove}[2]{
+ \macrolist@inbounds{#1}{#2}
+
+ \ifnum\numexpr#2\relax=\listsize{#1}
+ \else
+ \foreach \macrolist@index in {#2, ..., \the\numexpr\listsize{#1}-1\relax} {
+ \global\expandafter\let\csname macrolist@list@#1\macrolist@index\expandafter\endcsname\csname macrolist@list@#1\the\numexpr\macrolist@index+1\endcsname
+ }
+ \fi
+
+ \expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax
+ \addtocounter{macrolist@list@#1}{-1}
+}
+% \fi
+%
+% \DescribeMacro{\listremovelast}
+%
+% To remove the last element in a list, write |\listremovelast{listname}|. This behaves like C++'s |pop_back|.
+%
+% \iffalse
+\newcommand{\listremovelast}[1]{
+ \macrolist@exists{#1}
+ \expandafter\let\csname macrolist@list@#1\listsize{#1}\endcsname\relax
+ \addtocounter{macrolist@list@#1}{-1}
+}
+% \fi
+%
+% \DescribeMacro{\listclear}
+%
+% To clear a list, write |\listclear{listname}|.
+%
+% \iffalse
+\newcommand{\listclear}[2]{
+ \macrolist@inbounds{#1}{#2}
+
+ \foreach \macrolist@index in {1, ..., \listsize{#1}} {
+ \expandafter\let\csname \macrolist@list@#1\macrolist@index\endcsname\relax
+ }
+
+ \setcounter{macrolist@list@#1}{0}
+}
+% \fi
+%
+% \DescribeMacro{\listsize}
+%
+% To get the size of a list, write |\listsize{listname}|.
+%
+% \iffalse
+\newcommand*{\listsize}[1]{%
+ \macrolist@exists{#1}%
+ \csname themacrolist@list@#1\endcsname
+}
+% \fi
+%
+% \DescribeMacro{\listforeach}
+%
+% To write a for each loop, write
+% \begin{verbatim}
+%\begin{listforeach}{listname}{\element}[begin][end]{action}
+% \end{verbatim}
+%
+%
+% Note that begin and end are optional arguments, and by default, they take the values \textsf{1} and |\listsize{listname}|. If you pass in \textsf{begin}, you must also pass in \textsf{end}.
+%
+% \iffalse
+\newcommand{\listforeach}[2]
+{
+ \def\macrolist@foreachstart{0} % Reset
+ % This is used to make optional arguments line up correctly
+
+ \def\macrolist@start{1}
+ \def\macrolist@end{\listsize{#1}}
+ \def\macrolist@listname{#1}
+ \def\macrolist@element{#2}
+ \macrolist@listforeachi
+}
+
+\newcommand{\macrolist@listforeachi}[1][]{
+ \if\relax\detokenize{#1}\relax
+ \else
+ \def\macrolist@start{#1}
+ \def\macrolist@foreachstart{1}
+ \fi
+ \macrolist@listforeachii
+}
+
+\newcommand{\macrolist@listforeachii}[1][]{
+ \if\relax\detokenize{#1}\relax
+ \ifnum\macrolist@foreachstart=1
+ \PackageError{macrolist}{You must either pass in both a starting and ending position or neither}{}
+ \fi
+ \else
+ \def\macrolist@end{#1}
+ \fi
+ \macrolist@listforeachaction
+}
+
+\newcommand{\macrolist@listforeachaction}[1]{
+
+ \macrolist@exists{\macrolist@listname}
+
+ \ifnum\numexpr\macrolist@start\relax>\listsize{\macrolist@listname}%
+ \PackageError{macrolist}{The starting index of the loop is out of the bounds of list '\macrolist@listname'}{}
+ \fi
+
+ \ifnum\numexpr\macrolist@end\relax>\listsize{\macrolist@listname}
+ \PackageError{macrolist}{The ending index of the loop is out of the bounds of list '\macrolist@listname'}{}
+ \fi
+
+ \foreach \macrolist@index in {\the\numexpr\macrolist@start\relax, ..., \the\numexpr\macrolist@end\relax} {%
+ \expandafter\expandafter\expandafter\let\expandafter\expandafter\macrolist@element\csname macrolist@list@\macrolist@listname\macrolist@index\endcsname
+ #1%
+ }%
+}
+% \fi
+%
+% \DescribeMacro{\listjoin}
+%
+% Executing |\listjoin{listname}{joiner}| returns all of the elements separated by \textsf{joiner}. This behaves like Javascript's \textsf{arr.join()}.
+%
+% \iffalse
+\newcommand{\listjoin}[2]{%
+ \ifnum\listsize{#1}>1
+ \listforeach{#1}{\macrolist@joinelement}[1][\listsize{#1}-1]{\macrolist@joinelement#2}%
+ \fi
+ \ifnum\listsize{#1}>0
+ \listelement{#1}{\listsize{#1}}%
+ \fi
+}
+% \fi
+%
+% \section{Example}
+% Here is the source code for a small document using \textsf{macrolist}.
+%
+% \begin{verbatim}
+%\documentclass{article}
+%\usepackage{macrolist}
+%
+%\begin{document}
+%
+%\newlist{mylist}
+%\listadd{mylist}{Some text}
+%% List: Some text
+%
+%\newcommand\macro{This is a macro}
+%
+%\listadd{mylist}{\macro}
+%% List: Some text, \macro
+%
+%\listelement{mylist}{1}
+%% Prints out "Some text"
+%
+%\listadd{mylist}[1]{Element inserted into beginning}
+%% List: Element inserted into beginning, Some text, \macro
+%
+%\listremove{mylist}{1}
+%% List: Some text, \macro
+%
+%\listforeach{mylist}{\element}{We're printing out \textbf{\element}. }
+%% We're printing out \textbf{Some text}. We're printing out \textbf{\macro}.
+%
+%\listjoin{mylist}{, }
+%% Some text, \macro
+%
+%\end{document}
+% \end{verbatim}
+%
+% \section{Implementation details}
+%
+% All internal macros are namespaced to prevent package conflicts.
+%
+% \begin{macro}{\macrolist@exists}
+% One internal macro we use is |\macrolist@exists{listname}|, which checks that \textsf{listname} exists. It throws an error otherwise.
+%
+% \begin{macrocode}
+\newcommand*{\macrolist@exists}[1]{%
+ \ifcsname c@macrolist@list@#1\endcsname
+ \else
+ \PackageError{macrolist}
+ {The first argument is not a defined list}
+ {Make sure you have defined the list before trying to operate on it.}
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\macrolist@inbounds}
+% We use |\macrolist@inbounds{listname}{index}| to check that first, \textsf{listname} is a defined list using |\macrolist@exists|, and second, that \textsf{index} is within bounds. It throws an error otherwise.
+% \begin{macrocode}
+\newcommand*{\macrolist@inbounds}[2]{%
+ \macrolist@exists{#1}%
+ %
+ \if\relax\detokenize{#2}
+ \PackageError{macrolist}
+ {No number has been passed into the second argument of your command
+ }{Pass in a number to the second argument of your command.}
+ \fi
+ %
+ \ifnum\numexpr#2 \relax>\listsize{#1}
+ \PackageError{macrolist}
+ {Index out of bounds}
+ {The number you have passed in to the second argument of your command\MessageBreak
+ is out of the bounds of list '#1'.}
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/macrolist/macrolist.ins b/macros/latex/contrib/macrolist/macrolist.ins
new file mode 100644
index 0000000000..df2ac1265d
--- /dev/null
+++ b/macros/latex/contrib/macrolist/macrolist.ins
@@ -0,0 +1,45 @@
+%% Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com>
+%%
+%% This work may be distributed and/or modified under
+%% the conditions the LaTeX Project Public License (LPPL),
+%% either version 1.3 of this license or (at your option)
+%% any later version. The latest version of this license
+%% can be found 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.
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/macrolist}
+
+\preamble
+This work may be distributed and/or modified under
+the conditions the LaTeX Project Public License (LPPL),
+either version 1.3 of this license or (at your option)
+any later version. The latest version of this license
+can be found 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.
+\endpreamble
+
+\generate{\file{macrolist.sty}{\from{macrolist.dtx}{package}}}
+
+\obeyspaces
+\Msg{*************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* macrolist.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation, run the file *}
+\Msg{* macrolist.dtx through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*************************************************************}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/macrolist/macrolist.pdf b/macros/latex/contrib/macrolist/macrolist.pdf
new file mode 100644
index 0000000000..c3e16e2634
--- /dev/null
+++ b/macros/latex/contrib/macrolist/macrolist.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index 3d851d2c4f..ad039de16c 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index 92bf11fcd8..102ba87759 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -1,8 +1,7 @@
-%! TEX program = xelatex
-\documentclass[English,French,puretext]{minimart}
+\documentclass[English,Chinese,French,puretext]{minimart}
\CreateTheorem{definition}<highest>
-\CreateTheorem{theorem}<highest>
+\CreateTheorem{theorem}[definition]
\linenumbers % Enable line numbers
@@ -12,9 +11,14 @@
\usepackage{ProjLib}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
+\usetikzlibrary{calc}
+
+\usepackage{blindtext}
+
+\UseLanguage{English}
%%================================
-%% For typestting code
+%% For typesetting code
%%================================
\usepackage{listings}
\definecolor{maintheme}{RGB}{70,130,180}
@@ -33,19 +37,24 @@
escapeinside={(*}{*)},
% numbers=left,
numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
- firstnumber=last,
-}
+ % firstnumber=last,
+}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {linenumbers,nolinenumbers,subsection,subsubsection,href,
+ {linenumbers,nolinenumbers,part,parttext,chapter,section,subsection,subsubsection,frontmatter,mainmatter,backmatter,tableofcontents,href,
color,NameTheorem,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PLdate,ProjLib,qedhere
}
}
-\lstnewenvironment{code}%
-{\LocallyStopLineNumbers%
+\lstnewenvironment{code}%
+{\setstretch{1.07}\LocallyStopLineNumbers%
\setkeys{lst}{columns=fullflexible,keepspaces=true}%
}
{\ResumeLineNumbers}
+\lstnewenvironment{code*}%
+{\setstretch{1.07}\LocallyStopLineNumbers%
+\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
+}
+{\ResumeLineNumbers}
%%================================
%% tip
@@ -79,72 +88,304 @@
\providecommand{\simplivre}{\textsf{simplivre}}
%%================================
+%% Titles
+%%================================
+\let\LevelOneTitle\section
+\let\LevelTwoTitle\subsection
+\let\LevelThreeTitle\subsubsection
+
+%%================================
%% Main text
%%================================
\begin{document}
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\minimalist{} 2021/07/05}}
+\thanks{Corresponding to: \texttt{\minimalist{} 2021/07/13}}
+\email{\href{mailto:ProjLib@outlook.com}{ProjLib@outlook.com}}
\date{July 2021, Beijing}
\maketitle
\begin{abstract}
- \minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. My original intention in designing this series was to write drafts and notes that look simple yet not shabby.
-
- The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+ \minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. The original intention in designing this series was to write drafts and notes that look simple yet not shabby. With the help of the \ProjLib{} toolkit, also developed by the author, the classes provided here have multi-language support, preset theorem-like environments with clever reference support, and many other functionalities. Notably, using these classes, one can organize the author information in the \AmS{} fashion, makes it easy to switch to journal classes later for publication.
- You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and also have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not pdf\LaTeX).
-
- This documentation is typeset using \minimart{}. You can think of it as a short introduction and demonstration.
+ Finally, this documentation is typeset using the \minimart{} class. You can think of it as a short introduction and demonstration.
\end{abstract}
+
+\setcounter{tocdepth}{2}
\tableofcontents
\medskip
-\begin{tip}
- Multi-language support, theorem-like environments, draft marks and some other features are provided by the \ProjLib{} toolkit. Here we only briefly discuss how to use it with this document class. For more detailed information, you can refer to the documentation of \ProjLib{}.
-\end{tip}
+\LevelOneTitle*{Before you start}
+\addcontentsline{toc}{section}{Before you start}
+In order to use the package or classes described here, you need to:
+\begin{itemize}
+ \item install TeX Live or MikTeX of the latest possible version, and make sure that \texttt{minimalist} and \texttt{projlib} are correctly installed in your \TeX{} system.
+ \item be familiar with the basic usage of \LaTeX{}, and knows how to compile your document with \hologo{pdfLaTeX}, \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+\end{itemize}
-\clearpage
-\section{Initialization}
+\LevelOneTitle{Introduction}
+
+\minimalist{} is a series of styles and classes for you to typeset your articles or books in a simple and clear manner. The original intention in designing this series was to write drafts and notes that look simple yet not shabby.
-\subsection{How to load it}
+The entire collection includes \verb|minimalist.sty|, which is the main style shared by all of the following classes; \verb|minimart.cls| for typesetting articles and \verb|minimbook.cls| for typesetting books. They compile with any major \TeX{} engine, with native support to English, French, German, Italian, Portuguese (European and Brazilian) and Spanish typesetting via \lstinline|\UseLanguage| (see the instruction below for detail).
+
+You can also found \einfart{} and \simplivre{} on CTAN. They are the enhanced version of \minimart{} and \minimbook{} with unicode support. With this, they can access to more beautiful fonts, and additionally have native support for Chinese, Japanese and Russian typesetting. On the other hand, they need to be compiled with \hologo{XeLaTeX} or \hologo{LuaLaTeX} (not \hologo{pdfLaTeX}).
+
+With the help of the \ProjLib{} toolkit, also developed by the author, the classes provided here have multi-language support, preset theorem-like environments with clever reference support, and many other functionalities such as draft marks, enhanced author information block, mathematical symbols and shortcuts, etc. Notably, using these classes, one can organize the author information in the \AmS{} fashion, makes it easy to switch to journal classes later for publication. For more detailed information, you can refer to the documentation of \ProjLib{} by running \lstinline|texdoc projlib| in the command line.
+
+\LevelOneTitle{Usage and examples}
+
+\LevelTwoTitle{How to load it}
You can directly use \minimart{} or \minimbook{} as your document class. In this way, you can directly begin writing your document, without having to worry about the configurations.
\begin{code}
\documentclass{minimart} (*{\normalfont or}*) \documentclass{minimbook}
\end{code}
-And of course, you can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided.
+\begin{tip}
+ You may wish to use \einfart{} or \simplivre{} instead, which should produce better result. All the examples later using \minimart{} or \minimbook{} can be adopted to \einfart{} and \simplivre{} respectively, without further modification.
+\end{tip}
+
+You can also use the default classes \textsf{article} or \textsf{book}, and load the \minimalist{} package. This way, only the basic styles are set, and you can thus use your preferred fonts and page layout. All the features mentioned in this article are provided.
\begin{code}
+ \documentclass{article} (*{\normalfont or}*) \documentclass{book}
\usepackage{minimalist}
\end{code}
-\subsection{Options}
+\LevelTwoTitle{Example - \minimart}
+
+Let's first look at a complete example of \minimart{} (the same works for \einfart{}).
+
+\begin{code*}
+\documentclass{minimart}
+\usepackage{ProjLib}
+
+\UseLanguage{French}
+
+\begin{document}
+
+\title{(*\meta{title}*)}
+\author{(*\meta{author}*)}
+\date{\PLdate{2022-04-01}}
+
+\maketitle
+
+\begin{abstract}
+ Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
+\end{abstract}
+\begin{keyword}
+ AAA, BBB, CCC, DDD, EEE
+\end{keyword}
+
+\section{Un théorème}
+
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
+\end{theorem}
+Référence du théorème: \cref{thm:abc}
+
+\end{document}
+\end{code*}
+
+
+If you find this example a little complicated, don't worry. Let's now look at this example piece by piece.
+
+\LevelThreeTitle{Initialization}
+
+\medskip
+\begin{code}
+\documentclass{minimart}
+\usepackage{ProjLib}
+\end{code}
+
+Initialization is straightforward. The first line loads the document class \minimart{}, and the second line loads the \ProjLib{} toolkit to obtain some additional functionalities.
+
+\LevelThreeTitle{Set the language}
+
+\medskip
+\begin{code}
+\UseLanguage{French}
+\end{code}
+
+This line indicates that French will be used in the document (by the way, if only English appears in your article, then there is no need to set the language). You can also switch the language in the same way later in the middle of the text. Supported languages include Simplified Chinese, Traditional Chinese, Japanese, English, French, German, Spanish, Portuguese, Brazilian Portuguese and Russian%
+\footnote{The language Simplified Chinese, Traditional Chinese, Japanese and Russian requires Unicode support, thus the classes \einfart{} or \simplivre{}.}%
+.%
+
+For detailed description of this command and more related commands, please refer to the section on the multi-language support.
+
+\LevelThreeTitle{Title, author information, abstract and keywords}
+
+\medskip
+\begin{code}
+\title{(*\meta{title}*)}
+\author{(*\meta{author}*)}
+\date{\PLdate{2022-04-01}}
+\maketitle
+
+\begin{abstract}
+ (*\meta{abstract}*)
+\end{abstract}
+\begin{keyword}
+ (*\meta{keywords}*)
+\end{keyword}
+\end{code}
+
+This part begins with the title and author information block. The example shows the basic usage, but in fact, you can also write:
+
+\begin{code}
+\author{(*\meta{author 1}*)}
+\address{(*\meta{address 1}*)}
+\email{(*\meta{email 1}*)}
+\author{(*\meta{author 2}*)}
+\address{(*\meta{address 2}*)}
+\email{(*\meta{email 2}*)}
+...
+\end{code}
+
+In addition, you may also write in the \AmS{} fashion, i.e.:
+
+\begin{code}
+\title{(*\meta{title}*)}
+\author{(*\meta{author 1}*)}
+\address{(*\meta{address 1}*)}
+\email{(*\meta{email 1}*)}
+\author{(*\meta{author 2}*)}
+\address{(*\meta{address 2}*)}
+\email{(*\meta{email 2}*)}
+\date{\PLdate{2022-04-01}}
+\subjclass{*****}
+\keywords{(*\meta{keywords}*)}
+
+\begin{abstract}
+ (*\meta{abstract}*)
+\end{abstract}
+
+\maketitle
+\end{code}
+
+\LevelThreeTitle{Draft marks}
+
+\medskip
+\begin{code}
+\dnf<(*\meta{some hint}*)>
+\end{code}
+
+When you have some places that have not yet been finished yet, you can mark them with this command, which is especially useful during the draft stage.
+
+\LevelThreeTitle{Theorem-like environments}
+
+\medskip
+\begin{code}
+\begin{theorem}\label{thm:abc}
+ Ceci est un théorème.
+\end{theorem}
+Référence du théorème: \cref{thm:abc}
+\end{code}
+
+Commonly used theorem-like environments have been pre-defined. Also, when referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}} --- in this way, there is no need to explicitly write down the name of the corresponding environment every time.
+
+\begin{tip}
+If you wish to switch to the standard class later, just replace the first two lines with:
+
+\begin{code}
+\documentclass{article}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino,amsfashion]{ProjLib}
+\end{code}
+
+or to use the \AmS{} class:
+
+\begin{code}
+\documentclass{amsart}
+\usepackage[a4paper,margin=1in]{geometry}
+\usepackage[hidelinks]{hyperref}
+\usepackage[palatino]{ProjLib}
+\end{code}
+
+\end{tip}
+
+\begin{tip}
+If you like the current document class, but want a more ``plain'' style, then you can use the option \texttt{classical}, like this:
+
+\begin{code}
+\documentclass[classical]{minimart}
+\end{code}
+\end{tip}
+
+\clearpage
+\LevelTwoTitle{Example - \minimbook}
+
+Now let's look at an example of \minimbook{} (the same works for \simplivre{}).
+
+\begin{code*}
+\documentclass{minimbook}
+\usepackage{ProjLib}
+
+\UseLanguage{French}
+
+\begin{document}
+
+\frontmatter
+
+\begin{titlepage}
+ (*\meta{code for titlepage}*)
+\end{titlepage}
+
+\tableofcontents
+
+\mainmatter
+
+\part{(*\meta{part title}*)}
+\parttext{(*\meta{text after part title}*)}
+
+\chapter{(*\meta{chapter title}*)}
+
+\section{(*\meta{section title}*)}
+
+...
+
+\backmatter
+
+...
-\minimalist{} offers the following options:
+\end{document}
+\end{code*}
+
+There is no much differences with \minimart{}, only that the title and author information should be typeset within the \texttt{titlepage} environment. Currently no default titlepage style is given, since the design of the title page is a highly personalized thing, and it is difficult to achieve a result that satisfies everyone.
+
+\bigskip
+In the next section, we will go through the options available.
+\clearpage
+
+
+\LevelOneTitle{The options}
+
+\minimalist{} offers the following options:
\begin{itemize}
\item The language options \texttt{EN} / \texttt{english} / \texttt{English}, \texttt{FR} / \texttt{french} / \texttt{French}, etc.
\begin{itemize}
\item For the option names of a specific language, please refer to \meta{language name} in the next section. The first specified language will be used as the default language.
+ \item The language options are optional, mainly for increasing the compilation speed. Without them the result would be the same, only slower.
\end{itemize}
\item \texttt{draft} or \texttt{fast}
\begin{itemize}
\item The option \verb|fast| enables a faster but slightly rougher style, main differences are:
\begin{itemize}
- \item Use simpler math font configuration;
- \item Do not use \textsf{hyperref};
+ \item Use simpler math font configuration;
+ \item Do not use \textsf{hyperref};
\item Enable the fast mode of \ProjLib{} toolkit.
\end{itemize}
\end{itemize}
- \begin{tip}
- During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
- \end{tip}
+ \begin{tip}
+ During the draft stage, it is recommended to use the \verb|fast| option to speed up compilation. When in \verb|fast| mode, there will be a watermark ``DRAFT'' to indicate that you are currently in the draft mode.
+ \end{tip}
\item \texttt{allowbf}
\begin{itemize}
\item Allow boldface. When this option is enabled, the main title, the titles of all levels and the names of theorem-like environments will be bolded.
@@ -153,9 +394,9 @@ And of course, you can also use the default classes \textsf{article} or \textsf{
\begin{itemize}
\item Classic mode. When this option is enabled, the style will become more regular: paragraphs are indented, the use of underlines are reduced, heading styles are changed, and the theorem styles will be much closer to common styles.
\end{itemize}
- \begin{tip}
- \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
- \end{tip}
+ \begin{tip}
+ \texttt{allowbf} + \texttt{classical} is probably a good choice if you prefer traditional style.
+ \end{tip}
\item \texttt{runin}
\begin{itemize}
\item Use the ``runin'' style for \lstinline|\subsubsection|
@@ -170,8 +411,7 @@ And of course, you can also use the default classes \textsf{article} or \textsf{
\end{itemize}
\end{itemize}
-% \clearpage
-Additionally, \minimart{} and \minimbook{} offers the following options:
+Additionally, \minimart{} and \minimbook{} offers the following options:
\begin{itemize}
\item \texttt{a4paper} or \texttt{b5paper}
\begin{itemize}
@@ -179,7 +419,7 @@ Additionally, \minimart{} and \minimbook{} offers the following options:
\end{itemize}
\item \texttt{palatino}, \texttt{times}, \texttt{garamond}, \texttt{biolinum} ~$|$~ \texttt{useosf}
\begin{itemize}
- \item Font options. As the name suggest, font with corresponding name will be loaded.
+ \item Font options. As the name suggest, font with corresponding name will be loaded.
\item The \texttt{useosf} option is used to enable the old-style figures.
\end{itemize}
\item \texttt{useindent}
@@ -188,12 +428,10 @@ Additionally, \minimart{} and \minimbook{} offers the following options:
\end{itemize}
\end{itemize}
+\clearpage
+\LevelOneTitle{Instructions by topic}
-\section{Instructions}
-
-Many of the features described next are provided by the \ProjLib{} toolkit. Only the basic usage is mentioned here. For more details, please refer to its user documentation.
-
-\subsection{Language configuration}
+\LevelTwoTitle{Language configuration}
\minimart{} has multi-language support, including English, French, German, Italian, Portuguese (European and Brazilian) and Spanish. The language can be selected by the following macros:
@@ -231,12 +469,11 @@ In addition, you can also add new settings to selected language:
\end{itemize}
For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
+\LevelTwoTitle{Theorems and how to reference them}
-\subsection{Theorems and how to reference them}
-
-Environments such as \texttt{definition} and \texttt{theorem} have been pre-defined and can be used directly.
+Environments such as \texttt{definition} and \texttt{theorem} have been preset and can be used directly.
-More specifically, preset environments include:
+More specifically, preset environments include:
\texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, \texttt{definition-theorem}, \texttt{example}, \texttt{exercise}, \texttt{fact}, \texttt{hypothesis}, \texttt{lemma}, \texttt{notation}, \texttt{observation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The titles will change with the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode.
When referencing a theorem-like environment, it is recommended to use \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
@@ -265,8 +502,7 @@ By default, when referenced, the name of the theorem always matches the language
\UseLanguage{English}
-
-\subsection{Define a new theorem-like environment}
+\LevelTwoTitle{Define a new theorem-like environment}
If you need to define a new theorem-like environment, you must first define the name of the environment in the language to use:
\begin{itemize}
@@ -289,6 +525,7 @@ And then define this environment in one of following five ways:
\begin{itemize}
\item Define a numbered environment \meta{name of environment}, which shares the counter \meta{numbered like}
\end{itemize}
+\clearpage
\item \lstinline|\CreateTheorem{|\meta{name of environment}\lstinline|}<|\meta{numbered within}\lstinline|>|
\begin{itemize}
\item Define a numbered environment \meta{name of environment}, numbered within the counter \meta{numbered within}
@@ -309,7 +546,6 @@ And then define this environment in one of following five ways:
This macro utilizes the feature of \textsf{amsthm} internally, so the traditional \texttt{theoremstyle} is also applicable to it. One only needs declare the style before the relevant definitions.
\end{tip}
-% \def\proofideanameEN{Idea}
\NameTheorem[EN]{proofidea}{Idea}
\CreateTheorem*{proofidea*}
\CreateTheorem{proofidea}<subsection>
@@ -323,31 +559,33 @@ Here is an example. The following code:
\CreateTheorem{proofidea}<subsection>
\end{code}
-defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context.
+defines an unnumbered environment \lstinline|proofidea*| and a numbered environment \lstinline|proofidea| (numbered within subsection) respectively. They can be used in English context.
The effect is as follows:
+\vspace{-0.3\baselineskip}
\begin{proofidea*}
The \lstinline|proofidea*| environment.
\end{proofidea*}
+\vspace{-\baselineskip}
\begin{proofidea}
The \lstinline|proofidea| environment.
\end{proofidea}
-\clearpage
-\subsection{Draft mark}
+\LevelTwoTitle{Draft mark}
You can use \lstinline|\dnf| to mark the unfinished part. For example:
\begin{itemize}
\item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode.
\end{itemize}
-Similarly, there is \lstinline|\needgraph| :
+Similarly, there is \lstinline|\needgraph| :
\begin{itemize}
\item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-\subsection{On the title, abstract and keywords}
+\clearpage
+\LevelTwoTitle{Title, abstract and keywords}
\minimart{} has both the features of standard classes and that of the \AmS{} classes.
@@ -383,7 +621,6 @@ or written in the way of \AmS{} classes:
\maketitle
\end{code}
-\clearpage
The author information can contain multiple groups, written as:
\begin{code}
@@ -398,132 +635,34 @@ The author information can contain multiple groups, written as:
Among them, the mutual order of \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| is not important.
+\clearpage
+\LevelTwoTitle{Miscellaneous}
-\subsection{On the line numbers}
+\LevelThreeTitle{On the line numbers}
Line numbers can be turned on and off at any time. \lstinline|\linenumbers| is used to enable the line numbers, and \lstinline|\nolinenumbers| is used to disable them. For the sake of beauty, the title, table of contents, index and some other elements are not numbered.
-\subsection{On the footnotes in the title}
+\LevelThreeTitle{On the footnotes in the title}
In \lstinline|\section| or \lstinline|\subsection| , if you wish to add footnotes, you can only:
\begin{itemize}
- \item first write \lstinline|\mbox{\protect\footnotemark}|,
- \item then add \lstinline|\footnotetext{...}| afterwards.
+ \item first write \lstinline|\mbox{\protect\footnotemark}|,
+ \item then add \lstinline|\footnotetext{...}| afterwards.
\end{itemize}
This is a disadvantage brought about by the underline decoration of the title.
-\subsection{On the QED symbols}
+\LevelThreeTitle{On the QED symbols}
Since the font in the theorem-like environments is the same as that of the main text, in order to indicate where the environments end, a hollow QED symbol \simpleqedsymbol{} is placed at the end of the theorem-like environments. However, if your theorem ends with an equation or list (itemize, enumerate, description, etc.), this symbol cannot be automatically placed in the correct position. In this case, you need to manually add a \lstinline|\qedhere| at the end of your equation or the last entry of your list to make the QED symbol appear at the end of the line.
-
-\section{Known issues}
+\LevelOneTitle{Known issues}
\begin{itemize}[itemsep=.6em]
\item The font settings are still not perfect.
- \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{} and \minimbook{}) inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
+ \item Since many features are based on the \ProjLib{} toolkit, \minimalist{} (and hence \minimart{}, \einfart{} and \minimbook{}, \simplivre{}) inherits all its problems. For details, please refer to the ``Known Issues'' section of the \ProjLib{} documentation.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
\item There are still many things that can be optimized in the code.
\end{itemize}
-\clearpage
-\section{Document templates}
-
-\subsection{The standard way}
-
-If you want to write in the standard way, you can refer to the following example:
-
-\begin{code}
-\documentclass{minimart}
-\usepackage{ProjLib} % Load ProjLib toolkit
-
-\UseLanguage{French} % Use French from here
-
-\begin{document}
-
-\title{Le Titre}
-\author{Auteur}
-\date{\PLdate{2022-04-01}}
-
-\maketitle
-
-\begin{abstract}
- Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
-\end{abstract}
-\begin{keyword}
- AAA, BBB, CCC, DDD, EEE
-\end{keyword}
-
-\section{Un théorème}
-
-%% Theorem-like environments can be used directly
-\begin{theorem}\label{thm:abc}
- Ceci est un théorème.
-\end{theorem}
-
-Référence du théorème: \cref{thm:abc}
- % It is recommended to use clever reference
-
-\end{document}
-\end{code}
-
-If you wish to switch to the standard class later, just replace the first two lines with:
-
-\begin{code}
-\documentclass{article}
-\usepackage[a4paper,margin=1in]{geometry}
-\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
-\end{code}
-
-
-\clearpage
-\subsection{The \texorpdfstring{\AmS{}}{AMS} way}
-
-If you intend to switch to the journal template in the future and thus want to use the writing style as in the \AmS{} classes, you can refer to the following example:
-
-\begin{code}
-\documentclass{minimart}
-\usepackage{ProjLib} % Load ProjLib toolkit
-
-\UseLanguage{French} % Use French from here
-
-\begin{document}
-
-\title{Le Titre}
-\author{Auteur 1}
-\address{Adresse 1}
-\email{\href{Courriel 1}{Courriel 1}}
-\author{Auteur 1}
-\address{Adresse 1}
-\email{\href{Courriel 2}{Courriel 2}}
-\date{\PLdate{2022-04-01}}
-\subjclass{*****}
-\keywords{...}
-
-\begin{abstract}
- Ceci est un résumé. \dnf<Plus de contenu est nécessaire.>
-\end{abstract}
-
-\maketitle
-
-\section{Première section}
-
-%% Theorem-like environments can be used directly
-\begin{theorem}\label{thm:abc}
- Ceci est un théorème.
-\end{theorem}
-
-Référence du théorème: \cref{thm:abc}
- % It is recommended to use clever reference
-
-\end{document}
-\end{code}
-
-In this way, if you wish to switch to \AmS{} class later, just replace the first two lines with:
-
-\begin{code}
-\documentclass{amsart}
-\usepackage[a4paper,margin=1in]{geometry}
-\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{ProjLib} % Load ProjLib toolkit
-\end{code}
\end{document}
+\endinput
+%%
+%% End of file `minimalist/minimalist-doc.tex'.
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index 6b11172530..a50f03497d 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesPackage{minimalist}
- [2021/07/05 A simple and clear style for articles and books]
+ [2021/07/13 A simple and clear style for articles and books]
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
\SetupKeyvalOptions{%
@@ -156,7 +156,7 @@
\renewcommand{\chaptermark}[1]{\markboth{\textsc{#1}}{\textsc{#1}}}
\fi
\renewcommand*{\sectionmark}[1]{%
- \markright{\sec@decochar~\thesection~\sec@decochar~~~#1}}
+ \markright{\sec@decochar~\arabic{section}~\sec@decochar~~~#1}}
}{
\if@twoside
\renewcommand*{\sectionmark}[1]{\markboth{\textsc{#1}}{}}
@@ -322,7 +322,6 @@
}
%% Section
-\renewcommand\thesection{\arabic{section}}
\if@minimalist@classical
\newcommand\sec@decochar{}
\titleformat{\section}
@@ -332,15 +331,16 @@
{#1}
[\ResumeLineNumbers]
\else
+\renewcommand\thesection{\arabic{section}}
\newcommand\seculine{\bgroup\markoverwith{\color{maintext!27!paper}%
\rule[-0.9ex]{2pt}{.6pt}\hspace{-2pt}\rule[-1.2ex]{2pt}{.6pt}}\ULon}
-\newcommand\sec@decochar{\raisebox{.03em}{\normalfont\footnotesize/}}
+\newcommand\sec@decochar{\raisebox{.03em}{\normalfont/}}
\titleformat{\section}
{\LocallyStopLineNumbers%
\secfont\centering}{}{0em}
- {{\small\textcolor{maintext!27!paper}{\sec@decochar}%
+ {{\small\textcolor{maintext!27!paper}{\footnotesize\sec@decochar}%
\,\,\textcolor{maintext!90!paper}{\conditionalbfseries\arabic{section}}%
- \,\,\textcolor{maintext!27!paper}{\sec@decochar}}\\
+ \,\,\textcolor{maintext!27!paper}{\footnotesize\sec@decochar}}\\
\seculine{#1}}
[\ResumeLineNumbers]
\titleformat{name=\section,numberless}
@@ -352,8 +352,6 @@
\fi
%% Subsection
-\renewcommand\thesubsection{%
- \ifnum\c@section=0\else\arabic{section}.\fi\arabic{subsection}}
\if@minimalist@classical
\titleformat{\subsection}
{\LocallyStopLineNumbers%
@@ -362,6 +360,8 @@
{#1}
[\ResumeLineNumbers]
\else
+\renewcommand\thesubsection{%
+ \ifnum\c@section=0\else\arabic{section}.\fi\arabic{subsection}}
\newcommand\subseculine{\bgroup\markoverwith{\color{maintext!27!paper}%
\rule[-1ex]{2pt}{.75pt}}\ULon}
\titleformat{\subsection}
@@ -404,7 +404,7 @@
\titlecontents{part}
[0em]
{\addvspace{1.5pc}\filcenter\normalfont}
- {\thecontentslabel\\\uppercase}
+ {\thecontentslabel\nopagebreak\\\nopagebreak\uppercase}
{}
{} % without page number
[\addvspace{.5pc}]
@@ -418,8 +418,8 @@
\titlecontents{section}
[4em] % i.e., 2em (chapter) + 2em
{\normalfont}
- {\contentslabel{1.75em}}
- {\hspace*{-1.75em}}
+ {\contentslabel[\textcolor{maintext!27!paper}{\small\sec@decochar}\,\textcolor{maintext!90!paper}{\thecontentslabel}\,\textcolor{maintext!27!paper}{\small\sec@decochar}]{2em}}
+ {\hspace*{-2em}}
{\titlerule*[1em]{\textcolor{maintext!15!paper}{.}}\contentspage}
\titlecontents{subsection}
[6.5em] % i.e., 4em (section) + 2.5em
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 592cd146a2..6adab5ca9a 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimart}
- [2021/07/05 A simple and clear article style]
+ [2021/07/13 A simple and clear article style]
\def\minimclass@baseclass{article}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 7f5ed51750..e804b01376 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -17,7 +17,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
\ProvidesClass{minimbook}
- [2021/07/05 A simple and clear book style]
+ [2021/07/13 A simple and clear book style]
\def\minimclass@baseclass{book}
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
diff --git a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
index 486b53bab7..8ce9d974f9 100644
--- a/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
+++ b/macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
index ef18520d43..884bb06bc7 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenbamathesis-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
index 0faf5cd26a..49bb7f20aa 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
index 264e1a7307..6b6be0147a 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.dtx
@@ -24,19 +24,23 @@
%<*driver>
\ProvidesFile{uantwerpendocs.dtx}
%</driver>
-%<ct|bmt|mt|le|ex|bmr>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<@@=uantwerpendocs>
+%<ct|bmt|mt|pt|rp|le|ex|bmr>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<clo>\ProvidesFile{uantwerpencommonoptions.clo}
+%<cls>\ProvidesPackage{uantwerpencolorlogoscheme}
%<ct>\ProvidesClass{uantwerpencoursetext}
%<mt>\ProvidesClass{uantwerpenmasterthesis}
%<bmt>\ProvidesClass{uantwerpenbamathesis}
%<pt>\ProvidesClass{uantwerpenphdthesis}
+%<rp>\ProvidesClass{uantwerpenreport}
%<le>\ProvidesClass{uantwerpenletter}
%<ex>\ProvidesClass{uantwerpenexam}
%<bmr>\ProvidesPackage{beamerthemeuantwerpen}
-%<ct|bmt|mt|pt|le|ex|brm> [2021/03/23 v3.2 .dtx skeleton file]
+%<cls|ct|bmt|mt|pt|rp|le|ex|bmr> [2021/07/11 v4.0 .dtx skeleton file]
%
%<mt>\errmessage{This class is obsolete, use the uantwerpenbamathesis class instead !}
-\def\fileversion{3.2}
-\def\filedate{2021/03/23}
+\def\fileversion{4.0}
+\def\filedate{2021/07/11}
%<*driver>
\documentclass[a4paper]{ltxdoc}
\usepackage{makeidx}
@@ -106,9 +110,13 @@
% for TexLive distribution}
% \changes{v3.2}{2021/03/21}{\@ Small bugfixes (e.g., frame numbering
% instead of page numbering)}
+% \changes{v4.0}{2021/07/11}{\@ Last update of house style (phdthesis
+% coursetext and bamathesis), added uantwerpenreport class,
+% improvements based on use feedback
+% and major rework to benefit from expl3, removed all diploma codes
+% to ease maintainability}
%
-%
-% \DoNotIndex{\newcommand,\newenvironment,\begin,\bfseries,\draw,\clip,\else,\fi,\if,\fill,\filldraw,\ifthenelse,\ifx,\textwidth,\node,\\}
+% \DoNotIndex{\newcommand,\newenvironment,\begin,\bfseries,\draw,\clip,\else,\fi,\if,\fill,\filldraw,\ifthenelse,\ifx,\textwidth,\node,\\,\@empty,\@emptymacro,\@tempdima,\@tempdimb,\@tempswatrue,\{,\},\ ,\bf,\BODY,\break,\Alph,\and,\define@key,\color,\dx,\dy,\g,\gdef,\hbox,\tiny,\scriptsize,\footnotesize,\small,\normalsize,\large,\Large,\LARGE,\huge,\Huge,\l,\LaTeX,\let,\p@,\relax,\renewcommand,\Requirepackage,\textbf,\textsf,\texttt,\textbackslash,}
% \setlength{\parindent}{0em}
% \addtolength{\parskip}{0.5\baselineskip}
%
@@ -123,22 +131,12 @@
% \section{Introduction}
%
% This package implements the house style of Universiteit Antwerpen
-% (version 2021) for letters, course texts, master/PhD theses and
-% slides (beamer). It also implements a class to format exams (which
-% is for efficiency reasons and ease of copying not fully UAntwerpen
-% house style compliant).
+% (version 2021) for letters, course texts, master/PhD theses, reports and
+% slides (beamer). It also implements a class to format exams.
% Using these class files will make it easy for you to make and keep
% your course texts and theses compliant to this version and future
% versions of the UAntwerpen house style.
%
-% Unfortunately, this version is a transitional package, because the
-% house style renewal is introduced gradually. This means that the
-% letter class and slide theme have been renewed, while the course
-% texts and theses have not. Why are the latter not ready? Because
-% the house style makeover team has not yet come up with a
-% specification. This puts the message of the next paragraph against
-% the correct background.
-%
% If you think (1) there's an error in compliancy w.r.t. the house
% style, (2) there's a feature missing in this class or theme file, or
% (3) there's a bug in this package, please, contact me through e-mail
@@ -150,7 +148,7 @@
% or just kind words.
%
% \section{Synopsis}
-% The |coursetext|, |bamathesis| and |phdthesis|
+% The |coursetext|, |bamathesis| and |phdthesis|
% classes\footnote{For readability the class names have been
% abbreviated by omitting the |uantwerpen| prefix} are
% an extension of the standard \LaTeX{} |book| class. They are
@@ -159,14 +157,16 @@
% UAntwerpen house style, and they also typeset the rest of your
% document appropriately.
%
+% The |report| class is derived from the standard \LaTeX{}
+% |report| class. It is intended for writing generic (e.g. research or
+% educational) reports.
% The |letter| class is derived from the standard \LaTeX{}
% |letter| class. It is intended to be used for writing business
% letters. It is compliant to the house style and allows for using
% windowed envelopes of the DL format, with right-aligned window.
%
% The |exam| class is derived from the standard \LaTeX{}
-% |article| class and is for efficiency reasons not fully UAntwerpen
-% house style compliant.
+% |article| class.
%
% The slides come under the form of a custom beamer theme.
%
@@ -189,44 +189,69 @@
% Using this package, requires the following packages:
% \begin{itemize}
% \item the |adjustbox| package
-% \item the |atbegshi| package
-% \item the |auto-pst-pdf| package
% \item the |babel| package
% \item the |background| package
% \item the |color| package
% \item the |environ| package
% \item the |eso-pic| package
% \item the |etooblox| package
+% \item the |expl3| package
% \item the |fancyhdr| package
% \item the |geometry| package
% \item the |graphicx| package
-% \item the |hyperref| package
% \item the |iftex| package
% \item the |ifthen| package
-% \item the |pst-barcode| package
% \item the |tikz| package
% \item the |ulem| package
-% \end{itemize}
-% and optionally
-% \begin{itemize}
-% \item the |varioref| package.
+% \item the |xparse| package
% \end{itemize}
% So make sure these packages are available to your
% \LaTeX{} compiler.
%
+% You will notice that as of version 4.0 |expl3| and |xparse| are part
+% of the game. Indeed, the uantwerpendocs package will be slowly
+% refactored to \LaTeX3{} to prepare for a package that is easier to
+% maintain. However, the \LaTeX3{} constructs are never exposed to the
+% user of the classes. So: don't worry about it!
+%
+%
+% \section{A note on fonts}
+%
+% The house style of the University of Antwerp recommends using
+% \begin{itemize}
+% \item Prenton RP Pro for the logos and sublogos; all the logoware is
+% included in this package, so nothing to worry about.
+% \item ITC Officina Sans for posters, titlepages, cards a.s.o.\\
+% This font is not included in this package and is not a part of the
+% \LaTeX{} standard fonts. However, if you have a valid license, for
+% this font, I can help you to set it up, such that you can typeset
+% proper title pages for course texts, PhD theses and the like. Just
+% send me an e-mail.
+% \item Calibri for office-like documents. Just load the |\fontspec|
+% package and issue a |\setmainfont{Calibri}| and you're all set.
+% \end{itemize}
+%
+% Adhering to these fonts is recommended, but not
+% enforced. Personally, I always use a Palatine serif font for my courses.
+% I did not find any better (free) font yet. My second favorite is
+% still the original computer modern font by Donald E. Knuth. You are
+% reading it right now.
+%
+%
% \section{Portability}
-% This class file should be ready to use with all common \LaTeX{}
-% compilers (PDF\LaTeX{}, \LaTeX{}, \XeLaTeX{}, \LuaLaTeX{}, \ldots)
-% from the major \TeX{}-distributions (TeTeX, TexLive, MikTeX). If you
-% experience problems, please inform the author.
+% These class files should be ready to use with all common modern \LaTeX{}
+% compilers (PDF\LaTeX{}, \XeLaTeX{}, \LuaLaTeX{}, \ldots)
+% from the major \TeX{}-distributions (TeTeX, TexLive, MikTeX).
+% However, using an old \LaTeX{} + dvips setup is likely to get you into font
+% problems. Advice: ditch the route via dvi. If you experience other
+% problems, please inform the author.
%
% \section{Usage}
%
% \subsection{Basic Usage}
% \label{sec:basicusage}
% Use the templates provided below. Remember to \LaTeX{} your source
-% file twice in order to have the title and final page correctly
-% aligned.
+% file twice.
%
% Especially in the beamer theme some features require to run \LaTeX{}
% twice in order to get the position of some elements correct.
@@ -234,12 +259,10 @@
% \subsubsection{\texttt{uantwerpencoursetext} class}
% Use the following harness for your \LaTeX{} course text:
% \begin{verbatim}
-% \documentclass[a4paper]{uantwerpencoursetext}
+% \documentclass[ti,a4paper]{uantwerpencoursetext}
%
% \usepackage{<include any packages you require here>}
%
-% \facultyacronym{<put your faculty's acronym here}
-%
% \title{<put your title here>}
% \subtitle{<put your subtitle here>}
% \author{<put your name here>}
@@ -248,8 +271,8 @@
% \versionyear{<the publication date of the course here>}
%
% \lecturer{<person teaching the course>}
-% \programme{<descriptor of first programme>}
-% \course{<course code>}{<name of the course>}%
+% \degree{<official degree title>}
+% \course{<course code>}{<name of the course>}
%
% \academicyear{<XXXX-YYYY>}
%
@@ -264,25 +287,31 @@
% \end{document}
% \end{verbatim}
%
-% The available faculty acronyms are listed in a table on page
-% \pageref{acronyms}.
+% As of version 4.0:
+% \begin{itemize}
+% \item the faculty is specified as an option to the |\documentclass|
+% construct. You can find the available options in
+% section~\ref{sec:classopt}.
+% \item you are reponsible yourself to provide the correct
+% degree description! Maintaining the a correct list of UAntwerpen
+% bachelor and master programs with all their specializations is
+% beyond my ambition.
+% \end{itemize}
%
% \subsubsection{\texttt{uantwerpenbamathesis} class}
% Use the following harness for your \LaTeX{} bachelor or master's
% thesis:
% \begin{verbatim}
-% \documentclass[a4paper]{uantwerpenbamathesis}
+% \documentclass[ti,a4paper]{uantwerpenbamathesis}
%
% \usepackage{<include any packages you require here>}
%
-% \facultyacronym{<put your faculty's acronym here>}
-%
% \title{<put your title here>}
% \author{<put your name here>}
-% \supervisori{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \supervisorii{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \supervisoriii{<put supervisor's name(s) here>}{<affiliation goes here>}
-% \supervisoriv{<put supervisor's name(s) here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name(s) here>}{<affiliation goes here>}
%
% % classmarker
% \academicyear{<XXXX-YYYY>}
@@ -298,13 +327,13 @@
% \end{document}
% \end{verbatim}
%
-% The available faculty acronyms are listed in a table on page
-% \pageref{acronyms}.
+% The available faculty options are listed in a table on page
+% \pageref{sec:classopt}.
%
% \subsubsection{\texttt{uantwerpenletter} class}
% Use the following harness for your \LaTeX{} letter:
% \begin{verbatim}
-% \documentclass[a4paper]{uantwerpenletter}
+% \documentclass[a4paper,ti]{uantwerpenletter}
%
% % setup fonts according to your specific TeX compiler setup
%
@@ -313,7 +342,6 @@
% % \logo{} only specify if you want to use your unit's logo
%
% \sender{<put your name here>}{<put your title/role here>}
-% \facultyacronym{<put your faculty's acronym here>}
% \unit{<put your unit here>}
% \address{<put your multi-line address here>}
% \email{<user name>}{<domain name>}
@@ -345,37 +373,33 @@
% \end{document}
% \end{verbatim}
%
-% The available faculty acronyms are listed in a table on page
-% \pageref{acronyms}. You may use lists in the |\carboncopy| and
+% The available faculty options are listed in a table on page
+% \pageref{sec:classopt}. You may use lists in the |\carboncopy| and
% |\enclosed| commands. The spacing will be compact.
%
% \subsubsection{\texttt{uantwerpenphdthesis} class}
%
% \begin{verbatim}
-% \documentclass[b5paper,10pt,twoside,openright,filled]{uantwerpenphdthesis}
+% \documentclass[ti,10pt,twoside,openright,filled]{uantwerpenphdthesis}
%
% You may want to use common fonts
% \usepackage{<include any additional packages you require here>}
%
% \title{<put your title here>}
% \author{<put your name here>}
-% \facultyacronym{<put your faculty's acronym here>}
-% \programme{PHD}
-% {<put your programme's acronym here>}
-% {<put your specialization's acronym here>}
% \affiliation{<put your affiliation here>}
% \address{<put your contact details here>}
%
-% \supervisori{<put supervisor's name here>}{<affiliation goes here>}
-% \supervisorii{<put supervisor's name here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name here>}{<affiliation goes here>}
+% \supervisor{<put supervisor's name here>}{<affiliation goes here>}
%
% \jurychairman{<put chairman's name here>}{<affiliation goes here>}
%
-% \jurymemberi{<put member's name here>}{<affiliation goes here>}
-% \jurymemberii{<put member's name here>}{<affiliation goes here>}
-% \jurymemberiii{<put member's name here>}{<affiliation goes here>}
+% \jurymember{<put member's name here>}{<affiliation goes here>}
+% \jurymember{<put member's name here>}{<affiliation goes here>}
+% \jurymember{<put member's name here>}{<affiliation goes here>}
%
-% \phddegree{<put official degree name here>}
+% \degree{<put official degree name here>}
% \defenselocation{<put location of defense here>}
% \defensedate{<put defense year here>}
% \titlepageimage{<set file name of title page image here>}
@@ -401,6 +425,45 @@
% \end{document}
% \end{verbatim}
%
+% The available faculty options are listed in a table on page
+% \pageref{sec:classopt}.
+%
+% \subsubsection{\texttt{uantwerpenreport} class}
+%
+% \begin{verbatim}
+% \documentclass[ti,10pt,twoside,openright,filled]{uantwerpenreport}
+%
+% You may want to use common fonts
+% \usepackage{<include any additional packages you require here>}
+%
+% \title{<put your title here>}
+% \author{<put your name here>}
+% \affiliation{<put your affiliation here>}
+% \address{<put your contact details here>}
+%
+% \titlepageimage{<set file name of title page image here>}
+%
+% \begin{document}
+%
+% \maketitle
+% \frontmatter
+% \tableofcontents
+% \mainmatter
+%
+% % write your PhD text here
+%
+% \appendix
+%
+% % write appendix material here
+%
+% \makefinalpage
+%
+% \end{document}
+% \end{verbatim}
+%
+% The available faculty options are listed in a table on page
+% \pageref{sec:classopt}.
+%
% \subsubsection{\texttt{uantwerpenbeamer} theme}
%
%
@@ -434,12 +497,46 @@
% \end{verbatim}
%
% \subsection{The class options explained}
-%
+% \label{sec:classopt}
% The classes have several options. They are listed below.
% After every option, it has been indicated to which class the option
% applies (between square brackets, without prefix uantwerpen).
% \changes{v1.1}{2013/05/28}{Added option user documentation}
%
+% \DescribeMacro{xx(x)} [letter / coursetext / bamathesis / phdthesis
+% / report / beamertheme]\\
+% \begin{center}\small
+% \begin{tabular}{cp{10cm}}
+% \toprule
+% Option & Faculty \\
+% \midrule
+% |be| & Faculty of Business and Economics\\
+% & Faculteit Bedrijfswetenschappen en Economie\\
+% |fbd| & Faculty of Pharmaceutical, Biomedical and Veterinary Sciences\\
+% & Faculteit Farmaceutische, Biomedische en Diergeneeskundige
+% Wetenschappen\\
+% |ggw| & Faculty of Medicine and Health Sciences\\
+% & Faculteit Geneeskunde en Gezondheidswetenschappen\\
+% |lw| & Faculty of Arts \\
+% & Faculteit Letteren en Wijsbegeerte\\
+% |ow| & Faculty of Design Sciences\\
+% & Faculteit Ontwerpwetenschappen\\
+% |re| & Faculty of Law\\
+% & Faculteit Rechten\\
+% |sw| & Faculty of Social Sciences\\
+% & Faculteit Sociale Wetenschappen\\
+% |ti| & Faculty of Applied Engineering\\
+% & Faculteit Toegepaste Ingenieurswetenschappen\\
+% |we| & Faculty of Science\\
+% & Faculteit Wetenschappen\\
+% |iob| & Institute of Development Policy\\
+% & Instituut voor Ontwikkelingsbeleid- en beheer\\
+% \bottomrule
+% \end{tabular}
+% \end{center}
+% You can specify the correct faculty using the following options:
+% This will activate the correct color scheme and logoset.
+%
% \DescribeMacro{copyright} [coursetext]\\
% This option forces printing a watermark on every page. For the
% paper version of your document, this is inappropriate, but for any
@@ -452,7 +549,7 @@
% that copy to students and suppressing the fillout pages.
%
% \DescribeMacro{filled} [letter / coursetext /
-% bamathesis / phdthesis]\\
+% bamathesis / phdthesis / report]\\
% This option causes the text to be filled (simultaneous left and
% right alignment). Though this setting is not recommended, it is
% provided because the default |\raggedright| cannot be undone. The
@@ -460,98 +557,24 @@
% issued. However, if you care about the typographic readability of
% your text, you shouldn't use this option.
%
-% \DescribeMacro{titlepagenoartwork} [coursetext /
-% bamathesis / phdthesis]\\
-% This option forces the title pages to be typeset without circle graphics and
-% logo. This allows for printing on a pre-printed color sheet that
-% already contains circle graphics and logo;
-%
-% \DescribeMacro{titlepagetableonly} [coursetext /
-% bamathesis / phdthesis]\\
-% This option forces the title-page data to be printed in table form
-% as first page. Some publishers require the manuscript to be
-% delivered in this form. They perform the entire typesetting of the
-% title page.
-%
-% \DescribeMacro{qr} [coursetext]\\
-% This option allows you to generate a QR code containing the details of
-% the course on the title page or the table-only title page. For
-% this option to work, the package pstricks is loaded. It will not
-% work with pdf\LaTeX{} unless you enable shell escape. Read your
-% pdf\LaTeX{}-package documentation on how to do that.
-%
% Common sets of options depend on the purpose:
% \begin{itemize}
% \item to make a text ready for electronic distribution:
% |a4paper|, |copyright|.
-% \item to make a camera-ready text (for printing) in case
-% the cover is printed on a pre-printed color artwork cover sheet is:
-% |a4paper|, |qr|, |titlepagenoartwork|.
-% \item to make a camera-ready text (for printing) in case the cover
-% is typeset based on table data:
-% |a4paper|, |qr|, |titlepagetableonly|.
+% \item to make a camera-ready text (for printing):
+% |a4paper|
% \item to make a letter:
% no options (filling a letter is discouraged)
% \item to make an exam:
% no options (filling an exam is discouraged)
% \item to make a PhD text:
-% |b5paper|, |twoside|, |openright| and |filled|
+% |twoside|, |openright| and (optionally) |filled|
+% \item to make a report:
+% |twoside|, |openright| and (optionally) |filled|
% \end{itemize}
%
% \subsection{The macros explained}
%
-% \subsubsection{Common macros}
-%
-% After every macro, it has been indicated to which class the macro
-% applies (between square brackets), and whether it is mandatory or not.
-%
-% \DescribeMacro{\facultyacronym} [coursetext /
-% bamathesis / phdthesis / exam] (mandatory)\\
-% \label{md-facultyacronym}
-% This macro sets the acronym of the faculty.
-% This macro also sets the faculty name according to the specified
-% acronym.
-% If you're missing a faculty or institute, please ask the
-% author to complete the list.
-%
-% The available acronyms are:
-% \changes{v1.9}{2018/03/02}{Added ASoE (Antwerp School of Education)}
-% \changes{v3.0}{2021/02/05}{Changed REC in RE, TEW in BE and WET in WE
-% (according to official naming scheme)}
-% \label{acronyms}
-% \begin{center}
-% \begin{tabular}{cl}
-% \toprule
-% Acronym & Faculty name \\
-% \midrule
-% ASoE
-% & Antwerp School of Education\\
-% CPG
-% & Centrum Pieter Gillis\\
-% FBD
-% & Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen\\
-% GGW
-% & Faculteit Geneeskunde en Gezondheidswetenschappen\\
-% IOB
-% & Instituut voor Ontwikkelingsbeleid- en beheer\\
-% LW
-% & Faculteit Letteren en Wijsbegeerte\\
-% OW
-% & Faculteit Ontwerpwetenschappen\\
-% SW
-% & Faculteit Sociale Wetenschappen\\
-% RE
-% & Faculteit Rechten\\
-% BE
-% & Faculteit Bedrijfswetenschappen en Economie\\
-% TI
-% & Faculteit Toegepaste Ingenieurswetenschappen\\
-% WE
-% & Faculteit Wetenschappen\\
-% \bottomrule
-% \end{tabular}
-% \end{center}
-%
% \subsubsection{Macros for the coursetext, bamathesis, phdthesis
% classes}
%
@@ -560,12 +583,14 @@
% Use this macro to specify the academic year in full, i.e. in the
% form |XXXX-YYYY|.
%
-% \DescribeMacro{\author} [coursetext / bamathesis / phdthesis ] (mandatory)\\
+% \DescribeMacro{\author} [coursetext / bamathesis / phdthesis /
+% report ] (mandatory)\\
% This macro sets the author of the document.
-% It also sets the |pdfauthor| tag of the hyperref package, so that
+% It also sets the |pdfauthor| tag of the hyperref package (if it is
+% loaded), so that
% the PDF-document meta-information is correct.
%
-% \DescribeMacro{\copyrightnotices} [coursetext]
+% \DescribeMacro{\copyrightnotices} [coursetext / report]
% (optional)\\
% Use this macro to specify additional copyright notice messages to
% appear in the copyright notice on the bottom of page 2 of your
@@ -597,15 +622,6 @@
% An example of such a code: 1001FTIWIS, for the first-semester
% mathematics course of the Faculty of Applied Engineering.
%
-% For courses of the Faculty of Applied Engineering, the name should
-% be of the form |x-YYYYYYYY| with |x| the number of the
-% semester and |YYYYYYYY| the official name of the course.
-%
-% In case the course's name contains accented characters, one should
-% also provide a qr version, containing utf8-characters only.
-% The macro for this purpose takes only one argument, i.e. the
-% course's name! This is to avoid inconsistencies in the course codes.
-%
% \DescribeMacro{\courseversion} [coursetext] (optional)\\
% This macro indicates which version of the course this is.
%
@@ -623,121 +639,41 @@
% \changes{v1.6}{2016/02/04}{Added diploma code documentation}
% \changes{v2.0}{2018/05/16}{Updated diploma code documentation to
% incorporate PhD degrees}
-% \changes{v2.3}{2019/03/27}{Introduced bachelor level codes to allow for bachelor theses}
-% \DescribeMacro{\diploma} [bamathesis] (mandatory)\\
-% This must be the official title, in Dutch. To avoid errors, we chose
-% to use specific codes, that will expand to the correct description.
-% These codes are specific for the Faculty of Applied Engineering. If
-% you want the author of the package to add codes for your faculty,
-% just ask!
-% \begin{center}
-% \begin{tabular}{lp{10cm}}
-% \toprule
-% Code & Description (in Dutch!) \\
-% \midrule
-% \multicolumn{2}{c}{Faculteit Toegepaste
-% Ingenieurswetenschappen}\\
-% \midrule
-% \midrule
-% |BA-IW-BK|
-% & Bachelor of Science in de industri\"ele wetenschappen: bouwkunde\\
-% |BA-IW-BCH|
-% & Bachelor of Science in de industri\"ele wetenschappen: biochemie\\
-% |BA-IW-CH|
-% & Bachelor of Science in de industri\"ele wetenschappen: chemie\\
-% |BA-IW-EI|
-% & Bachelor of Science in de industri\"ele wetenschappen: elektronica-ICT\\
-% |BA-IW-EM|
-% & Bachelor of Science in de industri\"ele wetenschappen: elektromechanica\\
-% |MA-IW-BK|
-% & Master of Science in de industri\"ele wetenschappen: bouwkunde\\
-% |MA-IW-BCH|
-% & Master of Science in de industri\"ele wetenschappen: biochemie\\
-% |MA-IW-CH|
-% & Master of Science in de industri\"ele wetenschappen: chemie\\
-% |MA-IW-EI|
-% & Master of Science in de industri\"ele wetenschappen: elektronica-ICT\\
-% |MA-IW-EI-AE|
-% & Master of Science in de industri\"ele wetenschappen: elektronica-ICT,
-% afstudeerrichting, Automotive Engineering\\
-% |MA-IW-EI-ICT|
-% & Master of Science in de industri\"ele wetenschappen: elektronica-ICT,
-% afstudeerrichting ICT\\
-% |MA-IW-EM|
-% & Master of Science in de industri\"ele wetenschappen: elektromechanica\\
-% |MA-IW-EM-AE|
-% & Master of Science in de industri\"ele wetenschappen: elektromechanica,
-% afstudeerrichting Automotive Engineering\\
-% |MA-IW-EM-AU|
-% & Master of Science in de industri\"ele wetenschappen: elektromechanica,
-% afstudeerrichting Automatisering\\
-% |MA-IW-EM-EM|
-% & Master of Science in de industri\"ele wetenschappen: elektromechanica,
-% afstudeerrichting Elektromechanica\\
-% |MA-IW-EM-EN|
-% & Master of Science in de industri\"ele wetenschappen: elektromechanica,
-% afstudeerrichting Energie\\
-% |PHD-TI-BK|
-% & Doctor in de Toegepaste Ingenieurwetenschappen: bouwkunde\\
-% |PHD-TI-BCH|
-% & Doctor in de Toegepaste Ingenieurwetenschappen: biochemie\\
-% |PHD-TI-CH|
-% & Doctor in de Toegepaste Ingenieurwetenschappen: chemie\\
-% |PHD-TI-EI|
-% & doctor in de Toegepaste Ingenieurwetenschappen: elektronica-ICT\\
-% |PHD-TI-EM|
-% & Doctor in de Toegepaste Ingenieurwetenschappen: elektromechanica\\
-% \midrule
-% \multicolumn{2}{c}{Faculteit Toegepaste Economische
-% Wetenschappen}\\
-% \midrule
-% |MA-BE-HI|
-% & Master of Science handelsingenieur\\
-% |MA-BE-HIBI|
-% & Master of Science handelsingenieur in de beleidsinformatica\\
-% |MA-BE-EB|
-% & Master of Science in de toegepaste economische wetenschappen:
-% economisch beleid\\
-% |MA-BE-BK|
-% & Master of Science in de toegepaste economische wetenschappen:
-% bedrijfskunde\\
-% \bottomrule
-% \end{tabular}
-% \end{center}
+% \changes{v2.3}{2019/03/27}{Introduced bachelor level codes to allow
+% for bachelor theses}
+% \changes{v4.0}{2021/07/11}{Removed diploma codes, as too many
+% faculties are requesting to maintain them}
+% \DescribeMacro{\diploma} [bamathesis] (discontinued)\\
+% This macro is no longer used. Use |\degree{}| instead.
%
% \DescribeMacro{\lecturer} [coursetext] (mandatory)\\
-% This is the name of the person that actually teaches the course (in
+% You can add one or more lecturers to the course notes (in
% Dutch: titularis). If there are multiple persons, please, use the
-% macros |\lectureri|, |\lecturerii|, |\lectureriii|,
-% |\lectureriv|.
+% macro multiple times.
%
-% \DescribeMacro{\phddegree} [phdthesis] (mandatory)\\
+% \DescribeMacro{\phddegree} [phdthesis] (discontinued)\\
+% This macro is no longer used. Use |\degree{}| instead.
+%
+% \DescribeMacro{\degree} [bmthesis,phdthesis,coursetext] (mandatory)\\
% This is the official degree name (in the appropriate language,
% possibly mixed ``dutch (english)'').
+% Specify the official title of your diploma. This must be the
+% official title. For bachelor and master programmes in Dutch, it must
+% be the Dutch title. For programmes in English ti may be the English
+% title. For PhD degrees, language constraints are less strict.\\
+% Consult \url{https://www.hogeronderwijsregister.be} for correct
+% bachelor and master degree titles. Consult the Doctoral bylaws of
+% the university for correct PhD degree titles.
%
-% \DescribeMacro{\programme} [coursetext] (mandatory)\\
-% \label{dm-programme}
-% This macro takes three arguments (for the time being, only
-% applicable to the faculty of applied engineering):
-% \begin{itemize}
-% \item the type of the programme: BA, SP, VP or MA
-% \item the domain of the programme: IW
-% \item the qualifier of the programme: BK, CH, BCH, EM, EI
-% \end{itemize}
-% If you need more programme classes or qualifiers, ask the author to
-% complete the available codes.
-% Correct usage of the macro will result in error-free descriptions on
-% your title page.
-% You can overrule the standard descriptions, by specifying 'FREE' as
-% first argument and a free text description as second, leaving the third
-% one empty. However, we strongly advise against taking this route.
-% Instead, ask the author to complete the available codes.
+% \DescribeMacro{\programme} [coursetext] (discontinued)\\
+% This macro is no longer used. Use |\degree{}| instead.%
%
% \DescribeMacro{\publisher} [coursetext] (mandatory)\\
% This macro sets the publisher information of the document.
% It is printed on the front page. It defaults to the repographic
% service of campus Groenenborger, one of the standard printing
-% services of Universiteit Antwerpen.
+% services of Universiteit Antwerpen. Separate the different fields
+% (name, addres, a.s.o) using a pipe symbol.
%
% \DescribeMacro{\publishercode} [coursetext] (mandatory)\\
% This macro sets the publisher code of the document.
@@ -745,7 +681,7 @@
% uses for its internal administration. It may be a proprietary code,
% or an ISBN number.
%
-% \DescribeMacro{\subtitle} [coursetext / phdthesis] (optional)\\
+% \DescribeMacro{\subtitle} [coursetext / phdthesis / report] (optional)\\
% This macro sets the title of the document. You may use this
% \begin{itemize}
% \item to further clarify the title
@@ -754,25 +690,30 @@
% The latter is to be considered when you want to provide multiple
% documents as parts of the full course text (e.g., Course Notes,
% Formula Collection, Exercise Book, Solution Book).
-% This macro also sets the |subject| tag of the hyperref package,
+% This macro also sets the |subject| tag of the hyperref package (if
+% it is loaded),
% so that the PDF-document meta-information is correct.
%
% \DescribeMacro{\supervisor} [bamathesis / phdthesis] (mandatory)\\
-% This is the name of the person that promotes/supervises the thesis.
-% Please, use the macros |\supervisori|, |\supervisorii|, |\supervisoriii|,
-% |\supervisoriv|.
+% Specifies the person(s) that promote(s)/supervise(s) the thesis.
+% Please, use the macro multiple times if needed.
%
-% \DescribeMacro{\title} [coursetext / bamathesis / phdthesis] (mandatory)\\
+% \DescribeMacro{\title} [coursetext / bamathesis / phdthesis /
+% report] (mandatory)\\
% This macro sets the title of the document.
-% It also sets the |pdftitle| tag of the hyperref package, so that
+% It also sets the |pdftitle| tag of the hyperref package (if it is
+% loaded), so that
% the PDF-document meta-information is correct.
%
-% \DescribeMacro{\titlepageimage} [phdthesis]
+% \DescribeMacro{\titlepageimage} [coursetext / phdthesis / report]
% (optional)\\
-% This sets the central image on the title page to appear clipped
-% within the curves.
+% This sets the filename of the central image on the title page to
+% appear clipped % within the curves. For PhD theses this is highly
+% advized. For course texts, this is optional. If the image is not
+% set, a flat colored area will appear. This is part of the house
+% style.
%
-% \DescribeMacro{\versionyear} [coursetext] (mandatory)\\
+% \DescribeMacro{\versionyear} [coursetext / report] (mandatory)\\
% This is to be the year in which you published the current version of
% the course in the form YYYY.
%
@@ -880,6 +821,17 @@
% \DescribeMacro{\course} [exam] (mandatory)\\
% see description of |\course| macro on page~\pageref{dm-course}.
%
+% \DescribeMacro{\degree} [exam] (mandatory)\\
+% This is the official degree name (in the appropriate language,
+% possibly mixed ``dutch (english)'').
+% Specify the official title of your diploma. This must be the
+% official title. For bachelor and master programmes in Dutch, it must
+% be the Dutch title. For programmes in English ti may be the English
+% title. For PhD degrees, language constraints are less strict.\\
+% Consult \url{https://www.hogeronderwijsregister.be} for correct
+% bachelor and master degree titles. Consult the Doctoral bylaws of
+% the university for correct PhD degree titles.
+%
% \DescribeMacro{\examdate}
% specifies the date of the exam. We recommend the YYYY-MM-DD format,
% but you are free to chose your own coding scheme for dates. We
@@ -909,15 +861,22 @@
% that case the extra info will also not be terminated with a
% clearpage (as we assume you want to conserve space).
%
-% \DescribeMacro{\programme} [exam] (mandatory)\\
-% see description of |\programme| macro on page~\pageref{dm-programme}.
+% \DescribeMacro{\lecturer} [exam] (mandatory)\\
+% You can add one or more lecturers to the course notes (in
+% Dutch: titularis). If there are multiple persons, please, use the
+% macro multiple times.
+%
+% \DescribeMacro{\programme} [exam] (discontinued)\\
+% This macro is no longer used. Use |\degree{}| instead.%
%
-% \DescribeMacro{\rooms}
+% \DescribeMacro{\room}
% specifies the rooms in which the exam will take place. This is
% useless info for the student, but may be of convenience for you as
% author or supervisor of the exam. Use UAntwerpen standard room
% designators, e.g. 'G.U.025' for room number 025, on the
% Groenenborgercampus in the U-building.
+% If your exam is taken in multiple rooms, just specify multiple
+% |\room{}| commands.
%
% \DescribeMacro{\studentnr}
% specifies the exam copy number. This will appear on every page of
@@ -936,46 +895,38 @@
% \subsection{Examples}
% \subsubsection{\texttt{uantwerpencoursetext}}
%
-% This example uses the |qr| option (that invokes the |auto-pst-pdf|
-% package) so enable 'write18' or 'shell-escape' for your \LaTeX{}
-% compiler.
-%
% \changes{v2.5}{}{changed publisher to universitas in example}
%
% \begin{verbatim}
%<*ct-example>
-\documentclass[a4paper,11pt,oneside,openright,english,qr,copyright]{uantwerpencoursetext}
+\documentclass[ti,a4paper,11pt,oneside,openright,copyright]{uantwerpencoursetext}
\usepackage[english,dutch]{babel}
-\usepackage{lipsum} % this is just for some dummy text, please remove
-
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
\title{Z\'agen, zoeken en zuchten}
-\qrtitle{Zágen, zoeken en zuchten}
\subtitle{Cursusnota's}
\author{Walter Daems en Paul Levrie}
\courseversion{1.3}
-\versionyear{2016}
+\versionyear{2021}
-\lectureri{Zoltan Zo\"ekers}
-\qrlectureri{Zoltan Zoëkers}
-\lecturerii{Siana Sigh}
-\lectureriii{Zeger de Z\'ager}
-\qrlectureriii{Zeger de Záger}
+\lecturer{Zoltan Zo\"ekers}
+\lecturer{Siana Sigh}
+\lecturer{Zeger de Z\'ager}
-\facultyacronym{TI}
-\programme{MA}{IW}{EI}
-\coursei{2023FTIZZZ}{5-Zoekmachines in een zaagperspectief}
-\courseii{2045FTIIII}{6-Zaagmachines in \'e\'en zuchtperspectief}
-\qrcourseii{6-Zaagmachines in één zuchtperspectief}
+\degree{Master of Science in de industri\"ele wetenschappen:
+ elektronica-ICT}
+\course{2023FTIZZZ}{5-Zoekmachines in een zaagperspectief}
+\course{2045FTIIII}{6-Zaagmachines in \'e\'en zuchtperspectief}
-\academicyear{2015-2016}
+\academicyear{2021-2022}
+% \titlepageimage{Images/uantwerpen-keyboard.jpg} % this is optional
-\publisher{Universitas Cursusdienst\\
- Prinsesstraat 16\\
- 2000 Antwerpen\\
- T +32 3 233 23 73\\
+\publisher{Universitas Cursusdienst |
+ Prinsesstraat 16 |
+ 2000 Antwerpen |
+ T +32 3 233 23 73 |
E info@cursusdienst.be}
\publishercode{C11111102}
@@ -984,9 +935,7 @@
The graphics in this document have been typeset using \texttt{TikZ}.\\
This document has been \TeX-ed on a GNU/Linux workstation.
}
-
\begin{document}
-\selectlanguage{dutch} % or english if your text is in English
\maketitle
@@ -996,32 +945,33 @@
\mainmatter
\chapter*{Inleiding}
-\lipsum[1]
+
+\kant[1]
\chapter{Onzin voor dummies}
\section{Het gebeuren}
-\lipsum[2]
+\kant[2]
\begin{equation}
e^{-j\pi} + 1 = 0
\end{equation}
-\lipsum[3]
+\kant[3]
\section{En waartoe het geleid heeft}
-\lipsum[4]
+\kant[4]
\subsection{Herhaling}
-\lipsum[5]
+\kant[5]
\subsection{Begint vervelend te worden}
-\lipsum[6]
+\kant[6]
\newpage
\subsection{Begint echt vervelend te worden}
-\lipsum[7-10]
+\kant[7-10]
\chapter{Besluit}
@@ -1042,23 +992,26 @@
%
% \begin{verbatim}
%<*bmt-example>
-\documentclass[a4paper,11pt,twoside,openright,english]{uantwerpenbamathesis}
+\documentclass[a4paper,11pt,twoside,openright,english,ti]{uantwerpenbamathesis}
-\usepackage[english]{babel} % or dutch if your text is in Dutch
-\usepackage{lipsum} % this is just for some dummy text, please remove
+\usepackage[dutch]{babel} % or english if your text is in English
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
+
+\usepackage{hyperref} % New: you must load the hyperref package
+ % yourself! This allows you to put it in the
+ % correct order with the other packages you load!
\title{Minimax optimisatie voor performantieruimtemodellering}
\author{Bert Bibber}
-\supervisori{Prof. dr. ir. Kumulus}{Universiteit Antwerpen}
-\supervisorii{Prof. dr. Hilarius Warwinkel}{TNT-Bang, N.V.}
-\supervisoriii{ing. Piet Pienter}{POM}
+\supervisor{prof. dr. ir. Kumulus}{Universiteit Antwerpen}
+\supervisor{prof. dr. Hilarius Warwinkel}{TNT-Bang, N.V.}
+\supervisor{ing. Piet Pienter}{POM}
-\facultyacronym{TI}
-\academicyear{2015-2016}
-\diploma{MA-IW-EM}
+\academicyear{2021-2022}
+\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT}
\defenselocation{Antwerpen}
-\defensedate{juni 2016}
+\defensedate{juni 2021}
\begin{document}
@@ -1071,19 +1024,19 @@
\mainmatter
\chapter*{Inleiding}
-\lipsum[1]
+\kant[1]
\chapter{Onderzoeksvraag}
\section{Het gebeuren}
-\lipsum[2]
+\kant[2]
\begin{equation}
e^{-j\pi} + 1 = 0
\end{equation}
-\lipsum[3]
+\kant[3]
\chapter{Literatuurstudie}
@@ -1110,51 +1063,55 @@
% \paragraph{Dutch}
% \begin{verbatim}
%<*pt-example1>
-\documentclass[b5paper,10pt,twoside,openright,filled]{uantwerpenphdthesis}
+\documentclass[ti,10pt,twoside,openright,filled]{uantwerpenphdthesis}
% You may want to use common fonts
\usepackage{mathptmx}
\iftutex
\usepackage{fontspec}
+\setmainfont{Calibri}
\setsansfont{Calibri}
+\usepackage{sansmathaccent}
\else
\usepackage{cmbright}
\fi
\usepackage[dutch]{babel} % or dutch if your text is in Dutch
-\usepackage{lipsum} % this is just for some dummy text, please remove
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
+
+\usepackage{hyperref} % New: you must load the hyperref package
+ % yourself! This allows you to put it in the
+ % correct order with the other packages you load!
\title{Harmonische Signaalanalyse\\met behulp van Lineaire
Operatoren}
\subtitle{Waarom moeten titels van doctoraatsthesissen toch altijd
lang en onverstaanbaar zijn?}
\author{Ing. Theofiel Hoekaff}
-\facultyacronym{TI}
-\programme{PHD}{IW}{EI}
\affiliation{Universiteit Antwerpen\\
Faculteit Toegepaste Ingenieurswetenschappen\\
- Constrained Systems Lab (CoSys-Lab)}
+ Co-design of Cyber-Physical Systems (Cosys-Lab)}
\address{Groenenborgerlaan 171, 2020 Antwerpen, Belgi\"e\\
M: theofiel.hoekaff@uantwerpen.be\\
T: +32 265 00 00
}
-\supervisori{Prof. dr. W. Vlaams}{Universiteit Antwerpen, Belgi\"e}
-\supervisorii{Prof. dr. J. Stekker}{Universiteit Antwerpen, Belgi\"e}
+\supervisor{prof. dr. W. Vlaams}{Universiteit Antwerpen, Belgi\"e}
+\supervisor{prof. dr. J. Stekker}{Universiteit Antwerpen, Belgi\"e}
-\jurychairman{Prof. dr. P. Dalinckx}{Universiteit Antwerpen, Belgi\"e}
+\jurychairman{prof. dr. P. Dalinckx}{Universiteit Antwerpen, Belgi\"e}
-\jurymemberi{Prof. dr. J. Dezerooder}{Universiteit Antwerpen, Belgi\"e}
-\jurymemberii{Prof. dr. P. De Tollenaere}{Flanders Make, Belgi\"e}
-\jurymemberiii{Prof. dr. M. Byr}{IMEC, Nederland}
+\jurymember{prof. dr. J. Dezerooder}{Universiteit Antwerpen, Belgi\"e}
+\jurymember{prof. dr. P. De Tollenaere}{Flanders Make, Belgi\"e}
+\jurymember{prof. dr. M. Byr}{IMEC, Nederland}
-\phddegree{doctor in de toegepaste ingenieurswetenschappen}
+\degree{doctor in de toegepaste ingenieurswetenschappen}
\defenselocation{Antwerpen}
-\defensedate{2018}
+\defensedate{2021}
\titlepageimage{Images/uantwerpen-keyboard.jpg}
-\isbn{987-90-57285-34-7} % don't specify thisif you don't want one
-\depot{D/2018/12.293/03} % idem
+\isbn{987-90-57285-34-7} % don't specify this if you don't want one
+\depot{D/2021/12.293/03} % idem
\begin{document}
@@ -1167,35 +1124,35 @@
\mainmatter
\chapter*{Inleiding}
-\lipsum[1]
+\kant[1]
\chapter{Onderzoeksvraag}
\section{Het gegeven}
-\lipsum[2]
+\kant[2]
\begin{equation}
e^{-j\pi} + 1 = 0
\end{equation}
-\lipsum[3-17]
+\kant[3-17]
\chapter{Literatuurstudie}
-\lipsum[18-19]
+\kant[18-19]
\chapter{Theoretische achtergrond}
-\lipsum[20-21]
+\kant[20-21]
\chapter{Eigen realisatie}
-\lipsum[22-24]
+\kant[22-24]
\chapter{Besluit}
-\lipsum[25]
+\kant[25]
\appendix
\chapter{Symbolen}
@@ -1212,44 +1169,46 @@
% \paragraph{English}
% \begin{verbatim}
%<*pt-example2>
-\documentclass[b5paper,10pt,twoside,openright,filled]{uantwerpenphdthesis}
+\documentclass[ti,10pt,twoside,openright,filled]{uantwerpenphdthesis}
% use some fancy font
\usepackage{newpxtext}
\usepackage{newpxmath}
\usepackage[english]{babel} % or dutch if your text is in Dutch
-\usepackage{lipsum} % this is just for some dummy text, please remove
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
+
+\usepackage{hyperref} % New: you must load the hyperref package
+ % yourself! This allows you to put it in the
+ % correct order with the other packages you load!
\title{Harmonic Signal analysis\\based on Linear Operators}
\subtitle{How did Mindy linearly kill Mork's IC signal analyzer?}
\author{Ing. Theodore Edgeoff}
-\facultyacronym{TI}
\affiliation{University of Antwerp\\
Faculty of Applied Engineering\\
- CoSys-Lab}
+ Cosys-Lab}
\address{Groenenborgerlaan 171, 2020 Antwerpen, Belgi\"e\\
M: theofiel.hoekaff@uantwerpen.be\\
T: +32 265 00 00
}
-\supervisori{Prof. dr. W. Vlaams}{University of Antwerp, Belgium}
-\supervisorii{Prof. dr. J. Stekker}{University of Antwerp, Belgium}
+\supervisor{prof. dr. W. Vlaams}{University of Antwerp, Belgium}
+\supervisor{prof. dr. J. Stekker}{University of Antwerp, Belgium}
-\jurychairman{Prof. dr. P. Dalinckx}{University of Antwerp, Belgium}
+\jurychairman{prof. dr. P. Dalinckx}{University of Antwerp, Belgium}
-\jurymemberi{Prof. dr. J. Dezerooder}{University of Antwerp, Belgium}
-\jurymemberii{Prof. dr. P. De Tollenaere}{Flanders Make, Belgium}
-\jurymemberiii{Prof. dr. M. Byr}{IMEC, The Netherlands}
+\jurymember{prof. dr. J. Dezerooder}{University of Antwerp, Belgium}
+\jurymember{prof. dr. P. De Tollenaere}{Flanders Make, Belgium}
+\jurymember{prof. dr. M. Byr}{IMEC, The Netherlands}
-\facultyacronym{TI}
-\phddegree{doctor in applied engineering}
+\degree{doctor in applied engineering}
\defenselocation{Antwerpen}
-\defensedate{2018}
+\defensedate{2021}
\titlepageimage{Images/uantwerpen-keyboard.jpg}
\isbn{987-90-57285-34-7}
-\depot{D/2018/12.293/03}
+\depot{D/2021/12.293/03}
\begin{document}
@@ -1262,35 +1221,35 @@
\mainmatter
\chapter*{Introduction}
-\lipsum[1]
+\kant[1]
\chapter{Research question}
\section{The datum}
-\lipsum[2]
+\kant[2]
\begin{equation}
e^{-j\pi} + 1 = 0
\end{equation}
-\lipsum[3-17]
+\kant[3-17]
\chapter{Literature review}
-\lipsum[18-19]
+\kant[18-19]
\chapter{Theoretical background}
-\lipsum[20-21]
+\kant[20-21]
\chapter{Technical results}
-\lipsum[22-24]
+\kant[22-24]
\chapter{Conclusion}
-\lipsum[25]
+\kant[25]
\appendix
@@ -1304,13 +1263,105 @@
%</pt-example2>
% \end{verbatim}
%
+% \subsubsection{\texttt{uantwerpenreport}}
+%
+% \begin{verbatim}
+%<*rp-example>
+\documentclass[10pt,twoside,openright,filled]{uantwerpenreport}
+
+% You may want to use common fonts
+\usepackage{mathptmx}
+\iftutex
+\usepackage{fontspec}
+\setmainfont{Calibri}
+\setsansfont{Calibri}
+\usepackage{sansmathaccent}
+\else
+\usepackage{cmbright}
+\fi
+
+\usepackage[dutch]{babel} % or dutch if your text is in Dutch
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
+
+\usepackage{hyperref} % New: you must load the hyperref package
+ % yourself! This allows you to put it in the
+ % correct order with the other packages you load!
+
+\title{De toepassing van roomijs-derivaten in beton}
+\subtitle{Het belang van een smaakvolle architectuur}
+\author{Ing. Jan Bouwblauw}
+\extra{Onderzoeksrapport}
+\affiliation{Universiteit Antwerpen | Building Research Group}
+\address{Groenenborgerlaan 171, 2020 Antwerpen, Belgi\"e\\
+ M: jan.bouwblauw@uantwerpen.be\\
+ T: +32 265 00 00
+}
+
+\versionyear{2021}
+
+\titlepageimage{Images/uantwerpen-keyboard.jpg}
+
+\begin{document}
+
+\maketitle
+
+\frontmatter
+
+\tableofcontents
+
+\mainmatter
+\chapter*{Inleiding}
+
+\kant[1]
+
+\chapter{Smaken en smaakpapillen}
+
+\section{Het gegeven}
+
+\kant[2]
+
+\begin{equation}
+ e^{-j\pi} + 1 = 0
+\end{equation}
+
+\kant[3-17]
+
+\chapter{Experimentele setup}
+
+\kant[18-19]
+
+\chapter{Resulaten}
+
+\kant[20-21]
+
+\chapter{Conclusie}
+
+\kant[22-24]
+
+\chapter{Advies}
+
+\kant[25]
+
+\appendix
+\chapter{Symbolen}
+
+\chapter{Publicaties}
+% Put your bibliography here using BibTeX
+
+\makefinalpage
+
+\end{document}
+%</rp-example>
+% \end{verbatim}
+%
+%
% \subsubsection{\texttt{uantwerpenletter}}
%
% \paragraph{Plain example}
%
% \begin{verbatim}
%<*le-example>
-\documentclass[a4paper]{uantwerpenletter}
+\documentclass[ti,a4paper]{uantwerpenletter}
%% As a good UAntwerpen citizen, you would use the calibri font.
%% As this only works for XeLaTeX or LuaLaTeX, we chose to include
@@ -1323,11 +1374,10 @@
\fi
\usepackage[english]{babel}
-\usepackage{lipsum} % this is just for some dummy text, please remove
+\usepackage{kantlipsum} % this is just for some dummy text, please remove
-\sender{Prof. Walter Daems}{Senior Lecturer}
-\facultyacronym{TI}
-\unit{CoSys-Lab}
+\sender{prof. Walter Daems}{Senior Lecturer}
+\unit{Cosys-Lab}
\address{
Campus Groenenborger\\
Groenenborgerlaan 171\\
@@ -1338,7 +1388,7 @@
\mobile{+32 499 355 115}
\returnaddress{FTI - U.301 -- Groenenborgerlaan 171, 2020 Antwerpen, BELGIUM}
-\to{Prof. B. Bonette}
+\to{prof. B. Bonette}
\toorganization{Mumford University}
\toaddress{
450 Morning Mall\\
@@ -1351,7 +1401,7 @@
\begin{document}
\maketitle
- \opening{Dear Prof. Bonette,}
+ \opening{Dear prof. Bonette,}
I'd like to congratulate you and the other professors of your
university on the very instructive video lectures
@@ -1367,12 +1417,12 @@
Below, you can find a few more paragraphs to illustrate that this
class can generate multipage letters.
- \lipsum[1-3]
+ \kant[1-3]
\closing{Kind regards,}
% you might want to insert a signature picture or text:
% \signature{\includegraphics{signature.jpg}}
- \carboncopy{Prof. S. Mariotte, Mumford University}
+ \carboncopy{prof. S. Mariotte, Mumford University}
\enclosed{
\begin{enumerate}
\item list of course numbers that are most fequently viewed at
@@ -1401,9 +1451,8 @@
\usepackage{cmbright}
\fi
-\sender{Prof. Walter Daems}{Senior Lecturer}
-%\facultyacronym{TI} TEMP
-\unit{CoSys-Lab}
+\sender{prof. Walter Daems}{Senior Lecturer}
+\unit{Cosys-Lab}
\address{
Campus Groenenborger\\
Groenenborgerlaan 171\\
@@ -1441,17 +1490,17 @@
% \paragraph{Single column}
% \begin{verbatim}
%<*ex-example1>
-\documentclass[a4paper,10pt]{uantwerpenexam}
+\documentclass[ti,a4paper,10pt]{uantwerpenexam}
\usepackage{newpxtext} % demonstration of some fine font packages
\usepackage{newpxmath}
\usepackage{enumitem}
\usepackage[dutch]{babel} % last language loaded will
% determine logo version (change to
% [dutch] for a monolingual version)
-\course{19876FTIDUM}{5-Bistrologie}
-\author{Walter Daems}
-\facultyacronym{TI}
-\programme{BA}{IW}{EI}
+
+\course{1876FTIDUM}{5-Bistrologie}
+\lecturer{Walter Daems}
+\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT}
\academicyear{2017-2018}
\exampart{Schriftelijk Examen}
\examgroupnumber{1 (eerste examenkans-inhaal)}
@@ -1459,7 +1508,7 @@
\examlength{4h}
\tstart{08h30}
\tend{12h30}
-\rooms{G.U.025}
+\room{G.U.025}
\extrainfo[firstpage]{
Belangrijke informatie:\\\par
Het volledige Onderwijs- en Examenregelement (OER) is van toepassing
@@ -1538,17 +1587,18 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \paragraph{Two columns}
% \begin{verbatim}
%<*ex-example2>
-\documentclass[a4paper,10pt]{uantwerpenexam}
+\documentclass[ti,a4paper,10pt]{uantwerpenexam}
\usepackage{newpxtext} % demonstration of some fine font packages
\usepackage{newpxmath}
\usepackage{enumitem}
\usepackage[dutch,english]{babel} % last language loaded will
% determine logo version (change to
% [dutch] for a monolingual version)
-\course{19876FTIDUM}{5-Bistrology}
-\author{Walter Daems}
-\facultyacronym{TI}
-\programme{BA}{IW}{EI}
+
+\course{1876FTIDUM}{5-Bistrology}
+\lecturer{Walter Daems}
+\lecturer{Paul Levrie}
+\degree{Bachelor of Science in de industri\"ele wetenschappen - elektronica-ICT}
\academicyear{2017-2018}
\exampart{Written Exam}
\examgroupnumber{1 (eerste examenkans-inhaal)}
@@ -1556,7 +1606,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\examlength{4h}
\tstart{08h30}
\tend{12h30}
-\rooms{G.U.025}
+\room{G.U.025}
+\room{G.U.026}
\extrainfo{
\engdut{
Important information:\\\par
@@ -1725,7 +1776,210 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \StopEventually{\clearpage\PrintChanges\clearpage\PrintIndex}
%
% \section{Implementation of the classes}
-%
+%
+%
+% \subsection{Common options}
+%
+% Colors appear in any document, so let's define them in common in a
+% separate package
+% \begin{macrocode}
+%<*clo>
+\newif\if@neutralcolors
+\@neutralcolorsfalse
+\DeclareOption{neutralcolors}{\@neutralcolorstrue}
+
+\newcommand*\colormodel{rgb}
+\newif\if@cmyk
+\@cmykfalse
+\DeclareOption{cmyk}{\renewcommand*\colormodel{cmyk}\@cmyktrue}
+\DeclareOption{rgb}{\renewcommand*\colormodel{rgb}\@cmykfalse}
+
+\newcommand*\facinenglish[1]{\renewcommand\@faculty{#1}}
+\newcommand*\facindutch[1]{
+ \AtBeginDocument{
+ \makeatother
+ \@ifpackageloaded{babel}{
+ \addto\captionsdutch{\renewcommand*\@faculty{#1}}
+ }{}
+ \makeatletter
+ }
+}
+\newcommand*\fselector{ua}
+\newcommand*\lselector{en}
+\newlength\logounitheight
+\setlength\logounitheight{0.8cm}
+
+\newcommand*\@faculty{~}
+\DeclareOption{be}{
+ \renewcommand*\fselector{be}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Business and Economics}
+ \facindutch{Faculteit Bedrijfswetenschappen en Economie}
+}
+\DeclareOption{fbd}{
+ \renewcommand*\fselector{fbd}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Pharmaceutical, Biomedical and Veterinary Sciences}
+ \facindutch{Faculteit Farmaceutische, Biomedische en Diergeneeskundige
+ Wetenschappen}
+}
+\DeclareOption{ggw}{
+ \renewcommand*\fselector{ggw}
+ \setlength\logounitheight{1cm}
+ \facinenglish{
+ Faculty of Medicine and Health Sciences}
+ \facindutch{Faculteit Geneeskunde en Gezondheidswetenschappen}
+}
+\DeclareOption{lw}{
+ \renewcommand*\fselector{lw}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Arts}
+ \facindutch{Faculteit Letteren en Wijsbegeerte}
+}
+\DeclareOption{ow}{
+ \renewcommand*\fselector{ow}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Design Sciences}
+ \facindutch{Faculteit Ontwerpwetenschappen}
+}
+\DeclareOption{re}{
+ \renewcommand*\fselector{re}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Law}
+ \facindutch{Faculteit Rechten}
+}
+\DeclareOption{sw}{
+ \renewcommand*\fselector{sw}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Social Sciences}
+ \facindutch{Faculteit Sociale Wetenschappen}
+ }
+\DeclareOption{ti}{
+ \renewcommand*\fselector{ti}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Applied Engineering}
+ \facindutch{Faculteit Toegepaste Ingenieurswetenschappen}
+}
+\DeclareOption{we}{
+ \renewcommand*\fselector{we}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Faculty of Science}
+ \facindutch{Faculteit Wetenschappen}
+}
+\DeclareOption{iob}{
+ \renewcommand*\fselector{iob}
+ \setlength\logounitheight{1cm}
+ \facinenglish{Institute of Development Policy}
+ \facindutch{Instituut voor Ontwikkelingsbeleid- en beheer}
+}
+\newcommand*\@facultyacronym{\expandafter\uppercase\expandafter{\fselector}}
+
+\AtBeginDocument{
+ \makeatother
+ \@ifpackageloaded{babel}{
+ \addto\captionsdutch{
+ \renewcommand*\lselector{nl}
+ }{}
+ }
+ \makeatletter
+
+ \newcommand*\logopos{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-pos}
+ \newcommand*\logoposua{Logos/logo-uantwerpen-ua-\lselector-\colormodel-pos}
+ \newcommand*\logoneg{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-neg}
+ \newcommand*\logonegua{Logos/logo-uantwerpen-ua-\lselector-\colormodel-neg}
+ \newcommand*\logomonowhite{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-mono-white}
+ \newcommand*\logomonowhiteua{Logos/logo-uantwerpen-ua-\lselector-\colormodel-mono-white}
+ \newcommand*\iconfile{Logos/icon-uantwerpen-\fselector-\colormodel}
+ \newcommand*\iconfileua{Logos/icon-uantwerpen-ua-\colormodel}
+}
+%</clo>
+% \end{macrocode}
+%
+% \subsection{Color scheme}
+% \begin{macrocode}
+%<*cls>
+\if@cmyk
+%% UAntwerpen
+\definecolor{uauamain}{cmyk}{0.00,0.96,0.82,0.01}
+\definecolor{uauaside}{cmyk}{1.00,0.71,0.00,0.51}
+%% Faculteit Bedrijfswetenschappen en Economie
+\definecolor{uabemain}{cmyk}{0.58,0.00,1.00,0.04}
+\definecolor{uabeside}{cmyk}{0.29,0.04,0.41,0.00}
+%% Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
+\definecolor{uafbdmain}{cmyk}{0.65,0.03,0.00,0.00}
+\definecolor{uafbdside}{cmyk}{0.33,0.03,0.00,0.00}
+%% Faculteit Geneeskunde en Gezondheidswetenschappen
+\definecolor{uaggwmain}{cmyk}{0.61,0.55,0.00,0.00}
+\definecolor{uaggwside}{cmyk}{0.21,0.27,0.03,0.00}
+%% Faculteit Letteren en Wijsbegeerte
+\definecolor{ualwmain}{cmyk}{0.00,0.27,0.85,0.00}
+\definecolor{ualwside}{cmyk}{0.00,0.16,0.51,0.00}
+%% Faculteit Ontwerpwetenschappen
+\definecolor{uaowmain}{cmyk}{0.53,0.25,0.26,0.05}
+\definecolor{uaowside}{cmyk}{0.25,0.08,0.16,0.00}
+%% Faculteit Rechten
+\definecolor{uaremain}{cmyk}{0.10,1.00,0.90,0.05}
+\definecolor{uareside}{cmyk}{0.04,0.45,0.36,0.00}
+%% Faculteit Sociale Wetenschappen
+\definecolor{uaswmain}{cmyk}{0.08,0.00,1.00,0.26}
+\definecolor{uaswside}{cmyk}{0.20,0.11,0.50,0.00}
+%% Faculteit Toegepaste Ingenieurswetenschappen
+\definecolor{uatimain}{cmyk}{0.31,1.00,0.00,0.01}
+\definecolor{uatiside}{cmyk}{0.11,0.30,0.02,0.00}
+%% Faculteit Wetenschappen
+\definecolor{uawemain}{cmyk}{1.00,0.20,0.00,0.25}
+\definecolor{uaweside}{cmyk}{0.40,0.08,0.00,0.10}
+%% IOB
+\definecolor{uaiobmain}{cmyk}{0.05,0.75,1.00,0.00}
+\definecolor{uaiobside}{cmyk}{0.40,0.08,0.00,0.10}
+\else
+%% UAntwerpen
+\definecolor{uauamain}{RGB}{234,44,56}
+\definecolor{uauaside}{RGB}{0,46,101}
+%% Faculteit Bedrijfswetenschappen en Economie
+\definecolor{uabemain}{RGB}{101,168,18}
+\definecolor{uabeside}{RGB}{185,213,169}
+%% Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
+\definecolor{uafbdmain}{RGB}{68,184,243}
+\definecolor{uafbdside}{RGB}{181,221,247}
+%% Faculteit Geneeskunde en Gezondheidswetenschappen
+\definecolor{uaggwmain}{RGB}{117,117,203}
+\definecolor{uaggwside}{RGB}{198,182,210}
+%% Faculteit Letteren en Wijsbegeerte
+\definecolor{ualwmain}{RGB}{241,181,61}
+\definecolor{ualwside}{RGB}{255,218,145}
+%% Faculteit Ontwerpwetenschappen
+\definecolor{uaowmain}{RGB}{130,161,173}
+\definecolor{uaowside}{RGB}{200,217,216}
+%% Faculteit Rechten
+\definecolor{uaremain}{RGB}{210,8,36}
+\definecolor{uareside}{RGB}{237,157,144}
+%% Faculteit Sociale Wetenschappen
+\definecolor{uaswmain}{RGB}{173,165,0}
+\definecolor{uaswside}{RGB}{215,211,148}
+%% Faculteit Toegepaste Ingenieurswetenschappen
+\definecolor{uatimain}{RGB}{177,0,151}
+\definecolor{uatiside}{RGB}{221,184,210}
+%% Faculteit Wetenschappen
+\definecolor{uawemain}{RGB}{0,108,169}
+\definecolor{uaweside}{RGB}{151,192,223}
+%% IOB
+\definecolor{uaiobmain}{RGB}{230,98,8}
+\definecolor{uaiobside}{RGB}{151,192,223}
+\fi
+%%
+\if@neutralcolors
+\colorlet{maincolor}{uauaside}
+\colorlet{sidecolor}{uauamain}
+\colorlet{basecolor}{uauaside}
+\else
+\colorlet{maincolor}{ua\fselector main}
+\colorlet{sidecolor}{ua\fselector side}
+\colorlet{basecolor}{uauaside}
+\fi
+%</cls>
+% \end{macrocode}
+%
% \subsection{Class inheritance}
%
%
@@ -1738,29 +1992,22 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \changes{v1.4}{2016/01/07}{Implemented letter class}
% \changes{v1.9}{2018/03/02}{Implemented uantwerpenexam class}
% \changes{v2.0}{2018/03/02}{Implemented uantwerpenphdthesis class}
+% \changes{v4.0}{2021/05/01}{Removed option qr again}
+% \changes{v4.0}{2021/07/11}{Removed options titlepagetableonly and titlepagenoartwork}
%
% Before loading the class, we provide the extra options.
%
% \begin{macrocode}
-%<*ct>
+%<*ct|rp>
\newif\if@copyright
\DeclareOption{copyright}{\@copyrighttrue}
-\newif\if@qr
-\DeclareOption{qr}{\@qrtrue}
-%</ct>
-% \end{macrocode}
+%</ct|rp>
%
-% \begin{macrocode}
-%<*ct|bmt|pt>
-\newif\if@titlepagenoartwork
-\DeclareOption{titlepagenoartwork}{\@titlepagenoartworktrue}
-\newif\if@titlepagetableonly
-\DeclareOption{titlepagetableonly}{\@titlepagetableonlytrue}
-%</ct|bmt|pt>
-%<*ct|bmt|pt|le>
+%<*ct|bmt|pt|rp|le>
\newif\if@filled
\DeclareOption{filled}{\@filledtrue}
-%</ct|bmt|pt|le>
+%</ct|bmt|pt|rp|le>
+%
%<*ex>
\newif\if@examiner
\DeclareOption{examiner}{\@examinertrue}
@@ -1771,20 +2018,23 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% We execute some standard options:
% We load the |book| class for course texts and master theses.
% \begin{macrocode}
-%<*ct|bmt|pt>
+%<*ct|bmt|pt|rp>
+\input{uantwerpencommonoptions.clo}
\ExecuteOptions{a4paper,11pt,final,oneside,openright}
\ProcessOptions\relax
\LoadClassWithOptions{book}
-%</ct|bmt|pt>
+%</ct|bmt|pt|rp>
% We load the |letter| class for letters
%<*le>
+\input{uantwerpencommonoptions.clo}
\ExecuteOptions{a4paper,10pt,final,oneside,openright}
\ProcessOptions
\LoadClassWithOptions{letter}
-\newcommand\tat{\makeatletter @\makeatother}
+\newcommand*\tat{\makeatletter @\makeatother}
%</le>
% We load the |article| class for exams
%<*ex>
+\input{uantwerpencommonoptions.clo}
\ExecuteOptions{a4paper,twoside,10pt}
\ProcessOptions
\LoadClassWithOptions{article}
@@ -1796,11 +2046,11 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% and with a decent paragraph spacing.
%
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
\setlength{\parindent}{0pt}
\addtolength{\parskip}{0.75\baselineskip}
\setcounter{secnumdepth}{3}
-%</ct|bmt|pt|le|ex>
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
%
% \subsection{Auxiliary packages}
@@ -1808,18 +2058,34 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% appropriate auxiliary packages that have proven their value.
%
% \subsubsection{Geometry}
-% Let's reduce the margins to 1 inch each.
+% Let's reduce the margins to 1 inch each for the documents that are
+% unlikely to be glue bound:
% \begin{macrocode}
-%<*ct|bmt|pt|ex>
-\RequirePackage[top=1in, bottom=1in, left=1in, right=1in]{geometry}
-%</ct|bmt|pt|ex>
+%<*ct|bmt|rp|ex>
+\RequirePackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry}
+%</ct|bmt|rp|ex>
+% Let's follow the instructions by ADS for the (marginal(!) glue provision):
+%<*pt>
+\RequirePackage[paperwidth=180mm,paperheight=260mm,
+ top=2.5cm,bottom=2.5cm,left=2.6cm,right=1.8cm,twoside]
+ {geometry}
+%</pt>
%<*le>
\RequirePackage[top=1in, bottom=1in, left=1.34in, right=1in]{geometry}
\RequirePackage[normalem]{ulem}
-\RequirePackage{atbegshi}
%</le>
% \end{macrocode}
%
+% \subsubsection{Preparing for \LaTeX3}
+% Let's make things a bit easier for me.
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\RequirePackage{expl3}
+%\RequirePackage[check-declarations]{expl3} % I use this during debug phase
+\RequirePackage{xparse}
+%</ct|bmt|pt|rp|le|ex>
+% \end{macrocode}
+%
% \subsubsection{Font packages}
% Note that the use of cmbright is no
% longer imposed (as of v1.3). Using a good font is now up to the
@@ -1831,9 +2097,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \changes{v1.3}{2015/12/31}{Abandoned use of cmbright - no more
% font dictatorship for theses and courses}
% \begin{macrocode}
-%<*ct|bmt|pt|le>
+%<*ct|bmt|pt|rp|le>
% no more font code
-%</ct|bmt|pt|le>
+%</ct|bmt|pt|rp|le>
% \end{macrocode}
%
% \subsubsection{Boilerplate packages}
@@ -1849,14 +2115,14 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% unreliable}
% \changes{v3.0}{2021/02/05}{Added iftex}
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
\RequirePackage{iftex}
\RequirePackage{xstring}
\RequirePackage{etoolbox}
\RequirePackage{ifthen}
\IfFileExists{shellesc.sty}{\RequirePackage{shellesc}}{}
\newcommand{\@emptymacro}{}
-%</ct|bmt|pt|le|ex>
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
%
% \subsubsection{Graphics packages}
@@ -1867,51 +2133,44 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% Some packages for coursetext and bamathesis:
% \changes{v1.3}{2015/12/31}{Added inclusion of background package}
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
\RequirePackage{graphicx}
+\RequirePackage[export]{adjustbox}
\RequirePackage{color}
\RequirePackage{tikz}
\usetikzlibrary{positioning}
\RequirePackage{eso-pic}
-%</ct|bmt|pt|le|ex>
-%<*ct>
+%</ct|bmt|pt|rp|le|ex>
+%<*ct|rp>
\if@copyright
-\RequirePackage[firstpage=false,contents={Copyright University of
- Antwerp, All Rights Reserved},color=lightgray,scale=3]{background}
+\RequirePackage[contents={},color=lightgray,scale=3]{background}
\fi
-%</ct>
+%</ct|rp>
%<*pt>
\usepackage{ean13isbn}
%</pt>
% \end{macrocode}
%
-% In uantwerpencoursetext we also want to generate a qr code.
-% Therefore we load the |pst-barcode| and |auto-pst-pdf| package.
-% In this case you must enable 'write18' or 'shell-escape' for your
-% \LaTeX{} compiler. Check your documention on how to do so!
-%
+% \subsubsection{UAntwerpen color and logo scheme}
% \begin{macrocode}
-%<*ct>
-\if@qr
-\RequirePackage{auto-pst-pdf}
-\RequirePackage{pst-barcode}
-\fi
-%</ct>
+%<*ct|bmt|pt|rp|le|ex>
+\RequirePackage{uantwerpencolorlogoscheme}
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
-%
+
% \subsubsection{Header/Footer}
%
% The de-facto standard for headers and footers:
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
\RequirePackage{fancyhdr}
-%</ct|bmt|pt|le|ex>
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
%
% \subsection{Colors}
%
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
\definecolor{uacorpbord}{cmyk} {0.00,1.00,0.60,0.37}
\definecolor{uacorpblue}{cmyk} {1.00,0.25,0.00,0.50}
\definecolor{uacorplightblue}{cmyk}{1.00,0.00,0.08,0.13}
@@ -1921,143 +2180,200 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\definecolor{lightgray}{cmyk} {0.00,0.00,0.00,0.05}
\definecolor{darkgray}{cmyk} {0.00,0.00,0.00,0.80}
\definecolor{watermark}{cmyk} {0.00,0.00,0.00,0.05}
-%</ct|bmt|pt|le|ex>
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
%
% \subsection{Babel provisions}
%
% \changes{v1.7}{2016/05/01}{Added babel tags of elements
% of master's thesis title page}
+% \changes{v4.0}{2021/05/01}{Total rewrite of this part based on
+% expl3}
+% Let's start by defining our dictionary:
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
-\newcommand\uaname{University of Antwerp}
-\newcommand\arrname{All rights reserved}
-\newcommand\orname{of}
-\newcommand\domainname{uantwerp.be}
-\newcommand\datename{Date}
-\newcommand\subjectname{Subject}
-\newcommand\academicyearname{Academic year}
-\newcommand\masterthesisname{Master's thesis}
-\newcommand\bachelorthesisname{Bachelor's thesis}
-\newcommand\supervisorsname{Supervisors}
-\newcommand\juryname{Jury}
-\newcommand\jurymembersname{Members}
-\newcommand\jurychairmanname{Chairman}
-\newcommand\bmthesisname{Thesis to obtain the degree of}
-\newcommand\pthesisnamei{Thesis submitted in fulfilment of the
- requirements for the degree of}
-\newcommand\pthesisnameii{at University of Antwerp}
-\newcommand\@faculty{~}
-\newcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos}
-\newcommand\faccpg{
- \renewcommand\@faculty{Centre Pieter Gillis}
- \renewcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos}}
-\newcommand\facfbd{
- \renewcommand\@faculty{Faculty of Pharmaceutical, Biomedical and
- Veterinary Sciences}
- \renewcommand\@logo{Logos/logo-uantwerpen-fbd-en-cmyk-pos}}
-\newcommand\facggw{
- \renewcommand\@faculty{Faculty of Medicine and Health Sciences}
- \renewcommand\@logo{Logos/logo-uantwerpen-ggw-en-cmyk-pos}}
-\newcommand\insiob{
- \renewcommand\@faculty{Insitute of Development Policy}
- \renewcommand\@logo{Logos/logo-uantwerpen-iob-en-cmyk-pos}}
-\newcommand\asoe{
- \renewcommand\@faculty{Antwerp School of Education}
- \renewcommand\@logo{Logos/logo-uantwerpen-ua-en-cmyk-pos}}
-\newcommand\faclw{
- \renewcommand\@faculty{Faculty of Arts}
- \renewcommand\@logo{Logos/logo-uantwerpen-lw-en-cmyk-pos}}
-\newcommand\facow{
- \renewcommand\@faculty{Faculty of Design Sciences}
- \renewcommand\@logo{Logos/logo-uantwerpen-ow-en-cmyk-pos}}
-\newcommand\facsw{
- \renewcommand\@faculty{Faculty of Social Sciences}
- \renewcommand\@logo{Logos/logo-uantwerpen-sw-en-cmyk-pos}}
-\newcommand\facre{
- \renewcommand\@faculty{Faculty of Law}
- \renewcommand\@logo{Logos/logo-uantwerpen-re-en-cmyk-pos}}
-\newcommand\facbe{
- \renewcommand\@faculty{Faculty of Business and Economics}
- \renewcommand\@logo{Logos/logo-uantwerpen-be-en-cmyk-pos}}
-\newcommand\facti{
- \renewcommand\@faculty{Faculty of Applied Engineering}
- \renewcommand\@logo{Logos/logo-uantwerpen-ti-en-cmyk-pos}}
-\newcommand\facwe{
- \renewcommand\@faculty{Faculty of Science}
- \renewcommand\@logo{Logos/logo-uantwerpen-we-en-cmyk-pos}}
-\newcommand\weightname{Weight}
+%<*ct|bmt|pt|rp|le|ex>
+\ExplSyntaxOn
+\prop_new:N \g_@@_data_prop
+%</ct|bmt|pt|rp|le|ex>%
+% \end{macrocode}
+%
+% The dictionary can be accessed using the following document command:
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\NewDocumentCommand{\uantwerpendocsprop}{m}{
+ \prop_item:Nn \g_@@_data_prop{#1}
+}
+\NewDocumentCommand{\uantwerpendocsPROP}{m}{
+ \str_uppercase:f { \prop_item:Nn \g_@@_data_prop{#1} }
+}
+\NewDocumentCommand{\uantwerpendocspropread}{m}{
+ \@@_datareader:n { #1 }
+}
+%</ct|bmt|pt|rp|le|ex>%
+% \end{macrocode}
+%
+% We will fill the dictionary from the generic data file (for elements
+% that should not be translated, currently empty) and the language
+% specific data files (for elements that can be translated).
+%
+% To this end, we use the following parsing infrastructure:
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\cs_new_nopar:Npn \@@_dataparser:w #1 = #2!! {
+ \tl_set:Nn \l_tmpa_tl {#1}
+ \tl_set:Nn \l_tmpb_tl {#2}
+ \tl_trim_spaces:N \l_tmpa_tl
+ \tl_trim_spaces:N \l_tmpb_tl
+ \prop_gput:Nxx \g_@@_data_prop { \l_tmpa_tl} { \l_tmpb_tl }
+}
+%</ct|bmt|pt|rp|le|ex>
+% \end{macrocode}
+% invoked by the following data file reader:
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\ior_new:N \l_@@_data_ior
+\cs_new_nopar:Nn \@@_datareader:n {
+ \ior_open:Nn \l_@@_data_ior { uantwerpendocs-#1.data }
+ \ior_str_map_inline:Nn \l_@@_data_ior {
+ \regex_match:nnTF {=} {##1} {
+ \@@_dataparser:w ##1!!
+ }
+ {}
+ }
+ \ior_close:N \l_@@_data_ior
+}
+%</ct|bmt|pt|rp|le|ex>
+% \end{macrocode}
+% By default, we load the generic (not yet!) and the english data file:
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\clist_map_inline:nn {en} {
+ \@@_datareader:n { #1 }
+}
+%\prop_show:N \g_@@_data_prop
+\ExplSyntaxOff
+%</ct|bmt|pt|rp|le|ex>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*ct|bmt|pt|rp|le|ex>
+\newcommand*\@logo{\logopos}
\AtBeginDocument{
+ \makeatother
\@ifpackageloaded{babel}{
+ \addto\captionsenglish{%
+ \uantwerpendocspropread{en}
+ }
\addto\captionsdutch{%
- \renewcommand\uaname{Universiteit Antwerpen}
- \renewcommand\arrname{Alle rechten voorbehouden}
- \renewcommand\orname{van}
- \renewcommand\domainname{uantwerpen.be}
- \renewcommand\subjectname{Onderwerp}%
- \renewcommand\datename{Datum}%
- \renewcommand\academicyearname{Academiejaar}
- \renewcommand\masterthesisname{Masterproef}
- \renewcommand\bachelorthesisname{Bachelorproef}
- \renewcommand\supervisorsname{Promotoren}
- \renewcommand\juryname{Jury}
- \renewcommand\jurymembersname{Leden}
- \renewcommand\jurychairmanname{Voorzitter}
- \renewcommand\bmthesisname{Proefschrift tot het behalen van de
- graad van}
- \renewcommand\pthesisnamei{Proefschrift voorgelegd tot het
- behalen van de graad van}
- \renewcommand\pthesisnameii{aan de \uaname{} te
- verdedigen door}
- \renewcommand\faccpg{
- \renewcommand\@faculty{Centrum Pieter Gillis}
- \renewcommand\@logo{Logos/logo-uantwerpen-ua-nl-cmyk-pos}}
- \renewcommand\facfbd{
- \renewcommand\@faculty{
- Faculteit Farmaceutische, Biomedische en Diergeneeskundige
- Wetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-fbd-nl-cmyk-pos}}
- \renewcommand\facggw{
- \renewcommand\@faculty{Faculteit Geneeskunde en
- Gezondheidswetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-ggw-nl-cmyk-pos}}
- \renewcommand\insiob{
- \renewcommand\@faculty{Instituut voor Ontwikkelingsbeleid- en
- beheer}
- \renewcommand\@logo{Logos/logo-uantwerpen-iob-nl-cmyk-pos}}
- \renewcommand\asoe{
- \renewcommand\@faculty{Antwerp School of Education}
- \renewcommand\@logo{Logos/logo-uantwerpen-ua-nl-cmyk-pos}}
- \renewcommand\faclw{\renewcommand\@faculty{Faculteit
- Letteren en Wijsbegeerte}
- \renewcommand\@logo{Logos/logo-uantwerpen-lw-nl-cmyk-pos}}
- \renewcommand\facow{
- \renewcommand\@faculty{Faculteit Ontwerpwetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-ow-nl-cmyk-pos}}
- \renewcommand\facsw{
- \renewcommand\@faculty{Faculteit Sociale Wetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-sw-nl-cmyk-pos}}
- \renewcommand\facre{
- \renewcommand\@faculty{Faculteit Rechten}
- \renewcommand\@logo{Logos/logo-uantwerpen-re-nl-cmyk-pos}}
- \renewcommand\facbe{
- \renewcommand\@faculty{Faculteit Bedrijfswetenschappen en Economie}
- \renewcommand\@logo{Logos/logo-uantwerpen-be-nl-cmyk-pos}}
- \renewcommand\facti{
- \renewcommand\@faculty{Faculteit Toegepaste
- Ingenieurswetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-ti-nl-cmyk-pos}}
- \renewcommand\facwe{
- \renewcommand\@faculty{Faculteit Wetenschappen}
- \renewcommand\@logo{Logos/logo-uantwerpen-we-nl-cmyk-pos}}
- \renewcommand\weightname{Gewicht}
+ \uantwerpendocspropread{nl}
}
}
{}
+ \makeatletter
}
-%</ct|bmt|pt|le|ex>
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
%
+% The English data can be found below:
+%<*endata>
+org-be = Faculty of Business and Economics
+org-fbd = Faculty of Pharmaceutical, Biomedical and Veterinary Sciences
+org-ggw = Medicine and Health Sciences
+org-lw = Faculty of Arts
+org-ow = Faculty of Design Sciences
+org-re = Faculty of Law
+org-sw = Faculty of Social Sciences
+org-ti = Faculty of Applied Engineering
+org-we = Faculty of Science
+org-iob = Institute of Development Policy
+org-ua = University of Antwerp
+arr = All rights reserved
+of = of
+domainname = uantwerp.be
+datename = Date
+subjectname = Subject
+acyearname = Academic year
+baname = Bachelor of Science
+spname = Switching Programme
+vpname = Preparatory Programme
+maname = Master of Science
+phdname = PhD
+thesisname = Thesis
+mthesisname = Master's thesis
+bthesisname = Bachelor's thesis
+lecturername = Lecturer
+lecturersname = Lecturers
+supervisorname = Supervisor
+supervisorsname = Supervisors
+examname = Exam --- Examen
+seriesname = Series
+lastname = Last name --- Naam
+firstname = First name --- Voornaam
+docketname = Docket No. --- Rolnr.
+roomname = Room --- Lokaal
+roomsname = Rooms --- Lokalen
+examstartname = Start --- Begin
+examendname = End --- Einde
+examdurationname = Exam duration --- Duur van het examen
+juryname = Jury
+jurymembersname = Members
+jurychairmanname = Chairman
+bmthesisname = Thesis to obtain the degree of
+pthesisnamei = Thesis submitted in fulfilment of the requirements for the degree of
+pthesisnameii = at University of Antwerp
+weightname = Weight
+%</endata>
+%
+% The Dutch data can be found below:
+%<*nldata>
+org-be = Faculteit Bedrijfswetenschappen en Economie
+org-fbd = Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
+org-ggw = Faculteit Geneeskunde en Gezondheidswetenschappen
+org-lw = Faculteit Letteren en Wijsbegeerte
+org-ow = Faculteit Ontwerpwetenschappen
+org-re = Faculteit Rechten
+org-sw = Faculteit Sociale Wetenschappen
+org-ti = Faculteit Toegepaste Ingenieurswetenschappen
+org-we = Faculteit Wetenschappen
+org=iob = Instituut voor Ontwikkelingsbeleid- en beheer
+org-ua = Universiteit Antwerpen
+arr = Alle rechten voorbehouden
+of = van
+domainname = uantwerpen.be
+datename = Onderwerp
+subjectname = Datum
+acyearname = Academiejaar
+baname = Bachelor of Science
+spname = Schakelprogramma
+vpname = Voorbereidingsprogramma
+maname = Master of Science
+phdname = Doctoraat
+thesisname = Afstudeerproef
+mthesisname = Masterproef
+bthesisname = Bachelorproef
+lecturername = Titularis
+lecturersname = Titularissen
+supervisorname = Promotor
+supervisorsname = Promotoren
+examname = Examen
+seriesname = Reeks
+lastname = Naam
+firstname = Voornaam
+docketname = Rolnr.
+roomname = Lokaal
+roomsname = Lokalen
+examstartname = Begin
+examendname = Einde
+examdurationname = Duur van het examen
+juryname = Jury
+jurymembersname = Leden
+jurychairmanname = Voorzitter
+bmthesisname = Proefschrift tot het behalen van de graad van
+pthesisnamei = Proefschrift voorgelegd tot het behalen van de graad van
+pthesisnameii = aan de Universiteit Antwerpen te verdedigen door
+weightname = Gewicht
+%</nldata>
+
% \subsection{Tags}
%
% \begin{macro}{\facultyacronym}
@@ -2068,53 +2384,23 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
%
% \changes{v3.0}{2021/02/05}{Changed REC in RE, TEW in BE and WET in WE
% (according to official naming scheme)}
+% \changes{v4.0}{2021/05/01}{This function is now obsolete}
% \begin{macrocode}
-%<*ct|bmt|pt|le|ex>
-\newcommand{\@facultyacronym}{~}
-\newcommand{\facultyacronym}[1]{
- \renewcommand{\@facultyacronym}{#1}
- \AtBeginDocument{
- \ifthenelse{\equal{#1}{CPG}}{\faccpg}{
- \ifthenelse{\equal{#1}{FBD}}{\facfbd}{
- \ifthenelse{\equal{#1}{GGW}}{\facggw}{
- \ifthenelse{\equal{#1}{IOB}}{\insiob}{
- \ifthenelse{\equal{#1}{ASoE}}{\asoe}{
- \ifthenelse{\equal{#1}{LW}}{\faclw}{
- \ifthenelse{\equal{#1}{OW}}{\facow}{
- \ifthenelse{\equal{#1}{SW}}{\facsw}{
- \ifthenelse{\equal{#1}{RE}}{\facre}{
- \ifthenelse{\equal{#1}{BE}}{\facbe}{
- \ifthenelse{\equal{#1}{TI}}{\facti}{
- \ifthenelse{\equal{#1}{WE}}{\facwe}{
- \errmessage{Error: wrong faculty acronym; choose one of CPG, FBD, GGW,
- IOB, ASoE, LW, OW, SW, RE, BE, TI, WE}}}}}}}}}}}}}}
-}
-%</ct|bmt|pt|le|ex>
+%<*ct|bmt|pt|rp|le|ex>
+\newcommand*{\facultyacronym}[1]{
+ \PackageError{uantwerpendocs}
+ {The '\protect\facultyacronym{}' macro is no longer available. Use
+ your faculty abbreviation in lowercase as class options instead}
+ {The interface of uantwerpendocs 4.0 has been changed. See
+ the uantwerpendocs manual under section '5.2 The class options explained'}
+}
+%</ct|bmt|pt|rp|le|ex>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\title}
% The |title| tag is native to \LaTeX{}. It sets the |\@title| tag
% that will be used on the title page.
-% However, in view of the qr trouble, we fiddle a little with it.
-% In case the title contains accented characters, you also
-% need to provide a qr version in full unicode (so without the
-% traditional \LaTeX{} accented characters.)
-%
-% \begin{macrocode}
-%<*ct>
-\newcommand{\@qrtitle}{}
-\renewcommand{\title}[1]{%
- \renewcommand\@title{#1}
- \ifx\@qrtitle\@emptymacro
- \renewcommand\@qrtitle{#1}
- \fi
-}
-\newcommand{\qrtitle}[1]{%
- \renewcommand\@qrtitle{#1}
-}
-%</ct>
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\subtitle}
@@ -2123,35 +2409,36 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% optional by adding default space value}
% This macro sets the |\@subtitle| tag that later will be used on
% the title page, in the header/footer and to set the appropriate
-% |hyperref| tag.
+% |hyperref| tag (if it is loaded).
% \begin{macrocode}
%<*bmt>
-\newcommand{\@subtitle}{Master's thesis}
+\ExplSyntaxOn
+\NewDocumentCommand{\@subtitle}{m}{
+ \tl_new:N \l_@@_degree
+ \tl_set:Nx \l_@@_degree { \tl_head:N \@degree }
+ \tl_if_eq:NnTF \l_@@_degree { B } {\uantwerpendocsprop{bthesisname}} {
+ \tl_if_eq:NnTF \l_@@_degree { M } {\uantwerpendocsprop{mthesisname}}
+ {\uantwerpendocsprop{thesisname}}}
+}
+\ExplSyntaxOff
%</bmt>
-%<*ct|pt>
-\newcommand{\@subtitle}{~}
-\newcommand{\@qrsubtitle}{}
-\newcommand{\subtitle}[1]{%
- \renewcommand\@subtitle{#1}
- \ifx\@qrsubtitle\@emptymacro
- \renewcommand\@qrsubtitle{#1}
- \fi
-}
-\newcommand{\qrsubtitle}[1]{%
- \renewcommand\@qrsubtitle{#1}
+%<*ct|pt|rp>
+\newcommand*{\@subtitle}{~}
+\newcommand*{\subtitle}[1]{%
+ \renewcommand*\@subtitle{#1}
}
-%</ct|pt>
+%</ct|pt|rp>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\shorttitle}
% This macro sets the |\@shorttitle| tag that later will be used
-% in the |uantwerpenexam| class.
+% in the |exam| class.
% \begin{macrocode}
%<*ex>
-\newcommand{\@shorttitle}{}
-\newcommand{\shorttitle}[1]{%
- \renewcommand\@shorttitle{#1}
+\newcommand*{\@shorttitle}{}
+\newcommand*{\shorttitle}[1]{%
+ \renewcommand*\@shorttitle{#1}
}
%</ex>
% \end{macrocode}
@@ -2160,26 +2447,6 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \begin{macro}{\author}
% The |author| tag is native to \LaTeX{}. It sets the |\@author|
% tag that will be used on the title page.
-% However, in view of the qr trouble, we fiddle a little with it for
-% the |uantwerpencoursetext| class.
-% In case the title contains accented characters, you also
-% need to provide a qr version in full unicode (so without the
-% traditional \LaTeX{} accented characters.)
-%
-% \begin{macrocode}
-%<*ct>
-\newcommand{\@qrauthor}{}
-\renewcommand{\author}[1]{%
- \renewcommand\@author{#1}
- \ifx\@qrauthor\@emptymacro
- \renewcommand\@qrauthor{#1}
- \fi
-}
-\newcommand{\qrauthor}[1]{%
- \renewcommand\@qrauthor{#1}
-}
-%</ct>
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\courseversion}
@@ -2187,8 +2454,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% on the title page and in the header/footer.
% \begin{macrocode}
%<*ct>
-\newcommand{\@courseversion}{}
-\newcommand{\courseversion}[1]{\renewcommand{\@courseversion}{#1}}
+\newcommand*{\@courseversion}{}
+\newcommand*{\courseversion}[1]{\renewcommand*{\@courseversion}{#1}}
%</ct>
% \end{macrocode}
% \end{macro}
@@ -2197,10 +2464,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% This macro sets the |\@versionyear| tag that later will be used on
% the title page and in the copyright message.
% \begin{macrocode}
-%<*ct>
-\newcommand{\@versionyear}{}
-\newcommand{\versionyear}[1]{\renewcommand{\@versionyear}{#1}}
-%</ct>
+%<*ct|rp>
+\newcommand*{\@versionyear}{}
+\newcommand*{\versionyear}[1]{\renewcommand*{\@versionyear}{#1}}
+%</ct|rp>
% \end{macrocode}
% \end{macro}
%
@@ -2210,12 +2477,12 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \changes{v2.5}{}{changed publisher to universitas in default}
% \begin{macrocode}
%<*ct>
-\newcommand{\@publisher}{Universitas Cursusdienst\\
- Prinsesstraat 16\\
- 2000 Antwerpen\\
- T +32 3 233 23 73\\
+\newcommand{\@publisher}{Universitas Cursusdienst |
+ Prinsesstraat 16 |
+ 2000 Antwerpen |
+ T +32 3 233 23 73 |
E info@cursusdienst.be}
-\newcommand{\publisher}[1]{\renewcommand{\@publisher}{#1}}
+\newcommand*{\publisher}[1]{\renewcommand*{\@publisher}{#1}}
%</ct>
% \end{macrocode}
% \end{macro}
@@ -2225,75 +2492,57 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the title page.
% \begin{macrocode}
%<*ct>
-\newcommand{\@publishercode}{}
-\newcommand{\publishercode}[1]{\renewcommand{\@publishercode}{#1}}
+\newcommand*{\@publishercode}{}
+\newcommand*{\publishercode}[1]{\renewcommand*{\@publishercode}{#1}}
%</ct>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\lecturer}
-% This macro sets many |\@lecturer| tags (max. 4) that later will be used on
-% the title page. If there is only one teaching lecturer one can
-% use the convenient shorthand without counter.
-% In case the lecturer's name contains accented characters, you also
-% need to provide a qr version in full unicode (so without the
-% traditional \LaTeX{} accented characters.)
+% This macro adds lecturers (Dutch: titularissen) to the course
+% notes.
+% Use the macro multiple times for multiple lecturers. The order
+% will be preserved.
+% Note that as of v4.0 all lecturers are specified using the same
+% macro!
% \begin{macrocode}
-%<*ct>
-\newcommand{\@lectureri}{}
-\newcommand{\@lecturerii}{}
-\newcommand{\@lectureriii}{}
-\newcommand{\@lectureriv}{}
-\newcommand{\@qrlectureri}{}
-\newcommand{\@qrlecturerii}{}
-\newcommand{\@qrlectureriii}{}
-\newcommand{\@qrlectureriv}{}
-\newcommand{\lecturer}[1]{
- \renewcommand{\@lectureri}{#1}
- \ifx\@qrlectureri\@emptymacro
- \renewcommand\@qrlectureri{#1}
- \fi
+%<*ct|ex>
+\ExplSyntaxOn
+\seq_new:N \g_@@_lecturers
+\cs_new:Nn \@@_addlecturer:n {
+ \seq_gpush:Nn \g_@@_lecturers { #1 }
}
-\newcommand{\qrlecturer}[1]{
- \renewcommand\@qrlectureri{#1}
+\NewDocumentCommand{\lecturer}{m}{
+ \@@_addlecturer:n { #1 }
}
-\newcommand{\lectureri}[1]{
- \renewcommand{\@lectureri}{#1}
- \ifx\@qrlectureri\@emptymacro
- \renewcommand\@qrlectureri{#1}
- \fi
-}
-\newcommand{\qrlectureri}[1]{
- \renewcommand\@qrlectureri{#1}
-}
-\newcommand{\lecturerii}[1]{
- \renewcommand{\@lecturerii}{#1}
- \ifx\@qrlecturerii\@emptymacro
- \renewcommand\@qrlecturerii{#1}
- \fi
+\NewDocumentCommand{\jointlecturers}{m}{
+ \seq_use:Nn \g_@@_lecturers { #1 }
}
-\newcommand{\qrlecturerii}[1]{
- \renewcommand\@qrlecturerii{#1}
+\NewDocumentCommand{\lecturersname}{}{
+ \if_int_compare:w \seq_count:N \g_@@_lecturers > 1
+ \uantwerpendocsprop{lecturersname}
+ \else:
+ \uantwerpendocsprop{lecturername}
+ \fi:
}
-\newcommand{\lectureriii}[1]{
- \renewcommand{\@lectureriii}{#1}
- \ifx\@qrlectureriii\@emptymacro
- \renewcommand\@qrlectureriii{#1}
- \fi
-}
-\newcommand{\qrlectureriii}[1]{
- \renewcommand\@qrlectureriii{#1}
-}
-\newcommand{\lectureriv}[1]{
- \renewcommand{\@lectureriv}{#1}
- \ifx\@qrlectureriv\@emptymacro
- \renewcommand\@qrlectureriv{#1}
- \fi
-}
-\newcommand{\qrlectureriv}[1]{
- \renewcommand\@qrlectureriv{#1}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_lecturers
}
-%</ct>
+
+\ExplSyntaxOff
+%</ct|ex>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\extra}
+% The |extra| tag allows to specify some extra comment (e.g. the
+% nature of the document) in the bottom bar on the title page).
+% \begin{macrocode}
+%<*rp>
+\newcommand\@extra{}
+\newcommand\extra[1]{\renewcommand\@extra{#1}}
+%</rp>
% \end{macrocode}
% \end{macro}
%
@@ -2301,38 +2550,59 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \begin{macro}{\affiliation}
% The |affiliation| tag allows to specify the affiliation of the author.
% \begin{macrocode}
-%<*pt>
-\newcommand\@affiliation{\errmessage{Please, define the affiliation of
- the author using the \textbackslash{}affiliation command in the
- preamble of your document.}}
+%<*pt|rp>
+\newcommand\@affiliation{
+ \PackageError{uantwerpendocs}
+ {Please, define the affiliation of the author using the
+ '\protect\affiliation{}' command in the preamble of your
+ document.}
+ {See the uantwerpendocs manual}
+}
\newcommand\affiliation[1]{\renewcommand\@affiliation{#1}}
-%</pt>
+%</pt|rp>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\supervisor}
-% This macro sets many |\@supervisor| tags (max. 4) that later will be used on
-% the title page.
+% This macro allows to specify one or more supervisors with their
+% affiliation. This can be done by invoking the macro as many times
+% as needed.
+% Note that as of v4.0 all supervisors are specified using the same
+% macro!
% \begin{macrocode}
%<*bmt|pt>
-\newcommand\@supervisori{\errmessage{Please define a supervisor of
- your thesiswork using the \textbackslash{}supervisori to iv
- commands} in the preamble of your document.}
-\newcommand\@supervisoriaff{}
-\newcommand\@supervisorii{}
-\newcommand\@supervisoriiaff{}
-\newcommand\@supervisoriii{}
-\newcommand\@supervisoriiiaff{}
-\newcommand\@supervisoriv{}
-\newcommand\@supervisorivaff{}
-\newcommand{\supervisori}[2]{
- \renewcommand\@supervisori{#1}\renewcommand\@supervisoriaff{#2}}
-\newcommand{\supervisorii}[2]{
- \renewcommand\@supervisorii{#1}\renewcommand\@supervisoriiaff{#2}}
-\newcommand{\supervisoriii}[2]{
- \renewcommand\@supervisoriii{#1}\renewcommand\@supervisoriiiaff{#2}}
-\newcommand{\supervisoriv}[2]{
- \renewcommand\@supervisoriv{#1}\renewcommand\@supervisorivaff{#2}}
+\ExplSyntaxOn
+
+\seq_new:N \g_@@_supervisors
+\seq_new:N \g_@@_supervisorswithaffiliation
+\cs_new:Nn \@@_addsupervisor:nn {
+ \seq_gpush:Nn \g_@@_supervisors { #1 }
+ \seq_gpush:Nn \g_@@_supervisorswithaffiliation { #1,~#2 }
+}
+\NewDocumentCommand{\supervisor}{mm}{
+ \@@_addsupervisor:nn { #1 } { #2 }
+}
+\NewDocumentCommand{\jointsupervisors}{m}{
+ \seq_use:Nn \g_@@_supervisors { #1 }
+}
+\NewDocumentCommand{\jointsupervisorswithaffiliation}{m}{
+ \seq_use:Nn \g_@@_supervisorswithaffiliation { #1 }
+}
+\NewDocumentCommand{\supervisorsname}{}{
+ \if_int_compare:w \seq_count:N \g_@@_supervisors > 1
+ \uantwerpendocsprop{supervisorsname}
+ \else:
+ \if_int_compare:w \seq_count:N \g_@@_supervisors = 1
+ \uantwerpendocsprop{supervisorname}
+ \else:
+ \fi:
+ \fi:
+}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_supervisors
+ \seq_greverse:N \g_@@_supervisorswithaffiliation
+}
+\ExplSyntaxOff
%</bmt|pt>
% \end{macrocode}
% \end{macro}
@@ -2342,289 +2612,173 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the data page.
% \begin{macrocode}
%<*pt>
-\newcommand{\@jurychairman}{\errmessage{Please define a chairman of the jurya
- using the \textbackslash{}jurychairman command in the preamble of
- your document.}}
-\newcommand{\@jurychairmanaff}{}
-\newcommand{\jurychairman}[2]{
- \renewcommand{\@jurychairman}{#1}\renewcommand{\@jurychairmanaff}{#2}}
+\newcommand*{\@jurychairman}{
+ \PackageError{uantwerpendocs}
+ {Please, define a chairman of the jury using the
+ '\protect\jurychairman{}' command in the preamble of your
+ document.}
+ {See the uantwerpendocs manual}
+}
+\newcommand*{\@jurychairmanaff}{}
+\newcommand*{\jurychairman}[2]{
+ \renewcommand*{\@jurychairman}{#1}\renewcommand*{\@jurychairmanaff}{#2}}
%</pt>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\jurymember}
-% This macro sets many |\@jurymember| tags (max. 6) that later will be used on
-% the data page.
+% This macro allows for the registration of jury members and their
+% affiliation. This can be done by invoking the macro as many times
+% as needed.
+% Note that as of v4.0 all jurymembers are specified using the same
+% macro!
+%
% \begin{macrocode}
-%<*pt>
-\newcommand{\@jurymemberi}{\errmessage{Please define jury members
- using the \textbackslash{}jurymemberi to vi commands in the
- preamble of your document.}}
-\newcommand\@jurymemberiaff{}
-\newcommand\@jurymemberii{}
-\newcommand\@jurymemberiiaff{}
-\newcommand\@jurymemberiii{}
-\newcommand\@jurymemberiiiaff{}
-\newcommand\@jurymemberiv{}
-\newcommand\@jurymemberivaff{}
-\newcommand\@jurymemberv{}
-\newcommand\@jurymembervaff{}
-\newcommand\@jurymembervi{}
-\newcommand\@jurymemberviaff{}
-\newcommand{\jurymemberi}[2]{
- \renewcommand\@jurymemberi{#1}\renewcommand\@jurymemberiaff{#2}}
-\newcommand{\jurymemberii}[2]{
- \renewcommand\@jurymemberii{#1}\renewcommand\@jurymemberiiaff{#2}}
-\newcommand{\jurymemberiii}[2]{
- \renewcommand\@jurymemberiii{#1}\renewcommand\@jurymemberiiiaff{#2}}
-\newcommand{\jurymemberiv}[2]{
- \renewcommand\@jurymemberiv{#1}\renewcommand\@jurymemberivaff{#2}}
-\newcommand{\jurymemberv}[2]{
- \renewcommand\@jurymemberv{#1}\renewcommand\@jurymembervaff{#2}}
-\newcommand{\jurymembervi}[2]{
- \renewcommand\@jurymembervi{#1}\renewcommand\@jurymemberviaff{#2}}
+%<*pt>
+\ExplSyntaxOn
+\seq_new:N \g_@@_jurymemberswithaffiliation
+\cs_new:Nn \@@_addjurymember:nn {
+ \seq_gpush:Nn \g_@@_jurymemberswithaffiliation { #1,~#2 }
+}
+\NewDocumentCommand{\jurymember}{mm}{
+ \@@_addjurymember:nn { #1 } { #2 }
+}
+\NewDocumentCommand{\jointjurymembers}{m}{
+ \seq_use:Nn \g_@@_jurymemberswithaffiliation { #1 }
+}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_jurymemberswithaffiliation
+}
+\ExplSyntaxOff
%</pt>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\phddegree}
-% This macro sets the |\@phddegree| tag that later will
-% be used on the title pages.
+% This macro has been discontinued. Use |\degree| instead.
%
% \begin{macrocode}
%<*pt>
-\newcommand\@phddegree{\errmessage{Please, specify the offical PhD
- degree description using the \textbackslash{}phddegree macro in
- the preamble of your document.}}
-\newcommand\phddegree[1]{\renewcommand\@phddegree{#1}}
+\newcommand*\phddegree{
+ \PackageError{uantwerpendocs}
+ {The '\protect\phddegree{}' macro is no longer available. Use
+ '\protect\degree{}' instead}
+ {The interface of uantwerpendocs 4.0 has been changed. Use the
+ '\protect\degree' macro to specify your degree in full text (see
+ the uantwerpendocs manual)'}
+}
%</pt>
+%
+%
+% \begin{macro}{\degree}
+% This macro sets the |\@degree| tag that later will
+% be used on the title pages.
+%
+% \begin{macrocode}
+%<*bmt|pt|ct|ex>
+\newcommand*\@degree{
+ \PackageError{uantwerpendocs}
+ {Please, specify the offical degree description using
+ the '\protect\degree{}' macro in the preamble of your document.}
+ {See the uantwerpendocs manual}
+}
+\newcommand*\degree[1]{\renewcommand*\@degree{#1}}
+%</bmt|pt|ct|ex>
% \end{macrocode}
% \end{macro}
%
%
% \begin{macro}{\programme}
-% This macro sets the |\@programme| tags that later will
-% be used on the title page. The involved way of repeatedly calling
-% the renewcommand to set the tags is required for inclusion of the
-% data as QR data.
+% This macro is no longer in use.
+%
+% \changes{v2.5}{}{Shortened 'voorbereidingsprogramma' and
+% 'schakelprogramma' tags}
+% \changes{v4.0}{}{Discontinued, use |\textbackslash{}degree\{\}| instead}
%
-% \changes{v2.5}{}{Shortened 'voorbereidingsprogramma' and 'schakelprogramma' tags}
% \begin{macrocode}
%<*ct|pt|ex>
-\newcommand{\@programmet}{} % type
-\newcommand{\@programmec}{} % class
-\newcommand{\@programmecqr}{} % class for qr code
-\newcommand{\@programmes}{} % class
-\newcommand{\@programmeq}{} % qualifier
-\newcommand{\programme}[3]{%
- \ifthenelse{\equal{#1}{BA}}%
- {\renewcommand{\@programmet}{Bachelor of Science in de }}{%
- \ifthenelse{\equal{#1}{MA}}%
- {\renewcommand{\@programmet}{Master of Science in de }}{%
- \ifthenelse{\equal{#1}{PHD}}%
- {\renewcommand{\@programmet}{Doctor in de }}{%
- \ifthenelse{\equal{#1}{VP}}%
- {\renewcommand{\@programmet}{Voorbereidingsprogramma in de }}{%
- \ifthenelse{\equal{#1}{SP}}%
- {\renewcommand{\@programmet}{Schakelprogramma in de }}{%
- \ifthenelse{\equal{#1}{FREE}}%
- {}{
- \errmessage{Error in 1st arg of macro programme[3]: invalid
- programme type!}}}}}}}%
- %
- \ifthenelse{\equal{#2}{IW}}%
- {\renewcommand{\@programmec}{industri\"ele wetenschappen}
- \renewcommand{\@programmecqr}{industriële wetenschappen}}{
- \ifthenelse{\equal{#2}{}}%
- {}{
- \errmessage{{Error in 2nd arg of macro programme[3]: invalid
- programme class! }}}}%
- %
- \ifthenelse{\equal{#3}{BK}}%
- {\renewcommand{\@programmeq}{Bouwkunde}}{%
- \ifthenelse{\equal{#3}{CH}}%
- {\renewcommand{\@programmeq}{Chemie}}{%
- \ifthenelse{\equal{#3}{BCH}}%
- {\renewcommand{\@programmeq}{Biochemie}}{%
- \ifthenelse{\equal{#3}{EM}}%
- {\renewcommand{\@programmeq}{Elektromechanica}}{%
- \ifthenelse{\equal{#3}{EI}}%
- {\renewcommand{\@programmeq}{Elektronica-ICT}}{%
- \ifthenelse{\equal{#3}{}}%
- {}{%
- \ifthenelse{\equal{#1}{FREE}}
- {\renewcommand{\@programmeq}{#3}}{
- \errmessage{Error in 3rd arg to macro programme[3]: invalid
- programme qualifier}}}}}}}}%
- %
- \ifthenelse{\equal{#2}{IW}\and\not\equal{#3}{}}
- {\renewcommand{\@programmes}{: }}{}
+\newcommand*{\programme}[3]{
+ \PackageError{uantwerpendocs}
+ {The '\protect\programme{}{}{}' macro is no longer available. Use
+ '\protect\degree{}' instead}
+ {The interface of uantwerpendocs 4.0 has been changed. Use the
+ '\protect\degree' macro to specify your degree in full text (see
+ the uantwerpendocs manual)'}
}
%</ct|pt|ex>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\course}
-% Four the |coursetext| class, this macro sets many |\@coursecode|
-% and |\@course| tags (max. 4) that later will be used on the title
-% page. If there is only one course code one can use the convenient
-% shorthand without counter.
+% Four the |coursetext| class, this macro sets one or more
+% courses.
+% and |\@course| tags that later will be used on the title
+% page.
+% Note that as of v4.0 all courses are specified using the same
+% macro!
% \begin{macrocode}
-%<*ct>
-\newcommand{\@coursecodei}{}
-\newcommand{\@coursecodeii}{}
-\newcommand{\@coursecodeiii}{}
-\newcommand{\@coursecodeiv}{}
-\newcommand{\@coursei}{}
-\newcommand{\@courseii}{}
-\newcommand{\@courseiii}{}
-\newcommand{\@courseiv}{}
-\newcommand{\@qrcoursei}{}
-\newcommand{\@qrcourseii}{}
-\newcommand{\@qrcourseiii}{}
-\newcommand{\@qrcourseiv}{}
-\newcommand{\course}[2]{
- \renewcommand{\@coursecodei}{#1}
- \renewcommand{\@coursei}{#2}
- \ifx\@qrcoursei\@emptymacro
- \renewcommand{\@qrcoursei}{#2}
- \fi
-}
-\newcommand{\qrcourse}[1]{
- \renewcommand{\@qrcoursei}{#1}
-}
-\newcommand{\coursei}[2]{
- \renewcommand{\@coursecodei}{#1}
- \renewcommand{\@coursei}{#2}
- \ifx\@qrcoursei\@emptymacro
- \renewcommand{\@qrcoursei}{#2}
- \fi
-}
-\newcommand{\qrcoursei}[1]{
- \renewcommand{\@qrcoursei}{#1}
-}
-\newcommand{\courseii}[2]{
- \renewcommand{\@coursecodeii}{#1}
- \renewcommand{\@courseii}{#2}
- \ifx\@qrcourseii\@emptymacro
- \renewcommand{\@qrcourseii}{#2}
- \fi
-}
-\newcommand{\qrcourseii}[1]{
- \renewcommand{\@qrcourseii}{#1}
-}
-\newcommand{\courseiii}[2]{
- \renewcommand{\@coursecodeiii}{#1}
- \renewcommand{\@courseiii}{#2}
- \ifx\@qrcourseiii\@emptymacro
- \renewcommand{\@qrcourseiii}{#2}
- \fi
-}
-\newcommand{\qrcourseiii}[1]{
- \renewcommand{\@qrcourseiii}{#1}
-}
-\newcommand{\courseiv}[2]{
- \renewcommand{\@coursecodeiv}{#1}
- \renewcommand{\@courseiv}{#2}
- \ifx\@qrcourseiv\@emptymacro
- \renewcommand{\@qrcourseiv}{#2}
- \fi
+%<*ct>
+\newcommand*\coursei[2]{
+ PackageError{uantwerpendocs}
+ {The '\protect\coursei{}' macro is no longer available. Use
+ '\protect\course{}' instead (multiple times if you need to)}
+ {The interface of uantwerpendocs 4.0 has been changed. Use the
+ '\protect\course macro instead of the \protect\coursei,
+ \protect\courseii, \protect\courseiii and \protect\courseiv macros
+ that existed earlier (see
+ the uantwerpendocs manual)'}
+}
+\ExplSyntaxOn
+\seq_new:N \g_@@_courseswithcodes
+\cs_new:Nn \@@_addcourse:nn {
+ \seq_gpush:Nn \g_@@_courseswithcodes{ \texttt{#1}~#2 }
+}
+\NewDocumentCommand{\course}{mm}{
+ \@@_addcourse:nn { #1 } { #2 }
+}
+\NewDocumentCommand{\jointcourseswithcodes}{m}{
+ \seq_use:Nn \g_@@_courseswithcodes { #1 }
}
-\newcommand{\qrcourseiv}[1]{
- \renewcommand{\@qrcourseiv}{#1}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_courseswithcodes
}
+\ExplSyntaxOff
%</ct>
-% \end{macrcode}
+% \end{macrocode}
% For the |exam| class (assuming that an exam only holds for a
% single course), the situation is simple and we assume only a
-% single coursecode and course name. We also don't need any of the
-% QR stamp stuff.
+% single coursecode and course name.
% \begin{macrocode}
%<*ex>
-\newcommand{\@coursecodei}{}
-\newcommand{\@coursei}{}
-\newcommand{\course}[2]{
- \renewcommand{\@coursecodei}{#1}
- \renewcommand{\@coursei}{#2}
+\newcommand*{\@coursecode}{}
+\newcommand*{\@course}{}
+\newcommand*{\course}[2]{
+ \renewcommand*{\@coursecode}{#1}
+ \renewcommand*{\@course}{#2}
}
%</ex>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\diploma}
-% This macro sets the |\@diplomalevel| and |\@diploma| tags that
-% later will be used on the title page.
+% This macro sets the official diploma description into the
+% |\@diploma| tag that later will be used on the title page.
% \changes{v1.1}{2013/05/21}{Fixed typo on programme's name
% (e-umlaut)}
% \changes{v1.6}{2016/02/04}{Added diploma codes}
% \changes{v2.3}{2019/03/27}{Added diploma level}
-% \changes{v2.4}{2019/04/10}{Added code for Master EM without specialization}
+% \changes{v2.4}{2019/04/10}{Added code for Master EM without
+% specialization}
+% \changes{v4.0}{2021/07/11}{Discontinued: removed all diploma codes}
% \begin{macrocode}
%<*bmt|pt>
-\newcommand{\@diplomalevel}{ERROR}
-\newcommand{\@diploma}{ERROR}
-\newcommand{\diploma}[1]{
- \newcommand{\MoS}{Master of Science}
- \newcommand{\MoSIW}{Master of Science in de industri\"ele wetenschappen}
- \newcommand{\BoSIW}{Bachelor of Science in de industri\"ele wetenschappen}
- \newcommand{\MoSTEW}{Master of Science in de toegepaste economische wetenschappen}
- \renewcommand{\@diploma}{
- \ifthenelse{\equal{#1}{BA-IW-BK}}
- {\BoSIW: bouwkunde}{
- \ifthenelse{\equal{#1}{BA-IW-BCH}}
- {\BoSIW: biochemie}{
- \ifthenelse{\equal{#1}{BA-IW-CH}}
- {\BoSIW: chemie}{
- \ifthenelse{\equal{#1}{BA-IW-EI}}
- {\BoSIW: elektronica-ICT}{
- \ifthenelse{\equal{#1}{BA-IW-EM}}
- {\BoSIW: elektromechanica}{
- \ifthenelse{\equal{#1}{MA-IW-BK}}
- {\MoSIW: bouwkunde}{
- \ifthenelse{\equal{#1}{MA-IW-BCH}}
- {\MoSIW: biochemie}{
- \ifthenelse{\equal{#1}{MA-IW-CH}}
- {\MoSIW: chemie}{
- \ifthenelse{\equal{#1}{MA-IW-EI}}
- {\MoSIW: elektronica-ICT}{
- \ifthenelse{\equal{#1}{MA-IW-EI-CPS}}
- {\MoSIW:\\elektronica-ICT, optie
- Cyber-Physical Systems}{
- \ifthenelse{\equal{#1}{MA-IW-EI-IOT}}
- {\MoSIW:\\elektronica-IOT, optie Internet of
- Things}{
- \ifthenelse{\equal{#1}{MA-IW-EI-DAI}}
- {\MoSIW:\\elektronica-IOT, optie Distributed
- Artificial Intelligence}{
- \ifthenelse{\equal{#1}{MA-IW-EM-OE}}
- {\MoSIW:\\elektromechanica, optie Offshore
- Engineering}{
- \ifthenelse{\equal{#1}{MA-IW-EM-EN}}
- {\MoSIW:\\elektromechanica, optie Energie}{
- \ifthenelse{\equal{#1}{MA-IW-EM-OP}}
- {\MoSIW:\\elektromechanica, optie Ontwerp en
- Productie}{
- \ifthenelse{\equal{#1}{MA-IW-EM-AU}}
- {\MoSIW:\\elektromechanica, optie Automatisering}{
- \ifthenelse{\equal{#1}{MA-IW-EM}}
- {\MoSIW:\\elektromechanica}{
- \ifthenelse{\equal{#1}{MA-BE-HI}}
- {\MoS handelsingenieur}{
- \ifthenelse{\equal{#1}{MA-BE-HIBI}}
- {\MoS handelsingenieur in de beleidsinformatica}{
- \ifthenelse{\equal{#1}{MA-BE-EB}}
- {\MoSTEW: economisch beleid}{
- \ifthenelse{\equal{#1}{MA-BE-BK}}
- {\MoSTEW: bedrijfskunde}
- {\errmessage{Error in argument to macro diploma: must be one of
- BA-IW-XXX with XXX one of BK, BCH, CH, EI or EM, or MA-IW-XXX
- with XXX one of BK, BCH, CH, EI, EI-CPS, EI-IOT, EI-DAI,
- EM-OE, EM-AU, EM-OP, EM-EN, MA-BE-YYY with YYY one of HI,
- HIBI, EB, BK! <<}}}}}}}}}}}}}}}}}}}}}}
- }
- \newcommand\thesisname{ERROR}
- \IfSubStr{#1}{MA-}{\renewcommand\thesisname{\masterthesisname}}{}
- \IfSubStr{#1}{BA-}{\renewcommand\thesisname{\bachelorthesisname}}{}
+\newcommand*{\diploma}[1]{
+ \PackageError{uantwerpendocs}
+ {The '\protect\diploma{}' macro is no longer available. Use
+ '\protect\degree{}' instead}
+ {The interface of uantwerpendocs 4.0 has been changed. Use the
+ '\protect\degree' macro to specify your degree in full text (see
+ the uantwerpendocs manual)'}
}
%</bmt|pt>
% \end{macrocode}
@@ -2635,8 +2789,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% be used on the title page.
% \begin{macrocode}
%<*bmt|pt>
-\newcommand\@defensedate{ERROR}
-\newcommand{\defensedate}[1]{\renewcommand\@defensedate{#1}}
+\newcommand*\@defensedate{ERROR}
+\newcommand*{\defensedate}[1]{\renewcommand*\@defensedate{#1}}
%</bmt|pt>
% \end{macrocode}
% \end{macro}
@@ -2646,8 +2800,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% be used on the title page.
% \begin{macrocode}
%<*bmt|pt>
-\newcommand\@defenselocation{Antwerpen}
-\newcommand{\defenselocation}[1]{\renewcommand\@defenselocation{#1}}
+\newcommand*\@defenselocation{Antwerpen}
+\newcommand*{\defenselocation}[1]{\renewcommand*\@defenselocation{#1}}
%</bmt|pt>
% \end{macrocode}
% \end{macro}
@@ -2657,10 +2811,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% This macro sets the |\@titlepageimage| tags that later will
% be used on the title page, to include the graphics.
% \begin{macrocode}
-%<*pt>
-\newcommand\@titlepageimage{}
-\newcommand\titlepageimage[1]{\renewcommand\@titlepageimage{#1}}
-%</pt>
+%<*ct|pt|rp>
+\newcommand*\@titlepageimage{}
+\newcommand*\titlepageimage[1]{\renewcommand*\@titlepageimage{#1}}
+%</ct|pt|rp>
% \end{macrocode}
% \end{macro}
%
@@ -2671,8 +2825,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% don't specify one (i.e. don't use this macro).
% \begin{macrocode}
%<*pt>
-\newcommand{\@isbn}{}
-\newcommand{\isbn}[1]{\renewcommand{\@isbn}{#1}}
+\newcommand*{\@isbn}{}
+\newcommand*{\isbn}[1]{\renewcommand*{\@isbn}{#1}}
%</pt>
% \end{macrocode}
% \end{macro}
@@ -2685,8 +2839,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% don't specify one (i.e. don't use this macro).
% \begin{macrocode}
%<*pt>
-\newcommand{\@depot}{}
-\newcommand{\depot}[1]{\renewcommand{\@depot}{#1}}
+\newcommand*{\@depot}{}
+\newcommand*{\depot}[1]{\renewcommand*{\@depot}{#1}}
%</pt>
% \end{macrocode}
% \end{macro}
@@ -2697,8 +2851,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the title page.
% \begin{macrocode}
%<*ct|bmt|ex>
-\newcommand{\@academicyear}{XXX-YYYY}
-\newcommand{\academicyear}[1]{\renewcommand{\@academicyear}{#1}}
+\newcommand*{\@academicyear}{XXX-YYYY}
+\newcommand*{\academicyear}[1]{\renewcommand*{\@academicyear}{#1}}
%</ct|bmt|ex>
% \end{macrocode}
% \end{macro}
@@ -2707,10 +2861,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% This macro sets the |\@copyrightnotices| tag that later will be
% used on the back of the title page.
% \begin{macrocode}
-%<*ct>
+%<*ct|rp>
\newcommand{\@copyrightnotices}{}
\newcommand{\copyrightnotices}[1]{\renewcommand{\@copyrightnotices}{#1}}
-%</ct>
+%</ct|rp>
% \end{macrocode}
% \end{macro}
%
@@ -2719,10 +2873,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% used in the letter's heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@sender}{< Specify sender using
+\newcommand*{\@sender}{< Specify sender using
\textbackslash{}sender\{name\}\{role\} >}
-\newcommand{\@senderrole}{~}
-\newcommand{\sender}[2]{\renewcommand{\@sender}{#1}\renewcommand{\@senderrole}{#2}}
+\newcommand*{\@senderrole}{~}
+\newcommand*{\sender}[2]{\renewcommand*{\@sender}{#1}\renewcommand*{\@senderrole}{#2}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2732,7 +2886,7 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% graphics file with that name.
% \begin{macrocode}
%<*le|ex>
-\newcommand{\logo}[1]{\renewcommand{\@logo}{#1}}
+\newcommand*{\logo}[1]{\renewcommand*{\@logo}{#1}}
%</le|ex>
% \end{macrocode}
% \end{macro}
@@ -2742,8 +2896,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@unit}{}
-\newcommand{\unit}[1]{\renewcommand{\@unit}{#1}}
+\newcommand*{\@unit}{}
+\newcommand*{\unit}[1]{\renewcommand*{\@unit}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2754,9 +2908,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% was used to overcome problems with the |@| sign.
% \begin{macrocode}
%<*le>
-\newcommand{\@emailuser}{}
-\newcommand{\@emaildomain}{}
-\newcommand{\email}[2]{\renewcommand{\@emailuser}{#1}\renewcommand{\@emaildomain}{#2}}
+\newcommand*{\@emailuser}{}
+\newcommand*{\@emaildomain}{}
+\newcommand*{\email}[2]{\renewcommand*{\@emailuser}{#1}\renewcommand*{\@emaildomain}{#2}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2766,8 +2920,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@phone}{}
-\newcommand{\phone}[1]{\renewcommand{\@phone}{#1}}
+\newcommand*{\@phone}{}
+\newcommand*{\phone}[1]{\renewcommand*{\@phone}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2777,8 +2931,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@fax}{}
-\newcommand{\fax}[1]{\renewcommand{\@fax}{#1}}
+\newcommand*{\@fax}{}
+\newcommand*{\fax}[1]{\renewcommand*{\@fax}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2789,8 +2943,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@mobile}{}
-\newcommand{\mobile}[1]{\renewcommand{\@mobile}{#1}}
+\newcommand*{\@mobile}{}
+\newcommand*{\mobile}[1]{\renewcommand*{\@mobile}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2801,8 +2955,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text (in the area of the envelope's window).
% \begin{macrocode}
%<*le>
-\newcommand{\@returnaddress}{<specify return-address using \textbackslash\{single-line-return-address\}>}
-\renewcommand{\returnaddress}[1]{\renewcommand{\@returnaddress}{#1}}
+\newcommand*{\@returnaddress}{<specify return-address using \textbackslash\{single-line-return-address\}>}
+\renewcommand*{\returnaddress}[1]{\renewcommand*{\@returnaddress}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2813,8 +2967,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% heading text (in the area of the envelope's window).
% \begin{macrocode}
%<*le>
-\newcommand{\@to}{<Specify addressee using \textbackslash{}to\{name\}>}
-\renewcommand{\to}[1]{\renewcommand{\@to}{#1}}
+\newcommand*{\@to}{<Specify addressee using \textbackslash{}to\{name\}>}
+\renewcommand*{\to}[1]{\renewcommand*{\@to}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2825,9 +2979,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the letter's heading text (in the area of the envelope's window).
% \begin{macrocode}
%<*le>
-\newcommand{\@toorganization}{<Specify organization using
+\newcommand*{\@toorganization}{<Specify organization using
\textbackslash{}toorganization\{\}>}
-\newcommand{\toorganization}[1]{\renewcommand{\@toorganization}{#1}}
+\newcommand*{\toorganization}[1]{\renewcommand*{\@toorganization}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2837,9 +2991,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the letter's heading text (in the area of the envelope's window).
% \begin{macrocode}
%<*le>
-\newcommand{\@toaddress}{<Specify (multiline) destination
+\newcommand*{\@toaddress}{<Specify (multiline) destination
address\\using \textbackslash{}toaddress\{\}>}
-\newcommand{\toaddress}[1]{\renewcommand{\@toaddress}{#1}}
+\newcommand*{\toaddress}[1]{\renewcommand*{\@toaddress}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2849,8 +3003,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the letter's heading text.
% \begin{macrocode}
%<*le>
-\newcommand{\@subject}{-}
-\newcommand*{\subject}[1]{\renewcommand{\@subject}{#1}}
+\newcommand*{\@subject}{-}
+\newcommand*{\subject}[1]{\renewcommand*{\@subject}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2870,9 +3024,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the letter.
% \begin{macrocode}
%<*le>
-\newcommand{\@closing}{<specify a closing formula using
+\newcommand*{\@closing}{<specify a closing formula using
\textbackslash{}closing\{\}>}
-\renewcommand*{\closing}[1]{\renewcommand{\@closing}{#1}}
+\renewcommand*{\closing}[1]{\renewcommand*{\@closing}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2884,8 +3038,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% vertical white space
% \begin{macrocode}
%<*le>
-\newcommand{\@signature}{\vspace*{8ex}}
-\renewcommand*{\signature}[1]{\renewcommand{\@signature}{#1}}
+\newcommand*{\@signature}{\vspace*{8ex}}
+\renewcommand*{\signature}[1]{\renewcommand*{\@signature}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2896,8 +3050,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the trailer of the letter.
% \begin{macrocode}
%<*le>
-\newcommand{\@carboncopy}{}
-\newcommand{\carboncopy}[1]{\renewcommand{\@carboncopy}{#1}}
+\newcommand*{\@carboncopy}{}
+\newcommand*{\carboncopy}[1]{\renewcommand*{\@carboncopy}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2907,8 +3061,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the trailer of the letter.
% \begin{macrocode}
%<*le>
-\newcommand{\@enclosed}{}
-\newcommand{\enclosed}[1]{\renewcommand{\@enclosed}{#1}}
+\newcommand*{\@enclosed}{}
+\newcommand*{\enclosed}[1]{\renewcommand*{\@enclosed}{#1}}
%</le>
% \end{macrocode}
% \end{macro}
@@ -2917,13 +3071,17 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% This macro will set the |\@address| tag that will be used in
% the letter's heading text (in the area of the envelope's window).
% \begin{macrocode}
-%<*pt|le>
-\newcommand{\@address}{\errmessage{Please, set your multi-line address
- and contact details using the \textbackslash{}address\{\} command
- in the preamble of your document}}
-%</pt|le>
-%<le>\renewcommand{\address}[1]{\renewcommand{\@address}{#1}}
-%<pt>\newcommand{\address}[1]{\renewcommand{\@address}{#1}}
+%<*pt|rp|le>
+\newcommand*{\@address}{
+ \PackageError{uantwerpendocs}
+ {Please, set your multi-line address and contact details using the
+ '\protect\address{}' command in the preamble of your document}
+ {See the uantwerpendocs manual}
+}
+%</pt|rp|le>
+%
+%<pt|rp>\newcommand*{\address}[1]{\renewcommand*{\@address}{#1}}
+%<le>\renewcommand*{\address}[1]{\renewcommand*{\@address}{#1}}
% \end{\macrocode}
% \end{macro}
%
@@ -2932,8 +3090,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@exampart}{}
-\newcommand{\exampart}[1]{\renewcommand{\@exampart}{#1}}
+\newcommand*{\@exampart}{}
+\newcommand*{\exampart}[1]{\renewcommand*{\@exampart}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
@@ -2943,8 +3101,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@examgroupnumber}{}
-\newcommand{\examgroupnumber}[1]{\renewcommand{\@examgroupnumber}{#1}}
+\newcommand*{\@examgroupnumber}{}
+\newcommand*{\examgroupnumber}[1]{\renewcommand*{\@examgroupnumber}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
@@ -2954,8 +3112,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@examdate}{TBD}
-\newcommand{\examdate}[1]{\renewcommand{\@examdate}{#1}}
+\newcommand*{\@examdate}{TBD}
+\newcommand*{\examdate}[1]{\renewcommand*{\@examdate}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
@@ -2965,8 +3123,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@examlength}{TBD}
-\newcommand{\examlength}[1]{\renewcommand{\@examlength}{#1}}
+\newcommand*{\@examlength}{TBD}
+\newcommand*{\examlength}[1]{\renewcommand*{\@examlength}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
@@ -2976,8 +3134,8 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@tstart}{TBD}
-\newcommand{\tstart}[1]{\renewcommand{\@tstart}{#1}}
+\newcommand*{\@tstart}{TBD}
+\newcommand*{\tstart}[1]{\renewcommand*{\@tstart}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
@@ -2987,19 +3145,40 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@tend}{TBD}
-\newcommand{\tend}[1]{\renewcommand{\@tend}{#1}}
+\newcommand*{\@tend}{TBD}
+\newcommand*{\tend}[1]{\renewcommand*{\@tend}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\rooms}
+% \begin{macro}{\room}
% This macro will set the |\@rooms| tag that will be used on
% the exam title page.
% \begin{macrocode}
%<*ex>
-\newcommand{\@rooms}{TBD}
-\newcommand{\rooms}[1]{\renewcommand{\@rooms}{#1}}
+\ExplSyntaxOn
+\seq_new:N \g_@@_rooms
+\cs_new:Nn \@@_addroom:n {
+ \seq_gpush:Nn \g_@@_rooms { #1 }
+}
+\NewDocumentCommand{\room}{m}{
+ \@@_addroom:n { #1 }
+}
+\NewDocumentCommand{\jointrooms}{m}{
+ \seq_use:Nn \g_@@_rooms { #1 }
+}
+\NewDocumentCommand{\roomsname}{}{
+ \if_int_compare:w \seq_count:N \g_@@_rooms > 1
+ \uantwerpendocsprop{roomsname}
+ \else:
+ \uantwerpendocsprop{roomname}
+ \fi:
+}
+\AtBeginDocument{
+ \seq_greverse:N \g_@@_rooms
+}
+
+\ExplSyntaxOff
%</ex>
% \end{macrocode}
% \end{macro}
@@ -3032,8 +3211,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\renewcommand{\@extrainfo}{#2}
}
{
- \errmessage{Error: '\extrainfo' - first (optional) argument can
+ \PackageError{uantwerpendocs}
+ {The first (optional) argument of '\protect\extrainfo' can
only be 'separatepage' or 'firstpage'}
+ {See the uantwerpendocs manual)'}
}
}
}
@@ -3047,22 +3228,22 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% header of the pages.
% \begin{macrocode}
%<*ex>
-\newcommand{\@studentnr}{0}
-\newcommand{\studentnr}[1]{\renewcommand{\@studentnr}{#1}}
+\newcommand*{\@studentnr}{0}
+\newcommand*{\studentnr}[1]{\renewcommand*{\@studentnr}{#1}}
%</ex>
% \end{macrocode}
% \end{macro}
%
% \subsection{Header and Footer}
% The |fancyhdr| package is used to make a decent header and footer.
-% The header and footer of the |uantwerpencoursetext| class are defined to be:
+% The header and footer of the |coursetext| class are defined to be:
% \begin{macrocode}
%<*ct>
\if@twoside
\lhead[\thepage]{\slshape\rightmark}
\chead[]{}
\rhead[\slshape\leftmark]{\thepage}
-\lfoot[\uaname{} -- \@facultyacronym]{\@courseversion}
+\lfoot[\uantwerpendocsprop{org-ua} -- \@facultyacronym]{\@courseversion}
\cfoot[]{}
\rfoot[]{\@title{}\ifdefvoid{\@subtitle}{}{ --- \@subtitle}}
\else
@@ -3076,10 +3257,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
%</ct>
% \end{macrocode}
%
-% The header and footer of the |uantwerpenbamathesis| class are
+% The header and footer of the |bamathesis| class are
% defined to be:
% \begin{macrocode}
-%<*bmt|pt>
+%<*bmt|pt|rp>
\if@twoside
\lhead[\thepage]{\slshape\rightmark}
\chead[]{}
@@ -3095,10 +3276,10 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\cfoot[]{}
\rfoot[]{}
\fi
-%</bmt|pt>
+%</bmt|pt|rp>
% \end{macrocode}
%
-% The header and footer of the |uantwerpenletter| class are
+% The header and footer of the |letter| class are
% defined to be:
% \begin{macrocode}
%<*le>
@@ -3107,17 +3288,18 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\rhead[]{}
\lfoot[\small\textcolor{gray}{\@date}]{\textcolor{gray}{\@date}}
\cfoot[]{}
-\rfoot[\small\textcolor{gray}{\pagename~\thepage~\orname~\pageref{lastpage}}]
- {\small\textcolor{gray}{\pagename~\thepage~\orname~\pageref{lastpage}}}
+\rfoot[\small\textcolor{gray}{\pagename~\thepage~\uantwerpendocsprop{of}~\pageref{lastpage}}]
+ {\small\textcolor{gray}{\pagename~\thepage~\uantwerpendocsprop{of}~\pageref{lastpage}}}
%</le>
% \end{macrocode}
%
-% The header and footer of the |uantwerpenexam| class are defined to
+% The header and footer of the |exam| class are defined to
% be:
% \begin{macrocode}
%<*ex>
\lhead[]{}
\chead[]{}
+\cfoot[\small \thepage/\pageref{lastpage}]{\small\thepage/\pageref{lastpage}}
\if@examiner
\rhead[\small EXAMINER VERSION]{\small EXAMINER VERSION}
\AddToShipoutPicture{
@@ -3127,10 +3309,6 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\else
\rhead[\small Student nr. \@studentnr]{\small Student nr. \@studentnr}
\fi
-\lfoot[\small \@shorttitle]{\small \@shorttitle}
-\cfoot[\small \thepage/\pageref{lastpage}]{\small\thepage/\pageref{lastpage}}
-\rfoot[\small Groep \@examgroupnumber{} ---
-\@academicyear]{\small Groep \@examgroupnumber{} --- \@academicyear}
%</ex>
% \end{macrocode}
@@ -3141,30 +3319,30 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \begin{macrocode}
%<*ct>
\setlength{\headheight}{13.7pt}
-\renewcommand{\headrulewidth}{1pt}
-\renewcommand{\footrulewidth}{1pt}
+\renewcommand*{\headrulewidth}{1pt}
+\renewcommand*{\footrulewidth}{1pt}
\pagenumbering{arabic}
%</ct>
-%<*mt|pt|le>
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{0pt}
-%</mt|pt|le>
+%<*mt|pt|rp|le>
+\renewcommand*{\headrulewidth}{0pt}
+\renewcommand*{\footrulewidth}{0pt}
+%</mt|pt|rp|le>
%<*ex>
-\renewcommand{\headrulewidth}{0pt}
-\renewcommand{\footrulewidth}{1pt}
+\renewcommand*{\headrulewidth}{0pt}
+
%</ex>
% \end{macrocode}
%
% Remains to take care of filling
%
% \begin{macrocode}
-%<*ct|mt|pt|le>
+%<*ct|mt|pt|rp|le>
\if@filled\else
\raggedright
\fi
\raggedbottom
\onecolumn
-%</ct|mt|pt|le>
+%</ct|mt|pt|rp|le>
% \end{macrocode}
%
% \subsection{Copyright notice}
@@ -3172,19 +3350,21 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \begin{macro}{\@crnotice}
% This is the standard text that will be used for the |\@crnotice| tag.
% \begin{macrocode}
-%<*ct>
+%<*ct|rp>
\newcommand{\@crnotice}{
This document has been typeset using \LaTeX{} and the
- \texttt{uantwerpencoursetext} class.\\
+ \texttt{uantwerpendocs} package.\\
\@copyrightnotices
- \@courseversion
+%</ct|rp>
+%<ct> \@courseversion
+%<*ct|rp>
CONFIDENTIAL AND PROPRIETARY.
- \copyright{} \@versionyear{} University of Antwerp, \arrname.
+ \copyright{} \@versionyear{} \uantwerpendocsprop{org-ua}, \uantwerpendocsprop{arr}.
}
-%</ct>
+%</ct|rp>
% \end{macrocode}
% \end{macro}
%
@@ -3196,7 +3376,7 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% \changes{v2.2}{2018/10/23}{Added white chapter number outline}
% \changes{v2.2}{2018/10/23}{Corrected spacing}
% \begin{macrocode}
-%<*pt>
+%<*pt|rp>
\def\@makechapterhead#1{%
\vspace*{1ex}%
\begin{flushright}
@@ -3236,9 +3416,9 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
\def\appendix{
\setcounter{chapter}{0}
\renewcommand*{\thechapter}{\Alph{chapter}}
- \renewcommand\chaptername\appendixname
+ \renewcommand*\chaptername\appendixname
}
-%</pt>
+%</pt|rp>
% \end{macrocode}
%
% \subsection{Title page for the masterthesis and coursetext clases}
@@ -3247,241 +3427,96 @@ Welk van de onderstaande ingredi\"enten hoort niet thuis in
% book class from which we inherit already defines this command, we
% need to renew it.
%
-% The UAntwerpen house style works with large-radius circles.
-% We need some math in order to calculate center points an radiuses
-%
-% \paragraph{Header circle:} the blue header-circle on top of the
-% page. We calculate the center point and the radius based on:
-% \begin{itemize}
-% \item the fact that the center point is above the page's left edge;
-% \item the distance of the intersection points at the left and right
-% edge of the page with respect to the top of the page, $X$ and $Y$
-% respectively;
-% \item the width of the page $W$.
-% \end{itemize}
-% Some simple trigonometry leads to the elevation of the center point
-% above the top of the page $Q$ and the radius $R$:
-% \begin{eqnarray}
-% R &=& \frac{W^2 + (X-Y)^2}{2(X-Y)}\\
-% Q &=& R - X
-% \end{eqnarray}
-% We labeled the variables in the code below with a prefix
-% |ua@| and a suffix h (from 'header'). We also took the paperheight
-% into account (the page's coordinate system origins at the left
-% bottom.
-%
-% Therefore:
-% \begin{macrocode}
-%<*ct|bmt>
-\pgfmathsetmacro{\ua@Wh}{\paperwidth}
-\pgfmathsetmacro{\ua@Xh}{0.2\paperheight}
-\pgfmathsetmacro{\ua@Yh}{0.125\paperheight}
-\pgfmathsetmacro{\ua@XMYh}{\ua@Xh-\ua@Yh}
-\pgfmathsetmacro{\ua@Rh}{0.5*\ua@Wh/\ua@XMYh*\ua@Wh+0.5*\ua@XMYh}
-\pgfmathsetmacro{\ua@Qh}{\ua@Rh-\ua@Xh+\paperheight}
-%</ct|bmt>
-% \end{macrocode}
-%
-% \paragraph{Bottom circle A:} the bottom circle with the largest
-% radius. We calculate the center point and the radius based on:
-% \begin{itemize}
-% \item the fact that the center point is at a distance of 3/5 page
-% width from the right page edge. We denote that distance by $W$;
-% \item the fact that the horizontal bottom tangent line of the circle
-% is at a specific height above the bottom page edge, labeled $S$;
-% \item the distance of the intersection points at the right edge of
-% the page with respect to the horizontal bottom tangent line of the
-% circle, denoted as $X-Y$.
-% \end{itemize}
-% Given these definitions, almost the same equations as for the header
-% circle hold:
-% \begin{eqnarray}
-% R &=& \frac{W^2 + (X-Y)^2}{2(X-Y)}\\
-% Q &=& R + S
-% \end{eqnarray}
-% with $R$ the circle's radius, and $Q$ the elevation of the center
-% point above the page's bottom.
-%
-% We labeled the variables in the code below with a prefix
-% |ua@| and a suffix ba (from 'bottom a').
-% Therefore:
-% \begin{macrocode}
-%<*ct|bmt>
-\pgfmathsetmacro{\ua@Wba}{0.4*\paperwidth}
-\pgfmathsetmacro{\ua@Sba}{0.125*\paperheight}
-\pgfmathsetmacro{\ua@XMYba}{0.02\paperheight}
-\pgfmathsetmacro{\ua@Rba}{0.5*\ua@Wba/\ua@XMYba*\ua@Wba+0.5*\ua@XMYba}
-\pgfmathsetmacro{\ua@Qba}{\ua@Rba+\ua@Sba}
-%</ct|bmt>
-% \end{macrocode}
-%
-%
-% \paragraph{Bottom circle B:} the bottom circle with the smallest
-% radius. The same reasoning leads to:
-%
-% \begin{macrocode}
-%<*ct|bmt>
-\pgfmathsetmacro{\ua@Wbb}{0.65*\paperwidth}
-\pgfmathsetmacro{\ua@Sbb}{0.14*\paperheight}
-\pgfmathsetmacro{\ua@XMYbb}{0.06\paperheight}
-\pgfmathsetmacro{\ua@Rbb}{0.5*\ua@Wbb/\ua@XMYbb*\ua@Wbb+0.5*\ua@XMYbb}
-\pgfmathsetmacro{\ua@Qbb}{\ua@Rbb+\ua@Sbb}
-%</ct|bmt>
-% \end{macrocode}
-%
-% \paragraph{Text alignment:} The text is aligned around an imaginary
-% vertical line around 2/5 page width distance from the left edge.
-%
-% \begin{macrocode}
-%<*ct|bmt>
-\pgfmathsetmacro{\ua@ll}{0.15*\paperwidth}
-\pgfmathsetmacro{\ua@l}{0.4*\paperwidth}
-\pgfmathsetmacro{\ua@d}{0.1in}
-\pgfmathsetmacro{\ua@rr}{0.85*\paperwidth}
-%</ct|bmt>
-% \end{macrocode}
-%
-% Below, one can find the code for the title page of the
-% |uantwerpencoursetext| class. We start with setting up some things
-% for the (optional) QR mark.
-% \changes{v1.3}{2015/12/31}{Changed eso-pic for tikz and background}
-% \begin{macrocode}
-%<*ct>
-\newcommand\sprtr{ / }
-\newcommand\myqrdata{
-I: Universiteit Antwerpen\string\n
-F: \@faculty\string\n
-P: \@programmet\ \@programmecqr\ \@programmeq\string\n
-C: \@coursecodei\ \@qrcoursei
-\sprtr
-\@coursecodeii\ \@qrcourseii
-\sprtr
-\@coursecodeiii\ \@qrcourseiii
-\sprtr
-\@coursecodeiv\ \@qrcourseiv
-\string\n
-Y: \@academicyear\string\n
-T: \@qrtitle\string\n
-S: \@qrsubtitle\string\n
-A: \@qrauthor\string\n
-L: \@qrlectureri
-\sprtr
-\@qrlecturerii
-\sprtr
-\@qrlectureriii
-\sprtr
-\@qrlectureriv}
-\newsavebox{\myqrcode}
-%</ct>
-% \end{macrocode}
-%
%
% \begin{macro}{\maketitle}
-% And finally, here is the |\maketitle| macro:
+% The macro for the coursetext class:
% \changes{v1.7}{2016/05/01}{Embedded babel translations of keywords
% into title page}
% \begin{macrocode}
%<*ct>
\renewcommand\maketitle{%
\pagestyle{empty}
- \if@qr
- \savebox{\myqrcode}[2.7in][t]{
- \begin{pspicture}(2.7in,2.7in)
- \psbarcode{\myqrdata}
- {width=1.0 height=1.0 encoding=byte eclevel=M}
- {qrcode}
- \end{pspicture}
- }
- \fi
\begin{titlepage}
- \if@titlepagetableonly
- Dit is een cursustekst van Universiteit Antwerpen.\\
- Het titelblad dient opgemaakt te worden met de volgende gegevens:
- \begin{center}
- \begin{tabular}{|l|l|}
- \hline
- \bfseries I & Universiteit Antwerpen \\\hline
- \bfseries F & \@faculty \\\hline
- \bfseries P & \parbox[t]{14cm}{\@programmet
- \@programmec\@programmes \@programmeq} \\\hline
- \bfseries C & \parbox[t]{14cm}{
- \texttt{\@coursecodei} \@coursei\\
- \texttt{\@coursecodeii} \@courseii\\
- \texttt{\@coursecodeiii} \@courseiii\\
- \texttt{\@coursecodeiv} \@courseiv} \\\hline
- \bfseries Y & \@academicyear \\\hline
- \bfseries T & \parbox[t]{14cm}{\@title}\\\hline
- \bfseries S & \parbox[t]{14cm}{\@subtitle}\\\hline
- \bfseries A & \parbox[t]{14cm}{\@author}\\\hline
- \bfseries L & \parbox[t]{14cm}{\@lectureri\\
- \@lecturerii\\
- \@lectureriii\\
- \@lectureriv} \\\hline
- \end{tabular}
- \end{center}
- ~\\
- Waarbij: I = instelleng, F = faculteit, P = programma, C =
- cursusmodule, T = titel, S = subtitel, A = auteur(s), L =
- lesgever(s)\\~\\
- \if@qr
- Deze informatie is ook gecodeerd in de onderstaande QR-code.\\
- \vspace*{1cm}
- \usebox{\myqrcode}
- \fi
- \else
- \begin{tikzpicture}[remember picture,overlay]
- \node at (current page.center) {
- \begin{tikzpicture}[inner sep=0pt]
+ \AddToShipoutPicture*{%
+ \put(0,0){%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
- \if@titlepagenoartwork\else
- \filldraw [uacorpbord] (0.55\paperwidth,\ua@Qba pt) circle (\ua@Rba pt);
- \filldraw [white] (0.35\paperwidth,\ua@Qbb pt) circle (\ua@Rbb pt);
- \filldraw [uacorpblue] (0,\ua@Qh pt) circle (\ua@Rh pt);
- \path
- (0.95\paperwidth,0.1\paperheight)
- node [anchor=north east] {
- \includegraphics[width=0.25\paperwidth]{\@logo}};
- \fi
- \path
- (\ua@l pt -\ua@d pt,0.77\paperheight)
- node [anchor=north east, text width=0.35\paperwidth] {
- \begin{flushright}
- \uppercase\expandafter{\uaname}\\~\\
- \academicyearname{} \@academicyear
- \end{flushright}}
- (\ua@l pt +\ua@d pt,0.65\paperheight)
- node [anchor = north west, text width = 0.55\paperwidth] {
- {\large \@faculty{}}\\[0.05\paperheight]
- {\huge \bf \@title{}}\\[2ex]
- {\Large \bf \@subtitle{}}\\[3ex]
- {\Large \bf \@author{}}}
- (\ua@l pt +\ua@d pt,0.45\paperheight)
- node [anchor = north west, text width = 0.55\paperwidth] {
- \@lectureri~\\
- \@lecturerii~\\
- \@lectureriii~\\
- \@lectureriv}
- (\ua@l pt +\ua@d pt,0.35\paperheight)
- node [anchor = north west, text width = 0.55\paperwidth] {
- {\bf \@programmet \\ \@programmec\@programmes \@programmeq}}
- (\ua@l pt +\ua@d pt,0.30\paperheight)
- node [anchor = north west, text width = 0.55\paperwidth] {
- \texttt{\@publishercode}~\\~\\
- \texttt{\@coursecodei{}} \@coursei~\\
- \texttt{\@coursecodeii{}} \@courseii~\\
- \texttt{\@coursecodeiii{}} \@courseiii~\\
- \texttt{\@coursecodeiv{}} \@courseiv}
- (\ua@l pt - 2\ua@d pt, 0.368\paperheight)
- node [anchor = north east, text width = 0.35\paperwidth] {
- {\normalsize\begin{flushright}
- \@publisher{}
- \end{flushright}}};
+
+ \begin{scope}
+ \clip (2.125,20.192) rectangle (\paperwidth,6);
+ \fill[sidecolor]
+ (2.125,20.192) rectangle (\paperwidth,6);
+ \node[anchor=south west]
+ at (2.125,6)
+ {\ifx\@titlepageimage\@empty
+ \else
+ \includegraphics[keepaspectratio,
+ scale=0.01,
+ min size={18.875cm}{14.192cm}]{\@titlepageimage}
+ \fi};
+ \end{scope}
+
+
+ \node
+ [anchor=west,text width=13.75cm,align=left,font=\Huge,uauaside]
+ at (2.125,27)
+ {
+ \textsf{\textbf{\@title}}
+ };
+
+ \node
+ [anchor=west,text width=13.75cm,align=left,font=\Large,uauaside]
+ at (2.125,25.5)
+ {
+ \textsf{\textbf{\@subtitle}}
+ };
+
+ \node
+ [anchor=base west,maincolor,text width=13.75cm,align=left,font=\LARGE]
+ at (2.125,24)
+ {\textsf{\textbf{\@author}}};
+
+
+ \node
+ [anchor=west,text width=13.75cm,align=left,font=\large,uauaside]
+ at (2.125,22)
+ {\textsf{\jointcourseswithcodes{\\}}};
+
+ \fill[maincolor] (2.125,6)
+ -- (\paperwidth,6)
+ -- (\paperwidth,2.625)
+ -- (2.55,2.625)
+ arc (-90:-180:0.425)
+ -- cycle;
+
+ \node[white,anchor=west,align=left,font=\large]
+ (SN) at (2.55,5.1)
+ {
+ \begin{tabular}{@{}l@{~\,}p{14.5cm}}
+ \textsf{\lecturersname}
+ & \textsf{\textbf{\jointlecturers{ | }}}
+ \end{tabular}
+ };
+
+ \node[white,anchor=west,text width=17.5cm,align=left,font=\small]
+ at (2.55,3.7)
+ {\textsf{\@degree{}}\\
+ \textsf{\textbf{\@faculty{} | \@academicyear \hfill
+ \@publishercode}}\\
+ \textsf{\@publisher}};
+
+ \node[anchor=west] at (2.125,1.313)
+ {\includegraphics[width=4.75cm]{\logopos}};
\end{tikzpicture}
- };
- \end{tikzpicture}
- \fi
+ }
+ }
\end{titlepage}%
+ ~\par\relax
\clearpage
+ \if@copyright
+ \backgroundsetup{contents={Copyright University of Antwerp, All
+ Rights Reserved}}
+ \fi
\vspace*{\stretch{1}}
\@crnotice
\clearpage
@@ -3502,14 +3537,12 @@ L: \@qrlectureri
%
% \begin{macro}{\makefinalpage}
% Below, one can find the code for the final page of the
-% |uantwerpencoursetext| class:
+% |coursetext| class:
% \changes{v1.3}{2015/12/31}{Changed eso-pic for tikz}
% \changes{v1.8}{2016/07/06}{Inserted blank one but last page}
% \begin{macrocode}
%<*ct>
\newcommand\makefinalpage{
- \if@titlepagetableonly
- \else
\cleardoublepage
\thispagestyle{empty}
~% intentionally blank page
@@ -3519,24 +3552,10 @@ L: \@qrlectureri
\node at (current page.center) {
\begin{tikzpicture}[inner sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
- \if@titlepagenoartwork\else
- \filldraw [uacorpblue] (\paperwidth,\ua@Qh pt) circle (\ua@Rh pt);
- \fi
- \path
- (0.1\paperwidth,0.1\paperheight)
- node [anchor = south west, text width = 0.6\paperwidth] {
- CONFIDENTIAL AND PROPRIETARY\\~\\
-
- \copyright{} \@versionyear{} \uaname,
- \arrname.}
- (0.9\paperwidth,0.1\paperwidth)
- node [anchor = south east] {
- \usebox{\myqrcode}
- };
+ \fill[sidecolor] (0,0) rectangle (2.125cm,2.625cm);
\end{tikzpicture}
};
\end{tikzpicture}
- \fi
}
%</ct>
% \end{macrocode}
@@ -3544,7 +3563,7 @@ L: \@qrlectureri
%
% \begin{macro}{\maketitle}
% And next, the code for the title page of the
-% |uantwerpenmasterthesis| class:
+% |bamathesis| class:
% \changes{v1.3}{2015/12/31}{Changed eso-pic for tikz}
% \changes{v1.7}{2016/05/01}{Embedded babel translations of keywords
% into title page}
@@ -3553,49 +3572,65 @@ L: \@qrlectureri
\renewcommand\maketitle{%
\pagestyle{empty}
\begin{titlepage}
- \begin{tikzpicture}[remember picture,overlay]
- \node at (current page.center) {
- \begin{tikzpicture}[inner sep=0pt]
+ \AddToShipoutPicture*{%
+ \put(0,0){%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
- \if@titlepagenoartwork\else
- \filldraw [lightgray]
- (0.55\paperwidth,\ua@Qba pt) circle (\ua@Rba pt);
- \filldraw [white] (0.35\paperwidth,\ua@Qbb pt) circle (\ua@Rbb pt);
- \filldraw [lightgray] (0,\ua@Qh pt) circle (\ua@Rh pt);
- \path
- (0.95\paperwidth,0.1\paperheight)
- node [anchor=north east] {
- \includegraphics[width=0.25\paperwidth]{\@logo}};
- \fi
- \path
- (\ua@ll pt,0.77\paperheight)
- node [anchor=north west, text width=0.7\paperwidth] {
- \uppercase\expandafter{\uaname}\\~\\
- \academicyearname{} \@academicyear\\~\\
- {\large \@faculty{}}\\~\\
- \thesisname{}\\[0.05\paperheight]
- {\Large \bf \@title{}}}
- (\ua@ll pt,0.55\paperheight)
- node [anchor = north west, text width = 0.7\paperwidth] {
- {\large \bf \@author{}}\\~\\~\\
- \begin{tabular}{@{}p{2.7cm}p{10.8cm}}
- \textbf{\supervisorsname{}:}
- & \@supervisori \\
- & \@supervisorii \\
- & \@supervisoriii \\
- & \@supervisoriv
+ \fill[lightgray]
+ (2.125,{\paperheight-7.5cm}) rectangle (\paperwidth,6);
+
+ \node
+ [anchor=west,text width={\paperwidth-5cm},align=left,font=\Huge,uauaside]
+ at (2.125,{\paperheight-3cm})
+ {
+ \textsf{\textbf{\@title}}
+ };
+
+ \node
+ [anchor=west,text width={\paperwidth-5cm},align=left,font=\Large,uauaside]
+ at (2.125,{\paperheight-5cm})
+ {
+ \textsf{\textbf{\@subtitle}}
+ };
+
+ \node
+ [anchor=base west,uauamain,
+ text width={\paperwidth-5cm},align=left,font=\LARGE]
+ at (2.125,{\paperheight-6.5cm})
+ {\textsf{\textbf{\@author}}};
+
+ \fill[gray] (2.125,6)
+ -- (\paperwidth,6)
+ -- (\paperwidth,2.625)
+ -- (2.55,2.625)
+ arc (-90:-180:0.425)
+ -- cycle;
+
+ \node[white,anchor=west,align=left,font=\large]
+ (SN) at (2.55,4.9)
+ {
+ \begin{tabular}{@{}l@{~\,}p{14.5cm}}
+ \textsf{\supervisorsname}
+ & \textsf{\textbf{\jointsupervisors{ | }}}
\end{tabular}
- }
- (\ua@ll pt,0.3\paperheight)
- node [anchor=north west, text width = 0.7\paperwidth]{%
- \bmthesisname\\
- \@diploma\\
- \@defenselocation, \@defensedate
};
+
+
+ \node[white,anchor=west,text width=17.5cm,align=left,font=\small]
+ at (2.55,3.7)
+ {\textsf{\uantwerpendocsprop{bmthesisname}
+ \@degree{}}\\
+ \textsf{\textbf{\@faculty{}
+ | \@defenselocation, \@defensedate}}};
+
+ \node[anchor=west] at
+ (2.125,1.313)
+ {\includegraphics[width=4.75cm]{\logoposua}};
\end{tikzpicture}
- };
- \end{tikzpicture}
+ }
+ }
\end{titlepage}%
+ ~\par\relax
\clearpage
\setcounter{footnote}{0}%
\global\let\thanks\relax
@@ -3614,20 +3649,21 @@ L: \@qrlectureri
%
% \begin{macro}{\makefinalpage}
% Below, one can find the code for the final page of the
-% |uantwerpenmasterthesis| class:
+% |bamathesis| class:
% \changes{v1.3}{2015/12/31}{Changed eso-pic for tikz}
% \begin{macrocode}
%<*bmt>
\newcommand\makefinalpage{
\cleardoublepage
\thispagestyle{empty}
+ ~% intentionally blank page
+ \clearpage
+ \thispagestyle{empty}
\begin{tikzpicture}[remember picture,overlay]
\node at (current page.center) {
\begin{tikzpicture}[inner sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
- \if@titlepagenoartwork\else
- \filldraw [lightgray] (\paperwidth,\ua@Qh pt) circle (\ua@Rh pt);
- \fi
+ \fill[lightgray] (0,0) rectangle (2.125cm,2.625cm);
\end{tikzpicture}
};
\end{tikzpicture}
@@ -3642,28 +3678,9 @@ L: \@qrlectureri
% book class from which we inherit already defines this command, we
% need to renew it.
%
-% The UAntwerpen house style works with large-radius circles.
-% We need some math in order to calculate center points an radiuses
-%
-% The width and height of the page are labeled X and Y in the house
-% style. The radius of the circles equals 6 times X. Therefore:
-% \begin{macrocode}
-%<*pt>
-\pgfmathsetmacro{\ua@X}{\paperwidth}
-\pgfmathsetmacro{\ua@Y}{\paperheight}
-\pgfmathsetmacro{\ua@R}{6*\paperwidth}
-\pgfmathsetmacro{\ua@B}{(\ua@X+\ua@Y)/15}
-\pgfmathsetmacro{\ua@L}{0.25*\ua@X}
-\pgfmathsetmacro{\ua@Z}{0.1*\ua@L}
-\pgfmathsetmacro{\ua@H}{0.3*\ua@L}
-\pgfmathsetmacro{\ua@h}{0.5*(\ua@B-\ua@H)}
-%</pt>
-% \end{macrocode}
-%
-%
% \begin{macro}{\maketitle}
% Below, one can find the code for the title page of the
-% |uantwerpenphdthesis| class:
+% |phdthesis| class:
% \changes{v2.0}{2018/03/14}{Implemented title page}
% \changes{v2.1}{2018/06/20}{Corrected information page (p4) jury
% spacing}
@@ -3674,90 +3691,89 @@ L: \@qrlectureri
\renewcommand\maketitle{%
\pagestyle{empty}
\begin{titlepage}
- \if@titlepagetableonly
- Dit is een doctoraatsthesis van Universiteit Antwerpen.
- \else
- \begin{tikzpicture}[remember picture,overlay]
- \node at (current page.center) {
- \begin{tikzpicture}[inner sep=0pt]
+ \AddToShipoutPicture*{%
+ \put(0,0){%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
-
- \filldraw[uacorpblue]
- (0.5*\ua@X pt,\ua@B+\ua@R pt) circle (\ua@R pt)
- (\ua@X pt, 0.25*\ua@Y+\ua@R pt) circle (\ua@R pt);
-
- \node[anchor=south east] at (\ua@X-3*\ua@Z pt,\ua@h pt)
- {\includegraphics[width=\ua@L pt]{\@logo}};
-
+ \fill[lightgray]
+ (2.125,19) rectangle (\paperwidth,6);
\begin{scope}
- \clip
- (\ua@X pt, 0.25*\ua@Y+\ua@R pt) circle (\ua@R pt)
- (0.375*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt);
-
- \node[anchor=south] at (0.5*\ua@X pt, 2.1*\ua@B pt)
- {\includegraphics[width=\ua@X pt]{\@titlepageimage}};
+ \clip (2.125,19) rectangle (\paperwidth,6);
+ \node[anchor=south west]
+ at (2.125,6)
+ {\ifx\@titlepageimage\@empty
+ \else
+ \includegraphics[keepaspectratio,
+ scale=0.01,
+ min size={15.875cm}{13cm}]{\@titlepageimage}
+ \fi};
\end{scope}
-
- \filldraw[uacorpbord]
- (0.375*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt);
-
- \filldraw[white]
- (0.1*\ua@X pt,\ua@R+0.666*\ua@Y pt) circle (\ua@R pt);
- \node[anchor=north west,align=left,font=\large]
- at (3*\ua@Z pt, \ua@B - \ua@h pt)
- { \textcolor{uacorpblue}{\textsf{\@defenselocation,
- \@defensedate}} };
+ \node
+ [anchor=west,text width=13.75cm,align=left,font=\Huge,uauaside]
+ at (2.125,23.5)
+ {
+ \textsf{\textbf{\@title}}
+ };
- \node[anchor=south west,text width=\textwidth,align=left,font=\large]
- at (3*\ua@Z pt, 1.4*\ua@B pt)
- { \textcolor{white}{\textsf{\@affiliation}} };
-
- \node[anchor=south east,text width=\textwidth,align=right,font=\large]
- at (\ua@X - 3*\ua@Z pt, 1.4*\ua@B pt)
- { \textcolor{white}{\textsf{
- \supervisorsname\\
- \@supervisori%
- \ifdefvoid{\@supervisorii}{}{\\\@supervisorii}%
- \ifdefvoid{\@supervisoriii}{}{\\\@supervisoriii}%
- \ifdefvoid{\@supervisoriv}{}{\\\@supervisoriv}}}
+ \node
+ [anchor=west,text width=13.75cm,align=left,font=\Large,uauaside]
+ at (2.125,21.5)
+ {
+ \textsf{\textbf{\@subtitle}}
};
- \node[anchor=north west,text
- width=\ua@X-6*\ua@Z,align=left,font=\Huge]
- (title)
- at (3*\ua@Z pt,\ua@Y-4*\ua@Z pt)
- { \textsf{\textbf{\@title}} };
+ \node
+ [anchor=base west,maincolor,
+ text width=13.75cm,align=left,font=\LARGE]
+ at (2.125,20)
+ {\textsf{\textbf{\@author}}};
+
+ \fill[maincolor] (2.125,6)
+ -- (\paperwidth,6)
+ -- (\paperwidth,2.625)
+ -- (2.55,2.625)
+ arc (-90:-180:0.425)
+ -- cycle;
+
+ \node[white,anchor=west,align=left,font=\large]
+ (SN) at (2.55,4.9)
+ {
+ \begin{tabular}{@{}l@{~\,}p{11.5cm}}
+ \textsf{\supervisorsname}
+ & \textsf{\textbf{\jointsupervisors{ | }}}
+ \end{tabular}
+ };
- \node[anchor=north west,below=2.5ex of title,
- text width=\ua@X-6*\ua@Z,align=left,font=\large]
- { \textsf{\textbf{\@subtitle}} };
- \node[anchor=north west,text width=\ua@X-6*\ua@Z,align=left]
- at (3*\ua@Z pt,\ua@Y - 12.5*\ua@Z pt)
- { \textsf{\pthesisnamei{} \@phddegree{} \pthesisnameii{}} };
+ \node[white,anchor=west,text width=14.5cm,align=left,font=\small]
+ at (2.55,3.7)
+ {\textsf{\uantwerpendocsprop{pthesisnamei}
+ \@degree{}}\\
+ \textsf{\textbf{\@faculty{}
+ | \@defenselocation, \@defensedate}}};
- \node[anchor=north west, text width=\textwidth,align=left,font=\LARGE]
- at (3*\ua@Z pt, \ua@Y-15.5*\ua@Z pt)
- { \textsf{\textbf{\@author}} };
+ \node[anchor=west] at
+ (2.125,1.313)
+ {\includegraphics[width=4.75cm]{\logoposua}};
\end{tikzpicture}
- };
- \end{tikzpicture}
- \fi
+ }
+ }
\end{titlepage}%
+ ~\par\relax
\cleardoublepage
\begin{center}
- \includegraphics[width=\ua@L pt]{\@logo}
+ \includegraphics[width=4.75cm]{\logoposua}
\vfill
\@faculty\\
- \@programmeq\par
+ \@degree\par
\vfill
\Huge\textsf{\@title}\par
\large\textsf{\@subtitle}\par
\vfill
- \normalsize\pthesisnamei\\
- \@phddegree\\
- \pthesisnameii\\
+ \normalsize\uantwerpendocsprop{pthesisnamei}\\
+ \@degree\\
+ \uantwerpendocsprop{pthesisnameii}\\
\medskip
\textbf{\@author}
\vfill
@@ -3768,40 +3784,19 @@ L: \@qrlectureri
\begin{minipage}[b]{0.4\textwidth}
\flushright
\supervisorsname\\
- \@supervisori%
- \ifdefvoid{\@supervisorii}{}{\\\@supervisorii}%
- \ifdefvoid{\@supervisoriii}{}{\\\@supervisoriii}%
- \ifdefvoid{\@supervisoriv}{}{\\\@supervisoriv}
+ \jointsupervisors{\\}
\end{minipage}
\end{center}
\clearpage
- \textbf{\juryname}\hfill\par
- \textbf{\jurychairmanname}\hfill\break
+ \textbf{\uantwerpendocsprop{juryname}}\hfill\par
+ \textbf{\uantwerpendocsprop{jurychairmanname}}\hfill\break
\@jurychairman{}\ifdefvoid{\@jurychairmanaff}{}{, \@jurychairmanaff}\\
\hfill\break
\textbf{\supervisorsname}\hfill\break
- \ifdefvoid{\@supervisori}{}{\@supervisori
- \ifdefvoid{\@supervisoriaff}{}{, \@supervisoriaff}\\}
- \ifdefvoid{\@supervisorii}{}{\@supervisorii
- \ifdefvoid{\@supervisoriiaff}{}{, \@supervisoriiaff}\\}
- \ifdefvoid{\@supervisoriii}{}{\@supervisoriii
- \ifdefvoid{\@supervisoriiiaff}{}{, \@supervisoriiiaff}\\}
- \ifdefvoid{\@supervisoriv}{}{\@supervisoriv
- \ifdefvoid{\@supervisorivaff}{}{, \@supervisorivaff}\\}
+ \jointsupervisorswithaffiliation{\\}\\
\hfill\break
- \textbf{\jurymembersname}\hfill\break
- \ifdefvoid{\@jurymemberi}{}{\@jurymemberi
- \ifdefvoid{\@jurymemberiaff}{}{, \@jurymemberiaff\\}}
- \ifdefvoid{\@jurymemberii}{}{\@jurymemberii
- \ifdefvoid{\@jurymemberiiaff}{}{, \@jurymemberiiaff\\}}
- \ifdefvoid{\@jurymemberiii}{}{\@jurymemberiii
- \ifdefvoid{\@jurymemberiiiaff}{}{, \@jurymemberiiiaff\\}}
- \ifdefvoid{\@jurymemberiv}{}{\@jurymemberiv
- \ifdefvoid{\@jurymemberivaff}{}{, \@jurymemberivaff\\}}
- \ifdefvoid{\@jurymemberv}{}{\@jurymemberv
- \ifdefvoid{\@jurymembervaff}{}{, \@jurymembervaff\\}}
- \ifdefvoid{\@jurymembervi}{}{\@jurymembervi
- \ifdefvoid{\@jurymemberviaff}{}{, \@jurymemberviaff\\}}
+ \textbf{\uantwerpendocsprop{jurymembersname}}\hfill\break
+ \jointjurymembers{\\}
\hfill\break
\vfill
\textbf{Contact}\\
@@ -3811,7 +3806,7 @@ L: \@qrlectureri
\@address\\
\vfill
\copyright{} \@defensedate{} \@author\\
- \arrname.
+ \uantwerpendocsprop{arr}.
\vfill
\begin{minipage}[b]{.5\linewidth}
\ifdefempty{\@isbn}{}{ISBN \@isbn}~\\
@@ -3841,13 +3836,11 @@ L: \@qrlectureri
%
% \begin{macro}{\makefinalpage}
% Below, one can find the code for the final page of the
-% |uantwerpenphdthesis| class:
+% |phdthesis| class:
% \changes{v2.0}{2018/03/14}{Implemented final page}
% \begin{macrocode}
%<*pt>
\newcommand\makefinalpage{
- \if@titlepagetableonly
- \else
\cleardoublepage
\thispagestyle{empty}
~% intentionally blank page
@@ -3857,26 +3850,159 @@ L: \@qrlectureri
\node at (current page.center) {
\begin{tikzpicture}[inner sep=0pt]
\clip (0,0) rectangle(\paperwidth,\paperheight);
- \fill[uacorpblue] (0,0) rectangle(\ua@X pt,\ua@Y pt);
- \filldraw [white] (1.2*\ua@X pt,\ua@R+0.125*\ua@Y pt) circle (\ua@R pt);
- \filldraw [uacorpbord] (1.375*\ua@X pt,\ua@R+0.666*\ua@Y pt)
- circle (\ua@R pt);
+ \fill[sidecolor] (0,0) rectangle (2.125cm,2.625cm);
\end{tikzpicture}
};
\end{tikzpicture}
- \fi
}
%</pt>
% \end{macrocode}
% \end{macro}
%
+% \subsection{Title page for the report clases}
%
-% \subsection{Title page for the letter class}
+% The title page is generated using the |\maketitle| command. As the
+% report class from which we inherit already defines this command, we
+% need to renew it.
+%
+% \begin{macro}{\maketitle}
+% Below, one can find the code for the title page of the
+% |report| class:
+% \begin{macrocode}
+%<*rp>
+\renewcommand\maketitle{%
+ \pagestyle{empty}
+ \begin{titlepage}
+ \AddToShipoutPicture*{%
+ \put(0,0){%
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
+ \clip (0,0) rectangle(\paperwidth,\paperheight);
+ \fill[lightgray]
+ (2.125,20.192) rectangle (\paperwidth,6);
+ \begin{scope}
+ \clip (2.125,20.192) rectangle (\paperwidth,6);
+ \node[anchor=south west]
+ at (2.125,6)
+ {\ifx\@titlepageimage\@empty
+ \else
+ \includegraphics[keepaspectratio,
+ scale=0.01,
+ min size={18.875cm}{14.192cm}]{\@titlepageimage}
+ \fi};
+ \end{scope}
+
+ \node
+ [anchor=west,text width=17cm,align=left,font=\Huge,uauaside]
+ at (2.125,\paperheight-3cm)
+ {
+ \textsf{\textbf{\@title}}
+ };
+
+ \node
+ [anchor=west,text width=17cm,align=left,font=\Large,uauaside]
+ at (2.125,\paperheight-5cm)
+ {
+ \textsf{\textbf{\@subtitle}}
+ };
+
+ \node
+ [anchor=base west,maincolor,
+ text width=17cm,align=left,font=\LARGE]
+ at (2.125,\paperheight-6.5cm)
+ {\textsf{\textbf{\@author}}};
+
+ \fill[maincolor] (2.125,6)
+ -- (\paperwidth,6)
+ -- (\paperwidth,2.625)
+ -- (2.55,2.625)
+ arc (-90:-180:0.425)
+ -- cycle;
+
+ \node[white,anchor=west,text width=17cm,align=left,font=\small]
+ at (2.55,5.3)
+ {\textsf{\textbf{\@extra}}};
+
+ \node[white,anchor=west,text width=17cm,align=left,font=\small]
+ at (2.55,4)
+ {\textsf{\textbf{\@affiliation{}
+ | \@versionyear}\\
+ \@address}};
+
+ \node[anchor=west] at
+ (2.125,1.313)
+ {\includegraphics[width=4.75cm]{\logopos}};
+ \end{tikzpicture}
+ }
+ }
+ \end{titlepage}%
+ ~\par\relax
+ \cleardoublepage
+ \begin{center}
+ \includegraphics[width=4.75cm]{\logopos}
+ \vfill
+ \@affiliation\\
+ \@extra\par
+ \vfill
+ \Huge\textsf{\@title}\par
+ \large\textsf{\@subtitle}\par
+ \vfill
+ \textbf{\@author}
+ \vfill
+ \end{center}
+ \clearpage
+ \vfill
+ \textbf{Contact}\\
+ \smallskip
+ \@author\\
+ \@affiliation\\
+ \@address\\
+ \vfill
+ \copyright{} \@versionyear{} \@author\\
+ \uantwerpendocsprop{arr}.
+ \vfill
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+ \pagestyle{fancy}
+ \thispagestyle{empty}
+ \
+}
+%</rp>
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\makefinalpage}
+% Below, one can find the code for the final page of the
+% |phdthesis| class:
+% \changes{v2.0}{2018/03/14}{Implemented final page}
+% \begin{macrocode}
+%<*rp>
+\newcommand\makefinalpage{
+ \cleardoublepage
+ \thispagestyle{empty}
+ ~% intentionally blank page
+ \clearpage
+ \thispagestyle{empty}
+ \begin{tikzpicture}[remember picture,overlay]
+ \node at (current page.center) {
+ \begin{tikzpicture}[inner sep=0pt]
+ \clip (0,0) rectangle(\paperwidth,\paperheight);
+ \fill[sidecolor] (0,0) rectangle (2.125cm,2.625cm);
+ \end{tikzpicture}
+ };
+ \end{tikzpicture}
+}
+%</rp>
+% \end{macrocode}
+% \end{macro}
%
-% \subsubsection{Bottom cords}
-% \changes{v1.5}{2016/01/11}{Removed documentation}
-% The graphical footer of the page is provided through PDF/PS
-% includes in a Dutch and a non-dutch version.
+%
+% \subsection{Title page for the letter class}
%
% \subsubsection{Title Page}
%
@@ -3922,9 +4048,9 @@ L: \@qrlectureri
\begin{tikzpicture}[anchor=north west,align=left,outer sep=0,inner sep=0]
\path
(0,0) node { \scriptsize \strut
- \textcolor{gray}{\uppercase\expandafter{\datename} } }
+ \textcolor{gray}{\uppercase\expandafter{\uantwerpendocsprop{datename}} } }
(4cm,0) node { \scriptsize \strut
- \textcolor{gray}{\uppercase\expandafter{\subjectname} } }
+ \textcolor{gray}{\uppercase\expandafter{\uantwerpendocsprop{subjectname}} } }
(0,-2.5ex) node { \strut \@date }
(4cm,-2.5ex) node[align=left] { \strut \@subject };
\end{tikzpicture}~\\[4ex]
@@ -3965,192 +4091,191 @@ L: \@qrlectureri
\pagestyle{fancy}
\AddToShipoutPicture*{%
\put(0,0){%
- \begin{tikzpicture}[remember picture,overlay]
- \node at (current page.center) {
- \begin{tikzpicture}
- \clip (0,0) rectangle (21,29.7);
- \draw
- ( 3,9.7) -- ( 3,23.7)
- ( 0,23.7) -- +(21,0)
- ( 3,20.8) -- +(21,0)
- ( 3,18.8) -- +(21,0)
- ( 3,16.8) -- +(21,0)
- (14,9.7) -- (14,13.7)
- ( 3,13.7) -- +(21,0)
- ( 3,11.7) -- +(21,0)
- ( 0,9.7) -- +(21,0);
-
- \draw[ultra thick]
- ( 3,16.8) +(0,-0.5) -- +(0,0) -- +(0.5,0)
- ( 3,13.7) +(0,+0.5) -- +(0,0) -- +(0.5,0)
- (21,16.8) +(0,-0.5) -- +(0,0) -- +(-0.5,0)
- (21,13.7) +(0,+0.5) -- +(0,0) -- +(-0.5,0);
-% (14,15.7) +(-0.5,0) -- +(0,0) +(0,-0.5) -- +(0,0) -- +(0.5,0)
-% (14,11.7) +(-0.5,0) -- +(0,0) +(0,+0.5) -- +(0,0) -- +(0.5,0)
-
- \foreach \nn in {0,1,...,7} {
- \draw (16.5,13.9) ++({0.5*\nn},0) rectangle +(0.5,0.8);
- }
+ \begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
+ \clip (0,0) rectangle(\paperwidth,\paperheight);
+ \fill[lightgray]
+ (2.125,{\paperheight-7cm}) rectangle (\paperwidth,6);
+
+ \node
+ [anchor=west,text width={\paperwidth-5cm},align=left]
+ at (2.125,{\paperheight-3cm})
+ {%
+ \fontfamily{phv}\fontsize{18}{22}\fontseries{b}%
+ \fontshape{n}\selectfont%
+ \@course{}
+ \ifx\@exampart\@emptymacro
+ \else --- \@exampart\fi
+ };
+ \node
+ [anchor=west,text width={\paperwidth-5cm},align=left]
+ at (2.125,{\paperheight-4cm})
+ {%
+ \fontfamily{phv}\fontsize{12}{18}\fontseries{b}%
+ \fontshape{n}\selectfont%
+ \@coursecode
+ };
- \foreach \nn in {0,1,...,33} {
- \draw (3.5,15.3) ++({0.5*\nn},0) rectangle +(0.5,0.8);
- }
- \foreach \nn in {0,1,...,23} {
- \draw (3.5,13.9) ++({0.5*\nn},0) rectangle +(0.5,0.8);
- }
-
- \path
- (3,25.2) node[anchor=north west] {
- \parbox{14cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{b}\selectfont
- \@faculty\\
- \fontfamily{phv}\fontsize{11}{14}\fontseries{m}\selectfont
- \@programmet \@programmec\
- \ifx\@programmeq\@emptymacro\else--- \@programmeq\fi
- }
- }
- (3.3,23) node[anchor=north west] {
- \parbox{16cm}{
- \fontfamily{phv}\fontsize{18}{22}\fontseries{b}
- \fontshape{n}\selectfont
- \raggedright \@coursei{}
- \ifx\@exampart\@emptymacro
- \else --- \@exampart\fi
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}
- \fontshape{n}\selectfont\\
- Reeks \@examgroupnumber{} \hfill \@examdate{} }
- }
- (3.3,20.1) node[anchor=north west] {
- \parbox{14cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}\selectfont
- \@coursecodei
- }
- }
- (3.3,18.6) node[anchor=north west] {
- \parbox{14cm}{
- \fontfamily{phv}\fontsize{12}{18}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Professor(s) --- }
- {}Titularis(sen):\\
- \fontfamily{phv}\fontsize{14}{20}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \@author{}
- }
- }
- (3.3,16.7) node[anchor=north west] {
- \parbox{10cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Last name
- --- }{}
- Naam:}
- }
- (3.3,15.25) node[anchor=north west] {
- \parbox{10cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{First name
- --- }{}
- Voornaam:}
- }
- (16.3,15.25) node[anchor=north west] {
- \parbox{5cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Docket No. --- }
- {}Rolnr.:}
- }
-
- (3.3,11.5) node[anchor=north west] {
- \parbox{14cm}{
- \fontfamily{phv}\fontsize{12}{21}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Exam duration --- }
- {}Duur van het examen: \@examlength\\
- }
- }
- (14.3,11.5) node[anchor=north west] {
- \parbox{5cm}{
- \fontfamily{phv}\fontsize{12}{15}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Start --- }
- {}Begin: \@tstart \\[1ex]
- \raggedright \ifdef{\dateenglish}{End --- }
- {}Einde~: \@tend
- }
- }
- (3.3,13.5) node[anchor=north west] {
- \parbox{14cm}{
- \fontfamily{phv}\fontsize{12}{21}\fontseries{m}
- \fontshape{n}\selectfont
- \raggedright \ifdef{\dateenglish}{Room --- }
- {}Lokaal: \@rooms
-
- }
- }
- (3,27.7) node[anchor=north west] {
- \includegraphics[width=7cm]{\@logo}
- };
- \end{tikzpicture}
+ \node
+ [anchor=west,text width={\paperwidth-5cm},align=left,font=\large]
+ at (2.125,{\paperheight-5cm})
+ {%
+ \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{seriesname} \@examgroupnumber{} \hfill \@examdate{}
+ };
+
+ \node[anchor=south west,align=left,inner sep=0pt] at (3,21)
+ {%
+ \fontfamily{phv}\fontsize{14}{19}\fontseries{b}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{examname}
+ };
+
+ \node[anchor=south west,align=left,inner sep=0pt] at (3,19)
+ {%
+ \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{lastname}
+ };
+ \foreach \nn in {0,1,...,33} {
+ \draw[fill=white] (3,18) ++({0.5*\nn},0) rectangle +(0.5,0.8);
+ }
+
+ \node[anchor=south west,align=left,inner sep=0pt] at (3,17)
+ {%
+ \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{firstname}
};
+
+ \foreach \nn in {0,1,...,23} {
+ \draw[fill=white] (3,16) ++({0.5*\nn},0) rectangle +(0.5,0.8);
+ }
+
+ \node[anchor=south west,align=left,inner sep=0pt] at (16,17)
+ {%
+ \fontfamily{phv}\fontsize{12}{18}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{docketname}
+ };
+ \foreach \nn in {0,1,...,7} {
+ \draw[fill=white] (16,16) ++({0.5*\nn},0) rectangle +(0.5,0.8);
+ }
+
+ \node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
+ at (3,14)
+ {%
+ \fontfamily{phv}\fontsize{12}{21}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \uantwerpendocsprop{examdurationname}: \@examlength
+ };
+ \node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
+ at (3,11)
+ {%
+ \fontfamily{phv}\fontsize{12}{15}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \begin{tabular}{@{}l@{}ll}%
+ \uantwerpendocsprop{examstartname}& : & \@tstart\\
+ \uantwerpendocsprop{examendname} & : & \@tend
+ \end{tabular}
+ };
+
+ \node[anchor=south west,align=left,inner sep=0pt,text width=17cm]
+ at (3,8)
+ {%
+ \fontfamily{phv}\fontsize{12}{21}\fontseries{m}%
+ \fontshape{n}\selectfont%
+ \roomsname: \jointrooms{, }
+ };
+
+ \node
+ [anchor=base west,uauamain,
+ text width={\paperwidth-5cm},align=left,font=\LARGE]
+ at (2.125,{\paperheight-6.5cm})
+ {\textsf{\textbf{\@author}}};
+
+ \fill[gray] (2.125,6)
+ -- (\paperwidth,6)
+ -- (\paperwidth,2.625)
+ -- (2.55,2.625)
+ arc (-90:-180:0.425)
+ -- cycle;
+
+ \node[white,anchor=west,align=left,font=\large]
+ (SN) at (2.55,4.9)
+ {
+ \begin{tabular}{@{}l@{~\,}p{14.5cm}}
+ \textsf{\lecturersname}
+ & \textsf{\textbf{\jointlecturers{ | }}}
+ \end{tabular}
+ };
+
+ \node[white,anchor=west,text width=17.5cm,align=left,font=\small]
+ at (2.55,3.7)
+ {\textsf{\@degree{}}\\
+ \textsf{\textbf{\@faculty{}}}};
+
+ \node[anchor=west] at (2.125,1.313)
+ {\includegraphics[width=4.75cm]{\logopos}};
\end{tikzpicture}
}
}
- \vspace*{17cm}
- \ifx\@qrtitle\@emptymacro
- \else
- \@extrainfo
- \fi
+ ~\par\relax
+ \clearpage
+ \lfoot[\small \@shorttitle]{\small \@shorttitle}
+ \rfoot[\small Groep \@examgroupnumber{} ---
+ \@academicyear]{\small Groep \@examgroupnumber{} --- \@academicyear}
+ \renewcommand*{\footrulewidth}{1pt}
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
-%
+%
+%
% \subsection{Auxiliary functions to typeset exams}
-%
+%
% \begin{macro}{\question}
-% Add a small box with the weight of the question on the current line
-% (right aligned).
-%
+% Add a small box with the weight of the question on the current line
+% (right aligned).
+%
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcounter{question}
\setcounter{question}{0}
-\renewcommand\thequestion{\@arabic\c@question}
+\renewcommand*\thequestion{\@arabic\c@question}
\newcommand{\question}[1]{
\stepcounter{question}
\thequestion.~#1%
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\questionweight}
-% Add a small box with the weight of the question on the current line
-% (right aligned).
-%
+% Add a small box with the weight of the question on the current line
+% (right aligned).
+%
% \begin{macrocode}
-%<*ex>
-\newcommand{\questionweight}[1]{%
+%<*ex>
+\newcommand*{\questionweight}[1]{%
\hspace{\fill}
\begin{tabular}{|c|}
\hline
- \small \weightname: #1\\
+ \small \uantwerpendocsprop{weightname}: #1\\
\hline
\end{tabular}\\
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\engdut}
-% typesets the question in two columns, the left column taking the
-% English variant of the question and the right column taking the
-% Dutch variant.
-% \changes{v2.1}{2018/06/20}{\@ Increased intercolumn spacing for engdut}
+% typesets the question in two columns, the left column taking the
+% English variant of the question and the right column taking the
+% Dutch variant.
+% \changes{v2.1}{2018/06/20}{\@ Increased intercolumn spacing for engdut}
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcommand{\engdut}[2]{%
\begin{tabular}{ccc}%
\selectlanguage{english}%
@@ -4158,123 +4283,123 @@ L: \@qrlectureri
#1
\end{minipage}%
&~~~&
- \selectlanguage{dutch}%
- \begin{minipage}[t]{0.45\textwidth}%
- #2
- \end{minipage}%
+ \selectlanguage{dutch}%
+ \begin{minipage}[t]{0.45\textwidth}%
+ #2
+ \end{minipage}%
\end{tabular}
\selectlanguage{english}%
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
-%
+%
+%
% \changes{v2.1}{2018/06/20}{Allow for setting the multiple choice
% mark symbol}
% \begin{macro}{\setmcsymbol}
-% sets the symbol to be used as multiple choice mark (by default a
-% square).
+% sets the symbol to be used as multiple choice mark (by default a
+% square).
% \begin{macrocode}
-%<*ex>
-\newcommand\@mcsymbol{\square}
-\newcommand\setmcsymbol[1]{\renewcommand\@mcsymbol{#1}}
-%</ex>
+%<*ex>
+\newcommand*\@mcsymbol{\square}
+\newcommand*\setmcsymbol[1]{\renewcommand\@mcsymbol{#1}}
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \changes{v2.1}{2018/06/20}{Corrected erroneous line breaking}
% \begin{macro}{\mc}
-% typesets a multiple choice answer candidate (monolingual, i.e. in a
-% single column).
+% typesets a multiple choice answer candidate (monolingual, i.e. in a
+% single column).
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcommand\mc[1]{%
\hfill\break\qquad\begin{tabular}{cc}
- $\@mcsymbol$
- &
- \begin{minipage}[t]{0.9\textwidth}%
- #1
- \end{minipage}%
- \end{tabular}
-}
-%</ex>
+ $\@mcsymbol$
+ &
+ \begin{minipage}[t]{0.9\textwidth}%
+ #1
+ \end{minipage}%
+ \end{tabular}
+ }
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \changes{v2.1}{2018/06/20}{Corrected erroneous line breaking}
-%
+%
% \begin{macro}{\engdutmc}
-% typesets a multiple choice answer candidate in two columns, the left
-% column taking the English variant of the question and the right
-% column taking the Dutch variant.
-%
+% typesets a multiple choice answer candidate in two columns, the left
+% column taking the English variant of the question and the right
+% column taking the Dutch variant.
+%
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcommand{\engdutmc}[2]{%
\hfill\break\begin{tabular}{cccc}
- $\@mcsymbol$
- &
- \selectlanguage{english}%
- \begin{minipage}[t]{0.42\textwidth}%
- #1
- \end{minipage}%
- &---&
- \selectlanguage{dutch}%
- \begin{minipage}[t]{0.42\textwidth}%
- #2
- \end{minipage}%
- \end{tabular}
- \selectlanguage{english}%
-}
-%</ex>
+ $\@mcsymbol$
+ &
+ \selectlanguage{english}%
+ \begin{minipage}[t]{0.42\textwidth}%
+ #1
+ \end{minipage}%
+ &---&
+ \selectlanguage{dutch}%
+ \begin{minipage}[t]{0.42\textwidth}%
+ #2
+ \end{minipage}%
+ \end{tabular}
+ \selectlanguage{english}%
+ }
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\insertsolutionspagepartial}
% fills the remainder of the page with 'fill-out' squares.
% as observing/controlling the current line position in \LaTeX{} is
% not easiy, one has to provide the number of centimeters below the
% bottom of the page, one wants to start the fill-out squares.
-%
+%
% \changes{v2.5}{}{Corrected for 'one page too early' in solutionspagepartial}
-%
+%
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcommand\insertsolutionspagepartial[1]{
~\relax
\AddToShipoutPicture*{%
\put(0,0){%
\begin{tikzpicture}
\clip (0,0) rectangle (21,#1);
-% \draw[densely dotted, step=0.5cm,black!20] (0.999,0.990) grid (20,1.5);
- \draw[densely dotted, step=0.5cm,black!20] (0.999,1.499) grid (2,2.5);
- \draw[densely dotted, step=0.5cm,black!20] (18.999,1.499) grid (20,2.5);
-
- \draw[densely dotted, step=0.5cm,black!20] (0.999,2.499) grid (20,27);
- \draw[densely dotted, step=0.5cm,black!20] (0.999,27) grid (16,28);
- \draw[densely dotted, step=0.5cm,black!20] (19.499,27) grid (20,28);
- \draw[densely dotted, step=0.5cm,black!20] (0.99,27.999) grid
- (20,28.5);
- \draw[ultra thick] (1,#1) -- (20,#1);
- \end{tikzpicture}
- }
- }%
- \clearpage
- \relax
+% \draw[densely dotted, step=0.5cm,black!20] (0.999,0.990) grid (20,1.5);
+\draw[densely dotted, step=0.5cm,black!20] (0.999,1.499) grid (2,2.5);
+\draw[densely dotted, step=0.5cm,black!20] (18.999,1.499) grid (20,2.5);
+
+\draw[densely dotted, step=0.5cm,black!20] (0.999,2.499) grid (20,27);
+\draw[densely dotted, step=0.5cm,black!20] (0.999,27) grid (16,28);
+\draw[densely dotted, step=0.5cm,black!20] (19.499,27) grid (20,28);
+\draw[densely dotted, step=0.5cm,black!20] (0.99,27.999) grid
+(20,28.5);
+\draw[ultra thick] (1,#1) -- (20,#1);
+\end{tikzpicture}
+}
+}%
+\clearpage
+\relax
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\insertsolutionspage}
% inserts a full solutions page, i.e. flushes the current page and
% inserts a full page with 'fill-out' squares.
% The argument allows for specifying a watermark text (e.g. 'Scrap
% paper').
-%
+%
% \begin{macrocode}
-%<*ex>
+%<*ex>
\newcommand\insertsolutionspage[1]{
\clearpage
\AddToShipoutPicture*{%
@@ -4291,59 +4416,34 @@ L: \@qrlectureri
}
\put(120,150){\rotatebox{60}{\textcolor{watermark}{
\fontfamily{phv}\fontsize{105}{130}\fontseries{m}\fontshape{n}\selectfont
- #1}
+ #1}
}
}
}%
~\relax
}
-%</ex>
+%</ex>
% \end{macrocode}
% \end{macro}
-%
+%
% We add a lastpage label to the final page
% \begin{macrocode}
-%<*ex>
+%<*ex>
\AtEndDocument{
\label{lastpage}
}
-%</ex>
-% \end{macrocode
-%
+%</ex>
+% \end{macrocode
+%
% \subsection{References}
% \begin{macrocode}
-%<*ct|bmt|pt>
-\IfFileExists{varioref.sty}{\RequirePackage{varioref}}{}
-%</ct|bmt|pt>
-%
-%<*ct>
-\IfFileExists{hyperref.sty}{
- \RequirePackage[backref,hyperindex=true,pagebackref=true]{hyperref}
- \hypersetup{
- breaklinks=true,
- colorlinks=true,
- citecolor=black,
- filecolor=black,
- linkcolor=black,
- pageanchor=true,
- pdfpagemode=UseOutlines,
- urlcolor=black
- }
- \AtBeginDocument{
- \hypersetup{
- pdftitle={\@title},
- pdfsubject={\@subtitle},
- pdfauthor={\@author}
- }
- }
-}{}
-%</ct>
-%
-%
-%<*bmt|pt>
-\IfFileExists{hyperref.sty}{
- \RequirePackage[backref,hyperindex=true,pagebackref=true]{hyperref}
+%<*ct|bmt|pt|rp>
+\AtBeginDocument{
+ \@ifpackageloaded{hyperref}{
\hypersetup{
+ backref=true,
+ hyperindex=true,
+ pagebackref=true,
breaklinks=true,
colorlinks=true,
citecolor=black,
@@ -4351,23 +4451,21 @@ L: \@qrlectureri
linkcolor=black,
pageanchor=true,
pdfpagemode=UseOutlines,
- urlcolor=black
+ urlcolor=black,
+ pdftitle={\@title},
+ pdfsubject={\@subtitle},
+ pdfauthor={\@author}
}
- \AtBeginDocument{
- \hypersetup{
- pdftitle={\@title},
- pdfsubject={\@subtitle},
- pdfauthor={\@author}
- }
- }
-}{}
-%</bmt|pt>
+ }{}
+}
+%</ct|bmt|pt|rp>
% \end{macrocode}
+%
% \section{The beamer theme}
% \subsection{User guide}
-%
+%
% \begin{verbatim}
-%<*bmrug>
+%<*bmrug>
\documentclass[aspectratio=1610]{beamer}
\usetheme[ti]{uantwerpen}
\usepackage[english]{babel}
@@ -4375,12 +4473,12 @@ L: \@qrlectureri
% The packages below are for demonstration purpose only.
% They are not required for the template to work
\usepackage{metalogo}
-\usepackage{lipsum}
+\usepackage{kantlipsum}
\usepackage{pgfplots}
\usepackage{booktabs}
% some stuff to typeset code
-\newcommand\command[1]{{\tt \textbackslash #1}}
+\newcommand*\command[1]{{\tt \textbackslash #1}}
\NewEnviron{codesnippet}[1][0.8\textwidth]{
\scriptsize
\qquad\framebox[#1][l]{\texttt{
@@ -4391,9 +4489,9 @@ L: \@qrlectureri
}
}
}
-\newcommand\ind[1][2ex]{\hspace*{#1}}
-\newcommand\bframe[1][]{\command{begin}\{#1frame\}}
-\newcommand\eframe[1][]{\command{end}\{#1frame\}}
+\newcommand*\ind[1][2ex]{\hspace*{#1}}
+\newcommand*\bframe[1][]{\command{begin}\{#1frame\}}
+\newcommand*\eframe[1][]{\command{end}\{#1frame\}}
\title{This is your \texttt{\textbackslash{}title{}}}
\subtitle[my short title]{This is your \texttt{\textbackslash{}subtitle{}}}
@@ -4436,9 +4534,9 @@ L: \@qrlectureri
You can load the package in your preamble as:
\begin{codesnippet}
- \command{documentclass}[aspectratio=1610]\{beamer\}\\
- \command{usetheme}[theme-options-go-here]\{uantwerpen\}\\
- \command{usepackage}[english]\{babel\}
+ \command{documentclass}[aspectratio=1610]\{beamer\}\\
+ \command{usetheme}[theme-options-go-here]\{uantwerpen\}\\
+ \command{usepackage}[english]\{babel\}
\end{codesnippet}
\heading{Remarks}
@@ -4542,7 +4640,7 @@ L: \@qrlectureri
\ind\command{maketitle}\\
\eframe
\end{codesnippet}
-
+
with no option, or one of: \texttt{normal}, \texttt{negative},
\texttt{negativefill}.
\end{frame}
@@ -4610,8 +4708,8 @@ L: \@qrlectureri
\begin{itemize}
\item You don't need to specify the normal canvas, it is the
default.
- \item In handout mode the negative and negativefill canvas will be
- typeset as normal canvas (to allow for easy printing).
+ \item In handout mode the negative and negativefill canvas will be
+ typeset as normal canvas (to allow for easy printing).
\item The graphic option has many variants that we will discuss later.
\end{itemize}
\end{frame}
@@ -4619,7 +4717,7 @@ L: \@qrlectureri
\begin{frame}[negativefill]
{A negativefill slide}
{with a subtle subtitle}
- \lipsum[1]
+ \kant[1]
\end{frame}
\begin{frame}[negative,t]
@@ -4675,22 +4773,22 @@ L: \@qrlectureri
can be specified as \LaTeX-color \emph{sidecolor}\\
\textcolor{basecolor}{Base color}:
can be specified as \LaTeX-color
- \emph{basecolor}
-
- \heading{Advice}\\
- \begin{itemize}
- \item Stick to the standard colors or use grayscale tints!
- \item Only use color when functional (e.g. in graphs)
- \end{itemize}
-
- \heading{Alert}
- You can use \alert{\command{alert{}}} to grab the attention of the
- user. It will typeset your content in \alert{red}.
-
- \heading{Not taking any advice?}\\
- You can fiddle with the colors, but do so in smart way.
- Use \command{setbeamercolor}. You can see how it is used in the
- \texttt{beamercolorthemeuantwerpen.sty} file.
+ \emph{basecolor}
+
+ \heading{Advice}\\
+ \begin{itemize}
+ \item Stick to the standard colors or use grayscale tints!
+ \item Only use color when functional (e.g. in graphs)
+ \end{itemize}
+
+ \heading{Alert}
+ You can use \alert{\command{alert{}}} to grab the attention of the
+ user. It will typeset your content in \alert{red}.
+
+ \heading{Not taking any advice?}\\
+ You can fiddle with the colors, but do so in smart way.
+ Use \command{setbeamercolor}. You can see how it is used in the
+ \texttt{beamercolorthemeuantwerpen.sty} file.
\end{frame}
\begin{frame}[t]
@@ -4757,7 +4855,7 @@ L: \@qrlectureri
\end{center}
\end{frame}
-
+
\begin{l3qframe}[rqgraphic]
{Some Random Title}
{Please, adapt!}
@@ -4776,8 +4874,8 @@ L: \@qrlectureri
\subheading{Remarks}
\begin{itemize}
\item Load photo as:\\
- \command{includegraphics[width=0.25\command{paperwidth}, min height=\command{textheight}]
- \{image.jpg\}}
+ \command{includegraphics[width=0.25\command{paperwidth}, min height=\command{textheight}]
+ \{image.jpg\}}
\item If \texttt{rqgraphic} is specified without argument, a standard photo
is loaded.
\item Note: you can avoid rounding the corner using the
@@ -5012,7 +5110,7 @@ L: \@qrlectureri
\ind\ind\command{uantwerpencallout}[fill opacity=0.5]\{4.5\}\{2.5\}\{\\
\ind\ind\ind\command{bfseries} I'll be back!\textbackslash\textbackslash[1ex]\\
\ind\ind\ind Arnold Schwarzenegger\}\\
- \}
+ \}
\eframe
\end{codesnippet}
\medskip
@@ -5128,10 +5226,10 @@ L: \@qrlectureri
that you must load after (!) the \command{usetheme} command.\\[1ex]
\begin{codesnippet}[0.95\textwidth]
\command{AtBeginDocument\{}\\
- \ind\command{renewcommand}\command{logopos\{your-pos-logo-filename-here\}}\\
- \ind\command{renewcommand}\command{logoneg\{your-negative-logo-filename-here\}}\\
- \ind\command{renewcommand}\command{logomonowhite\{your-mono-logo-filename-here\}}\\
- \ind\command{renewcommand}\command{iconfile\{your-icon-filename-here\}}\\
+ \ind\command{renewcommand*}\command{logopos\{your-pos-logo-filename-here\}}\\
+ \ind\command{renewcommand*}\command{logoneg\{your-negative-logo-filename-here\}}\\
+ \ind\command{renewcommand*}\command{logomonowhite\{your-mono-logo-filename-here\}}\\
+ \ind\command{renewcommand*}\command{iconfile\{your-icon-filename-here\}}\\
\ind\command{colorlet\{maincolor\}\{your-favorite-color\}}\\
\ind\command{colorlet\{sidecolor\}\{your-secondfavorite-color\}}\\
\ind\command{colorlet\{basecolor\}\{some-solid-color\}}\\
@@ -5169,113 +5267,41 @@ L: \@qrlectureri
\end{frame}
\end{document}
-%</bmrug>
+%</bmrug>
% \end{verbatim}
-%
+%
% \subsection{Implementation}
-%
+%
% \subsubsection{Main beamer theme}
-%
+%
% \begin{macrocode}
-%<*bmr>
-% Copyright 2021 by Walter Daems <walter.daems@uantwerpen.be>
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-%
-% See the file doc/licenses/LICENSE for more details.
+%<*bmr>
+% Copyright 2021 by Walter Daems <walter.daems@uantwerpen.be>
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
\newif\if@nofonts
\@nofontsfalse
\DeclareOption{nofonts}{\@nofontstrue}
-\newif\if@neutralcolors
-\@neutralcolorsfalse
-\DeclareOption{neutralcolors}{\@neutralcolorstrue}
-\newcommand\colormodel{rgb}
-\newif\if@cmyk
-\@cmykfalse
-\DeclareOption{cmyk}{\renewcommand\colormodel{cmyk}\@cmyktrue}
-\DeclareOption{rgb}{\renewcommand\colormodel{rgb}\@cmykfalse}
+\input{uantwerpencommonoptions.clo}
-\newcommand\fselector{ua}
-\newcommand\lselector{en}
-\newlength\logounitheight
-\setlength\logounitheight{0.8cm}
-\DeclareOption{be}{
- \renewcommand\fselector{be}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{fbd}{
- \renewcommand\fselector{fbd}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{ggw}{
- \renewcommand\fselector{ggw}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{lw}{
- \renewcommand\fselector{lw}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{ow}{
- \renewcommand\fselector{ow}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{re}{
- \renewcommand\fselector{re}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{sw}{
- \renewcommand\fselector{sw}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{ti}{
- \renewcommand\fselector{ti}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{we}{
- \renewcommand\fselector{we}
- \setlength\logounitheight{1cm}
-}
-\DeclareOption{iob}{
- \renewcommand\fselector{iob}
- \setlength\logounitheight{1cm}
-}
+\ProcessOptions
-\AtBeginDocument{
- \makeatother
- \@ifpackageloaded{babel}{
- \addto\captionsdutch{
- \renewcommand\lselector{nl}
- }
- }
- \makeatletter
+\RequirePackage{uantwerpencolorlogoscheme}
- \newcommand\logopos{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-pos}
- \newcommand\logoneg{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-neg}
- \newcommand\logomonowhite{Logos/logo-uantwerpen-\fselector-\lselector-\colormodel-mono-white}
- \newcommand\iconfile{Logos/icon-uantwerpen-\fselector-\colormodel}
+\AtBeginDocument{
\def\appropriatelogo{\logopos}
\def\appropriateslidenumber{%
\usebeamercolor{pageno in head/foot}%
\insertframenumber/\inserttotalframenumber}%
}
-\ProcessOptions
-
-\if@neutralcolors
-\newcommand\maincolor{uauaside}
-\newcommand\sidecolor{uauamain}
-\newcommand\basecolor{uauaside}
-\else
-\newcommand\maincolor{ua\fselector main}
-\newcommand\sidecolor{ua\fselector side}
-\newcommand\basecolor{uauaside}
-\fi
-
\mode<presentation>
\RequirePackage{tikz}
@@ -5298,102 +5324,26 @@ L: \@qrlectureri
\mode
<all>
-%</bmr>
+%</bmr>
% \end{macrocode}
-%
+%
% \subsubsection{Beamer color theme}
% \begin{macrocode}
-%<*bmrcolor>
-% Copyright 2021 by Walter Daems <walter.daems@uantwerpen.be>
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-%
-% See the file doc/licenses/LICENSE for more details.
+%<*bmrcolor>
+% Copyright 2021 by Walter Daems <walter.daems@uantwerpen.be>
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
\mode<presentation>
-\if@cmyk
-
-%% UAntwerpen
-\definecolor{uauamain}{cmyk}{0.00,0.96,0.82,0.01}
-\definecolor{uauaside}{cmyk}{1.00,0.71,0.00,0.51}
-%% Faculteit Bedrijfswetenschappen en Economie
-\definecolor{uabemain}{cmyk}{0.58,0.00,1.00,0.04}
-\definecolor{uabeside}{cmyk}{0.29,0.04,0.41,0.00}
-%% Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
-\definecolor{uafbdmain}{cmyk}{0.65,0.03,0.00,0.00}
-\definecolor{uafbdside}{cmyk}{0.33,0.03,0.00,0.00}
-%% Faculteit Geneeskunde en Gezondheidswetenschappen
-\definecolor{uaggwmain}{cmyk}{0.61,0.55,0.00,0.00}
-\definecolor{uaggwside}{cmyk}{0.21,0.27,0.03,0.00}
-%% Faculteit Letteren en Wijsbegeerte
-\definecolor{ualwmain}{cmyk}{0.00,0.27,0.85,0.00}
-\definecolor{ualwside}{cmyk}{0.00,0.16,0.51,0.00}
-%% Faculteit Ontwerpwetenschappen
-\definecolor{uaowmain}{cmyk}{0.53,0.25,0.26,0.05}
-\definecolor{uaowside}{cmyk}{0.25,0.08,0.16,0.00}
-%% Faculteit Rechten
-\definecolor{uaremain}{cmyk}{0.10,1.00,0.90,0.05}
-\definecolor{uareside}{cmyk}{0.04,0.45,0.36,0.00}
-%% Faculteit Sociale Wetenschappen
-\definecolor{uaswmain}{cmyk}{0.08,0.00,1.00,0.26}
-\definecolor{uaswside}{cmyk}{0.20,0.11,0.50,0.00}
-%% Faculteit Toegepaste Ingenieurswetenschappen
-\definecolor{uatimain}{cmyk}{0.31,1.00,0.00,0.01}
-\definecolor{uatiside}{cmyk}{0.11,0.30,0.02,0.00}
-%% Faculteit Wetenschappen
-\definecolor{uawemain}{cmyk}{1.00,0.20,0.00,0.25}
-\definecolor{uaweside}{cmyk}{0.40,0.08,0.00,0.10}
-%% IOB
-\definecolor{uaiobmain}{cmyk}{0.05,0.75,1.00,0.00}
-\definecolor{uaiobside}{cmyk}{0.40,0.08,0.00,0.10}
-
-\else
-
-%% UAntwerpen
-\definecolor{uauamain}{RGB}{234,44,56}
-\definecolor{uauaside}{RGB}{0,46,101}
-%% Faculteit Bedrijfswetenschappen en Economie
-\definecolor{uabemain}{RGB}{101,168,18}
-\definecolor{uabeside}{RGB}{185,213,169}
-%% Faculteit Farmaceutische, Biomedische en Diergeneeskundige Wetenschappen
-\definecolor{uafbdmain}{RGB}{68,184,243}
-\definecolor{uafbdside}{RGB}{181,221,247}
-%% Faculteit Geneeskunde en Gezondheidswetenschappen
-\definecolor{uaggwmain}{RGB}{117,117,203}
-\definecolor{uaggwside}{RGB}{198,182,210}
-%% Faculteit Letteren en Wijsbegeerte
-\definecolor{ualwmain}{RGB}{241,181,61}
-\definecolor{ualwside}{RGB}{255,218,145}
-%% Faculteit Ontwerpwetenschappen
-\definecolor{uaowmain}{RGB}{130,161,173}
-\definecolor{uaowside}{RGB}{200,217,216}
-%% Faculteit Rechten
-\definecolor{uaremain}{RGB}{210,8,36}
-\definecolor{uareside}{RGB}{237,157,144}
-%% Faculteit Sociale Wetenschappen
-\definecolor{uaswmain}{RGB}{173,165,0}
-\definecolor{uaswside}{RGB}{215,211,148}
-%% Faculteit Toegepaste Ingenieurswetenschappen
-\definecolor{uatimain}{RGB}{177,0,151}
-\definecolor{uatiside}{RGB}{221,184,210}
-%% Faculteit Wetenschappen
-\definecolor{uawemain}{RGB}{0,108,169}
-\definecolor{uaweside}{RGB}{151,192,223}
-%% IOB
-\definecolor{uaiobmain}{RGB}{230,98,8}
-\definecolor{uaiobside}{RGB}{151,192,223}
-
-\fi
+\RequirePackage{uantwerpencolorlogoscheme}
%% define main color
-\colorlet{maincolor}{\maincolor}
-\colorlet{sidecolor}{\sidecolor}
-\colorlet{basecolor}{\basecolor}
-
\setbeamercolor{palette primary}{fg=maincolor}
\setbeamercolor{palette secondary}{fg=sidecolor}
\setbeamercolor{palette tertiary}{fg=uauaside}
@@ -5452,27 +5402,27 @@ L: \@qrlectureri
\setbeamercolor{inverse subsection name}{fg=white!75!maincolor}
\mode
<all>
-%</bmrcolor>
+%</bmrcolor>
% \end{macrocode}
-%
+%
% \subsubsection{Beamer font theme}
-%
+%
% \begin{macrocode}
-%<*bmrfont>
-% Copyright 2021 by Walter Daems
-%
-% This file may be distributed and/or modified
-%
-% 1. under the LaTeX Project Public License and/or
-% 2. under the GNU Public License.
-%
-% See the file doc/licenses/LICENSE for more details.
+%<*bmrfont>
+% Copyright 2021 by Walter Daems
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License and/or
+% 2. under the GNU Public License.
+%
+% See the file doc/licenses/LICENSE for more details.
\usetikzlibrary{calc}
\if@nofonts
\else
- \RequirePackage{iftex}
+\RequirePackage{iftex}
% Uncomment the following line if in MiKTeX you get the error
% message that \ifluatex is already defined.
% You first option is to update all your packages both in user as in
@@ -5545,7 +5495,7 @@ L: \@qrlectureri
\setbeamerfont{footline}{parent={tiny structure}}
\setbeamerfont{frametitle}
- {parent=structure,size=\renewcommand{\baselinestretch}{0.85}\LARGE\bfseries}
+ {parent=structure,size=\renewcommand*{\baselinestretch}{0.85}\LARGE\bfseries}
\setbeamerfont{framesubtitle}{parent=frametitle,size=\normalsize\bfseries}
\setbeamerfont{caption}{size=\small}
@@ -5626,7 +5576,7 @@ L: \@qrlectureri
\newif\if@noround
\@noroundfalse
-\newcommand\uantwerpenleftshape[3][]{
+\newcommand*\uantwerpenleftshape[3][]{
\newcommand\mycradius{0.05*(\getlength{\paperheight}-1.6)}%
\coordinate (bl) at #2;
\coordinate (tr) at #3;
@@ -5637,7 +5587,7 @@ L: \@qrlectureri
arc(-90:-180:{\mycradius}) -- cycle;
\fi
}
-\newcommand\uantwerpenrightshape[3][]{
+\newcommand*\uantwerpenrightshape[3][]{
\newcommand\mycradius{0.05*(\getlength{\paperheight}-1.6)}%
\coordinate (bl) at #2;
\coordinate (tr) at #3;
@@ -5649,7 +5599,7 @@ L: \@qrlectureri
\fi
}
-\newcommand\darken[2][0.5]{%
+\newcommand*\darken[2][0.5]{%
\begin{tikzpicture}[inner sep=0pt,outer sep=0pt]
\node (a) {#2};
\fill[fill=black,opacity=#1] (a.south west) rectangle (a.north east);
@@ -5678,7 +5628,7 @@ L: \@qrlectureri
\end{tikzpicture}
}
-\newcommand\uantwerpenicon[1][scale=1]{
+\newcommand*\uantwerpenicon[1][scale=1]{
\includegraphics[#1]{\iconfile}
}
@@ -5708,8 +5658,8 @@ L: \@qrlectureri
\mode<presentation>
\newcommand*\getlength[1]{\strip@pt#1/28.45274}
-\newcommand\pw{\getlength{\paperwidth}}%
-\newcommand\ph{\getlength{\paperheight}}%
+\newcommand*\pw{\getlength{\paperwidth}}%
+\newcommand*\ph{\getlength{\paperheight}}%
\newif\if@rhtext
\@rhtextfalse
@@ -6334,9 +6284,9 @@ L: \@qrlectureri
\newdimen\yupright
\newdimen\xcurrent
\newdimen\ycurrent
-\newcommand\extractloleft[1]{\path (#1);\pgfgetlastxy{\xloleft}{\yloleft};}
-\newcommand\extractupright[1]{\path (#1);\pgfgetlastxy{\xupright}{\yupright};}
-\newcommand\extractcurrent[1]{\path (#1);\pgfgetlastxy{\xcurrent}{\ycurrent};}
+\newcommand*\extractloleft[1]{\path (#1);\pgfgetlastxy{\xloleft}{\yloleft};}
+\newcommand*\extractupright[1]{\path (#1);\pgfgetlastxy{\xupright}{\yupright};}
+\newcommand*\extractcurrent[1]{\path (#1);\pgfgetlastxy{\xcurrent}{\ycurrent};}
\DeclareRobustCommand\place{\@ifnextchar[{\@place}{\@place[align=left] }}
\def\@place[#1] at (#2,#3)#4{
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
index caf675dfb6..e21ec6b85c 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.ins
@@ -15,7 +15,7 @@
%% The Current Maintainer of this work is Walter Daems.
%%
-\input docstrip.tex
+\input l3docstrip.tex
\keepsilent
\usedir{tex/latex/uantwerpendocs}
@@ -42,6 +42,8 @@ The Current Maintainer of this work is Walter Daems.
\endpreamble
+\generate{\file{uantwerpencommonoptions.clo}{\from{uantwerpendocs.dtx}{clo}}}
+\generate{\file{uantwerpencolorlogoscheme.sty}{\from{uantwerpendocs.dtx}{cls}}}
\generate{\file{uantwerpencoursetext.cls}{\from{uantwerpendocs.dtx}{ct}}}
\generate{\file{uantwerpencoursetext-example.tex}{\from{uantwerpendocs.dtx}{ct-example}}}
@@ -53,6 +55,9 @@ The Current Maintainer of this work is Walter Daems.
\generate{\file{uantwerpenphdthesis-example1.tex}{\from{uantwerpendocs.dtx}{pt-example1}}}
\generate{\file{uantwerpenphdthesis-example2.tex}{\from{uantwerpendocs.dtx}{pt-example2}}}
+\generate{\file{uantwerpenreport.cls}{\from{uantwerpendocs.dtx}{rp}}}
+\generate{\file{uantwerpenreport-example.tex}{\from{uantwerpendocs.dtx}{rp-example}}}
+
\generate{\file{uantwerpenletter.cls}{\from{uantwerpendocs.dtx}{le}}}
\generate{\file{uantwerpenletter.cfg}{\from{uantwerpendocs.dtx}{le-cfg}}}
\generate{\file{uantwerpenletter-example.tex}{\from{uantwerpendocs.dtx}{le-example}}}
@@ -67,6 +72,10 @@ The Current Maintainer of this work is Walter Daems.
\generate{\file{beamerouterthemeuantwerpen.sty}{\from{uantwerpendocs.dtx}{bmrouter}}}
\generate{\file{beamerthemeuantwerpen.sty}{\from{uantwerpendocs.dtx}{bmr}}}
\generate{\file{beamerthemeuantwerpenuserguide.tex}{\from{uantwerpendocs.dtx}{bmrug}}}
+\nopreamble
+\nopostamble
+\generate{\file{uantwerpendocs-nl.data}{\from{uantwerpendocs.dtx}{nldata}}}
+\generate{\file{uantwerpendocs-en.data}{\from{uantwerpendocs.dtx}{endata}}}
\obeyspaces
\Msg{****************************************************************}
@@ -78,8 +87,13 @@ The Current Maintainer of this work is Walter Daems.
\Msg{* uantwerpenmasterthesis.cls *}
\Msg{* uantwerpenbamathesis.cls *}
\Msg{* uantwerpenphdthesis.cls *}
+\Msg{* uantwerpenreport.cls *}
\Msg{* uantwerpenletter.cls *}
\Msg{* uantwerpenexam.cls *}
+\Msg{* uantwerpendocs-nl.data *}
+\Msg{* uantwerpendocs-en.data *}
+\Msg{* uantwerpencommonoptions.clo *}
+\Msg{* uantwerpencolorlogoscheme.sty *}
\Msg{* beamercolorthemeuantwerpen.sty *}
\Msg{* beamerfontthemeuantwerpen.sty *}
\Msg{* beamerinnerthemeuantwerpen.sty *}
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
index dee1f993f9..e446d17203 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
index b33cfe3477..f91e3fd766 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
index 7e606d13f7..6a1131b814 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenexam-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
index 1caa00fe49..fbb07439fa 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenletter-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
index 5d49fcba41..8220f2216d 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
index 2469c14255..f5fc78abb1 100644
--- a/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example2.pdf
Binary files differ
diff --git a/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
new file mode 100644
index 0000000000..da2af47217
--- /dev/null
+++ b/macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/yathesis/CHANGELOG.md b/macros/latex/contrib/yathesis/CHANGELOG.md
index 46742100da..a490efc9b8 100644
--- a/macros/latex/contrib/yathesis/CHANGELOG.md
+++ b/macros/latex/contrib/yathesis/CHANGELOG.md
@@ -1,5 +1,19 @@
# [Unreleased]
+# [1.0.8] - 2021-07-13
+
+## Fixed
+- Bug gh #85 (https://git.io/JCTjv).
+- Bug gh #84 (https://git.io/JCTpu).
+- Bug gh #83 (https://git.io/JYfz8).
+
+## Changed
+- The fix of #85 above renders ineffective the `\includeonly` command when the
+ option `\localbibs` is used. This is an incompatible change but only for
+ a command that is used only temporarily, so we don't increment the major
+ version number.
+- Again expose `\listoflistings` in the samples.
+
# [1.0.7] - 2021-03-24
## Removed
diff --git a/macros/latex/contrib/yathesis/README.md b/macros/latex/contrib/yathesis/README.md
index 4c43f536a9..cf129bfa68 100644
--- a/macros/latex/contrib/yathesis/README.md
+++ b/macros/latex/contrib/yathesis/README.md
@@ -1,6 +1,6 @@
-----------------------------------------------------------------------
-- `yathesis` --- Yet Another Thesis Class, version 1.0.7
+- `yathesis` --- Yet Another Thesis Class, version 1.0.8
- E-mail: `denis.bitouze@univ-littoral.fr`
- Released under the LaTeX Project Public License v1.3c or later. See
http://www.latex-project.org/lppl.txt
diff --git a/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf b/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf
index f11c0f0852..6533156b70 100644
--- a/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf
+++ b/macros/latex/contrib/yathesis/doc/yathesis-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/yathesis/exemples/specimen/these.pdf b/macros/latex/contrib/yathesis/exemples/specimen/these.pdf
index 2aaa151537..4a7f76b770 100644
--- a/macros/latex/contrib/yathesis/exemples/specimen/these.pdf
+++ b/macros/latex/contrib/yathesis/exemples/specimen/these.pdf
Binary files differ
diff --git a/macros/latex/contrib/yathesis/exemples/specimen/these.tex b/macros/latex/contrib/yathesis/exemples/specimen/these.tex
index 343beacb8b..9226936fc9 100644
--- a/macros/latex/contrib/yathesis/exemples/specimen/these.tex
+++ b/macros/latex/contrib/yathesis/exemples/specimen/these.tex
@@ -337,6 +337,9 @@ Thèse hilarante, comme le gaz du même nom !
% (Facultatif) Table des figures
\listoffigures
%
+% % (Facultatif) Table des listings (nécessite que le package « listings » soit
+% % chargé)
+% \lstlistoflistings
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Début de la partie principale (du « corps ») de la thèse
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx b/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
index ae8059bcb3..7bb5006f4d 100644
--- a/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
+++ b/macros/latex/contrib/yathesis/source/yathesis-samples-templates.dtx
@@ -627,6 +627,12 @@
\listoffigures
%<<COMMENT
%
+%COMMENT
+%<these-sample|flat-sample>% % (Facultatif) Table des listings (nécessite que le package « listings » soit
+%<these-sample|flat-sample>% % chargé)
+%<these-sample|flat-sample>% \lstlistoflistings
+%
+%<<COMMENT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Début de la partie principale (du « corps ») de la thèse
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex/contrib/yathesis/source/yathesis.dtx b/macros/latex/contrib/yathesis/source/yathesis.dtx
index fe8586af30..7b59e2b682 100644
--- a/macros/latex/contrib/yathesis/source/yathesis.dtx
+++ b/macros/latex/contrib/yathesis/source/yathesis.dtx
@@ -23,7 +23,7 @@
%<*readme>
-----------------------------------------------------------------------
-- `yathesis` --- Yet Another Thesis Class, version 1.0.7
+- `yathesis` --- Yet Another Thesis Class, version 1.0.8
- E-mail: `denis.bitouze@univ-littoral.fr`
- Released under the LaTeX Project Public License v1.3c or later. See
http://www.latex-project.org/lppl.txt
@@ -70,8 +70,8 @@ Typesetting the documentation of the class requires:
\fi
%</internal>
%<*class|install>
-\def\yathesisversion{1.0.7}
-\def\yathesisdate{2021-03-24}
+\def\yathesisversion{1.0.8}
+\def\yathesisdate{2021-07-13}
%</class|install>
%<*install>
\input docstrip.tex
@@ -807,7 +807,7 @@ This work consists of the file yathesis.dtx
La valeur (`#1') passée à la cle\MessageBreak%
`localtocs/depth'\MessageBreak%
en option de classe n'est pas un des niveaux de\MessageBreak%
- sectionnement acceptes :\MessageBreak%
+ sectionnement acceptés :\MessageBreak%
`section', `subsection',`subsubsection',\MessageBreak%
`paragraph', `subparagraph'.\MessageBreak%
Le niveau `\YAD@tocdepth' va être utilisé à la place%
@@ -838,7 +838,7 @@ This work consists of the file yathesis.dtx
que vous n'avez pas chargé.\MessageBreak%
La classe `yathesis' va le faire pour vous mais\MessageBreak%
le recours à ce package pour la bibliographie sera\MessageBreak%
- alors necessaire et exclura tout autre outil\MessageBreak%
+ alors nécessaire et exclura tout autre outil\MessageBreak%
de production de la bibliographie\MessageBreak%
(notamment `BibTeX')%
}%
@@ -975,7 +975,7 @@ This work consists of the file yathesis.dtx
\YAD@ClassWarningNoLine{%
La version de `babel' utilisée est obsolète.\MessageBreak%
La classe `yathesis' va essayer de faire son possible\MessageBreak%
- mais il est possible qu'elle produise des resultats\MessageBreak%
+ mais il se peut qu'elle produise des resultats\MessageBreak%
non prévus. Il est conseillé de mettre à jour sa\MessageBreak%
distribution TeX%
}%
@@ -1145,6 +1145,11 @@ This work consists of the file yathesis.dtx
% \begin{macrocode}
\RequirePackage{etoc}[2016/09/29]%
% \end{macrocode}
+% The following command is a workaround provided by the \Package{etoc} in order
+% to fix the issue \url|https://github.com/dbitouze/yathesis/issues/83| (see below).
+% \begin{macrocode}
+\ifdefined\etockeeporiginaltableofcontents\etockeeporiginaltableofcontents\fi
+% \end{macrocode}
% Pour tester la langue en cours
% \begin{macrocode}
\RequirePackage{iflang}[2007/11/11]%
@@ -1438,7 +1443,7 @@ This work consists of the file yathesis.dtx
%
% \begin{macro}{\YAD@reach@file}
% Macro offrant la possibilité de cliquer sur un hyperlien pour ouvrir
-% les fichier permettant de modifier les mots et expressions clés du
+% les fichiers permettant de modifier les mots et expressions clés du
% canevas de thèse et les données de la thèse
% \begin{macrocode}
\definecolor{YAD@configuration@file@color}{rgb}{0.5,0,0.5}%
@@ -1908,7 +1913,7 @@ This work consists of the file yathesis.dtx
\newcommand{\YAD@error@firstlastnames@empty}[4]{%
\ifthenelse{\isempty{#2}}{%
\YAD@ClassError{%
- Prénom #1 non specifié%
+ Prénom #1 non spécifié%
}{%
Le 1er argument obligatoire de la commande \string#4\MessageBreak%
est vide (celui-ci doit être renseigné).%
@@ -1917,7 +1922,7 @@ This work consists of the file yathesis.dtx
}%
\ifthenelse{\isempty{#3}}{%
\YAD@ClassError{%
- Nom #1 non specifié%
+ Nom #1 non spécifié%
}{%
Le 2e argument obligatoire de la commande \string#4\MessageBreak%
est vide (celui-ci doit être renseigné).%
@@ -2908,7 +2913,7 @@ This work consists of the file yathesis.dtx
}{%
La commande \string#4{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak%
n'a pas été correctement saisie car le\MessageBreak%
- jour (`\YAD@daydate') n'est pas valide :\MessageBreak%
+ numéro de jour (`\YAD@daydate') n'est pas valide :\MessageBreak%
ce doit être un nombre entier entre 1 et 31.%
}%
}{%
@@ -2925,7 +2930,7 @@ This work consists of the file yathesis.dtx
}{%
La commande \string#4{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak%
n'a pas été correctement saisie car le\MessageBreak%
- numero de jour (`\YAD@daydate') n'est pas valide :\MessageBreak%
+ numéro de jour (`\YAD@daydate') n'est pas valide :\MessageBreak%
ce doit être un nombre entier entre 1 et 31.%
}%
}{%
@@ -2941,9 +2946,9 @@ This work consists of the file yathesis.dtx
}{%
La commande \string#4{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak%
n'a pas été correctement saisie car le\MessageBreak%
- mois (`\YAD@monthdate') n'est pas valide :\MessageBreak%
+ numéro de mois (`\YAD@monthdate') n'est pas valide :\MessageBreak%
ce doit être un nombre entier entre\MessageBreak%
- 1 (janvier) et 12 (decembre).%
+ 1 (janvier) et 12 (décembre).%
}%
}{%
\IfDecimal{\YAD@monthdate}{%
@@ -2959,9 +2964,9 @@ This work consists of the file yathesis.dtx
}{%
La commande \string#4{\YAD@daydate}{\YAD@monthdate}{\YAD@yeardate}\space\MessageBreak%
n'a pas été correctement saisie car le\MessageBreak%
- numero de mois (`\YAD@monthdate') n'est pas valide :\MessageBreak%
+ numéro de mois (`\YAD@monthdate') n'est pas valide :\MessageBreak%
ce doit être un nombre entier entre\MessageBreak%
- 1 (janvier) et 12 (decembre).%
+ 1 (janvier) et 12 (décembre).%
}%
}{%
\global\booltrue{YAD@valid@month}%
@@ -3039,7 +3044,7 @@ This work consists of the file yathesis.dtx
}{%
}{%
\YAD@ClassError[nodate]{%
- Date de soutenance non specifiée%
+ Date de soutenance non spécifiée%
}{%
La commande \protect\date\space n'a pas été utilisée\MessageBreak%
(celle-ci est requise).%
@@ -3140,6 +3145,7 @@ This work consists of the file yathesis.dtx
% \begin{macrocode}
\AfterEndPreamble{%
\let\YAD@ORI@tableofcontents\tableofcontents%
+ \let\YAD@ORI@etoctableofcontents\etoctableofcontents%
\let\YAD@ORI@localtableofcontents\localtableofcontents%
\renewcommand{\tableofcontents}{%
\booltrue{YAD@tableofcontents@used}%
@@ -3615,7 +3621,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@nolaboratory}{%
}{%
\YAD@ClassError[nolaboratory]{%
- Nom du laboratoire de la thèse non specifié ou vide%
+ Nom du laboratoire de la thèse non spécifié ou vide%
}{%
La commande \protect\laboratory\space n'a pas été utilisée\MessageBreak%
(celle-ci est requise) ou son 1er argument est vide\MessageBreak%
@@ -3651,7 +3657,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@nolaboratoryaddress}{%
}{%
\YAD@ClassError[nolaboratoryaddress]{%
- Adresse du laboratoire non specifiée ou vide%
+ Adresse du laboratoire non spécifiée ou vide%
}{%
La commande \protect\laboratory\space n'a pas été utilisée\MessageBreak%
(celle-ci est requise) ou son 2e argument est vide\MessageBreak%
@@ -3731,7 +3737,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@notitle}{%
}{%
\YAD@ClassError[notitle]{%
- Titre de la thèse non specifié%
+ Titre de la thèse non spécifié%
}{%
La commande \protect\title\space n'a pas été utilisée\MessageBreak%
(celle-ci est requise) ou son argument obligatoire est vide\MessageBreak%
@@ -3803,7 +3809,7 @@ This work consists of the file yathesis.dtx
\YAD@ifemptyorundef{\printinstitute}{%
\YAD@generic@argument@translate{institute}%
\YAD@ClassError[noinstitute]{%
- Institut de la thèse non specifié%
+ Institut de la thèse non spécifié%
}{%
La commande \protect\institute\space n'a pas été
utilisée\MessageBreak%
@@ -3841,7 +3847,7 @@ This work consists of the file yathesis.dtx
\YAD@ifemptyorundef{\printdoctoralschool}{%
\YAD@generic@argument@translate{doctoralschool}%
\YAD@ClassError[nodoctoralschool]{%
- École doctorale de la thèse non specifiée%
+ École doctorale de la thèse non spécifiée%
}{%
la commande \protect\doctoralschool\space n'a pas été
utilisée\MessageBreak%
@@ -3899,7 +3905,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@noauthor}{%
}{%
\YAD@ClassError[noauthor]{%
- Auteur de la thèse non specifié%
+ Auteur de la thèse non spécifié%
}{%
La commande \protect\author\space n'a pas été utilisée (celle-ci
est requise)\MessageBreak%
@@ -3970,7 +3976,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@noacademicfield}{%
}{%
\YAD@ClassError[noacademicfield]{%
- Champ disciplinaire de la thèse non specifié%
+ Champ disciplinaire de la thèse non spécifié%
}{%
La commande \protect\academicfield\space n'a pas été utilisée
(celle-ci est requise)\MessageBreak%
@@ -4034,7 +4040,7 @@ This work consists of the file yathesis.dtx
\ifbool{YAD@nosupervisor}{%
}{%
\YAD@ClassError*[nosupervisor]{%
- Directeur de thèse non specifié%
+ Directeur de thèse non spécifié%
}{%
La commande \protect\supervisor\space n'a pas été utilisée\MessageBreak%
(celle-ci est requise) ou ses arguments obligatoires sont
@@ -4195,21 +4201,21 @@ This work consists of the file yathesis.dtx
}{%
\ifdefempty{\YAD@mainkeywords}{%
\YAD@ClassError[nokeywords]{%
- Mots clés dans la langue principale non specifiés%
+ Mots clés dans la langue principale non spécifiés%
}{%
Les mots clés dans la langue principale\MessageBreak%
(1er argument de la commande \protect\keywords) n'ont\MessageBreak%
- pas été specifiés. Ceux-ci sont requis.%
+ pas été spécifiés. Ceux-ci sont requis.%
}%
}{%
\csdef{YAD@metakeywords}{\YAD@mainkeywords} }%
\ifdefempty{\YAD@secondarykeywords}{%
\YAD@ClassError[nokeywords]{%
- Mots clés dans la langue secondaire non specifiés%
+ Mots clés dans la langue secondaire non spécifiés%
}{%
Les mots clés dans la langue secondaire\MessageBreak%
(2e argument de la commande \protect\keywords) n'ont\MessageBreak%
- pas été specifiés. Ceux-ci sont requis.%
+ pas été spécifiés. Ceux-ci sont requis.%
}%
}{%
\csdef{YAD@metakeywords}{\YAD@mainkeywords (\YAD@secondarykeywords)}%
@@ -4796,7 +4802,7 @@ This work consists of the file yathesis.dtx
}{%
La 1re occurrence de l'environnement `abstract' a été
utilisée\MessageBreak%
- avec un contenu vide. Un contenu non vide est requis.%
+ avec un contenu vide. Un contenu non vide est requis.%
}%
}{%
\YAD@ClassError[noabstract]{%
@@ -4815,7 +4821,7 @@ This work consists of the file yathesis.dtx
}{%
La 2e occurrence de l'environnement `abstract' a été
utilisée\MessageBreak%
- avec un contenu vide. Un contenu non vide est requis.%
+ avec un contenu vide. Un contenu non vide est requis.%
}%
}{%
}%
@@ -4954,7 +4960,7 @@ This work consists of the file yathesis.dtx
\YAD@generic@argument@translate{epigraph}%
}%
\YAD@ClassError{%
- Epigraphe vide%
+ Épigraphe vide%
}{%
L'argument obligatoire d'une commande \protect\frontepigraph\space
est vide\MessageBreak%
@@ -5247,7 +5253,7 @@ This work consists of the file yathesis.dtx
% \end{macrocode}
% \begin{macrocode}
\newcommand*\YAD@computenumwidths [1][0.5em]{%
- \YAD@computenumwidths@ {}{#1}%
+ \YAD@computenumwidths@ {etoc}{#1}%
}
\newcommand*\YAD@computelocalnumwidths [1][0.5em]{%
\YAD@computenumwidths@ {local}{#1}%
@@ -5370,6 +5376,30 @@ This work consists of the file yathesis.dtx
}%
}%
% \end{macrocode}
+% Dans le cas où l'option "localbibs" est demandée, on redéfinit
+% "\include" en "\input" pour éviter le "\clearpage" émis juste avant
+% l'inclusion du fichier, sans quoi une bibliographie locale automatiquement
+% ajoutée avant le chapitre suivant, si ce dernier l'est via "\include", subit
+% un changement de page avant d'être affichée. La commande "\includeonly"
+% est alors inopérante et on le signale (mais ce signalement n'apparaît pas si
+% cette commande est utilisée avant "\documentclass").
+% \begin{macrocode}
+ \AddToHook{begindocument/before}{%
+ \ifbool{YAD@localbibs}{%
+ \let\include\input%
+ \if@partsw
+ \ClassWarningNoLine{yathesis}{%
+ Commande \string\includeonly\space inopérante lorsque l'option\MessageBreak
+ `localbibs' est utilisée. Le seul moyen de\MessageBreak
+ temporairement ne compiler que certains fichiers\MessageBreak
+ inclus est alors de temporairement commenter\MessageBreak
+ l'inclusion des autres%
+ }%
+ \fi
+ }{%
+ }
+ }
+% \end{macrocode}
% On redéfinit la commande "\chapter" de sorte que, dans un chapitre non
% numéroté ("\chapter*") :
% \begin{itemize}
@@ -5689,7 +5719,18 @@ This work consists of the file yathesis.dtx
}%
}{%
}%
-}%
+% \end{macrocode}
+% In case the \Package{listings} is loaded, we hack the "\lstlistoflistings"
+% command in order to fix the issue \url|https://github.com/dbitouze/yathesis/issues/83|.
+% \begin{macrocode}
+ \@ifpackageloaded{listings}{%
+ \lst@UserCommand\lstlistoflistings{\bgroup
+ \let\contentsname\lstlistlistingname
+ \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}%
+ \YAD@ORI@tableofcontents \egroup}
+ }{%
+ }%
+ }%
% \end{macrocode}
% Les parties sont par défaut numérotées.
% \begin{macrocode}
@@ -6631,17 +6672,21 @@ This work consists of the file yathesis.dtx
#include:xstring
#
# Document class
+#
#keyvals:\documentclass/yathesis
mainlanguage=#french,english
secnumdepth=#part,chapter,section,subsection,subsubsection,paragraph,subparagraph
space=#single,onehalf,double
chap-style=#Sonny,Lenny,Glenn,Conny,Rejne,Bjarne,PetersLenny,Bjornstrup,none
+fncychap=#Sonny,Lenny,Glenn,Conny,Rejne,Bjarne,PetersLenny,Bjornstrup,none
nofrontcover#true,false
sepcorpaffilfrench=
sepcorpaffilenglish=
version=#inprogress,inprogress*,submitted,submitted*,final,draft
output=#screen,paper,paper*
-colophon=#verso-frontcover,recto-backcover,nowhere
+colophon-location=#verso-frontcover,recto-backcover,nowhere
+hdr
+numlaboratories=%<⟨nombre de laboratoires affichés⟩%>
localtocs
localtocs/depth=#section,subsection,subsubsection,paragraph,subparagraph
localbibs
@@ -6668,163 +6713,96 @@ noabstract
nomakeabstract
notableofcontents
noprintbibliography
-graphicx
-adjustbox
-setspace
-xcolor
-datatool
-titlesec
-draftwatermark
-babel
-datetime2
+graphicx={%<⟨options du package graphicx⟩%>}
+adjustbox={%<⟨options du package adjustbox⟩%>}
+setspace={%<⟨options du package setspace⟩%>}
+xcolor={%<⟨options du package xcolor⟩%>}
+datatool={%<⟨options du package datatool⟩%>}
+titlesec={%<⟨options du package titlesec⟩%>}
+draftwatermark={%<⟨options du package draftwatermark⟩%>}
+babel={%<⟨options du package babel⟩%>}
+datetime2={%<⟨options du package datetime2⟩%>}
+corps=%<⟨corporation⟩%>
+role=%<⟨role⟩%>
#endkeyvals
#
-\yadsetup{%<options%>}#n
+\yadsetup{⟨options⟩%keyvals}#n
#
# Cover and title pages
#
# Author
-\author{%<prénom%>}{%<nom%>}#n
-\author[%<email%>]{%<prénom%>}{%<nom%>}#n
+\author{⟨prénom⟩}{⟨nom⟩}#n
+\author[⟨email⟩]{⟨prénom⟩}{⟨nom⟩}#n
#
# Title, etc.
-\title[titre dans la langue secondaire%text]{titre dans la langue principale%text}#n
-\subtitle[sous-titre dans la langue secondaire%text]{sous-titre dans la langue principale%text}#n
-\academicfield[discipline dans la langue secondaire%text]{discipline dans la langue principale%text}#n
-\speciality[spécialité dans la langue secondaire%text]{spécialité dans la langue principale%text}#n
-\subject[sujet dans la langue secondaire%text]{sujet dans la langue principale%text}#n
+\title[⟨titre dans la langue secondaire⟩%text]{⟨titre dans la langue principale⟩%text}#n
+\subtitle[⟨sous-titre dans la langue secondaire⟩%text]{⟨sous-titre dans la langue principale⟩%text}#n
+\academicfield[⟨discipline dans la langue secondaire⟩%text]{⟨discipline dans la langue principale⟩%text}#n
+\speciality[⟨spécialité dans la langue secondaire⟩%text]{⟨spécialité dans la langue principale⟩%text}#n
+\subject[⟨sujet dans la langue secondaire⟩%text]{⟨sujet dans la langue principale⟩%text}#n
#
-\title{titre%text}#n
-\subtitle{sous-titre%text}#n
-\academicfield{discipline%text}#n
-\speciality{spécialité%text}#n
-\subject{sujet%text}#n
-\date{%<jour%>}{%<mois%>}{%<année%>}#n
-\submissiondate{%<jour%>}{%<mois%>}{%<année%>}#n
+\title{⟨titre⟩%text}#n
+\subtitle{⟨sous-titre⟩%text}#n
+\academicfield{⟨discipline⟩%text}#n
+\speciality{⟨spécialité⟩%text}#n
+\subject{⟨sujet⟩%text}#n
+\date{⟨jour⟩}{⟨mois⟩}{⟨année⟩}#n
+\submissiondate{⟨jour⟩}{⟨mois⟩}{⟨année⟩}#n
#
# Institute and entities
-\pres{%<nom du PRES%>}#n
-\comue{%<nom de la ComUE%>}#n
-\institute{nom de l'institut%text}#n
-\coinstitute{nom de l'institut de cotutelle%text}#n
-\company{%<nom de l'entreprise%>}#n
-\doctoralschool{nom de l'école doctorale%text}#n
-\laboratory{%<nom du laboratoire%>}{%<adresse du laboratoire%>}#n
+\pres{⟨nom du PRES⟩}#n
+\comue{⟨nom de la ComUE⟩}#n
+\institute{⟨nom de l'institut⟩%text}#n
+\coinstitute{⟨nom de l'institut de cotutelle⟩%text}#n
+\company{⟨nom de l'entreprise⟩}#n
+\doctoralschool{⟨nom de l'école doctorale⟩%text}#n
+\laboratory{⟨nom du laboratoire⟩}{⟨adresse du laboratoire⟩}#n
#
-\pres[%<précision(s)%>]{%<nom du PRES%>}#n
-\comue[%<précision(s)%>]{%<nom de la ComUE%>}#n
-\institute[%<précision(s)%>]{nom de l'institut%text}#n
-\coinstitute[%<précision(s)%>]{nom de l'institut de cotutelle%text}#n
-\company[%<précision(s)%>]{%<nom de l'entreprise%>}#n
-\doctoralschool[%<précision(s)%>]{nom de l'école doctorale%text}#n
-\laboratory[%<précision(s)%>]{%<nom du laboratoire%>}{%<adresse du laboratoire%>}#n
+\pres[⟨précisions⟩%keyvals]{⟨nom du PRES⟩}#n
+\comue[⟨précisions⟩%keyvals]{⟨nom de la ComUE⟩}#n
+\institute[⟨précisions⟩%keyvals]{⟨nom de l'institut⟩%text}#n
+\coinstitute[⟨précisions⟩%keyvals]{⟨nom de l'institut de cotutelle⟩%text}#n
+\company[⟨précisions⟩%keyvals]{⟨nom de l'entreprise⟩}#n
+\doctoralschool[⟨précisions⟩%keyvals]{⟨nom de l'école doctorale⟩%text}#n
#
-#keyvals:\pres,\comue,\doctoralschool
-logo=
-logoheight=
-url=
-#endkeyvals
-#keyvals:\institute,\coinstitute,\company
-logo=
-logoheight=
-url=
+#keyvals:\pres,\comue,\doctoralschool,\institute,\coinstitute,\company
+logo=%<⟨fichier image⟩%>
+logoheight=%<⟨hauteur⟩%>
+url=%<⟨URL⟩%>
nologo
#endkeyvals
+#
+\laboratory[⟨précisions⟩%keyvals]{⟨nom du laboratoire⟩}{⟨adresse du laboratoire⟩}#n
+#
#keyvals:\laboratory
-logo=
-logoheight=
-url=
-telephone=
-fax=
-email=
+logo=%<⟨fichier image⟩%>
+logoheight=%<⟨hauteur⟩%>
+url=%<⟨URL⟩%>
+telephone=%<⟨numéro de téléphone⟩%>
+fax=%<⟨numéro de fax⟩%>
+email=%<⟨courriel⟩%>
nonamelink
#endkeyvals
#
# Committee
-\supervisor{%<prénom%>}{%<nom%>}#n
-\cosupervisor{%<prénom%>}{%<nom%>}#n
-\comonitor{%<prénom%>}{%<nom%>}#n
-\referee{%<prénom%>}{%<nom%>}#n
-\examiner{%<prénom%>}{%<nom%>}#n
-\committeepresident{%<prénom%>}{%<nom%>}#n
-\guest{%<prénom%>}{%<nom%>}#n
+\supervisor[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\cosupervisor[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\comonitor[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\referee[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\examiner[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\committeepresident[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
+\guest[⟨précisions⟩%keyvals]{⟨prénom⟩}{⟨nom⟩}#n
#
-\supervisor[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\cosupervisor[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\comonitor[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\referee[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\examiner[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\committeepresident[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
-\guest[%<précision(s)%>]{%<prénom%>}{%<nom%>}#n
+\supervisor{⟨prénom⟩}{⟨nom⟩}#n
+\cosupervisor{⟨prénom⟩}{⟨nom⟩}#n
+\comonitor{⟨prénom⟩}{⟨nom⟩}#n
+\referee{⟨prénom⟩}{⟨nom⟩}#n
+\examiner{⟨prénom⟩}{⟨nom⟩}#n
+\committeepresident{⟨prénom⟩}{⟨nom⟩}#n
+\guest{⟨prénom⟩}{⟨nom⟩}#n
#
-#keyvals:\supervisor
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\cosupervisor
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\comonitor
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\referee
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\examiner
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\committeepresident
-affiliation=
-professor
-seniorresearcher
-mcf
-mcf*
-associateprofessor
-associateprofessor*
-juniorresearcher
-juniorresearcher*
-#endkeyvals
-#keyvals:\guest
-affiliation=
+#keyvals:\supervisor,\cosupervisor,\comonitor,\referee,\examiner,\committeepresident,\guest
+affiliation=%<⟨affiliation⟩%>
professor
seniorresearcher
mcf
@@ -6833,122 +6811,86 @@ associateprofessor
associateprofessor*
juniorresearcher
juniorresearcher*
+male
+female
#endkeyvals
#
# Misc
-\ordernumber[%<numéro d'ordre%>]#n
-\ordernumber#n*
+\ordernumber[⟨numéro d'ordre⟩]#n
+\ordernumber#*n
+#
+# Keywords
+\keywords{⟨mots clés dans la langue principale⟩%text}{⟨mots clés dans la langue secondaire⟩%text}#n
+#
+# Title
+\maketitle
+\maketitle[⟨options⟩%keyvals]
#
#keyvals:\maketitle
nofrontcover
noaim
-frametitle=#shadowbox,ovalbox,none,fbox
+frametitle=#shadowbox,ovalbox,none,fbox,{⟨autre⟩}
#endkeyvals
#
# Preliminary part
#
-\colophontext{texte%text}#n*
-\disclaimer{clause%text}#n
+\colophontext{⟨texte⟩%text}#n*
+\disclaimertext{⟨clause⟩%text}#n
\makedisclaimer#n
\makedisclaimer*#n
-\keywords{mots clés dans la langue principale%text}{mots clés dans la langue secondaire%text}#n
\makekeywords#n
\makekeywords*#n
\makelaboratory#n
\makelaboratory*#n
-\dedication{dédicace%text}#n
+\dedication{⟨dédicace⟩%text}#n
\makededications#n
\makededications*#n
-\frontepigraph{épigraphe%text}{%<auteur%>}
-\frontepigraph[%<langue%>]{épigraphe%text}{%<auteur%>}
-#keyvals:\frontepigraph
-afrikaans
-bahasa
-basque
-breton
-bulgarian
-catalan
-croatian
-czech
-danish
-dutch
-english
-esperanto
-estonian
-finnish
-french
-galician
-ngerman
-greek
-hebrew
-hungarian
-icelandic
-interlingua
-irish
-italian
-latin
-lowersorbian
-samin
-norsk
-polish
-portuguese
-romanian
-russian
-scottish
-spanish
-slovak
-slovene
-swedish
-serbian
-turkish
-ukrainian
-uppersorbian
-welsh
-#endkeyvals
+\frontepigraph{⟨épigraphe⟩%text}{⟨auteur⟩}
+\frontepigraph[⟨langue⟩]{⟨épigraphe⟩%text}{⟨auteur⟩}
\makefrontepigraphs#n
\makefrontepigraphs*#n
\begin{abstract}#n
-\begin{abstract}[intitulé alternatif%text]#n*
+\begin{abstract}[⟨titre alternatif⟩%text]#n*
\end{abstract}#n
\makeabstract#n
-\newglssymbol{%<label%>}{%<symbole%>}{%<nom%>}{description%text}#n
-\newglssymbol[%<classement%>]{%<label%>}{%<symbole%>}{%<nom%>}{description%text}#n
+\newglssymbol{⟨label⟩%labeldef}{⟨symbole⟩}{⟨nom⟩}{⟨description⟩%text}#n
+\newglssymbol[⟨classement⟩]{⟨label⟩%labeldef}{⟨symbole⟩}{⟨nom⟩}{⟨description⟩%text}#n
\tableofcontents#n*
-\tableofcontents[%<précision(s)%>]#n*
+\tableofcontents[⟨précisions⟩%keyvals]#n*
#
#keyvals:\tableofcontents
depth=#part,chapter,section,subsection,subsubsection,paragraph,subparagraph
-name=
+name=%<⟨nom de la table des matières⟩%>
#endkeyvals
#
# Main part
#
-\chapter{titre%title}#L1
-\chapter*{titre%title}#L1
-\chapter[titre alt. pour TdM et entête%short title]{titre%title}#L1
-\chapter*[titre alt. pour TdM et entête%short title]{titre%title}#L1
-\chapter[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L1
-\chapter*[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L1
-\section{titre%title}#L2
-\section*{titre%title}#L2
-\section[titre alt. pour TdM et entête%short title]{titre%title}#L2
-\section*[titre alt. pour TdM et entête%short title]{titre%title}#L2
-\section[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L2
-\section*[titre alt. pour TdM%short title][titre alt. pour entête%short title]{titre%title}#L2
-\subsection{titre%title}#L3
-\subsection*{titre%title}#L3
-\subsection[titre alt. pour TdM et entête%short title]{titre%title}#L3
-\subsection*[titre alt. pour TdM et entête%short title]{titre%title}#L3
-\subsubsection{titre%title}#L4
-\subsubsection*{titre%title}#L4
-\subsubsection[titre alt. pour TdM et entête%short title]{titre%title}#L4
-\subsubsection*[titre alt. pour TdM et entête%short title]{titre%title}#L4
-\paragraph{titre%title}#L5
-\paragraph*{titre%title}#L5
-\paragraph[titre alt. pour TdM et entête%short title]{titre%title}#L5
-\paragraph*[titre alt. pour TdM et entête%short title]{titre%title}#L5
-\subparagraph{titre%title}#L6
-\subparagraph[titre alt. pour TdM et entête%short title]{titre%title}#L6
+\chapter{⟨titre⟩%title}#L1
+\chapter*{⟨titre⟩%title}#L1
+\chapter[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L1
+\chapter*[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L1
+\chapter[⟨titre alt. pour TdM⟩%short title][⟨titre alt. pour entête⟩%short title]{⟨titre⟩%title}#L1
+\chapter*[⟨titre alt. pour TdM⟩%short title][⟨titre alt. pour entête⟩%short title]{⟨titre⟩%title}#L1
+\section{⟨titre⟩%title}#L2
+\section*{⟨titre⟩%title}#L2
+\section[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L2
+\section*[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L2
+\section[⟨titre alt. pour TdM⟩%short title][⟨titre alt. pour entête⟩%short title]{⟨titre⟩%title}#L2
+\section*[⟨titre alt. pour TdM⟩%short title][⟨titre alt. pour entête⟩%short title]{⟨titre⟩%title}#L2
+\subsection{⟨titre⟩%title}#L3
+\subsection*{⟨titre⟩%title}#L3
+\subsection[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L3
+\subsection*[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L3
+\subsubsection{⟨titre⟩%title}#L4
+\subsubsection*{⟨titre⟩%title}#L4
+\subsubsection[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L4
+\subsubsection*[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L4
+\paragraph{⟨titre⟩%title}#L5
+\paragraph*{⟨titre⟩%title}#L5
+\paragraph[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L5
+\paragraph*[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L5
+\subparagraph{⟨titre⟩%title}#L6
+\subparagraph[⟨titre alt. pour TdM et entête⟩%short title]{⟨titre⟩%title}#L6
#
# Appendix part
#
@@ -6962,11 +6904,16 @@ name=
\stoplocaltocs
\nextwithlocaltoc
\nextwithoutlocaltoc
-\leadchapter{texte%text}
+\leadchapter{⟨texte⟩%text}
+\printsymbols[⟨options⟩%keyvals]
+#
+#keyvals:\printsymbols
+style=#yadsymbolstyle,⟨autre⟩
+#endkeyvals
#
# Customization
#
-\expression{%<label%>}{valeur (en français)%text}{valeur (en anglais)%text}#n*
+\expression{⟨label⟩%labeldef}{⟨valeur en français⟩%text}{⟨valeur en anglais⟩%text}#n*
% \end{macrocode}
%
% \begin{macrocode}