diff options
Diffstat (limited to 'macros/latex/contrib/tuda-ci/tex/tudaposter.cls')
-rw-r--r-- | macros/latex/contrib/tuda-ci/tex/tudaposter.cls | 201 |
1 files changed, 133 insertions, 68 deletions
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls index 467d272de4..fa9c0d9828 100644 --- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls +++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls @@ -1,4 +1,4 @@ -%% This is file `tudaposter.cls' version 3.18 (2021/08/05), +%% This is file `tudaposter.cls' version 3.20 (2021/10/12), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{3.18} -\def\filedate{2021/08/05} +\def\fileversion{3.20} +\def\filedate{2021/10/12} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt} @@ -139,7 +139,10 @@ \bool_if:NT \g_ptxcd_colorback_bool {\color{textonaccentcolor}}\expandafter\fontsize\ptxcd_title_fontsize:\selectfont} \setkomafont{subtitle}{\expandafter\fontsize\ptxcd_titleinfo_fontsize:\selectfont} -\newkomafont{titleinfo}{\expandafter\fontsize\ptxcd_titleinfo_fontsize:\selectfont} +\newkomafont{titleinfo}{\usekomafont{subtitle}} + +\clist_map_inline:nn {author, date, publishers} +{\setkomafont{#1}{\usekomafont{subtitle}}} \ExplSyntaxOff \KOMAoptions{fontsize=\csname g_ptxcd_fontsize_tl\endcsname} @@ -177,7 +180,7 @@ \dim_new:N \g_ptxcd_titleindent_dim \begingroup \expandafter\fontsize\ptxcd_title_fontsize:\selectfont - \dim_gset:Nn \g_ptxcd_titleindent_dim {.5ex} +\dim_gset:Nn \g_ptxcd_titleindent_dim {.5ex} \endgroup \dim_new:N \g_ptxcd_columnSep_dim @@ -244,13 +247,13 @@ voffset=\paperheight-\g_ptxcd_margin_dim, mode=picture, contents={% - \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl { - \let\width\g_ptxcd_qrcode_dim - \let\height\g_ptxcd_qrcode_dim - \g_ptxcd_poster_qrcode_tl - } - } - ]{TUDa.poster.qrcode} + \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl { + \let\width\g_ptxcd_qrcode_dim + \let\height\g_ptxcd_qrcode_dim + \g_ptxcd_poster_qrcode_tl + } + } +]{TUDa.poster.qrcode} @@ -261,14 +264,14 @@ width=\paperwidth-2\g_ptxcd_margin_dim, height=\g_ptxcd_footheight_dim, contents={ - \bool_if:NTF \g_ptxcd_poster_foot_bool { - \putUL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} - \put(0,0) {\parbox[b][\g_ptxcd_footheight_dim][c]{\layerwidth}{\strut\g_ptxcd_poster_foot_tl\strut}} - \putLL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} - }{ - \smash{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} + \bool_if:NTF \g_ptxcd_poster_foot_bool { + \putUL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} + \put(0,0) {\parbox[b][\g_ptxcd_footheight_dim][c]{\layerwidth}{\strut\g_ptxcd_poster_foot_tl\strut}} + \putLL{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} + }{ + \smash{\rule{\layerwidth}{\g_ptxcd_titlerule_dim}} + } } - } ]{TUDa.poster.footer} \DeclareNewLayer[ @@ -326,37 +329,49 @@ \dim_max:nn {0pt} {1.5\c_ptxcd_logoheight_dim - \height} }} { - \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo_inhead_bool {.75}\linewidth} - \leavevmode\par\nointerlineskip - \bool_if:NF \g_ptxcd_indenttext_bool {\begin{addmargin}{\g_ptxcd_titleindent_dim }} - \usekomafont{title} - \raggedright - \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} - \leavevmode\usekomafont{disposition}\usekomafont{title}% - \@title\strut\par - \bool_if:NTF \g_ptxcd_indenttext_bool {\nointerlineskip\leavevmode}{\end{addmargin}} - \end{minipage} - } - \par\nointerlineskip - \exp_args:Nf \tl_if_empty:nF {\@subtitle\@titleinfo} { - \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}} - \rule{\linewidth}{\g_ptxcd_titlerule_dim} - \par + \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo_inhead_bool {.75}\linewidth} + \leavevmode\par\nointerlineskip + \bool_if:NF \g_ptxcd_indenttext_bool {\begin{addmargin}{\g_ptxcd_titleindent_dim }} + \usekomafont{title} + \raggedright + \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} + \leavevmode\usekomafont{disposition}\usekomafont{title}% + \@title\strut\par + \bool_if:NTF \g_ptxcd_indenttext_bool {\nointerlineskip\leavevmode}{\end{addmargin}} + \end{minipage} + } + \par\nointerlineskip + \exp_args:Nf \tl_if_empty:nF {\@subtitle\@titleinfo\@subject\@author\@date\@publishers} { + \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} + \par + \nointerlineskip + \vspace{\c_ptxcd_rulesep_dim} + \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }} + \bool_if:NT \g_ptxcd_colorsubtitle_bool {\color{textonaccentcolor}} + \clist_map_inline:nn {subtitle, titleinfo, subject, author, date, publishers} + {\tl_if_empty:cF {@##1} {{\usekomafont{##1}\use:c {@##1}\par}}} + \nointerlineskip + \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}} + \vspace{\c_ptxcd_rulesep_dim} + \par\nointerlineskip + \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}} + \tl_if_empty:NF \@thanks { + \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}}\rule{\linewidth}{\g_ptxcd_titlerule_dim} + \vspace{\c_ptxcd_rulesep_dim} + \par\nointerlineskip + \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont + \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }} + \let\footnotetext\ptxcd_title@footnote + \@thanks + \vspace{\c_ptxcd_rulesep_dim} + \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}} + \global\let\@thanks\@empty + \par + } + } \nointerlineskip - \vspace{\c_ptxcd_rulesep_dim} - \bool_if:NTF \g_ptxcd_indenttext_bool {\begingroup}{\begin{addmargin}{\g_ptxcd_titleindent_dim }} - \bool_if:NT \g_ptxcd_colorsubtitle_bool {\color{textonaccentcolor}} - \tl_if_empty:NF \@subtitle {{\usekomafont{subtitle}\strut\@subtitle\strut\par}} - \tl_if_empty:NF \@titleinfo {{\usekomafont{titleinfo}\@titleinfo\par}} - \nointerlineskip - \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}} - \vspace{\c_ptxcd_rulesep_dim} - \par\nointerlineskip - \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim} - } - } - \nointerlineskip - \rule{\linewidth}{\g_ptxcd_titlerule_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} } } \endgroup @@ -364,25 +379,28 @@ \ptxcd_Setup_Title_box: \dim_gset:Nn \g_ptxcd_titleback_dim { \bool_if:NT \g_ptxcd_colorsubtitle_bool {\box_dp:N \g_ptxcd_title_box}+ - \box_ht:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim - } + \box_ht:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim + } - \ModifyLayer[ - height=\g_ptxcd_titleback_dim + \ModifyLayer[ + height=\g_ptxcd_titleback_dim ]{TUDa.poster.background} \bool_if:NF \g_ptxcd_logo_inhead_bool { \ModifyLayer[ - addvoffset=\g_ptxcd_titleback_dim+\c_ptxcd_smallrule_dim + addvoffset= + \bool_if:NF \g_ptxcd_colorsubtitle_bool {\box_dp:N \g_ptxcd_title_box}+\g_ptxcd_titleback_dim+\c_ptxcd_smallrule_dim ]{TUDa.poster.logo} } - - \bool_if:NT \g_ptxcd_logo_inhead_bool { + \leavevmode\box_use:N \g_ptxcd_title_box\par + \dim_set:Nn \g_ptxcd_titlegraphic_max_height_dim {\textheight-\pagetotal} + \bool_if:NTF \g_ptxcd_logo_inhead_bool { \dim_compare:nT {\box_ht:N \g_ptxcd_title_info_box+ \box_dp:N \g_ptxcd_title_info_box > \box_ht:N \g_ptxcd_title_box} {\msg_warning:nn{tudaposter} {infobox-too-high}} + } { + \dim_compare:nT {\box_ht:N \g_ptxcd_title_info_box+ \box_dp:N \g_ptxcd_title_info_box > \box_ht:N \g_ptxcd_titlegraphic_box + \box_dp:N \g_ptxcd_titlegraphic_box} + {\msg_warning:nn{tudaposter} {infobox-too-high}} } - \leavevmode\box_use:N \g_ptxcd_title_box\par - \dim_set:Nn \g_ptxcd_titlegraphic_max_height_dim {\textheight-\pagetotal} \global\def\contentheight{\g_ptxcd_titlegraphic_max_height_dim} \tl_if_empty:NF \@titlegraphic{ \vbox_gset:Nn \g_ptxcd_titlegraphic_box {\parbox[t]{\dim_eval:n {\paperwidth-2\g_ptxcd_margin_dim}}{\@titlegraphic}} @@ -391,11 +409,11 @@ } \DeclareLayer[ - clone=TUDa.poster.marginpar, - height=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {-\box_ht:N \g_ptxcd_titlegraphic_box-\box_dp:N \g_ptxcd_titlegraphic_box} - +\textheight-\box_ht:N \g_ptxcd_title_box-\box_dp:N \g_ptxcd_title_box-.5\c_ptxcd_logoheight_dim, - addvoffset=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {+\box_ht:N\g_ptxcd_titlegraphic_box+\box_dp:N \g_ptxcd_titlegraphic_box} - +\box_ht:N \g_ptxcd_title_box+\box_dp:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim, + clone=TUDa.poster.marginpar, + height=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {-\box_ht:N \g_ptxcd_titlegraphic_box-\box_dp:N \g_ptxcd_titlegraphic_box} + +\textheight-\box_ht:N \g_ptxcd_title_box-\box_dp:N \g_ptxcd_title_box-.5\c_ptxcd_logoheight_dim, + addvoffset=\bool_if:NF \l_ptxcd_marginpar_overlap_bool {+\box_ht:N\g_ptxcd_titlegraphic_box+\box_dp:N \g_ptxcd_titlegraphic_box} + +\box_ht:N \g_ptxcd_title_box+\box_dp:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim, ]{TUDa.poster.marginpar.title} \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl { @@ -435,7 +453,7 @@ \parbox{2\c_ptxcd_logoheight_dim}{ \raggedright #1 - }} + }} } \cs_new:Nn \ptxcd_make_title_logo_box:n { @@ -478,11 +496,11 @@ \hbox_gset:Nn \g_ptxcd_title_info_box {\parbox{2.2\c_ptxcd_logoheight_dim}{ \seq_use:Nn \g_ptxcd_title_info_seq {\par\nointerlineskip\skip_vertical:n - { - \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box + { + \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box + } } - } - }} + }} } @@ -542,6 +560,53 @@ \global\def\contentwidth{\linewidth} \global\def\contentheight{\g_ptxcd_titlegraphic_max_height_dim} +%author setup + +\seq_new:N \g_ptxcd_author_seq + +\renewcommand*\author[1]{ + \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1} +} + +\msg_new:nnn{tudapub} {unknown-language} { + You~selected~an~unknown~language~#1.\\ + The~Variable~#2~does~not~have~a~predefined~value.\\ + Ensure~to~redefine~#2~to~match~your~language.\\ + Otherwise~the~ngerman~vaue~#3~will~be~used. +} + +\cs_new:Nn \ptxcd_define_captionFallback:Nn { + \providecommand*#1{ + \msg_warning:nnxxx{tudapub} {unknown-language} + {\languagename} {\exp_not:N #1} {#2} + \def#1{#2} + } +} + +\cs_new:Nn \ptxcd_declare_caption:Nnnn { + \ptxcd_define_captionFallback:Nn #1 {#2} + \defcaptionname{ngerman, german}{#1}{#2} + \defcaptionname{english, USenglish, american}{#1}{#3} + \defcaptionname{UKenglish, british}{#1}{#4} +} + +\cs_new:Nn \ptxcd_declare_caption:Nnn { + \ptxcd_declare_caption:Nnnn #1 {#2} {#3} {#3} +} + +\renewcommand*{\@author}{ + \begingroup + \hyphenpenalty=100000 + \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~} + \endgroup +} + +\ptxcd_declare_caption:Nnn \authorandname {und} {and} + +\newcommand*{\ptxcd_title@footnote}[2][1]{ + \textsuperscript{#1}#2 +} + \file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} |