summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-08-04 03:01:13 +0000
committerNorbert Preining <norbert@preining.info>2022-08-04 03:01:13 +0000
commit6cb109095c2e8fd355cda8b1996dee2f9e12d8a0 (patch)
tree746e2ee64617a607976728b1e4222cf80bb35338 /macros/latex
parent7e432dc7f673471164ff0d31c8b9873870525478 (diff)
CTAN sync 202208040301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx110
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin591121 -> 590981 bytes
-rw-r--r--macros/latex/contrib/easybook/easybook.tex26
-rw-r--r--macros/latex/contrib/europecv/CHANGELOG.rst5
-rw-r--r--macros/latex/contrib/europecv/README.md2
-rw-r--r--macros/latex/contrib/europecv/europasslogo.pdfbin34265 -> 12842 bytes
-rw-r--r--macros/latex/contrib/europecv/europecv.cls4
-rw-r--r--macros/latex/contrib/europecv/europecv.pdfbin648634 -> 614706 bytes
-rw-r--r--macros/latex/contrib/europecv/europecv.tex9
-rw-r--r--macros/latex/contrib/europecv/examples/europass-cv.pdfbin235758 -> 235510 bytes
-rw-r--r--macros/latex/contrib/europecv/examples/greek-utf8.pdfbin88956 -> 88956 bytes
-rw-r--r--macros/latex/contrib/europecv/templates/cv_template_en.pdfbin31542 -> 31566 bytes
-rw-r--r--macros/latex/contrib/lt3rawobjects/lt3rawobjects.dtx583
-rw-r--r--macros/latex/contrib/lt3rawobjects/lt3rawobjects.pdfbin538300 -> 534965 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/README.md8
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin551945 -> 552031 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin598742 -> 598742 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin571577 -> 570468 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin559873 -> 559873 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin567143 -> 567049 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin635972 -> 635898 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin536114 -> 536273 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin662358 -> 662269 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin527111 -> 527524 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin563716 -> 563703 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin627579 -> 627495 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls14
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg6
67 files changed, 644 insertions, 297 deletions
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 4d64ffcd4a..e7d6087348 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -15,7 +15,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e}
-\ProvidesExplClass{easybook}{2022/05/02}{1.683}
+\ProvidesExplClass{easybook}{2022/08/03}{1.69}
{Easily typesetting Chinese theses or books}
\bool_set_false:N \l__eb_compile_draft_bool
@@ -303,7 +303,7 @@
%<*package>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplPackage{easybase}{2022/05/02}{1.683}
+\ProvidesExplPackage{easybase}{2022/08/03}{1.69}
{Easily typesetting Chinese theses or books}
\cs_generate_variant:Nn \dim_set:Nn { NV }
@@ -752,13 +752,13 @@
{ \tl_clear:N \l__eb_fntext_after_tl }
{ \tl_set:Nn \l__eb_fntext_after_tl {#2} }
}
-\cs_new_protected:Npn \eb_fnmate_counter_pifont:N #1
+\cs_new_protected:Npn \eb_fnmarktext_counter_pifont:N #1
{ \ding{\int_eval:n { 171 + #1 }} }
-\cs_new_protected:Npn \eb_fnmate_counter_pifont_neg:N #1
+\cs_new_protected:Npn \eb_fnmarktext_counter_pifont_neg:N #1
{ \ding{\int_eval:n { 181 + #1 }} }
-\cs_new_protected:Npn \eb_fnmate_counter_pisans:N #1
+\cs_new_protected:Npn \eb_fnmarktext_counter_pisans:N #1
{ \ding{\int_eval:n { 191 + #1 }} }
-\cs_new_protected:Npn \eb_fnmate_counter_pisans_neg:N #1
+\cs_new_protected:Npn \eb_fnmarktext_counter_pisans_neg:N #1
{ \ding{\int_eval:n { 201 + #1 }} }
\cs_new_protected:Npn \DefineFntSymbols #1#2#3
{
@@ -785,31 +785,31 @@
{ s } { \eb_int_to_symbols:n }
}
}
-\cs_new_protected:Npn \eb_fnmate_normal_label_set:Nn #1#2
+\cs_new_protected:Npn \eb_fnmarktext_normal_label_set:Nn #1#2
{
- \tl_set:Nn \l__eb_fnmate_number_type_tl {#2}
+ \tl_set:Nn \l__eb_fnmarktext_number_type_tl {#2}
\cs_set:Npx #1
{
- \str_case:VnT \l__eb_fnmate_number_type_tl
+ \str_case:VnT \l__eb_fnmarktext_number_type_tl
{
{ plain }
{ \exp_not:N \int_use:N }
{ pifont }
- { \eb_fnmate_counter_pifont:N }
+ { \eb_fnmarktext_counter_pifont:N }
{ pifont* }
- { \eb_fnmate_counter_pifont_neg:N }
+ { \eb_fnmarktext_counter_pifont_neg:N }
{ pisans }
- { \eb_fnmate_counter_pisans:N }
+ { \eb_fnmarktext_counter_pisans:N }
{ pisans* }
- { \eb_fnmate_counter_pisans_neg:N }
+ { \eb_fnmarktext_counter_pisans_neg:N }
}
{ \exp_not:N \c@footnote }
}
\cs_set_eq:NN \thedownfootnote \thefootnote
}
-\cs_new_protected:Npn \eb_fnmate_short_label_set:Nn #1#2
+\cs_new_protected:Npn \eb_fnmarktext_short_label_set:Nn #1#2
{
- \tl_set:Nn \l__eb_fnmate_short_tokens_tl {#2}
+ \tl_set:Nn \l__eb_fnmarktext_short_tokens_tl {#2}
\eb_seq_map_inline:nn
{ A,a,1,I,i,c,s }
{
@@ -817,11 +817,11 @@
{
\regex_replace_once:nnN {##1}
{ \c{eb_int_format_trans:NN} ##1 \c{c@footnote} }
- \l__eb_fnmate_short_tokens_tl
+ \l__eb_fnmarktext_short_tokens_tl
\seq_map_break:
}
}
- \cs_set_eq:NN #1 \l__eb_fnmate_short_tokens_tl
+ \cs_set_eq:NN #1 \l__eb_fnmarktext_short_tokens_tl
\cs_set_eq:NN \thedownfootnote \thefootnote
}
\cs_new_protected:Npn \eb_footnote_value_handle:n #1
@@ -843,7 +843,7 @@
{ \tl_set:Nn \l__eb_footnote_value_tl {#1} }
}
}
-\cs_new_protected:Npn \eb_fnmate_move_set:nnn #1#2#3
+\cs_new_protected:Npn \eb_fnmarktext_move_set:nnn #1#2#3
{
\str_if_eq:nnTF {#1} { match }
{
@@ -863,8 +863,8 @@
}
\bool_new:N \l__eb_fnpara_bottom_bool
-\tl_new:N \l__eb_fnmate_format_tl
-\tl_new:N \l__eb_fncust_format_tl
+\tl_new:N \l__eb_fnmarktext_format_tl
+\tl_new:N \l__eb_fncustom_format_tl
\clist_new:N \l__eb_footnote_value_clist
\ctex_define:nn { hdrset }
{
@@ -874,38 +874,38 @@
fnafterindent .initial:n = 2em,
fnparskip .skip_set:N = \fnparskip,
fnparskip .initial:n = 0ex plus .1ex,
- fnpara-form .tl_set:N = \l__eb_fnpara_format_tl,
+ fnpara-formatat .tl_set:N = \l__eb_fnpara_format_tl,
fntext-pos .tl_set:N = \l__eb_fntext_position_tl,
fntext-pos .initial:n = super,
fntext-code .code:n = \eb_assign_fntext_code:n {#1},
fntext-code .initial:n = { ,\tl_if_eq:NnF \l__eb_fntext_position_tl { super } { ~ } },
- fnmate-form .code:n = \eb_fnboth_format_set:nn {#1} { mate },
- fncust-form .code:n = \eb_fnboth_format_set:nn {#1} { cust },
- fnboth-form .meta:n = { fnmate-form = #1,fncust-form = #1 },
+ fnmarktext-format .code:n = \eb_fnboth_format_set:nn {#1} { marktext },
+ fncustom-format .code:n = \eb_fnboth_format_set:nn {#1} { custom },
+ fnboth-format .meta:n = { fnmarktext-format = #1,fncustom-format = #1 },
footnotetype .multichoices:nn =
{ plain,hang,bottom,para,flush }
{ \eb_footnote_value_handle:n {#1} },
footnotetype .value_required:n = true,
footnotetype/default .meta:n = footnotetype/plain,
footnotetype .initial:n = hang,
- fnmark-vmove .code:n = \eb_fnmate_move_set:nnn {#1} { mark } { v },
- fnmark-hmove .code:n = \eb_fnmate_move_set:nnn {#1} { mark } { h },
- fntext-vmove .code:n = \eb_fnmate_move_set:nnn {#1} { text } { v },
+ fnmark-vmove .code:n = \eb_fnmarktext_move_set:nnn {#1} { mark } { v },
+ fnmark-hmove .code:n = \eb_fnmarktext_move_set:nnn {#1} { mark } { h },
+ fntext-vmove .code:n = \eb_fnmarktext_move_set:nnn {#1} { text } { v },
fnmark-vmove .initial:n = 0pt,
fnmark-hmove .initial:n = 0pt,
fntext-vmove .initial:n = 0pt,
fnmark-num .choices:nn =
{ plain,pifont,pifont*,pifont-sans,pifont-sans* }
- { \eb_fnmate_normal_label_set:Nn \theupfootnote {#1} },
+ { \eb_fnmarktext_normal_label_set:Nn \theupfootnote {#1} },
fnmark-num .value_required:n = true,
- fnmark-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \theupfootnote {#1},
+ fnmark-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \theupfootnote {#1},
fntext-num .choices:nn =
{ plain,pifont,pifont*,pifont-sans,pifont-sans* }
- { \eb_fnmate_normal_label_set:Nn \thefootnote {#1} },
+ { \eb_fnmarktext_normal_label_set:Nn \thefootnote {#1} },
fntext-num .value_required:n = true,
- fntext-num/unknown .code:n = \eb_fnmate_short_label_set:Nn \thefootnote {#1},
- fnmate-num .meta:n = { fntext-num = #1,fnmark-num = #1 },
- fnmate-num .initial:n = plain,
+ fntext-num/unknown .code:n = \eb_fnmarktext_short_label_set:Nn \thefootnote {#1},
+ fnmarktext-num .meta:n = { fntext-num = #1,fnmark-num = #1 },
+ fnmarktext-num .initial:n = plain,
unknown .code:n = \eb_msg_deprecated_option:n { hdrset }
}
@@ -1120,32 +1120,32 @@
\ProvideDocumentCommand{\super}{mo}{\textsuperscript{#1}}
\providecommand{\spbset}{\use_none:n}
-\NewDocumentCommand{\eb@fnmate@super}{sm}
+\NewDocumentCommand{\eb@fnmarktext@super}{sm}
{
\IfBooleanTF{#1}
{\super{#2}[vmove = \l__eb_fntext_vmove_tl,nohmove]}
{
- \super{\l__eb_fnmate_format_tl{#2}}[
+ \super{\l__eb_fnmarktext_format_tl{#2}}[
vmove = \l__eb_fnmark_vmove_tl,
hmove = \l__eb_fnmark_hmove_tl
]
}
}
\bool_set_true:N \l__eb_normal_footnote_bool
-\bool_new:N \l__eb_fnmate_format_match_bool
-\bool_new:N \l__eb_fncust_format_match_bool
-\cs_new_protected:Npn \eb_fnmate_format_initial:
+\bool_new:N \l__eb_fnmarktext_format_match_bool
+\bool_new:N \l__eb_fncustom_format_match_bool
+\cs_new_protected:Npn \eb_fnmarktext_format_initial:
{
\bool_if:NTF \l__eb_normal_footnote_bool
{
- \bool_if:NT \l__eb_fnmate_format_match_bool
- { \tl_clear:N \l__eb_fnmate_format_tl }
+ \bool_if:NT \l__eb_fnmarktext_format_match_bool
+ { \tl_clear:N \l__eb_fnmarktext_format_tl }
}
{
- \bool_if:NT \l__eb_fncust_format_match_bool
- { \tl_clear:N \l__eb_fnmate_format_tl }
+ \bool_if:NT \l__eb_fncustom_format_match_bool
+ { \tl_clear:N \l__eb_fnmarktext_format_tl }
}
- \bool_if:NF \l__eb_fnmate_format_match_bool { \spbset{spcmd = { }} }
+ \bool_if:NF \l__eb_fnmarktext_format_match_bool { \spbset{spcmd = { }} }
\tl_use:N \l__eb_subfont_footnote_tl
}
\cs_new_protected:Npn \defupfntmark #1
@@ -1156,18 +1156,18 @@
{ \tl_if_eq:NnTF \@mpfn { footnote } }
\defupfntmark
{
- \eb_fnmate_format_initial:
- \eb@fnmate@super{\notminipage{\@the@up@fnmark}{\@thefnmark}}
+ \eb_fnmarktext_format_initial:
+ \eb@fnmarktext@super{\notminipage{\@the@up@fnmark}{\@thefnmark}}
}
\defdownfntmark
{
- \eb_fnmate_format_initial:
+ \eb_fnmarktext_format_initial:
\tl_if_eq:NnTF \l__eb_fntext_position_tl { super }
- { \eb@fnmate@super* }
+ { \eb@fnmarktext@super* }
{ \use:n }
{
\tl_use:N \l__eb_fntext_before_tl
- { \l__eb_fnmate_format_tl{\@thefnmark} }
+ { \l__eb_fnmarktext_format_tl{\@thefnmark} }
}
\tl_use:N \l__eb_fntext_after_tl
}
@@ -1184,20 +1184,20 @@
\group_end:
}
}
-\cs_new_protected:Npn \eb_fncust_format_initial:
+\cs_new_protected:Npn \eb_fncustom_format_initial:
{
% \ebhdrset{fntext-code = { }}
\bool_set_false:N \l__eb_normal_footnote_bool
- \bool_if:NF \l__eb_fncust_format_match_bool
+ \bool_if:NF \l__eb_fncustom_format_match_bool
{
\tl_set_eq:NN
- \l__eb_fnmate_format_tl \l__eb_fncust_format_tl
+ \l__eb_fnmarktext_format_tl \l__eb_fncustom_format_tl
}
}
\NewDocumentCommand{\Footnote}{O{#2}mm}
{
\group_begin:
- \eb_fncust_format_initial:
+ \eb_fncustom_format_initial:
\eb@@makefnmark{#2}{#1}
\@footnotemark
\@footnotetext{#3}
@@ -1206,14 +1206,14 @@
\cs_new_protected:Npn \Footnotemark #1
{
\group_begin:
- \eb_fncust_format_initial:
+ \eb_fncustom_format_initial:
\eb@@makefnmark{#1}{#1}\@footnotemark
\group_end:
}
\cs_new_protected:Npn \Footnotetext #1#2
{
\group_begin:
- \eb_fncust_format_initial:
+ \eb_fncustom_format_initial:
\eb@@makefnmark{#1}{#1}\@footnotetext{#2}
\group_end:
}
@@ -2333,7 +2333,7 @@
}
%</package>
%<*tcolorbox>
-\ProvidesExplFile{eb-tcolorbox.cfg}{2022/05/02}{1.683}
+\ProvidesExplFile{eb-tcolorbox.cfg}{2022/08/03}{1.69}
{Customization of tcolorbox for easybook}
\cs_set_protected:Npn \addtotcbstyle #1#2
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index c650bd28d4..3daa1a6648 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex
index a85792d876..ef0b16e0ba 100644
--- a/macros/latex/contrib/easybook/easybook.tex
+++ b/macros/latex/contrib/easybook/easybook.tex
@@ -21,8 +21,8 @@
name = easybook,
color-scheme = blue,
title = EASYBOOK使用手册,
- version = v1.683,
- date = 2022/05/02,
+ version = v1.69,
+ date = 2022/08/03,
authors = 瞿毅,
info = 简便地排版中文学位论文或书籍,
email = toquyi@163.com,
@@ -454,10 +454,10 @@
\keyval{caption-every}{数值}\Default{1.2}
同时设置图片、表格和代码题注的行距因子。
\keyval{footnote}{数值}\Default{1.2}
- 脚注内容整体的行距因子。可以使用 \option{fnpara-form} 的代码覆盖每个脚注单独的行距,从而与不同脚注的段落间距不同\footnote{若在正文区中更改脚注行距,脚注横线下方的间距不会随当前行距改变。}。
+ 脚注内容整体的行距因子。可以使用 \option{fnpara-format} 的代码覆盖每个脚注单独的行距,从而与不同脚注的段落间距不同\footnote{若在正文区中更改脚注行距,脚注横线下方的间距不会随当前行距改变。}。
\begin{ctexexam}
\ebspread{footnote = 1.3}
- \ebhdrset{fnpara-form = \linespread{1.2}\selectfont}
+ \ebhdrset{fnpara-format = \linespread{1.2}\selectfont}
\end{ctexexam}
\keyval{every}{数值}
统一设置上述所有的行距因子。
@@ -719,7 +719,7 @@
\end{commands}
\keychoice{fntext-num}{plain,pifont,pifont*,pisans,pisans*,short num}\Default{plain}
脚注内容标记编号的类型。用法与 \option{fnmark-num} 一样,所以脚注内容与正文标记编号类型\textbf{可以不同}。
- \keychoice{fnmate-num}{plain,pifont,pifont*,pisans,pisans*,short num}\Default{plain}
+ \keychoice{fnmarktext-num}{plain,pifont,pifont*,pisans,pisans*,short num}\Default{plain}
同时设定脚注正文标记编号 \option{fnmark-num} 与脚注内容标记编号 \option{fntext-num} 的类型。目前脚注编号类型选项对于迷你页环境 \env*{minipage} 无效,其中的脚注保持默认英文字母的编号类型。
\keychoice{fnmark-vmove}{fixed length,match}\Default{0pt}
脚注正文标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option*{spvmove} 全局的值。
@@ -727,15 +727,15 @@
脚注正文标记的水平偏移。可以设为刚性长度,或用 \code{match} 匹配 \option*{sphmove} 全局的值。
\keychoice{fntext-vmove}{fixed length,match}\Default{0pt}
脚注内容标记的垂直偏移。可以设为刚性长度,或用 \code{match} 匹配 \option*{spvmove} 全局的值。
- \keychoice{fnmate-form}{format code,match}
- 默认脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。一般配合 \keyis{fnmate-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs*{circledtext} 给脚注标记添加圆圈:
+ \keychoice{fnmarktext-format}{format code,match}
+ 默认脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。一般配合 \keyis{fnmarktext-num}{plain} 原生编号形式使用,例如用 \pkg*{circledtext} 宏包的带圈字符命令 \cs*{circledtext} 给脚注标记添加圆圈:
\begin{ctexexam}
\usepackage{circledtext}
\circledtextset{resize = real,width = 0.5em}
\ebhdrset
{
- fntext-pos = normal,
- fnmate-form = \circledtext
+ fntext-pos = normal,
+ fnmarktext-format = \circledtext
}
\end{ctexexam}
\begin{commands}
@@ -754,7 +754,7 @@
\defupfntmark{\super[vmove = 2pt]{\theupfootnote}}
\defdownfntmark{\notminipage{\textcolor{blue}{\thedownfootnote}}{}}
\end{ctexexam}
- \keychoice{fncust-form}{format code,match}
+ \keychoice{fncustom-format}{format code,match}
单独设定自定义脚注标记的格式,选项 \code{match} 可以匹配 \option*{spcmd} 全局的值。自定义脚注的命令与用法可以见下方的介绍。
\begin{commands}\noitemsep
\command{Footnote}[\oarg{内容标记}\marg{正文标记}\marg{脚注文本}]\default{}
@@ -765,9 +765,9 @@
\Footnote{*}{这是可以自定义标记的脚注。}
\end{ctexexam}
\end{commands}
- \keychoice{fnboth-form}{format code,match}
- 同时设定默认脚注标记 \option{fnmate-form} 和自定义脚注标记 \option{fncust-form} 的格式。两种脚注标记匹配上标格式 \option*{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。标记格式选项含有字体命令会覆盖 \option{footnote} 的设置,最后一个格式命令可以带有一个参数接受脚注标记。
- \keyval{fnpara-form}{格式代码}
+ \keychoice{fnboth-format}{format code,match}
+ 同时设定默认脚注标记 \option{fnmarktext-format} 和自定义脚注标记 \option{fncustom-format} 的格式。两种脚注标记匹配上标格式 \option*{spcmd} 的值是独立的,使用 \code{match} 则可以同时匹配。标记格式选项含有字体命令会覆盖 \option{footnote} 的设置,最后一个格式命令可以带有一个参数接受脚注标记。
+ \keyval{fnpara-format}{格式代码}
脚注内容的格式。在此设置字体命令会覆盖 \option{footnote} 的设置,最后一个格式命令可以带有一个参数接受脚注内容。
\kvsplit{fntext-code}{前代码,后代码}
可以用 \meta{前代码} 与 \meta{后代码} 额外增加脚注内容标记前后的代码。也可以只有前部分,\meta{前代码} 中最后一个格式命令可以带有一个参数接受脚注内容标记。由于脚注标记处于水平模式,一般用于在脚注内容标记与脚注首行间插入一点距离,或与脚注正文标记的格式稍有不同。
diff --git a/macros/latex/contrib/europecv/CHANGELOG.rst b/macros/latex/contrib/europecv/CHANGELOG.rst
index 395885e596..aaaede61a1 100644
--- a/macros/latex/contrib/europecv/CHANGELOG.rst
+++ b/macros/latex/contrib/europecv/CHANGELOG.rst
@@ -2,6 +2,11 @@
Changelog for package europecv
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+2022.08.03
+----------
+* europasslogo.pdf does not work with XeTeX #31 (#31)
+* Contributors: Michal Vlasak
+
2022.06.17
----------
* Fixed issue related to the `ucs` and `inputenc` (with utf8x option) package (#29)
diff --git a/macros/latex/contrib/europecv/README.md b/macros/latex/contrib/europecv/README.md
index a1ffc1d1c4..56921819a1 100644
--- a/macros/latex/contrib/europecv/README.md
+++ b/macros/latex/contrib/europecv/README.md
@@ -1,4 +1,4 @@
-[![All Contributors](https://img.shields.io/badge/all_contributors-26-orange.svg?style=flat-square)](#contributors)
+[![All Contributors](https://img.shields.io/badge/all_contributors-27-orange.svg?style=flat-square)](#contributors)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![first-timers-only](https://img.shields.io/badge/first--timers--only-friendly-blue.svg?style=flat-square)](https://www.firsttimersonly.com/)
[![License](https://svgshare.com/i/KPL.svg)](https://spdx.org/licenses/LPPL-1.3c.html)
diff --git a/macros/latex/contrib/europecv/europasslogo.pdf b/macros/latex/contrib/europecv/europasslogo.pdf
index 53f1721019..efa8f15da9 100644
--- a/macros/latex/contrib/europecv/europasslogo.pdf
+++ b/macros/latex/contrib/europecv/europasslogo.pdf
Binary files differ
diff --git a/macros/latex/contrib/europecv/europecv.cls b/macros/latex/contrib/europecv/europecv.cls
index 0b84e54ff3..cf42c74abf 100644
--- a/macros/latex/contrib/europecv/europecv.cls
+++ b/macros/latex/contrib/europecv/europecv.cls
@@ -7,7 +7,7 @@
% See https://ctan.mirror.garr.it/mirrors/CTAN/help/Catalogue/licenses.lppl.html
% for the details of that license
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{europecv}[17/06/2022 (Unicode TeX detection) European curriculum vitae class]
+\ProvidesClass{europecv}[08/03/2022 (Unicode TeX detection) European curriculum vitae class]
% CV models and instructions:
% http://europass.cedefop.eu.int/htm/index.htm
@@ -261,7 +261,7 @@
% Europass logo
\DeclareOption{logo}{%
\providecommand*\draweuropasslogo{%
- \includegraphics[width=\ecv@logowidth]{europasslogo.eps}}
+ \includegraphics[width=\ecv@logowidth]{europasslogo}}
}
\DeclareOption{nologo}{\renewcommand*\draweuropasslogo{}}
diff --git a/macros/latex/contrib/europecv/europecv.pdf b/macros/latex/contrib/europecv/europecv.pdf
index 085f1843f0..62cc966298 100644
--- a/macros/latex/contrib/europecv/europecv.pdf
+++ b/macros/latex/contrib/europecv/europecv.pdf
Binary files differ
diff --git a/macros/latex/contrib/europecv/europecv.tex b/macros/latex/contrib/europecv/europecv.tex
index 2571148748..e8b8a3227f 100644
--- a/macros/latex/contrib/europecv/europecv.tex
+++ b/macros/latex/contrib/europecv/europecv.tex
@@ -48,11 +48,13 @@
University of Udine, Italy\\
\\
Giuseppe Silano\\
- \href{mailto:giuseppe.silano@fel.cvut.cz}{\texttt{giuseppe.silano@fel.cvut.cz}}\\
+ \href{mailto:giuseppe.silano@rse-web.it}{\texttt{giuseppe.silano@rse-web.it}}\\
+ Ricerca sul Sistema Energetico (RSE) S.p.A., Italy\\
+ Department of Generation Technologies and Materials, and\\
Faculty of Electrical Engineering\\
Czech Technical University in Prague, Czech Republic\\
}
-\date{June 17, 2022}
+\date{August 3, 2022}
\begin{document}
@@ -926,7 +928,8 @@ Davide Peressoni} for the biber support (2020.10.26 package release). Thanks to
Fachada} for his help with the Portuguese translation (2021.02.05 package release). Thanks to
\textbf{Pancho Horrillo} for his fix ($\#25$, 2021.05.09 package release). Thanks to
\textbf{Alecu Ștefan-Iulian} for his fix ($\#26$ and $\#27$, 2022.03.13 package release). Thanks to
-\textbf{Scott Kostyshak} for his fix ($\#29$ and $\#30$, 2022.06.17 package release).
+\textbf{Scott Kostyshak} for his fix ($\#29$ and $\#30$, 2022.06.17 package release). Thanks
+to \textbf{Michal Vlasak} for his fix ($\#31$, 2022.08.03 package release).
%%% END SECTION ============================================================
diff --git a/macros/latex/contrib/europecv/examples/europass-cv.pdf b/macros/latex/contrib/europecv/examples/europass-cv.pdf
index fe9fc9a8d3..83dbc4df6f 100644
--- a/macros/latex/contrib/europecv/examples/europass-cv.pdf
+++ b/macros/latex/contrib/europecv/examples/europass-cv.pdf
Binary files differ
diff --git a/macros/latex/contrib/europecv/examples/greek-utf8.pdf b/macros/latex/contrib/europecv/examples/greek-utf8.pdf
index cb78f22b8b..0c97f9fdec 100644
--- a/macros/latex/contrib/europecv/examples/greek-utf8.pdf
+++ b/macros/latex/contrib/europecv/examples/greek-utf8.pdf
Binary files differ
diff --git a/macros/latex/contrib/europecv/templates/cv_template_en.pdf b/macros/latex/contrib/europecv/templates/cv_template_en.pdf
index 2902c5d1b0..62a83cb826 100644
--- a/macros/latex/contrib/europecv/templates/cv_template_en.pdf
+++ b/macros/latex/contrib/europecv/templates/cv_template_en.pdf
Binary files differ
diff --git a/macros/latex/contrib/lt3rawobjects/lt3rawobjects.dtx b/macros/latex/contrib/lt3rawobjects/lt3rawobjects.dtx
index db1a24be3f..17b451a162 100644
--- a/macros/latex/contrib/lt3rawobjects/lt3rawobjects.dtx
+++ b/macros/latex/contrib/lt3rawobjects/lt3rawobjects.dtx
@@ -22,11 +22,11 @@
%
% \iffalse
%<*driver>
-\ProvidesFile{lt3rawobjects.dtx}[2022/07/11 1.1.1 Objects and proxies in LaTeX3]
+\ProvidesFile{lt3rawobjects.dtx}[2022/08/03 2.0 Objects and proxies in LaTeX3]
%</driver>
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\RequirePackage{expl3}[2022-04-10]
-%<package>\ProvidesExplPackage{lt3rawobjects}{2022/07/11}{ 1.1.1 }{Objects and proxies in LaTeX3}
+%<package>\ProvidesExplPackage{lt3rawobjects}{2022/08/03}{ 2.0 }{Objects and proxies in LaTeX3}
%<*driver>
\documentclass[full]{l3doc}
\usepackage{lt3rawobjects}
@@ -38,13 +38,13 @@
% \fi
%
% \NewDocumentCommand{\thpkg}{}{\pkg{lt3rawobjects}}
-% \NewDocumentCommand{\thvsn}{}{1.1.1}
-% \NewDocumentCommand{\thdta}{}{2022/07/11}
+% \NewDocumentCommand{\thvsn}{}{2.0}
+% \NewDocumentCommand{\thdta}{}{2022/08/03}
% \NewDocumentCommand{\fromV}{ m }{{\ttfamily From: #1}}
%
% \title{The \pkg{lt3rawobjects} package}
% \author{Paolo De Donato}
-% \date{Released \thdta\ Version \thvsn}
+% \date{Released on \thdta\ Version \thvsn}
%
% \maketitle
%
@@ -55,56 +55,48 @@
% \section{Introduction}
% First to all notice that \thpkg\ means ``raw object(s)'', indeed \thpkg\ introduces a new mechanism to create objects like the well known C structures. The functions exported by this package are quite low level, and many important mechanisms like member protection and name resolution aren't already defined and should be introduced by intermediate packages.
%
+% This packages follows the \href{https://semver.org/}{SemVer} specification (\texttt{https://semver.org/}). In particular any major version update (for example from \texttt{1.2} to \texttt{2.0}) may introduce imcompatible changes and so it's not advisable to work with different packages that require different major versions of \thpkg. Instead changes introduced in minor and patch version updates are always backward compatible, and any withdrawn function is declared deprecated instead of being removed.
+%
% \section{To do}
% \begin{itemize}
-% \item Introduce member functions in objects and member function specifications in proxies;
% \item Uniform declarations for templated proxies;
-% \item Introduce constant objects.
+% \item Constant objects.
% \end{itemize}
%
% \section{Objects and proxies}
-% Usually an object in programming languages can be seen as a collection of variables (organized in different ways depending on the chosen language) treated as part of a single entity. Also in \thpkg\ objects are collections of variables, called member variables, which can be retrieved from a string representing that object. Such string is the \emph{address} of the object and act like the address of a structure in C.
+% Usually an object in programming languages can be seen as a collection of variables (organized in different ways depending on the chosen language) treated as part of a single entity. In \thpkg\ objects are collections of
+% \begin{itemize}
+% \item \LaTeX3 variables, called \emph{members};
+% \item \LaTeX3 functions, called \emph{methods}.
+% \end{itemize}
+% Both members and methods can be retrieved from a string representing the container object, that is the \emph{address} of the object and act like the address of a structure in C.
%
-% An address is composed of two parts, the \emph{module} in which variables are created and an \emph{identifier} that identify uniquely the object inside its module. It's up to the caller that two different objects have different identifiers. The address of an object can be obtained with the \cs{object_address} function. Identifiers and module names should not contain numbers, |#| and |_| characters in order to avoid conflicts with automatically generated addresses.
+% An address is composed of two parts: the \emph{module} in which variables are created and an \emph{identifier} that identify uniquely the object inside its module. It's up to the caller that two different objects have different identifiers. The address of an object can be obtained with the \cs{object_address} function. Identifiers and module names should not contain numbers, |#|, |:| and |_| characters in order to avoid conflicts with hidden auxiliary commands. However you can use non letter characters like |-| in order to organize your members and methods.
%
-% In C each object/structure has a \emph{type} that tells the compiler how each object should be organized and instantiated in the memory. So if you need to create objects with the same structure you should first create a new \verb|struct| entity and then create object with such type.
+% Moreover normal control sequences have an address too, but it's simply any token list for which a |c| expansion retrieves the original control sequence. We impose also that any |x| or |e| fully expansion will be a string representing the control sequence's name, for this reason inside an address |#| characters and \cs{exp_not} functions aren't allowed.
%
-% In \thpkg\ objects are created from an existing object with a particular structure that holds all the needed informations to organize their variables. Such objects that can be used to instantiate new objects are calles \emph{proxies} and the proxy object used to instantiate an object is its \emph{generator}. In order to create new objects with a specified proxy you can use the \cs{object_create} functions.
+% In \thpkg\ objects are created from an existing object that have a suitable inner structure. These objects that can be used to create other objects are called \emph{proxy}. Every object is generated from a particular proxy object, called \emph{generator}, and new objects can be created from a specified proxy with the \cs{object_create} functions.
%
% Since proxies are themself objects we need a proxy to instantiate user defined proxies, you can use the |proxy| object in the |rawobjects| module to create you own proxy, which address is held by the \cs{c_proxy_address_str} variable. Proxies must be created from the |proxy| object otherwise they won't be recognized as proxies. Instead of using \cs{object_create} to create proxies you can directly use the function \cs{proxy_create}.
%
-% Once you've created you proxy object you should specify its member variables that will be created in each object initialized with such proxy. You can add a variable specification with the \cs{proxy_push_member} function. Once you've added all yor variables specifications you can use your proxy to create objects. You should never modify a proxy once you've used it to create at least one object, since these modifications won't be updated on already created objects, leading to hidden errors in subsequential code.
-%
-% When you create a new variable specification with the \cs{proxy_push_member} you can notice the presence of \meta{type} parameter. It represents the type of such variable and can be a standard type (like |tl|, |str|, |int|, |seq|, ...) or user defined types if the following functions are defined:
-%
-% \begin{description}
-% \item[] \cs{\meta{type}_new:N} and \verb|c| variant;
-% \item[] \cs{\meta{type}_set_eq:NN} and \verb|cN|, \verb|Nc|, \verb|cc| variants.
-% \end{description}
-%
-% Every object, and so proxies too, is characterized by the following parameters:
-% \begin{itemize}
-% \item the \emph{module} in which it has been created;
-% \item the address of the proxy generator;
-% \item a parameter saying if the object is \emph{local} or \emph{global};
-% \item a parameter saying if the object is \emph{public} or \emph{private};
-% \item zero or more member variables.
-% \end{itemize}
-% In a local/global/public/private object every member variable is declared local/global/public/private. Address of a member variable can be obtained with the \cs{object_member_adr} function, and you can instantiate new members that haven't been specified in its generator with the function \cs{object_new_member}. members created in this way aren't described by generator proxy, so its type can't be deduced and should be always specified in functions like \cs{object_member_adr} or \cs{object_member_use}.
-%
-% \section{Constants}
-% This feature is available only from version 1.1 of \thpkg. There're two different kinds of constants you can define on a object:
+% Each member or method inside an object belongs to one of these categories:
% \begin{enumerate}
-% \item \emph{near constants} are constants defined directly inside the associated object;
-% \item \emph{remote constants} are constants that are defined instead on the generator proxy and so every object generated with that proxy can access the constant.
+% \item \emph{mutables};
+% \item \emph{near constants};
+% \item \emph{remote constants}.
% \end{enumerate}
-% Currently it's possible to define only public constants, if you need private constants use member variables instead.
+% \textbf{Warning}: Currently only members (variables) can be mutables, not methods. Mutable members can be added in future releases if they'll be needed.
%
-% Notice that all near constants declared on a proxy are automatically remote constants for every generated object, but remote constants for a proxy aren't directly accessible by generated objects.
+% Members declared as mutables works as normal variables: you can modify their value and retrieve it at any time. Instead members and methods declared as near constant works as constants: when you create them you must specify their initial value (or function body for methods) and you won't be allowed to modify it later. Remote constants for an object are simply near constants defined in its generator: all near constants defined inside a proxy are automatically visible as remote constants to every object generated from that proxy. Usually functions involving near constants have |nc| inside their name, and |rc| if instead they use remote constants.
%
-% You can retrieve the address of a near constant with the \cs{object_nconst_adr} function and of a remote constant with \cs{object_rconst_adr}.
+% Instead of creating mutable members in each of your objects you can push their specifications inside the generating proxy via \cs{proxy_push_member}. In this way either object created from such proxy will have the specified members. Specify mutable members in this way allows you to omit that member type in some functions as \cs{object_member_adr} for example, their member type will be deduced automatically from its specification inside generating proxy.
+%
+% Objects can be declared public, private and local, global. In a public/private object every nonconstant member and method is declared public/private, but inside local/global object only assignation to mutable members is performed locally/globally since allocation is always performed globally via \cs{\meta{type}_new:Nn} functions (nevertheless members will be accordingly declared |g_| or |l_|). This is intentional in order to follow the \LaTeX3 guidelines about variables managment, for additional motivations you can see \href{https://github.com/latex3/latex3/issues/410}{this thread} in the \LaTeX3 repository.
+%
+% Address of members/methods can be obtained with functions in the form \cs{object_\meta{category}\meta{item}_adr} where \meta{item} is |member| or |method| and \meta{category} is empty for mutable members, |nc| for near constants and |rc| for remote constants. For example \cs{object_rcmethod_adr} retrieves the address of specified remote constant method.
%
% \section{Library functions}
+% \label{sec:lib}
% \subsection{Base object functions}
%
% \begin{function}[EXP]{\object_address:nn}
@@ -165,7 +157,7 @@
% \fromV{1.0}
% \end{function}
%
-% \subsection{Operating with member variables and constants}
+% \subsection{Members}
%
% \begin{function}[EXP]{\object_member_adr:nnn, \object_member_adr:Vnn, \object_member_adr:nnv, \object_member_adr:nn, \object_member_adr:Vn}
% \begin{syntax}
@@ -177,6 +169,18 @@
% \fromV{1.0}
% \end{function}
%
+% \begin{function}[pTF]{\object_member_if_exist:nnn, \object_member_if_exist:Vnn, \object_member_if_exist:nn, \object_member_if_exist:Vn}
+% \begin{syntax}
+% \cs{object_member_if_exist_p:nnn} \marg{address} \marg{member name} \marg{member type}
+% \cs{object_member_if_exist:nnnTF} \marg{address} \marg{member name} \marg{member type} \Arg{true code} \Arg{false code}
+% \cs{object_member_if_exist_p:nn} \Arg{address} \Arg{member name}
+% \cs{object_member_if_exist:nnTF} \Arg{address} \Arg{member name} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests if the specified member exist.
+%
+% \fromV{2.0}
+% \end{function}
+%
% \begin{function}[EXP]{\object_member_type:nn, \object_member_type:Vn}
% \begin{syntax}
% \cs{object_member_type:nn} \marg{address} \marg{member name}
@@ -215,26 +219,80 @@
% \fromV{1.0}
% \end{function}
%
-% \begin{function}[EXP]{\object_nconst_adr:nnn, \object_nconst_adr:Vnn, \object_nconst_adr:vnn, \object_rconst_adr:nnn, \object_rconst_adr:Vnn}
+% \begin{function}[EXP]{\object_ncmember_adr:nnn, \object_ncmember_adr:Vnn, \object_ncmember_adr:vnn, \object_rcmember_adr:nnn, \object_rcmember_adr:Vnn}
% \begin{syntax}
-% \cs{object_nconst_adr:nnn} \Arg{address} \Arg{member name} \Arg{member type}
+% \cs{object_ncmember_adr:nnn} \Arg{address} \Arg{member name} \Arg{member type}
% \end{syntax}
-% Fully expands to the address of specified near/remote constant.
+% Fully expands to the address of specified near/remote constant member.
%
-% \fromV{1.1}
+% \fromV{2.0}
% \end{function}
%
-% \begin{function}[EXP]{\object_nconst_use:nnn, \object_nconst_use:Vnn, \object_rconst_use:nnn, \object_rconst_use:Vnn}
+% \begin{function}[pTF]{\object_ncmember_if_exist:nnn, \object_ncmember_if_exist:Vnn, \object_rcmember_if_exist:nnn, \object_rcmember_if_exist:Vnn}
% \begin{syntax}
-% \cs{object_nconst_use:nnn} \Arg{address} \Arg{member name} \Arg{member type}
+% \cs{object_ncmember_if_exist_p:nnn} \marg{address} \marg{member name} \marg{member type}
+% \cs{object_ncmember_if_exist:nnnTF} \marg{address} \marg{member name} \marg{member type} \Arg{true code} \Arg{false code}
% \end{syntax}
-% Uses the specified near/remote constant.
+% Tests if the specified member constant exist.
%
-% \fromV{1.1}
+% \fromV{2.0}
+% \end{function}
+%
+% \begin{function}[EXP]{\object_ncmember_use:nnn, \object_ncmember_use:Vnn, \object_rcmember_use:nnn, \object_rcmember_use:Vnn}
+% \begin{syntax}
+% \cs{object_ncmember_use:nnn} \Arg{address} \Arg{member name} \Arg{member type}
+% \end{syntax}
+% Uses the specified near/remote constant member.
+%
+% \fromV{2.0}
+% \end{function}
+%
+% \subsection{Methods}
+% Currentlu only constant methods (near and remote) are implemented in \thpkg\ as explained before.
+%
+% \begin{function}[EXP]{\object_ncmethod_adr:nnn, \object_ncmethod_adr:Vnn, \object_ncmethod_adr:vnn, \object_rcmethod_adr:nnn, \object_rcmethod_adr:Vnn}
+% \begin{syntax}
+% \cs{object_ncmethod_adr:nnn} \Arg{address} \Arg{method name} \Arg{method variant}
+% \end{syntax}
+% Fully expands to the address of the specified
+% \begin{itemize}
+% \item near constant method if \cs{object_ncmethod_adr} is used;
+% \item remote constant method if \cs{object_rcmethod_adr} is used.
+% \end{itemize}
+%
+% \fromV{2.0}
+% \end{function}
+%
+% \begin{function}[pTF]{\object_ncmethod_if_exist:nnn, \object_ncmethod_if_exist:Vnn, \object_rcmethod_if_exist:nnn, \object_rcmethod_if_exist:Vnn}
+% \begin{syntax}
+% \cs{object_ncmethod_if_exist_p:nnn} \marg{address} \marg{method name} \marg{method variant}
+% \cs{object_ncmethod_if_exist:nnnTF} \marg{address} \marg{method name} \marg{method variant} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests if the specified method constant exist.
+%
+% \fromV{2.0}
% \end{function}
%
-% \subsection{Constant creation}
-% Unlike normal variables, constants in \LaTeX3 are created in different ways depending on the specified type. So we dedicate a new section only to collect some of these fuinctions readapted for near constants (remote constants are simply near constants created on the generator proxy).
+% \begin{function}{\object_new_cmethod:nnnn, \object_new_cmethod:Vnnn}
+% \begin{syntax}
+% \cs{object_new_cmethod:nnnn} \Arg{address} \Arg{method name} \Arg{method arguments} \Arg{code}
+% \end{syntax}
+% Creates a new method with specified name and argument types. The \marg{method arguments} should be a string composed only by |n| and |N| characters that are passed to \cs{cs_new:Nn}.
+%
+% \fromV{2.0}
+% \end{function}
+%
+% \begin{function}[EXP]{\object_ncmethod_call:nnn, \object_ncmethod_call:Vnn, \object_rcmethod_call:nnn, \object_rcmethod_call:Vnn}
+% \begin{syntax}
+% \cs{object_ncmethod_call:nnn} \marg{address} \marg{method name} \marg{method variant}
+% \end{syntax}
+% Calls the specified method. This function is expandable if and only if the specified method was not declared |protected|.
+%
+% \fromV{2.0}
+% \end{function}
+%
+% \subsection{Constant member creation}
+% Unlike normal variables, constant variables in \LaTeX3 are created in different ways depending on the specified type. So we dedicate a new section only to collect some of these fuinctions readapted for near constants (remote constants are simply near constants created on the generator proxy).
%
% \begin{function}{\object_newconst_tl:nnn, \object_newconst_tl:Vnn, \object_newconst_str:nnn, \object_newconst_str:Vnn, \object_newconst_int:nnn, \object_newconst_int:Vnn, \object_newconst_clist:nnn, \object_newconst_clist:Vnn, \object_newconst_dim:nnn, \object_newconst_dim:Vnn, \object_newconst_skip:nnn, \object_newconst_skip:Vnn, \object_newconst_fp:nnn, \object_newconst_fp:Vnn}
% \begin{syntax}
@@ -278,6 +336,30 @@
% \fromV{1.0}
% \end{function}
%
+% \begin{function}[pTF]{\object_test_proxy:nn, \object_test_proxy:Vn}
+% \begin{syntax}
+% \cs{object_test_proxy_p:nn} \Arg{object address} \Arg{proxy address}
+% \cs{object_test_proxy:nnTF} \Arg{object address} \Arg{proxy address} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Test if the specified object is generated by the selected proxy, where \meta{proxy variable} is a string variable holding the proxy address.
+%
+% \begin{texnote}
+% Remember that this command uses internally an |e| expansion so in older engines (any different from Lua\LaTeX\ before 2019) it'll require slow processing. Don't use it in speed critical parts, instead use \cs{object_test_proxy:nN}.
+% \end{texnote}
+%
+% \fromV{2.0}
+% \end{function}
+%
+% \begin{function}[pTF]{\object_test_proxy:nN, \object_test_proxy:VN}
+% \begin{syntax}
+% \cs{object_test_proxy_p:nN} \Arg{object address} \meta{proxy variable}
+% \cs{object_test_proxy:nNTF} \Arg{object address} \meta{proxy variable} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Test if the specified object is generated by the selected proxy, where \meta{proxy variable} is a string variable holding the proxy address. The |:nN| variant don't use |e| expansion, instead of |:nn| command, so it can be safetly used with older compilers.
+%
+% \fromV{2.0}
+% \end{function}
+%
% \begin{variable}{\c_proxy_address_str}
% The address of the |proxy| object in the |rawobjects| module.
%
@@ -305,7 +387,7 @@
% \fromV{1.0}
% \end{variable}
%
-% \begin{function}{\object_create_set:NnnnNN, \object_create_set:NVnnNN, \object_create_gset:NnnnNN, \object_create_gset:NVnnNN}
+% \begin{function}{\object_create_set:NnnnNN, \object_create_set:NVnnNN, \object_create_set:NnnfNN, \object_create_gset:NnnnNN, \object_create_gset:NVnnNN, \object_create_gset:NnnfNN}
% \begin{syntax}
% \cs{object_create_set:NnnnNN} \meta{str var} \marg{proxy address} \marg{module} \marg{id} \meta{scope} \meta{visibility}
% \end{syntax}
@@ -587,35 +669,38 @@
\prg_new_conditional:Nnn \object_if_global:n {p, T, F, TF}
{
- \str_if_eq:cNTF { \@@_object_scovar:n {#1} } \c_object_global_str
- {
- \prg_return_true:
- }
- {
- \prg_return_false:
- }
+ \str_if_eq:cNTF { \@@_object_scovar:n {#1} }
+ \c_object_global_str
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
}
\prg_new_conditional:Nnn \object_if_public:n {p, T, F, TF}
{
- \str_if_eq:cNTF { \@@_object_visvar:n { #1 } } \c_object_public_str
- {
- \prg_return_true:
- }
- {
- \prg_return_false:
- }
+ \str_if_eq:cNTF { \@@_object_visvar:n { #1 } }
+ \c_object_public_str
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
}
\prg_new_conditional:Nnn \object_if_private:n {p, T, F, TF}
{
- \str_if_eq:cNTF { \@@_object_visvar:n {#1} } \c_object_private_str
- {
- \prg_return_true:
- }
- {
- \prg_return_false:
- }
+ \str_if_eq:cNTF { \@@_object_visvar:n {#1} }
+ \c_object_private_str
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
}
\prg_generate_conditional_variant:Nnn \object_if_local:n { V }
@@ -636,9 +721,9 @@
\cs_new:Nn \@@_scope:n
{
- \object_if_global:nTF { #1 }
+ \object_if_local:nTF { #1 }
{
- g
+ l
}
{
\str_if_eq:cNTF { \@@_object_scovar:n { #1 } }
@@ -647,14 +732,19 @@
c
}
{
- l
+ g
}
}
}
-\cs_new:Nn \object_member_adr:nnn
+\cs_new:Nn \@@_scope_pfx:n
+ {
+ \object_if_local:nF { #1 }
+ { g }
+ }
+
+\cs_new:Nn \@@_vis_var:n
{
- \@@_scope:n { #1 }
\object_if_private:nTF { #1 }
{
__
@@ -662,6 +752,20 @@
{
_
}
+ }
+
+\cs_new:Nn \@@_vis_fun:n
+ {
+ \object_if_private:nT { #1 }
+ {
+ __
+ }
+ }
+
+\cs_new:Nn \object_member_adr:nnn
+ {
+ \@@_scope:n { #1 }
+ \@@_vis_var:n { #1 }
#1 \tl_to_str:n { _ MEMBER _ #2 _ #3 }
}
@@ -671,7 +775,7 @@
{
\object_member_adr:nnv { #1 }{ #2 }
{
- \object_member_adr:vnn { \@@_object_pxyvar:n { #1 } }
+ \object_rcmember_adr:nnn { #1 }
{ #2 _ type }{ str }
}
}
@@ -686,7 +790,7 @@
\cs_new:Nn \object_member_type:nn
{
- \object_member_use:vnn { \@@_object_pxyvar:n { #1 } }
+ \object_rcmember_use:nnn { #1 }
{ #2 _ type }{ str }
}
@@ -714,6 +818,46 @@
% \end{macrocode}
%
+% \begin{macro}[pTF]{\object_member_if_exist:nnn, \object_member_if_exist:nn}
+% Tests if the specified member exists
+% \begin{macrocode}
+
+\prg_new_conditional:Nnn \object_member_if_exist:nnn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_member_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_new_conditional:Nnn \object_member_if_exist:nn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_member_adr:nn { #1 }{ #2 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_generate_conditional_variant:Nnn \object_member_if_exist:nnn
+ { Vnn }{ p, T, F, TF }
+\prg_generate_conditional_variant:Nnn \object_member_if_exist:nn
+ { Vn }{ p, T, F, TF }
+
+% \end{macrocode}
+% \end{macro}
+
%\begin{macro}{\object_new_member:nnn}
%Creates a new member variable
% \begin{macrocode}
@@ -748,7 +892,7 @@
{
\object_member_use:nnv { #1 }{ #2 }
{
- \object_member_adr:vnn { \@@_object_pxyvar:n { #1 } }
+ \object_rcmember_adr:nnn { #1 }
{ #2 _ type }{ str }
}
}
@@ -768,7 +912,7 @@
\@@_force_scope:n { #1 }
\cs_if_exist_use:cT
{
- #3 _ \object_if_global:nT { #1 }{ g } set _ eq:cN
+ #3 _ \@@_scope_pfx:n { #1 } set _ eq:cN
}
{
{ \object_member_adr:nnn { #1 }{ #2 }{ #3 } } #4
@@ -781,7 +925,7 @@
{
\object_member_set_eq:nnvN { #1 }{ #2 }
{
- \object_member_adr:vnn { \@@_object_pxyvar:n { #1 } }
+ \object_rcmember_adr:nnn { #1 }
{ #2 _ type }{ str }
} #3
}
@@ -791,49 +935,89 @@
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\object_nconst_adr:nnn, \object_rconst_adr:nnn}
+%\begin{macro}{\object_ncmember_adr:nnn, \object_rcmember_adr:nnn}
% Get the address of a near/remote constant.
% \begin{macrocode}
-\cs_new:Nn \object_nconst_adr:nnn
+\cs_new:Nn \object_ncmember_adr:nnn
{
c _ #1 \tl_to_str:n { _ CONST _ #2 _ #3 }
}
-\cs_generate_variant:Nn \object_member_adr:nnn { Vnn, vnn }
+\cs_generate_variant:Nn \object_ncmember_adr:nnn { Vnn, vnn }
-\cs_new:Nn \object_rconst_adr:nnn
+\cs_new:Nn \object_rcmember_adr:nnn
{
- \object_nconst_adr:vnn { \@@_object_pxyvar:n { #1 } }
+ \object_ncmember_adr:vnn { \@@_object_pxyvar:n { #1 } }
{ #2 }{ #3 }
}
-\cs_generate_variant:Nn \object_member_adr:nnn { Vnn }
+\cs_generate_variant:Nn \object_rcmember_adr:nnn { Vnn }
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\object_nconst_use:nnn, \object_rconst_use:nnn}
+% \begin{macro}[pTF]{\object_ncmember_if_exist:nnn, \object_rcmember_if_exist:nnn}
+% Tests if the specified member constant exists.
+% \begin{macrocode}
+
+\prg_new_conditional:Nnn \object_ncmember_if_exist:nnn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_ncmember_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_new_conditional:Nnn \object_rcmember_if_exist:nnn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_rcmember_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_generate_conditional_variant:Nnn \object_ncmember_if_exist:nnn
+ { Vnn }{ p, T, F, TF }
+\prg_generate_conditional_variant:Nnn \object_rcmember_if_exist:nnn
+ { Vnn }{ p, T, F, TF }
+
+% \end{macrocode}
+% \end{macro}
+%
+%\begin{macro}{\object_ncmember_use:nnn, \object_rcmember_use:nnn}
% Uses a near/remote constant.
% \begin{macrocode}
-\cs_new:Nn \object_nconst_use:nnn
+\cs_new:Nn \object_ncmember_use:nnn
{
\cs_if_exist_use:cT { #3 _ use:c }
{
- { \object_nconst_adr:nnn { #1 }{ #2 }{ #3 } }
+ { \object_ncmember_adr:nnn { #1 }{ #2 }{ #3 } }
}
}
-\cs_new:Nn \object_rconst_use:nnn
+\cs_new:Nn \object_rcmember_use:nnn
{
\cs_if_exist_use:cT { #3 _ use:c }
{
- { \object_rconst_adr:nnn { #1 }{ #2 }{ #3 } }
+ { \object_rcmember_adr:nnn { #1 }{ #2 }{ #3 } }
}
}
-\cs_generate_variant:Nn \object_nconst_use:nnn { Vnn }
-\cs_generate_variant:Nn \object_rconst_use:nnn { Vnn }
+\cs_generate_variant:Nn \object_ncmember_use:nnn { Vnn }
+\cs_generate_variant:Nn \object_rcmember_use:nnn { Vnn }
% \end{macrocode}
%\end{macro}
@@ -847,7 +1031,7 @@
{
\use:c { #1 _ const:cn }
{
- \object_nconst_adr:nnn { #2 }{ #3 }{ #1 }
+ \object_ncmember_adr:nnn { #2 }{ #3 }{ #1 }
}
{ #4 }
}
@@ -900,7 +1084,7 @@
{
\seq_const_from_clist:cn
{
- \object_nconst_adr:nnn { #1 }{ #2 }{ seq }
+ \object_ncmember_adr:nnn { #1 }{ #2 }{ seq }
}
{ #3 }
}
@@ -918,7 +1102,7 @@
{
\prop_const_from_keyval:cn
{
- \object_nconst_adr:nnn { #1 }{ #2 }{ prop }
+ \object_ncmember_adr:nnn { #1 }{ #2 }{ prop }
}
{ #3 }
}
@@ -929,6 +1113,117 @@
%\end{macro}
%
%
+% \begin{macro}{\object_ncmethod_adr:nnn, \object_rcmethod_adr:nnn}
+% Fully expands to the method address.
+% \begin{macrocode}
+
+\cs_new:Nn \object_ncmethod_adr:nnn
+ {
+ #1 \tl_to_str:n { _ CMETHOD _ #2 : #3 }
+ }
+
+\cs_generate_variant:Nn \object_ncmethod_adr:nnn { Vnn , vnn }
+
+\cs_new:Nn \object_rcmethod_adr:nnn
+ {
+ \object_ncmethod_adr:vnn
+ {
+ \@@_object_pxyvar:n { #1 }
+ }
+ { #2 }{ #3 }
+ }
+
+\cs_generate_variant:Nn \object_ncmethod_adr:nnn { Vnn , vnn }
+\cs_generate_variant:Nn \object_rcmethod_adr:nnn { Vnn }
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[pTF]{\object_ncmethod_if_exist:nnn, \object_rcmethod_if_exist:nnn}
+% Tests if the specified member constant exists.
+% \begin{macrocode}
+
+\prg_new_conditional:Nnn \object_ncmethod_if_exist:nnn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_ncmethod_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_new_conditional:Nnn \object_rcmethod_if_exist:nnn {p, T, F, TF }
+ {
+ \cs_if_exist:cTF
+ {
+ \object_rcmethodr_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_generate_conditional_variant:Nnn \object_ncmethod_if_exist:nnn
+ { Vnn }{ p, T, F, TF }
+\prg_generate_conditional_variant:Nnn \object_rcmethod_if_exist:nnn
+ { Vnn }{ p, T, F, TF }
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\object_new_cmethod:nnnn}
+% Creates a new method
+% \begin{macrocode}
+
+\cs_new_protected:Nn \object_new_cmethod:nnnn
+ {
+ \cs_new:cn
+ {
+ \object_ncmethod_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ { #4 }
+ }
+
+\cs_generate_variant:Nn \object_new_cmethod:nnnn { Vnnn }
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\object_ncmethod_call:nnn, \object_rcmethod_call:nnn}
+% Calls the specified method.
+% \begin{macrocode}
+
+\cs_new:Nn \object_ncmethod_call:nnn
+ {
+ \use:c
+ {
+ \object_ncmethod_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ }
+
+\cs_new:Nn \object_rcmethod_call:nnn
+ {
+ \use:c
+ {
+ \object_rcmethod_adr:nnn { #1 }{ #2 }{ #3 }
+ }
+ }
+
+\cs_generate_variant:Nn \object_ncmethod_call:nnn { Vnn }
+\cs_generate_variant:Nn \object_rcmethod_call:nnn { Vnn }
+
+% \end{macrocode}
+% \end{macro}
+%
+%
%
%\begin{variable}{\c_proxy_address_str}
%The address of the \verb|proxy| object.
@@ -950,19 +1245,14 @@
\str_const:cV { \@@_object_visvar:V \c_proxy_address_str }
\c_object_public_str
-\cs_generate_variant:Nn \seq_const_from_clist:Nn { cx }
-
\seq_const_from_clist:cn
{
\object_member_adr:Vnn \c_proxy_address_str { varlist }{ seq }
}
{ varlist }
-\str_const:cn
- {
- \object_member_adr:Vnn \c_proxy_address_str { varlist_type }{ str }
- }
- { seq }
+\object_newconst_str:Vnn \c_proxy_address_str { varlist_type }{ seq }
+
% \end{macrocode}
%
%\begin{macro}[pTF]{\object_if_proxy:n}
@@ -971,7 +1261,7 @@
\prg_new_conditional:Nnn \object_if_proxy:n {p, T, F, TF}
{
- \str_if_eq:cNTF { \@@_object_pxyvar:n { #1 } }
+ \object_test_proxy:nNTF { #1 }
\c_proxy_address_str
{
\prg_return_true:
@@ -984,8 +1274,46 @@
% \end{macrocode}
%\end{macro}
%
-%\begin{macro}{\object_create:nnnNN, \object_create_set:NnnnNN, \object_create_gset:NnnnNN}
-%Creates an object from a proxy
+%\begin{macro}[pTF]{\object_test_proxy:nn, \object_test_proxy:nN}
+%Test if an object is generated from selected proxy.
+% \begin{macrocode}
+
+\prg_generate_conditional_variant:Nnn \str_if_eq:nn { ve }{ TF }
+
+\prg_new_conditional:Nnn \object_test_proxy:nn {p, T, F, TF}
+ {
+ \str_if_eq:veTF { \@@_object_pxyvar:n { #1 } }
+ { #2 }
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_new_conditional:Nnn \object_test_proxy:nN {p, T, F, TF}
+ {
+ \str_if_eq:cNTF { \@@_object_pxyvar:n { #1 } }
+ #2
+ {
+ \prg_return_true:
+ }
+ {
+ \prg_return_false:
+ }
+ }
+
+\prg_generate_conditional_variant:Nnn \object_test_proxy:nn
+ { Vn }{p, T, F, TF}
+\prg_generate_conditional_variant:Nnn \object_test_proxy:nN
+ { VN }{p, T, F, TF}
+
+% \end{macrocode}
+%\end{macro}
+%
+% \begin{macro}{\object_create:nnnNN, \object_create_set:NnnnNN, \object_create_gset:NnnnNN}
+% Creates an object from a proxy
% \begin{macrocode}
\msg_new:nnn { aa }{ mess }{ #1 }
@@ -1020,7 +1348,7 @@
{
\object_new_member:nnv { #2 }{ ##1 }
{
- \object_member_adr:nnn { #1 }{ ##1 _ type }{ str }
+ \object_ncmember_adr:nnn { #1 }{ ##1 _ type }{ str }
}
}
}
@@ -1044,8 +1372,8 @@
}
\cs_generate_variant:Nn \object_create:nnnNN { VnnNN }
-\cs_generate_variant:Nn \object_create_set:NnnnNN { NVnnNN }
-\cs_generate_variant:Nn \object_create_gset:NnnnNN { NVnnNN }
+\cs_generate_variant:Nn \object_create_set:NnnnNN { NVnnNN, NnnfNN }
+\cs_generate_variant:Nn \object_create_gset:NnnnNN { NVnnNN, NnnfNN }
% \end{macrocode}
%\end{macro}
@@ -1054,18 +1382,26 @@
% Create an address and use it to instantiate an object
% \begin{macrocode}
-\cs_new:Nn \@@_combine:nn
+\cs_new:Nn \@@_combine_aux:nnn
{
- anon . #2 . #1
+ anon . #3 . #2 . #1
}
+
+\cs_generate_variant:Nn \@@_combine_aux:nnn { Vnf }
-\cs_generate_variant:Nn \@@_combine:nn { Vn }
+\cs_new:Nn \@@_combine:Nn
+ {
+ \@@_combine_aux:Vnf #1 { #2 }
+ {
+ \cs_to_str:N #1
+ }
+ }
\cs_new_protected:Nn \object_allocate_incr:NNnnNN
{
- \object_create_set:NnnnNN #1 { #3 }{ #4 }
+ \object_create_set:NnnfNN #1 { #3 }{ #4 }
{
- \@@_combine:Vn #2 { #3 }
+ \@@_combine:Nn #2 { #3 }
}
#5 #6
@@ -1074,9 +1410,9 @@
\cs_new_protected:Nn \object_gallocate_incr:NNnnNN
{
- \object_create_gset:NnnnNN #1 { #3 }{ #4 }
+ \object_create_gset:NnnfNN #1 { #3 }{ #4 }
{
- \@@_combine:Vn #2 { #3 }
+ \@@_combine:Nn #2 { #3 }
}
#5 #6
@@ -1089,9 +1425,9 @@
\cs_new_protected:Nn \object_allocate_gincr:NNnnNN
{
- \object_create_set:NnnnNN #1 { #3 }{ #4 }
+ \object_create_set:NnnfNN #1 { #3 }{ #4 }
{
- \@@_combine:Vn #2 { #3 }
+ \@@_combine:Nn #2 { #3 }
}
#5 #6
@@ -1100,9 +1436,9 @@
\cs_new_protected:Nn \object_gallocate_gincr:NNnnNN
{
- \object_create_gset:NnnnNN #1 { #3 }{ #4 }
+ \object_create_gset:NnnfNN #1 { #3 }{ #4 }
{
- \@@_combine:Vn #2 { #3 }
+ \@@_combine:Nn #2 { #3 }
}
#5 #6
@@ -1147,12 +1483,7 @@
\cs_new_protected:Nn \proxy_push_member:nnn
{
\@@_force_scope:n { #1 }
- \object_new_member:nnn { #1 }{ #2 _ type }{ str }
- \str_set:cn
- {
- \object_member_adr:nnn { #1 }{ #2 _ type }{ str }
- }
- { #3 }
+ \object_newconst_str:nnn { #1 }{ #2 _ type }{ #3 }
\seq_gput_left:cn
{
\object_member_adr:nnn { #1 }{ varlist }{ seq }
diff --git a/macros/latex/contrib/lt3rawobjects/lt3rawobjects.pdf b/macros/latex/contrib/lt3rawobjects/lt3rawobjects.pdf
index 68a0e03071..9a1c1af651 100644
--- a/macros/latex/contrib/lt3rawobjects/lt3rawobjects.pdf
+++ b/macros/latex/contrib/lt3rawobjects/lt3rawobjects.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index a8f69c1807..fd6c8f5c21 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2022
- tuda-ci 2022/06/10 v3.26
+ tuda-ci 2022/08/03 v3.27
***************************************************************************
@@ -320,5 +320,7 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
- Fix departmnt specific configuration mechanism in TUDa-SciPoster
- Add support for specific configuration paths
* 3.26 (2022-06-10)
- - update TUprints data scheme
- - fix incompatibility with TUDaLeaflet and recent KOMA-Script updates
+ - Update TUprints data scheme
+ - Fix incompatibility with TUDaLeaflet and recent KOMA-Script updates
+ * 3.27 (2022-08-03)
+ - Fix reference issues with subtask* in TUDaExercise \ No newline at end of file
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index 6b21a7fd1f..5acd590a49 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index 1967da6533..0ec6f8c60c 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 33bfc2ee3c..b203059cc8 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index 787a1b9d77..38df0f88b0 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index 771f6ea786..ab8a057934 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index 879907a9f0..83dbe24ec4 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index 7f79d65cda..2e0a3be743 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 095f6d3508..ddeda9b3bb 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 43f238b76a..d4289a22d7 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 46fe3c5f63..33d4c9669d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 62da9d204c..1110b49775 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index b03810e25b..fd01db9c69 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaAnnouncement.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index f250f06d5a..d3ea7fd03f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaBeamer.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index aac26d46cb..5df6bf24ee 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index 929cdb426e..eecc9d341c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaExercise.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 32cabe4184..ba0e3d46a3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 760e687637..5cdce77e2e 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaLeaflet.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index 3beeee03ce..4b65722f0b 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaLetter.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index e36911793e..a7685fd145 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaPhD.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index cdb92ff62f..6941d2395f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaPoster.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 68ad4e482e..210bba4a82 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaPub.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index 123d2e5286..fba2cd446c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaReport.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index f0a47d5f24..a11951ec9a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaSciPoster.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index 04826a7230..d7c8184ad3 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis.tex' version 3.26 (2022/06/10),
+%% This is file `DEMO-TUDaThesis.tex' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index 77ea4c761d..843b1763ba 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.26 (2022/06/10),
+%% This is file `beamercolorthemeTUDa.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index cfead82328..f0e30bca20 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.26 (2022/06/10),
+%% This is file `beamerfontthemeTUDa.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 708d0b6d60..5f97fb9f55 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.26 (2022/06/10),
+%% This is file `beamerinnerthemeTUDa.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index a96398c149..c1e20905d5 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.26 (2022/06/10),
+%% This is file `beamerouterthemeTUDa.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index e9b667dc6f..6ecc5a3685 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.26 (2022/06/10),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\RequirePackage{expl3}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index 6673ce597f..0cbf7abbc6 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.26 (2022/06/10),
+%% This is file `beamerthemeTUDa.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeTUDa}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 32f9ef20e6..ea44b73bb0 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a0paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index 06b6a09be7..3ca9ed7f21 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a1paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 752a5d1206..c268e532aa 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a2paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index d5d7d4f86d..043cb4e9cb 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a3paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 4841f9dbe1..9c97f50e2c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a4paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index 268039f7d3..6887cd5bca 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.26 (2022/06/10),
+%% This is file `tuda-a5paper.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 7fd3d60cc5..d07713a043 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.26 (2022/06/10),
+%% This is file `tuda-pgfplots.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index f694d939ec..4fd646bede 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.26 (2022/06/10),
+%% This is file `tudabeamer.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index b56b91defc..a933584b65 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.26 (2022/06/10),
+%% This is file `tudacolors.def' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 8d523d8b3f..30f52f1eb8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.26 (2022/06/10),
+%% This is file `tudacolors.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index 3344566aea..36e622b11c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.26 (2022/06/10),
+%% This is file `tudaexercise.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaexercise}
@@ -850,6 +850,7 @@
\cs_undefine:N \subtask
\NewDocumentEnvironment{subtask}{o}{
+ \begingroup
\tl_if_in:nnT {#1} {=} {
\keys_set:nn {ptxcd/subtask} {#1}
}
@@ -858,13 +859,18 @@
}{
\@subtask{\l_ptxcd_ex_title_tl}
}
- }{}
+ \tl_gset_eq:NN \g_tmpa_tl \@currentlabel
+ \endgroup
+ \tl_set_eq:NN \@currentlabel \g_tmpa_tl
+}{}
\NewDocumentEnvironment{subtask*}{om}{
\begingroup
\IfNoValueF{#1}{\keys_set:nn {ptxcd/subtask}{#1}}
\@subtask{#2}
+ \tl_gset_eq:NN \g_tmpa_tl \@currentlabel
\endgroup
+ \tl_set_eq:NN \@currentlabel \g_tmpa_tl
}{}
%Solution mechanism
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index df40e44ef1..c95e0007a9 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.26 (2022/06/10),
+%% This is file `tudafonts.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 627478a23c..e3905ae98b 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.26 (2022/06/10),
+%% This is file `tudaleaflet.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 4a63739f05..b89f59f2fd 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.26 (2022/06/10),
+%% This is file `tudaletter.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaletter}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index 53336f6781..a817f4c4b6 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.26 (2022/06/10),
+%% This is file `tudalettersize10pt.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index caa9536e2d..e989413cb2 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.26 (2022/06/10),
+%% This is file `tudamecheng.cfg' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 7e174c8eb2..5c813164f8 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.26 (2022/06/10),
+%% This is file `tudaposter.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index fa145140e2..a096029095 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.26 (2022/06/10),
+%% This is file `tudapub.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudapub}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index 4dd6d00902..1356a3b37b 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.26 (2022/06/10),
+%% This is file `tudarules.sty' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index 4b05063e43..bdaf759493 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.26 (2022/06/10),
+%% This is file `tudasciposter.cls' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index 55e8a91204..0729781b2c 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.26 (2022/06/10),
+%% This is file `tudasize9pt.clo' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index d13d0e59c4..9212cc7a46 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.26 (2022/06/10),
+%% This is file `tudathesis.cfg' version 3.27 (2022/08/03),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.26}
-\def\filedate{2022/06/10}
+\def\fileversion{3.27}
+\def\filedate{2022/08/03}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}