From c8d420dd46400927a8d328d2254c955895eaabce Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 9 Sep 2020 20:56:10 +0000 Subject: tuda-ci (9sep20) git-svn-id: svn://tug.org/texlive/trunk@56302 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/tuda-ci/beamercolorthemeTUDa.sty | 58 +- .../tex/latex/tuda-ci/beamerfontthemeTUDa.sty | 16 +- .../tex/latex/tuda-ci/beamerinnerthemeTUDa.sty | 186 ++--- .../tex/latex/tuda-ci/beamerouterthemeTUDa.sty | 278 ++++--- .../tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty | 308 +++++++ .../tex/latex/tuda-ci/beamerthemeTUDa.sty | 21 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo | 22 +- .../texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty | 6 +- Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls | 127 +-- Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def | 6 +- Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty | 83 +- .../texmf-dist/tex/latex/tuda-ci/tudaexercise.cls | 640 +++++++-------- Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty | 56 +- .../texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls | 251 +++--- Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls | 375 +++++---- .../tex/latex/tuda-ci/tudalettersize10pt.clo | 6 +- .../texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg | 263 ++++++ Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls | 415 +++++----- Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls | 902 +++++++++++---------- Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty | 163 ++-- .../texmf-dist/tex/latex/tuda-ci/tudasciposter.cls | 372 +++++---- .../texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo | 6 +- Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg | 497 ++++++------ 28 files changed, 2973 insertions(+), 2194 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty create mode 100644 Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg (limited to 'Master/texmf-dist/tex/latex/tuda-ci') diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty index 1160ffe48fb..34364375333 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamercolorthemeTUDa.sty @@ -1,4 +1,4 @@ -%% This is file `beamercolorthemeTUDa.sty' version 2.11 (2020/06/12), +%% This is file `beamercolorthemeTUDa.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,70 +26,66 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{beamercolorthemeTUDa} [\filedate\space\fileversion] \RequirePackage{l3keys2e} \ExplSyntaxOn -\keys_define:nn {TUDa/beamercolor} { - colortitle .bool_gset:N = \g_TUDa@beamer_colortitle_bool, +\bool_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool} + +\keys_define:nn {ptxcd/beamer/color} { + colortitle .bool_gset:N = \g_ptxcd_beamer_colortitle_bool, colortitle .default:n = true, colortitle .initial:n = true, colorbacktitle .meta:n = {colortitle=#1}, - colorframetitle .bool_gset:N = \g_TUDa@beamer_colorframetitle_bool, + colorframetitle .code:n = \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool \cs_if_exist_use:N \__ptxcd_setup_frametitle_color:, colorframetitle .default:n = true, - colorframetitle .initial:n = false, colorback .meta:n = {colorframetitle=#1} } -\ProcessKeysOptions{TUDa/beamercolor} +\ProcessKeysOptions{ptxcd/beamer/color} \ExplSyntaxOff \RequirePackage[RGB]{tudacolors} -\mode +\mode \setbeamercolor*{smallrule}{bg=black} \setbeamercolor*{identbar}{bg=identbarcolor} \ExplSyntaxOn -\bool_if:NTF \g_TUDa@beamer_colortitle_bool { +\bool_if:NTF \g_ptxcd_beamer_colortitle_bool { \setbeamercolor*{title}{fg=textonaccentcolor,bg=accentcolor} }{ - \setbeamercolor*{title}{fg=black,bg=white} + \setbeamercolor*{title}{parent=normal~text} } -\setbeamercolor*{author}{parent=title} -\setbeamercolor*{institute}{parent=title} -\bool_if:NTF \g_TUDa@beamer_colorframetitle_bool { - \setbeamercolor*{frametitle}{fg=textonaccentcolor,bg=accentcolor} -} { - \setbeamercolor*{frametitle}{fg=black,bg=white} +\cs_new:Nn \__ptxcd_setup_frametitle_color: { + \bool_if:NTF \g__ptxcd_colorframetitle_bool { + \setbeamercolor*{frametitle}{fg=textonaccentcolor,bg=accentcolor} + } { + \setbeamercolor*{frametitle}{use=normal~text,fg=normal~text.fg,bg=} + } } -\ExplSyntaxOff - -\setbeamercolor*{frametitlecover}{bg=white} -\setbeamercolor*{author in head/foot}{fg=black, bg=white} -\setbeamercolor*{date in head/foot}{fg=black, bg=white} +\__ptxcd_setup_frametitle_color: -\setbeamercolor*{normal text}{bg=white,fg=black} -\setbeamercolor*{background canvas}{bg=white} +\ExplSyntaxOff -\setbeamercolor*{section in toc}{fg=black,bg=white} +\setbeamercolor*{author}{parent=title} +\setbeamercolor*{institute}{parent=title} +\setbeamercolor*{normal text}{bg=,fg=black} +\setbeamercolor*{background canvas}{parent=normal text} +\setbeamercolor*{section in toc}{parent=normal text} +\setbeamercolor*{footline}{parent=normal text} \setbeamercolor*{alerted text}{fg=textaccentcolor} -\setbeamercolor{structure}{fg=textaccentcolor} - -\setbeamercolor*{palette primary}{fg=textaccentcolor} -\setbeamercolor*{palette secondary}{fg=textaccentcolor} -\setbeamercolor*{palette tertiary}{fg=textaccentcolor} -\setbeamercolor*{palette quaternary}{fg=black} +\setbeamercolor*{structure}{fg=textaccentcolor} \setbeamercolor{bibliography item}{parent=item} \setbeamercolor{bibliography entry author}{use=structure,fg=structure.fg} diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty index a5c6b1568c0..ceb211eff79 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerfontthemeTUDa.sty @@ -1,4 +1,4 @@ -%% This is file `beamerfontthemeTUDa.sty' version 2.11 (2020/06/12), +%% This is file `beamerfontthemeTUDa.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{beamerfontthemeTUDa} [\filedate\space\fileversion] @@ -35,15 +35,15 @@ \RequirePackage{l3keys2e} \ExplSyntaxOn -\keys_define:nn {TUDa/beamer/fonts} { - serif .bool_gset:N = \g_TUDa_serif_bool, +\keys_define:nn {ptxcd/beamer/fonts} { + serif .bool_gset:N = \g_ptxcd_serif_bool, serif .default:n = true, serif .initial:n = false, - sans-serif .bool_gset_inverse:N = \g_TUDa_serif_bool, + sans-serif .bool_gset_inverse:N = \g_ptxcd_serif_bool, sans-serif .default:n = true, } -\ProcessKeysOptions{TUDa/beamer/fonts} +\ProcessKeysOptions{ptxcd/beamer/fonts} \ExplSyntaxOff @@ -52,7 +52,7 @@ \RequirePackage{tudafonts} \ExplSyntaxOn -\bool_if:NTF \g_TUDa_serif_bool +\bool_if:NTF \g_ptxcd_serif_bool {\usefonttheme{serif}} {\renewcommand*{\familydefault}{\sfdefault}} \ExplSyntaxOff diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty index 76c6dd3e02a..aa7404b6298 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty @@ -1,4 +1,4 @@ -%% This is file `beamerinnerthemeTUDa.sty' version 2.11 (2020/06/12), +%% This is file `beamerinnerthemeTUDa.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,41 +26,10 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -%% This is file `beamerinnerthemeTUDa.sty' version 1.11 (2019/10/15), -%% it is part of -%% TUDa-CI -- Corporate Design for TU Darmstadt -%% ---------------------------------------------------------------------------- -%% -%% Copyright (C) 2018--2019 by Marei Peischl -%% -%% ============================================================================ -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3c -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3c or later is part of all distributions of LaTeX -%% version 2008/05/04 or later. -%% -%% This work has the LPPL maintenance status `maintained'. -%% -%% The Current Maintainers of this work are -%% Marei Peischl -%% Markus Lazanowski -%% -%% The development respository can be found at -%% https://github.com/tudace/tuda_latex_templates -%% Please use the issue tracker for feedback! -%% -%% ============================================================================ -%% -\def\fileversion{1.11} -\def\filedate{2019/10/15} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerinnerthemeTUDa} - [\filedate\space\fileversion] +\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci} \RequirePackage{l3keys2e} @@ -68,31 +37,39 @@ \RequirePackage{trimclip} - -\ExplSyntaxOn -\keys_define:nn {TUDa/beamer/inner} { - authorontitle .bool_gset:N = \g_TUDa_authorontitle_bool, +\keys_define:nn {ptxcd/beamer/inner} { + authorontitle .bool_gset:N = \g_ptxcd_authorontitle_bool, authorontitle .initial:n = false, authorontitle .default:n = true } -\ProcessKeysOptions{TUDa/beamer/inner} - -\box_new:N \l_TUDa_titlegraphic_box +\ProcessKeysOptions{ptxcd/beamer/inner} + +\box_new:N \l__ptxcd_titlegraphic_box +\box_new:N \l__ptxcd_titlehead_box +\dim_new:N \l__ptxcd_titlegraphic_ht_dim +\dim_new:N \l__ptxcd_titlegraphic_wd_dim + +\@ifpackageloaded{beamerouterthemeTUDa}{}{ + \dim_new:N \g__ptxcd_beamer_logosep_dim + \dim_new:N \l__ptxcd_beamer_extraindent_dim + \dim_new:N \g__ptxcd_beamer_sep_dim + \box_new:N \g__ptxcd_logo_box +} \RenewDocumentCommand{\titlegraphic}{sm}{ \IfBooleanTF{#1}{ \def\inserttitlegraphic{ - \hbox_set:Nn \l_TUDa_titlegraphic_box {\raisebox{\depth}{#2}} - \box_resize_to_wd:Nn \l_TUDa_titlegraphic_box {\width} - \dim_compare:nTF {\box_ht:N \l_TUDa_titlegraphic_box - \l_TUDa_titlegraphic_ht_dim > \c_zero_dim} + \hbox_set:Nn \l__ptxcd_titlegraphic_box {\raisebox{\depth}{#2}} + \box_resize_to_wd:Nn \l__ptxcd_titlegraphic_box {\width} + \dim_compare:nTF {\box_ht:N \l__ptxcd_titlegraphic_box - \l__ptxcd_titlegraphic_ht_dim > \c_zero_dim} { - \dim_set:Nn \l_tmpa_dim {.5\box_ht:N \l_TUDa_titlegraphic_box - .5\l_TUDa_titlegraphic_ht_dim} - \clipbox{0pt~\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}}{\box_use:N \l_TUDa_titlegraphic_box} + \dim_set:Nn \l_tmpa_dim {.5\box_ht:N \l__ptxcd_titlegraphic_box - .5\l__ptxcd_titlegraphic_ht_dim} + \clipbox{0pt~\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}}{\box_use:N \l__ptxcd_titlegraphic_box} }{ - \box_resize_to_ht:Nn \l_TUDa_titlegraphic_box {\l_TUDa_titlegraphic_ht_dim} - \dim_set:Nn \l_tmpa_dim {(\box_wd:N \l_TUDa_titlegraphic_box - \width) / 2} - \clipbox{\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}~0pt}{\box_use:N \l_TUDa_titlegraphic_box} + \box_resize_to_ht:Nn \l__ptxcd_titlegraphic_box {\l__ptxcd_titlegraphic_ht_dim} + \dim_set:Nn \l_tmpa_dim {(\box_wd:N \l__ptxcd_titlegraphic_box - \width) / 2} + \clipbox{\dim_eval:n{\l_tmpa_dim}~0pt~\dim_eval:n{\l_tmpa_dim}~0pt}{\box_use:N \l__ptxcd_titlegraphic_box} } } }{ @@ -101,52 +78,47 @@ } -\box_new:N \l_TUDa_titlehead_box - -\dim_new:N \l_TUDa_titlegraphic_ht_dim -\dim_new:N \l_TUDa_titlegraphic_wd_dim - \defbeamertemplate*{title~ page}{TUDa}[1][] { \nointerlineskip - \vspace{\dim_eval:n {-\c_TUDa_largerule_dim}} - \hbox_set:Nn \l_TUDa_titlehead_box { - \parbox{\dimexpr\TUDa@beamer@linewidth+2\TUDa@beamer@extraindent}{% + \vspace{\dim_eval:n {-\c_ptxcd_largerule_dim}} + \hbox_set:Nn \l__ptxcd_titlehead_box { + \parbox{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim}{% \begin{beamercolorbox}[ wd=\linewidth, - sep=\TUDa@beamer@logosep, + sep=\g__ptxcd_beamer_logosep_dim, ]{title} \raggedright \usebeamerfont{title} \skip_horizontal:n {1ex} - \strut\parbox[t]{\dimexpr\linewidth- \wd\TUDa@logobox-2ex\relax}{ + \strut\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{ \inserttitle \par } - \hspace{\fill}\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\TUDa@logobox} + \hspace{\fill}\raisebox{\dimexpr-\height+\ht\strutbox\relax}{\box_use:N \g__ptxcd_logo_box} \ifx\insertsubtitle\@empty \else - \par\vspace{\c_TUDa_largerule_dim} - \skip_horizontal:n {1ex}\parbox[t]{\dimexpr\linewidth- \wd\TUDa@logobox-2ex\relax}{ + \par\vspace{\c_ptxcd_largerule_dim} + \skip_horizontal:n {1ex}\parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-2ex\relax}{ \usebeamerfont{subtitle}\insertsubtitle } \fi \end{beamercolorbox} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % bool if authorontrile -\bool_if:NT \g_TUDa_authorontitle_bool { +\bool_if:NT \g_ptxcd_authorontitle_bool { \par\nointerlineskip \begin{beamercolorbox}[ - wd=\linewidth,ht=\c_TUDa_smallrule_dim,dp=\z@]{smallrule} + wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule} \end{beamercolorbox} \par\nointerlineskip \begin{beamercolorbox}[ wd=\linewidth, - sep=\c_TUDa_largerule_dim, + sep=\c_ptxcd_largerule_dim, ]{title} \raggedright \skip_horizontal:n {1ex} - \parbox[t]{\dimexpr\linewidth-2ex\relax}{ + \parbox[t]{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim-2ex\relax}{ \ifx\insertauthor\@empty \else \usebeamercolor[fg]{author}\usebeamerfont{author}\insertauthor\par @@ -160,100 +132,100 @@ } } } - \box_use:N \l_TUDa_titlehead_box + \box_use:N \l__ptxcd_titlehead_box \nointerlineskip\begin{beamercolorbox}[ - wd=\dimexpr\TUDa@beamer@linewidth+2\TUDa@beamer@extraindent,ht=\c_TUDa_smallrule_dim,dp=\z@]{smallrule} + wd=\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim,ht=\c_ptxcd_smallrule_dim,dp=\z@]{smallrule} \end{beamercolorbox} - \dim_set:Nn \l_TUDa_titlegraphic_ht_dim {\textheight-\box_ht:N\l_TUDa_titlehead_box-\box_dp:N \l_TUDa_titlehead_box - +\c_TUDa_largerule_dim-.5\c_TUDa_rulesep_dim-\c_TUDa_smallrule_dim} - \let\height\l_TUDa_titlegraphic_ht_dim - \dim_set:Nn \l_TUDa_titlegraphic_wd_dim{\TUDa@beamer@linewidth+2\TUDa@beamer@extraindent} - \let\width\l_TUDa_titlegraphic_wd_dim + \dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {\textheight-\box_ht:N\l__ptxcd_titlehead_box-\box_dp:N \l__ptxcd_titlehead_box + +\c_ptxcd_largerule_dim-.5\c_ptxcd_rulesep_dim-\c_ptxcd_smallrule_dim} + \let\height\l__ptxcd_titlegraphic_ht_dim + \dim_set:Nn \l__ptxcd_titlegraphic_wd_dim{\dimexpr\paperwidth-2\g__ptxcd_beamer_sep_dim} + \let\width\l__ptxcd_titlegraphic_wd_dim \nointerlineskip \begin{beamercolorbox}[wd=\width,center]{titlegraphic} - \raisebox{-\c_TUDa_largerule_dim}[\dim_eval:n {\height-\c_TUDa_largerule_dim}][0pt]{\inserttitlegraphic} + \raisebox{-\c_ptxcd_largerule_dim}[\dim_eval:n {\height-\c_ptxcd_largerule_dim}][0pt]{\inserttitlegraphic} \end{beamercolorbox} +% \endgroup } -\ExplSyntaxOff % Blocks -\defbeamertemplate*{block begin}{TUDa} +\defbeamertemplate*{block~begin}{TUDa} { \par\vskip\medskipamount% - \begin{beamercolorbox}[ wd=\dimexpr\linewidth+2\TUDa@beamer@extraindent,sep=.5pt, - leftskip=\dimexpr\ifdim\TUDa@beamer@extraindent>\z@\TUDa@beamer@extraindent-\beamer@colbox@sep\else\z@\fi]{block title} + \begin{beamercolorbox}[ wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim,sep=.5pt, + leftskip=\dimexpr\ifdim\l__ptxcd_beamer_extraindent_dim>\z@\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep\else\z@\fi]{block~title} \ifx\insertblocktitle\@empty \else \begin{beamercolorbox}[colsep=.75ex, - wd=\dimexpr\linewidth-1pt\relax]{block title} + wd=\dimexpr\linewidth-1pt\relax]{block~title} \usebeamerfont*{block title}\insertblocktitle% \end{beamercolorbox}% - \ifbeamercolorempty[bg]{block title} + \ifbeamercolorempty[bg]{block~title} {} - {\ifbeamercolorempty[bg]{block body}{}{\par\nointerlineskip\vskip-0.5pt}}% + {\ifbeamercolorempty[bg]{block~body}{}{\par\nointerlineskip\vskip-0.5pt}}% \leavevmode \fi - \begin{beamercolorbox}[colsep=.75ex,vmode, wd=\dimexpr\linewidth-1pt\relax]{block body}% - \usebeamerfont{block body}% - \ifbeamercolorempty[bg]{block body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}% + \begin{beamercolorbox}[colsep=.75ex,vmode, wd=\dimexpr\linewidth-1pt\relax]{block~body}% + \usebeamerfont{block~body}% + \ifbeamercolorempty[bg]{block~body}{\vskip-.25ex}{\vskip-.75ex}\vbox{}% } -\defbeamertemplate*{block end}{TUDa} +\defbeamertemplate*{block~end}{TUDa} {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount} -\defbeamertemplate*{block alerted begin}{TUDa} +\defbeamertemplate*{block~alerted~begin}{TUDa} { \par\vskip\medskipamount% \begin{beamercolorbox}[ - wd=\dimexpr\linewidth+2\TUDa@beamer@extraindent, + wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim, sep=1.5pt, - leftskip=\dimexpr\ifdim\TUDa@beamer@extraindent>\z@\TUDa@beamer@extraindent-\beamer@colbox@sep\else\z@\fi, - ]{block frame alerted} + leftskip=\dimexpr\ifdim\l__ptxcd_beamer_extraindent_dim>\z@\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep\else\z@\fi, + ]{block~frame~alerted} \ifx\insertblocktitle\@empty \else - \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block title alerted} - \usebeamerfont*{block title alerted}\insertblocktitle% + \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~title~alerted} + \usebeamerfont*{block~title~alerted}\insertblocktitle% \end{beamercolorbox}% \vskip1.5pt\par\nointerlineskip \fi \leavevmode - \usebeamerfont{block body alerted}% - \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block body alerted}% + \usebeamerfont{block~body~alerted}% + \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~body~alerted}% } -\defbeamertemplate*{block alerted end}{TUDa} +\defbeamertemplate*{block~alerted~end}{TUDa} {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount} -\defbeamertemplate*{block example begin}{TUDa} +\defbeamertemplate*{block~example~begin}{TUDa} { \par\vskip\medskipamount% \begin{beamercolorbox}[ - wd=\dimexpr\linewidth+2\TUDa@beamer@extraindent, + wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim, sep=1.5pt, - leftskip=\dimexpr\ifdim\TUDa@beamer@extraindent>\z@\TUDa@beamer@extraindent-\beamer@colbox@sep\else\z@\fi, - ]{block frame example} + leftskip=\dim_eval:n {\dim_compare:nTF {\l__ptxcd_beamer_extraindent_dim>\c_zero_dim} {\l__ptxcd_beamer_extraindent_dim-\beamer@colbox@sep} {\c_zero_dim}}, + ]{block~frame~example} \ifx\insertblocktitle\@empty \else - \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block title example} - \usebeamerfont*{block title example}\insertblocktitle% + \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~title~example} + \usebeamerfont*{block~title~example}\insertblocktitle% \end{beamercolorbox}% \vskip1.5pt\par\nointerlineskip \fi \leavevmode - \usebeamerfont{block body example}% - \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block body example}% + \usebeamerfont{block~body~example}% + \begin{beamercolorbox}[wd={\dimexpr\linewidth-3pt},colsep=.75ex]{block~body~example}% } -\defbeamertemplate*{block example end}{TUDa} +\defbeamertemplate*{block~example~end}{TUDa} {\end{beamercolorbox}\end{beamercolorbox}\vskip\smallskipamount} %Itemize Items -\defbeamertemplate*{itemize item}{TUDa}{\usebeamerfont*{itemize item}\raise\dimexpr.4\ht\strutbox-.4ex\hbox{\rule{.8ex}{.8ex}}} -\defbeamertemplate*{itemize subitem}{TUDa}{\usebeamerfont*{itemize item}\setlength{\fboxsep}{\z@}\setlength{\fboxrule}{1pt}\raise\dimexpr.4\ht\strutbox-.2ex-\fboxrule\hbox{\fbox{\color{bg}\rule{.4ex}{.4ex}}}} -\defbeamertemplate*{itemize subsubitem}{TUDa}{\usebeamerfont*{itemize subitem}\hbox{--}} +\defbeamertemplate*{itemize~item}{TUDa}{\usebeamerfont*{itemize~item}\raise\dimexpr.4\ht\strutbox-.4ex\hbox{\rule{.8ex}{.8ex}}} +\defbeamertemplate*{itemize~subitem}{TUDa}{\usebeamerfont*{itemize~item}\setlength{\fboxsep}{\z@}\setlength{\fboxrule}{1pt}\raise\dimexpr.4\ht\strutbox-.2ex-\fboxrule\hbox{\fbox{\color{bg}\rule{.4ex}{.4ex}}}} +\defbeamertemplate*{itemize~subsubitem}{TUDa}{\usebeamerfont*{itemize~subitem}\hbox{--}} \mode diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty index 52389e9d596..88558b2a85a 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerouterthemeTUDa.sty @@ -1,4 +1,4 @@ -%% This is file `beamerouterthemeTUDa.sty' version 2.11 (2020/06/12), +%% This is file `beamerouterthemeTUDa.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,149 +26,171 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{beamerouterthemeTUDa} - [\filedate\space\fileversion] +\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci} \RequirePackage{l3keys2e} +\RequirePackage[paper=slide]{tudarules} + + +\dim_new:N \l__ptxcd_beamer_extraindent_dim +\dim_new:N {\g__ptxcd_beamer_sep_dim} +\dim_gset:Nn \g__ptxcd_beamer_sep_dim {.3\c_ptxcd_logoheight_dim} +\dim_new:N \g__ptxcd_beamer_logosep_dim +\dim_gset:Nn \g__ptxcd_beamer_logosep_dim{2mm} + + +\cs_if_exist:NF \g__ptxcd_colorframetitle_bool {\bool_new:N \g__ptxcd_colorframetitle_bool} -\ExplSyntaxOn -\keys_define:nn {TUDa/beamer/outer} { - logo .bool_gset:N = \g_TUDa_headlinelogo_bool, +\keys_define:nn {ptxcd/beamer/outer} { + logo .bool_gset:N = \g_ptxcd_headlinelogo_bool, logo .default:n =true, logo .initial:n =true, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, - colorframetitle .bool_gset:N = \g_TUDa_colorframetitle_bool, - colorframetitle .initial:n = false, - colorframetitle .default:n = true, - centerframetitle .bool_gset:N = \g_TUDa_centerframetitle_bool, - centerframetitle .initial:n = false, - centerframetitle .default:n = true, + colorframetitle .code:n = { + \use:c {bool_gset_#1:N} \g__ptxcd_colorframetitle_bool + \cs_if_exist_use:N \__ptxcd_setup_frametitle_color: + }, + colorframetitle .default:n = true, + centerframetitle .bool_gset:N = \g_ptxcd_centerframetitle_bool, + centerframetitle .initial:n = false, + centerframetitle .default:n = true, + framebgcolor .choice:, + framebgcolor / reset .code:n = + \__ptxcd_reset_framebgcolor: + , + framebgcolor / unknown .code:n = { + \__ptxcd_set_framebgcolor:n {#1} + }, + singleframebgcolor .code:n = { + \cs_gset_eq:Nc \__ptxcd_save_background_canvas: {beamer@thcbg@normal~text} + \keys_set:nn {ptxcd/beamer/outer} { + framebgcolor = #1 + } + }, + headsepline .bool_gset:N = \g_ptxcd_headsepline_bool, + headsepline .initial:n = true, + headsepline .default:n = true, +} + +\define@key{beamerframe}{bgcolor}{ + \keys_set:nn {ptxcd/beamer/outer} { + singleframebgcolor=#1 + } +} + +\cs_new:Nn \__ptxcd_reset_framebgcolor: { + \cs_gset_eq:cN {beamer@thcbg@normal~text} \__ptxcd_save_background_canvas: + \cs_undefine:N \__ptxcd_save_background_canvas: +} + +\cs_new:Nn \__ptxcd_set_framebgcolor:n { + \cs_if_exist:cTF {\string\color@#1} + {\setbeamercolor{normal~text}{bg=#1}} + {\setbeamercolor{normal~text}{bg=TUDa-#1}} } +\BeforeBeginEnvironment{frame}{ + \cs_if_exist:NT \__ptxcd_save_background_canvas: { + \__ptxcd_reset_framebgcolor: + } +} -\ProcessKeysOptions{TUDa/beamer/outer} +\ProcessKeysOptions{ptxcd/beamer/outer} \mode \RequirePackage{graphicx} -\RequirePackage[paper=slide]{tudarules} -\newlength{\TUDa@beamer@sep} -\setlength{\TUDa@beamer@sep}{1em} -\newlength{\TUDa@beamer@logosep} -\setlength{\TUDa@beamer@logosep}{2mm} -\newlength{\TUDa@beamer@extraindent} -\ExplSyntaxOn -\bool_if:NT \g_TUDa_colorframetitle_bool {\setlength{\TUDa@beamer@extraindent}{\TUDa@beamer@logosep}} +\bool_if:NT \g__ptxcd_colorframetitle_bool + {\dim_set:Nn \l__ptxcd_beamer_extraindent_dim {\g__ptxcd_beamer_logosep_dim}} \setbeamersize{ - text~margin~left= \dimexpr\TUDa@beamer@sep+\TUDa@beamer@extraindent\relax, - text~margin~right=\dimexpr\TUDa@beamer@sep+\TUDa@beamer@extraindent\relax, + text~margin~left=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax, + text~margin~right=\dimexpr\g__ptxcd_beamer_sep_dim+\l__ptxcd_beamer_extraindent_dim \relax, } -\newlength{\TUDa@beamer@linewidth} -\setlength{\TUDa@beamer@linewidth}{\dimexpr\paperwidth-2\TUDa@beamer@sep-2\TUDa@beamer@extraindent\relax} +\cs_new:Nn \__ptxcd_beamer_linewidth: {\dim_eval:n {\paperwidth-\beamer@leftmargin-\beamer@rightmargin}} %Logo -\newsavebox{\TUDa@logobox} -\sbox{\TUDa@logobox}{% - \makebox[2.2\c_TUDa_logoheight_dim][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}% +\box_new:N \g__ptxcd_logo_box +\hbox_gset:Nn \g__ptxcd_logo_box {% + \makebox[2.2\c_ptxcd_logoheight_dim][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}% } -\TUDa@makeheadrule[color=identbarcolor,width=\paperwidth-2\TUDa@beamer@sep]{TUDa@beamer@headrule} -\TUDa@makefootrule[width=\paperwidth-2\TUDa@beamer@sep]{TUDa@beamer@rule} - -\newlength{\TUDa@beamer@headheight} -\setlength{\TUDa@beamer@headheight}{ -\dim_eval:n { - \ht\TUDa@logobox+ - \dp\TUDa@logobox + - 2\TUDa@beamer@logosep+ - \box_ht:N \TUDa@beamer@rule_box + - \box_dp:N \TUDa@beamer@rule_box -}} - - -\ExplSyntaxOff - - -\def\tudrule{\TUDa@beamer@rule} - +\ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_headrule} +\ptxcd_makefootrule[width=\paperwidth-2\g__ptxcd_beamer_sep_dim]{ptxcd_beamer_rule} \newcommand\insertsmalllogo{\setbeamertemplate{logo}[small]\usebeamertemplate{logo}} - -\defbeamertemplate*{sidebar left}{TUD theme}{} -\defbeamertemplate*{sidebar right}{TUD theme}{} +\defbeamertemplate*{sidebar~left}{TUDa}{} +\defbeamertemplate*{sidebar~right}{TUDa}{} -\ExplSyntaxOn +\bool_if_exist:NF \l_ptxcd_tmpa_bool {\bool_new:N \l_ptxcd_tmpa_bool} -\bool_if_exist:NF \l_TUDa_tmpa_bool {\bool_new:N \l_TUDa_tmpa_bool} - -\defbeamertemplate*{footline}{TUDa theme} +\defbeamertemplate*{footline}{TUDa} { - \begin{beamercolorbox}[leftskip=\TUDa@beamer@sep,rightskip=\TUDa@beamer@sep, - ht=\csname c_TUDa_smallrule_dim\endcsname,dp=1mm]{footline} - \TUDa@beamer@rule + \begin{beamercolorbox}[leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim, + ht=\csname c_ptxcd_smallrule_dim\endcsname,dp=1mm]{footline} + \ptxcd_beamer_rule \end{beamercolorbox} - \begin{beamercolorbox}[ - leftskip=\TUDa@beamer@sep, - rightskip=\TUDa@beamer@sep, ht=2.75mm,dp=2.75mm]{footline} + \begin{beamercolorbox}[ + leftskip=\g__ptxcd_beamer_sep_dim, + rightskip=\g__ptxcd_beamer_sep_dim, ht=2.75mm,dp=2.75mm]{footline} \usebeamerfont{author~ in~ head/foot}% - \bool_set_false:N \l_TUDa_tmpa_bool + \bool_set_false:N \l_ptxcd_tmpa_bool \clist_map_variable:nNn {date, department, institute, author} \l_tmpa_tl { \tl_if_empty:cF {beamer@short\l_tmpa_tl} { - \bool_if:NTF \l_TUDa_tmpa_bool {~|~} - {\bool_set_true:N \l_TUDa_tmpa_bool} + \bool_if:NTF \l_ptxcd_tmpa_bool {~|~} + {\bool_set_true:N \l_ptxcd_tmpa_bool} \use:c {insertshort\l_tmpa_tl} } } - \bool_if:NT \l_TUDa_tmpa_bool {~|~} + \bool_if:NT \l_ptxcd_tmpa_bool {~|~} \insertframenumber \hfill\raisebox{\dimexpr-.5\height+\dp\strutbox\relax}{\insertlogo} - \end{beamercolorbox} + \end{beamercolorbox} } \RenewDocumentCommand{\logo}{sm}{ \IfBooleanTF{#1}{ - \setbeamertemplate{logo}{\resizebox{!}{.06\beamer@paperheight}{\mbox{#2}}}%TODO change with aspectratio + \setbeamertemplate{logo}{\resizebox{!}{.06\beamer@paperheight}{\mbox{#2}}} }{ \setbeamertemplate{logo}{#2} } } -\defbeamertemplate{headline}{TUDa theme.logo} {% +\defbeamertemplate{headline}{TUDa.logo} {% \begin{beamercolorbox}[ - leftskip=\TUDa@beamer@sep,rightskip=\TUDa@beamer@sep, - ht=.75\TUDa@beamer@sep,dp=\box_dp:N \TUDa@beamer@headrule_box]{headline} - \TUDa@beamer@headrule + leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim, + ht=.75\g__ptxcd_beamer_sep_dim,dp=\box_dp:N \ptxcd_beamer_headrule_box]{headline} + \ptxcd_beamer_headrule \end{beamercolorbox} } -\box_new:N \l_TUDa_frametitle_box +\box_new:N \l__ptxcd_frametitle_box -\defbeamertemplate{frametitle}{TUDa~theme.logo}{% +\defbeamertemplate{frametitle}{TUDa.logo}{% \nointerlineskip% \begin{beamercolorbox}[ - sep=\TUDa@beamer@logosep, - wd=\dimexpr\TUDa@beamer@linewidth+2\TUDa@beamer@extraindent\relax, - rightskip=-\TUDa@beamer@logosep, - leftskip=\dimexpr-\TUDa@beamer@logosep+\TUDa@beamer@extraindent\relax, + sep=\g__ptxcd_beamer_logosep_dim, + wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim}, + rightskip=-\g__ptxcd_beamer_logosep_dim, + leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim}, ]{frametitle} - \hbox_set:Nn \l_TUDa_frametitle_box { + \hbox_set:Nn \l__ptxcd_frametitle_box { \parbox[t] - {\dimexpr\linewidth- \wd\TUDa@logobox-1em\relax\relax}{% + {\dim_eval:n {\linewidth- \box_wd:N \g__ptxcd_logo_box-1em}}{% \usebeamerfont{frametitle}\strut\insertframetitle \ifx\insertframesubtitle\@empty \else @@ -179,39 +201,58 @@ \fi }} \leavevmode - \bool_if:NTF \g_TUDa_centerframetitle_bool + \bool_if:NTF \g_ptxcd_centerframetitle_bool {\raisebox{\dimexpr-.5\height+.5\depth}} {\use:n} - {\box_use:N \l_TUDa_frametitle_box} + {\box_use:N \l__ptxcd_frametitle_box} \hfill% - \bool_if:NTF \g_TUDa_centerframetitle_bool + \bool_if:NTF \g_ptxcd_centerframetitle_bool {\raisebox{\dimexpr-.5\height+.5\depth}} {\raisebox{\dimexpr-\height+\ht\strutbox}} - {\usebox\TUDa@logobox} + {\box_use:N \g__ptxcd_logo_box} \end{beamercolorbox}% -\nointerlineskip -\leavevmode\color{black}\hspace*{-\TUDa@beamer@extraindent}\rlap{\TUDa@beamer@rule}% +\bool_if:NT \g_ptxcd_headsepline_bool { + \nointerlineskip + \begin{beamercolorbox}[ + wd=\dim_eval:n {\textwidth+2\l__ptxcd_beamer_extraindent_dim}, + ht=\c_ptxcd_smallrule_dim, + dp=0pt + ]{smallrule} + \end{beamercolorbox} +} } -\defbeamertemplate*{headline}{TUDa~theme.nologo} +\defbeamertemplate*{headline}{TUDa.nologo} {% - \vspace{.75\TUDa@beamer@sep} + \vspace{.75\g__ptxcd_beamer_sep_dim} \begin{beamercolorbox}[ - leftskip=\TUDa@beamer@sep,rightskip=\TUDa@beamer@sep]{headline} - \TUDa@beamer@headrule + leftskip=\g__ptxcd_beamer_sep_dim,rightskip=\g__ptxcd_beamer_sep_dim]{headline} + \ptxcd_beamer_headrule \end{beamercolorbox} - } + } + +\defbeamertemplate*{headline}{TUDa.simple} +{ + \ifbeamercolorempty[bg]{background~canvas}{ + \vspace{\dimexpr.5\c_ptxcd_logoheight_dim-\c_ptxcd_rulesep_dim} + \skip_horizontal:n {\beamer@leftmargin} + \color{identbarcolor} + \vrule width\dimexpr\textwidth-\beamer@leftmargin-\beamer@rightmargin height\c_ptxcd_rulesep_dim + }{ + \vspace{\dimexpr.5\c_ptxcd_logoheight_dim} + } +} -\defbeamertemplate*{frametitle}{TUDa~theme.nologo}{% +\defbeamertemplate*{frametitle}{TUDa.nologo}{% \nointerlineskip% \begin{beamercolorbox}[ - sep=\TUDa@beamer@logosep, - wd=\dimexpr\TUDa@beamer@linewidth+2\TUDa@beamer@extraindent\relax, - leftskip=\dimexpr-\TUDa@beamer@logosep+\TUDa@beamer@extraindent\relax, + sep=\g__ptxcd_beamer_logosep_dim, + wd=\dim_eval:n {\__ptxcd_beamer_linewidth:+2\l__ptxcd_beamer_extraindent_dim}, + leftskip=\dim_eval:n {-\g__ptxcd_beamer_logosep_dim+\l__ptxcd_beamer_extraindent_dim}, ]{frametitle} - \hbox_set:Nn \l_TUDa_frametitle_box { + \hbox_set:Nn \l__ptxcd_frametitle_box { \parbox[t] - {\dimexpr\linewidth- \wd\TUDa@logobox-1em\relax\relax}{% + {\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-1em\relax\relax}{% \usebeamerfont{frametitle}\strut\insertframetitle \ifx\insertframesubtitle\@empty \else @@ -222,37 +263,46 @@ \fi }} \leavevmode -\bool_if:NTF \g_TUDa_centerframetitle_bool +\bool_if:NTF \g_ptxcd_centerframetitle_bool {\raisebox{\dimexpr-.5\height+.5\depth}} {\use:n} -{\box_use:N \l_TUDa_frametitle_box} +{\box_use:N \l__ptxcd_frametitle_box} % Rule for voffset similar to logo \rule[\dim_eval:n { - \bool_if:NTF \g_TUDa_centerframetitle_bool - {-.5\ht\TUDa@logobox+.5\dp\TUDa@logobox} {-\ht\TUDa@logobox+\ht\strutbox} - }]{0pt}{\dimexpr\ht\TUDa@logobox+\dp\TUDa@logobox\relax} + \bool_if:NTF \g_ptxcd_centerframetitle_bool + {-.5\box_ht:N \g__ptxcd_logo_box+.5\box_dp:N \g__ptxcd_logo_box} + {-\box_ht:N \g__ptxcd_logo_box+\ht\strutbox} + }]{0pt}{\dim_eval:n { + \box_ht:N \g__ptxcd_logo_box+\box_dp:N \g__ptxcd_logo_box + }} \end{beamercolorbox} +\bool_if:NT \g_ptxcd_headsepline_bool { \nointerlineskip -\TUDa@beamer@rule + \begin{beamercolorbox}[ + wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim \relax, + ht=\c_ptxcd_smallrule_dim, + dp=0pt + ]{smallrule} + \end{beamercolorbox} +} } -\cs_new:Nn \TUDa_setup_frame: { - \bool_if:NTF \g_TUDa_headlinelogo_bool { - \setbeamertemplate{frametitle}[TUDa~ theme.logo] - \setbeamertemplate{headline}[TUDa~ theme.logo] +\cs_new:Nn \ptxcd_setup_frame: { + \bool_if:NTF \g_ptxcd_headlinelogo_bool { + \setbeamertemplate{frametitle}[TUDa.logo] + \setbeamertemplate{headline}[TUDa.logo] }{ - \setbeamertemplate{frametitle}[TUDa~ theme.nologo] - \setbeamertemplate{headline}[TUDa~ theme.nologo] + \setbeamertemplate{frametitle}[TUDa.nologo] + \setbeamertemplate{headline}[TUDa.nologo] } } -\TUDa_setup_frame: +\ptxcd_setup_frame: \newcommand*{\setupTUDaFrame}[1]{ - \keys_set:nn {TUDa/beamer/outer} {#1} - \TUDa_setup_frame: + \keys_set:nn {ptxcd/beamer/outer} {#1} + \ptxcd_setup_frame: } -\ExplSyntaxOff \mode diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty new file mode 100644 index 00000000000..745b113ed73 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa-mecheng.sty @@ -0,0 +1,308 @@ +%% This is file `beamerthemeTUDa-mecheng.sty' version 3.00 (2020/09/08), +%% it is part of +%% TUDa-CI -- Corporate Design for TU Darmstadt +%% ---------------------------------------------------------------------------- +%% +%% Copyright (C) 2018--2020 by Marei Peischl +%% +%% ============================================================================ +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008/05/04 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainers of this work are +%% Marei Peischl +%% Markus Lazanowski +%% +%% The development respository can be found at +%% https://github.com/tudace/tuda_latex_templates +%% Please use the issue tracker for feedback! +%% +%% ============================================================================ +%% +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\RequirePackage{expl3} +\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering} + + +\tl_if_empty:NT \g_ptxcd_departmentlogo_tl { + \keys_set:nn {ptxcd/beamer}{departmentlogofile=tuda_maschinenbau_logo_rgb} +} + + +\mode + + +% Setup Arrow +\RequirePackage{pgf} + +\cs_new:Nn \__ptxcd_mecheng_arrow:N { + \begin{pgfpicture} + \pgfsetcolor{TUDa-Arrow} + \pgfsetrectcap + \pgfsetlinewidth{2\c_ptxcd_smallrule_dim} + \pgfpathmoveto{\pgfpointorigin} + \pgfpathlineto{\pgfpointpolar{174}{.05#1}} + \pgfpathlineto{\pgfpointpolar{186}{.05#1}} + \pgfpathclose + \pgfusepath{fill} + \pgfpathmoveto{\pgfpoint{-.04#1}{0}} + \pgfpathlineto{\pgfpoint{-#1}{0}} + \pgfusepath{stroke} + \end{pgfpicture} +} + +\NewDocumentCommand{\MechEngArrow}{sm}{ + \IfBooleanT{#1}{\begingroup\colorlet{TUDa-Arrow}{.}} + \dim_set:Nn \l_tmpa_dim {#2}\__ptxcd_mecheng_arrow:N \l_tmpa_dim + \IfBooleanT{#1}{\endgroup} +} + +%adjustments for colortheme +\ExplSyntaxOff +\setbeamercolor*{Primary1}{fg=TUDa-Primary1, bg=TUDa-Primary2} +\setbeamercolor*{Primary2}{fg=TUDa-Primary2, bg=TUDa-Primary1} + +\setbeamercolor*{footer info}{fg=black!50} +\setbeamercolor*{department in head/foot}{parent=footer info} +\setbeamercolor*{institute in head/foot}{parent=footer info} +\setbeamercolor*{title in head/foot}{parent=footer info} +\setbeamercolor*{author in head/foot}{parent=footer info} +\setbeamercolor*{date in head/foot}{parent=footer info} +\setbeamercolor{footline}{use=Primary2,fg=Primary2.fg} +\setbeamercolor*{title}{parent=normal~text} + +\setbeamercolor*{departmentlogo}{parent=normal text} +\setbeamercolor*{logo}{parent=normal text} + +\ExplSyntaxOn + +%innertheme adjustments +\defbeamertemplate*{title~ page}{TUDa-mecheng}[1][] +{ + \nointerlineskip + \vspace{\dimexpr.5\c_ptxcd_logoheight_dim-\ht\strutbox+ + \box_dp:N \ptxcd_beamer_headrule_box + \box_ht:N \ptxcd_beamer_headrule_box + } + \hbox_set:Nn \l__ptxcd_titlehead_box { + \parbox{\__ptxcd_beamer_linewidth:}{% + \begin{beamercolorbox}[ + wd=\linewidth, + ]{title} + \raggedright + \usebeamerfont{title} + \hbox_set:Nn \l__ptxcd_frametitle_box { + \parbox[c]{\dimexpr\linewidth-\box_wd:N \g__ptxcd_logo_box-1em\relax}{ + \raggedright{} + \inserttitle + \par + } + } + \dim_compare:nT {\box_ht:N \l__ptxcd_frametitle_box > \baselineskip} {\raisebox{\dimexpr-\height+.5\c_ptxcd_logoheight_dim}} + {\box_use:N \l__ptxcd_frametitle_box} + \hspace{\fill} + \raisebox{\dimexpr-.5\height+.5\ht\strutbox-.5\dp\strutbox\relax}{\box_use:N \g__ptxcd_logo_box}\hspace*{\dimexpr-\beamer@rightmargin+\g__ptxcd_beamer_logosep_dim} + \ifx\insertsubtitle\@empty + \else + \par\vspace{\c_ptxcd_largerule_dim} + \parbox[t]{\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box\relax}{ + \usebeamerfont{subtitle}\insertsubtitle + } + \fi + \bool_if:NT \g_ptxcd_authorontitle_bool { + \par + \parbox[t]{\dimexpr\linewidth-2ex\relax}{ + \ifx\insertauthor\@empty + \else + \usebeamercolor[fg]{author}\usebeamerfont{author}\insertauthor\par + \fi + \ifx\insertauthor\@empty + \else + \usebeamercolor[fg]{institute}\usebeamerfont{institute}\insertinstitute + \fi + } + } + \end{beamercolorbox} + } + } + \box_use:N \l__ptxcd_titlehead_box + \par\skip_vertical:n {\textheight-\box_ht:N\l__ptxcd_titlehead_box-\box_dp:N \l__ptxcd_titlehead_box+.5\c_ptxcd_smallrule_dim} + \begin{beamercolorbox}[ + rightskip=.07\linewidth,%place image left of arrow tip + ht=\c_ptxcd_smallrule_dim,%dp=1mm, + wd=\dimexpr\textwidth]{footline} + \setbeamertemplate{departmentlogo}[TUDa-mecheng][width=\dimexpr2\linewidth/11\relax] + \insertdepartmentlogo + \hfill + \bool_if:NF \g_ptxcd_authorontitle_bool { + \begingroup + \usebeamerfont{footline} + \bool_set_false:N \l_ptxcd_tmpa_bool + \clist_map_variable:nNn {department, institute, author,date} \l_tmpa_tl { + \tl_if_empty:cF {beamer@short\l_tmpa_tl} { + \bool_if:NTF \l_ptxcd_tmpa_bool + {\space|\space} + {\bool_set_true:N \l_ptxcd_tmpa_bool} + \use:c {insert\l_tmpa_tl} + } + } + \endgroup + \quad + } + \insertlogo + \par\nointerlineskip\skip_vertical:n {2\c_ptxcd_smallrule_dim} + \MechEngArrow*{\linewidth} + \end{beamercolorbox} +} + + +\defbeamertemplate{background}{TUDa-mecheng-title}{ + \dim_set:Nn \l__ptxcd_titlegraphic_ht_dim {\paperheight} + \dim_set:Nn \l__ptxcd_titlegraphic_wd_dim {\paperwidth} + \let\height\paperheight + \let\width\paperwidth + \inserttitlegraphic +} + + +\renewcommand*{\maketitle}{ + \begingroup + \setbeamertemplate{background}[TUDa-mecheng-title] + \ifbeamer@inframe\titlepage\else\frame[plain]{\titlepage}\fi + \endgroup +} + +\newcommand*{\insertdepartmentlogo}{\usebeamertemplate*{departmentlogo}} + +\defbeamertemplate*{departmentlogo}{TUDa-mecheng}[1][height=1.7\baselineskip]{ + \str_set:Nx \l_tmpa_str {\str_range:Nnn \beamer@thc@fg {1} {-4}} + \file_if_exist:nTF {\g_ptxcd_departmentlogo_tl-\l_tmpa_str.pdf} { + \includegraphics[#1]{\g_ptxcd_departmentlogo_tl-\l_tmpa_str} + } { + \includegraphics[#1]{\g_ptxcd_departmentlogo_tl} + } +} + +\defbeamertemplate*{footline}{TUDa-mecheng} +{ + \begin{beamercolorbox}[ + wd=\linewidth, + leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin, + ]{footline} + \MechEngArrow*{\linewidth} + \par\skip_vertical:n {.5\g__ptxcd_beamer_logosep_dim} + \makebox[\linewidth][s]{ + \insertdepartmentlogo + \hfill + \bool_set_false:N \l_ptxcd_tmpa_bool + \clist_map_variable:nNn {department, institute, author,title} \l_tmpa_tl { + \tl_if_empty:cF {beamer@short\l_tmpa_tl} { + \bool_if:NTF \l_ptxcd_tmpa_bool + {\space|\space} + {\bool_set_true:N \l_ptxcd_tmpa_bool} + \usebeamercolor[fg]{\l_tmpa_tl\space in\space head/foot}\usebeamerfont{\l_tmpa_tl\space in\space head/foot} + \use:c {insertshort\l_tmpa_tl} + } + }\quad + \tl_if_empty:cF {beamer@shortdate} { + \usebeamercolor{date~ in~ head/foot}\usebeamerfont{date~ in~ head/foot} + \insertshortdate\quad + } + \usebeamerfont{framenumber} + \makebox[.05\linewidth][l]{ + \quad\llap{\insertframenumber} + } + } + \skip_vertical:n {\g__ptxcd_beamer_logosep_dim} + \end{beamercolorbox} +} + +\defbeamertemplate{frametitle}{TUDa-mecheng.logo}{% + \nointerlineskip% + \begin{beamercolorbox}[ + sep=\g__ptxcd_beamer_logosep_dim, + wd=\__ptxcd_beamer_linewidth:, + rightskip=-\g__ptxcd_beamer_logosep_dim, + leftskip=\dimexpr-\g__ptxcd_beamer_logosep_dim\relax, + ]{frametitle} + \hbox_set:Nn \l__ptxcd_frametitle_box { + \parbox[t] + {\dimexpr\linewidth- \box_wd:N \g__ptxcd_logo_box-1em\relax\relax}{% + \usebeamerfont{frametitle}\strut\insertframetitle + \ifx\insertframesubtitle\@empty + \else + \par + \usebeamercolor[fg]{framesubtitle} + \usebeamerfont{framesubtitle} + \insertframesubtitle + \fi + }} + \leavevmode + \bool_if:NTF \g_ptxcd_centerframetitle_bool + {\raisebox{\dimexpr-.5\height+.5\depth}} + {\use:n} + {\box_use:N \l__ptxcd_frametitle_box} + \hfill% + \raisebox{\dimexpr-.5\height+.5\depth} + {\box_use:N \g__ptxcd_logo_box} + \end{beamercolorbox}% + \nointerlineskip + \begin{beamercolorbox}[ + sep=\g__ptxcd_beamer_logosep_dim, + wd=\__ptxcd_beamer_linewidth:, + rightskip=-\g__ptxcd_beamer_logosep_dim, + leftskip=\dimexpr-\g__ptxcd_beamer_logosep_dim\relax, + ht=\c_ptxcd_smallrule_dim. + dp=0 + ]{smallrule} + \end{beamercolorbox} +} + +\cs_set:Nn \__ptxcd_reset_framebgcolor: { + \setbeamercolor{normal~text}{fg=black,bg=} + \usebeamercolor[fg]{normal~text} + \setbeamercolor{footline}{use=Primary2,fg=Primary2.fg} + \setbeamercolor{footer~info}{fg=black!50} + \cs_gset_eq:cN {beamer@thcbg@normal~text} \__ptxcd_save_background_canvas: + \cs_undefine:N \__ptxcd_save_background_canvas: + \cs_if_exist:NT \__ptxcd_save_department_textaccentcolor: + {\cs_set_eq:cN {\string\color@textaccentcolor} \__ptxcd_save_department_textaccentcolor:} + \cs_undefine:N \__ptxcd_save_department_textaccentcolor: + \__ptxcd_setup_frametitle_color: +} + +\cs_set:Nn \__ptxcd_set_framebgcolor:n { + + \str_case:nnTF {#1} { + {Primary1} {\tl_set:Nn \l_tmpa_tl {Primary2}} + {Primary2} {\tl_set:Nn \l_tmpa_tl {Primary1}} + }{ + \exp_args:Nnx \setbeamercolor{frametitle}{use=\l_tmpa_tl,fg=\l_tmpa_tl.fg,bg=} + \exp_args:Nnx \setbeamercolor{normal~text}{use=\l_tmpa_tl,fg=\l_tmpa_tl.fg,bg=\l_tmpa_tl.bg} + \exp_args:Nnx \setbeamercolor{footer~info}{use=\l_tmpa_tl,fg=\l_tmpa_tl.fg} + \exp_args:Nnx \setbeamercolor{footline}{use=\l_tmpa_tl,fg=\l_tmpa_tl.fg} + \cs_set_eq:Nc \__ptxcd_save_department_textaccentcolor: {\string\color@textaccentcolor} + \colorlet{textaccentcolor}{TUDa-\l_tmpa_tl} + }{ + \cs_if_exist:cTF {\string\color@#1} + {\setbeamercolor{normal~text}{bg=#1}} + {\setbeamercolor{normal~text}{bg=TUDa-#1}} + } + \usebeamercolor[fg]{normal~text} +} + +\setbeamertemplate{headline}[TUDa.simple] + +%font adjustments +\setbeamerfont{subtitle}{size=\normalsize,series=\mdseries} + +\mode + +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty index c3c4cf80522..9f61b083824 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/beamerthemeTUDa.sty @@ -1,4 +1,4 @@ -%% This is file `beamerthemeTUDa.sty' version 2.11 (2020/06/12), +%% This is file `beamerthemeTUDa.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{beamerthemeTUDa} [\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt] @@ -39,16 +39,16 @@ \ExplSyntaxOn -\keys_define:nn {TUDa/beamer} { +\keys_define:nn {ptxcd/beamer} { accentcolor .code:n = \PassOptionsToPackage{accentcolor=#1}{tudacolors}, - colortitle .code:n = \PassOptionsToPackage{accentcolor=#1}{beamercolorthemeTUDa}, - colorbacktitle .code:n = \PassOptionsToPackage{accentcolor=#1}{beamercolorthemeTUDa}, - colorframetitle .code:n = \PassOptionsToPackage{accentcolor=#1}{beamercolorthemeTUDa}, - colorback .code:n = \PassOptionsToPackage{accentcolor=#1}{beamercolorthemeTUDa}, + colortitle .code:n = \PassOptionsToPackage{colortitle=#1}{beamercolorthemeTUDa}, + colorbacktitle .code:n = \PassOptionsToPackage{colorbacktitle=#1}{beamercolorthemeTUDa}, + colorframetitle .code:n = \PassOptionsToPackage{colorframetitle=#1}{beamerouterthemeTUDa}, + colorback .code:n = \PassOptionsToPackage{colorback=#1}{beamercolorthemeTUDa}, logo .code:n = \PassOptionsToPackage{logo=#1}{beamerouterthemeTUDa} } -\ProcessKeysOptions{TUDa/beamer} +\ProcessKeysOptions{ptxcd/beamer} \ExplSyntaxOff @@ -56,9 +56,8 @@ \usecolortheme{TUDa} \useoutertheme{TUDa} \useinnertheme{TUDa} -% \setbeamertemplate{navigation symbols}{} -%\setbeamersize{text margin left=1em,text margin right=1em} + \mode diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo index d91a49f15c9..96dcf95d8d8 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a0paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a0paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a0paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{125pt}{165pt}} - \cs_set:Nn \TUDa_subtitle_fontsize: {{42pt}{55pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{28pt}{35pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper} +\cs_set:Nn \ptxcd_setup_title_sizes: { + \cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}} + \cs_set:Nn \ptxcd_subtitle_fontsize: {{42pt}{55pt}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{28pt}{35pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {30pt}} - \dim_gset:Nn \g_TUDa_margin_dim {30mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {30pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {30mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo index d42ccca4c73..9671c338adf 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a1paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a1paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a1paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{86pt}{120pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{35pt}{42pt}} - \cs_set:Nn \TUDa_titlethanks_fontsize: {{22pt}{26pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper} +\cs_set:Nn \ptxcd_setup_title_sizes: { + \cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{35pt}{42pt}} + \cs_set:Nn \ptxcd_titlethanks_fontsize: {{22pt}{26pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {25pt}} - \dim_gset:Nn \g_TUDa_margin_dim {30mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {30mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo index 524c7be21d7..649804ee108 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a2paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a2paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a2paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a0paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{65pt}{82pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{22pt}{28pt}} - \cs_set:Nn \TUDa_titlethanks_fontsize: {{14pt}{20pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\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}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{22pt}{28pt}} + \cs_set:Nn \ptxcd_titlethanks_fontsize: {{14pt}{20pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {25pt}} - \dim_gset:Nn \g_TUDa_margin_dim {30mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {25pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {30mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo index 2ea4782a79e..7eb16621daf 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a3paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a3paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a3paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a3paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{47pt}{61pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{16pt}{20pt}} - \cs_set:Nn \TUDa_titlethanks_fontsize: {{12pt}{16pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\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}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{16pt}{20pt}} + \cs_set:Nn \ptxcd_titlethanks_fontsize: {{12pt}{16pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {17pt}} - \dim_gset:Nn \g_TUDa_margin_dim {15mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {17pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {15mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo index 351d8ec4fd3..00f4d4e1101 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a4paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a4paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a4paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a4paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{36pt}{47pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{12pt}{14pt}} - \cs_set:Nn \TUDa_titlethanks_fontsize: {{10pt}{11.5pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\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}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{12pt}{14pt}} + \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {14pt}} - \dim_gset:Nn \g_TUDa_margin_dim {15mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {14pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {15mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo index 800de12c624..608441280b8 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-a5paper.clo @@ -1,4 +1,4 @@ -%% This is file `tuda-a5paper.clo' version 2.11 (2020/06/12), +%% This is file `tuda-a5paper.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,16 +26,16 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci size adjustments for a5paper} -\cs_set:Nn \TUDa_setup_title_sizes: { - \cs_set:Nn \TUDa_title_fontsize: {{22pt}{28pt}} - \cs_set:Nn \TUDa_titleinfo_fontsize: {{10pt}{11.5pt}} - \cs_set:Nn \TUDa_titlethanks_fontsize: {{10pt}{11.5pt}} +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\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}} + \cs_set:Nn \ptxcd_titleinfo_fontsize: {{10pt}{11.5pt}} + \cs_set:Nn \ptxcd_titlethanks_fontsize: {{10pt}{11.5pt}} } -\cs_set:Nn \TUDa_setup_base_sizes: { - \tl_if_empty:NT \g_TUDa_fontsize_tl {\tl_gset:Nn \g_TUDa_fontsize_tl {10pt}} - \dim_gset:Nn \g_TUDa_margin_dim {12mm} +\cs_set:Nn \ptxcd_setup_base_sizes: { + \tl_if_empty:NT \g_ptxcd_fontsize_tl {\tl_gset:Nn \g_ptxcd_fontsize_tl {10pt}} + \dim_gset:Nn \g_ptxcd_margin_dim {12mm} } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty b/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty index d1d928d5ccd..cf6400471bc 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/tuda-pgfplots.sty @@ -1,4 +1,4 @@ -%% This is file `tuda-pgfplots.sty' version 2.11 (2020/06/12), +%% This is file `tuda-pgfplots.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} % 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/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls index 32a4d6b6332..f7ba16e9729 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudabeamer.cls @@ -1,4 +1,4 @@ -%% This is file `tudabeamer.cls' version 2.11 (2020/06/12), +%% This is file `tudabeamer.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{tudabeamer} [\filedate\space\fileversion\space] @@ -35,54 +35,72 @@ \RequirePackage{l3keys2e} \RequirePackage{URspecialopts} -\Define@specialopt@Module[TUDa/beamer] +\Define@specialopt@Module[ptxcd/beamer] \PassOptionsToClass{10pt}{beamer} -\Module@DefineSpecialPassKey[TUDa/beamer]{color} +\Module@DefineSpecialPassKey[ptxcd/beamer]{color} \ExplSyntaxOn -\keys_define:nn {TUDa/beamer} { +\str_new:N \g_ptxcd_department_str +\keys_define:nn {ptxcd/beamer} { accentcolor .code:n = \PassOptionsToPackage{accentcolor=#1}{tudacolors}, colorframetitle .code:n = \PassOptionsToPackage{\l_keys_key_tl=#1}{beamercolorthemeTUDa} \PassOptionsToPackage{\l_keys_key_tl=#1}{beamerouterthemeTUDa}, colorframetitle .default:n = true, logo .code:n = \PassOptionsToPackage{logo=#1}{beamerouterthemeTUDa}, - pdfa .bool_gset:N = \g_TUDa@pdfa_bool, + pdfa .bool_gset:N = \g_ptxcd_pdfa_bool, pdfa .initial:n = false, logofile .code:n = \PassOptionsToPackage{logofile=#1}{beamerouterthemeTUDa}, serif .code:n = \PassOptionsToPackage{serif=#1}{beamerfontthemeTUDa}, serif .default:n = true, sans-serif .code:n = \PassOptionsToPackage{sans-serif=#1}{beamerfontthemeTUDa}, sans-serif .default:n = true, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \keys_set:nn {ptxcd/beamer} { + colorframetitle=false, + centerframetitle, + headsepline=false + } + \str_gset:Nn \g_ptxcd_department_str {mecheng} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, } \clist_map_inline:nn {colortitle, colorbacktitle, colorback} { - \Module@DeclarePassOption[TUDa/beamer]{#1}{beamercolorthemeTUDa} + \Module@DeclarePassOption[ptxcd/beamer]{#1}{beamercolorthemeTUDa} +} + +\clist_map_inline:nn {centerframetitle, logo, headsepline} { + \Module@DeclarePassOption[ptxcd/beamer]{#1}{beamerouterthemeTUDa} } -\Module@DeclarePassOption[TUDa/beamer]{centerframetitle}{beamerouterthemeTUDa} -\Module@DeclarePassOption[TUDa/beamer]{authorontitle}{beamerinnerthemeTUDa} +\Module@DeclarePassOption[ptxcd/beamer]{authorontitle}{beamerinnerthemeTUDa} \ExplSyntaxOff -\Module@DeclarePassOption[TUDa/beamer]{logo}{beamerouterthemeTUDa} + \PassOptionsToPackage{pdfpagelabels=false,plainpages=false}{hyperref} \PassOptionsToClass{t}{beamer} -\Module@Process@SpecialOptions[TUDa/beamer] +\Module@Process@SpecialOptions[ptxcd/beamer] \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{beamer} } -\ProcessKeysOptions{TUDa/beamer} +\ProcessKeysOptions{ptxcd/beamer} \ProcessOptions* \ExplSyntaxOn -\bool_if:NT \g_TUDa@pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} +\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} -\bool_if:NT \g_TUDa@pdfa_bool { +\bool_if:NT \g_ptxcd_pdfa_bool { \RequirePackage{scrlfile} \PreventPackageFromLoading{hyperref} \def\hypersetup#1{} @@ -93,28 +111,18 @@ \LoadClass{beamer} \ExplSyntaxOn -\bool_if:NT \g_TUDa@pdfa_bool { +\bool_if:NT \g_ptxcd_pdfa_bool { \UnPreventPackageFromLoading{hyperref} \PassOptionsToPackage{a-2b}{pdfx} \RequirePackage{pdfx} } -\ExplSyntaxOff - \hypersetup{hidelinks, unicode} -% Load the TUD theme -\AtEndOfClass{% - \usetheme{TUDa}% - \@input{\jobname.len}% - \@starttoc{len}% - \let\accentfont\normalfont% -} - %\department command -\def\department{\@dblarg\TUDa@beamer@department} +\def\department{\@dblarg\ptxcd_beamer_department} -\long\def\TUDa@beamer@department[#1]#2{% +\long\def\ptxcd_beamer_department[#1]#2{% \def\beamer@temp{#2}% \ifx\beamer@temp\@empty \def\insertdepartment{} @@ -131,42 +139,39 @@ \beamer@insertshort{\beamer@shortdepartment}% }} %end of \department command -% - -\ExplSyntaxOn -\if_bool:N \g_TUDa@pdfa_bool -\iow_new:N \TUDa@xmpdata_stream -\iow_open:Nn \TUDa@xmpdata_stream {\jobname.xmpdata} -\tl_new:N \g_TUDa@xmp_title -\tl_new:N \g_TUDa@xmp_author +\if_bool:N \g_ptxcd_pdfa_bool +\iow_new:N \ptxcd_xmpdata_stream +\iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata} +\tl_new:N \g_ptxcd_xmp_title +\tl_new:N \g_ptxcd_xmp_author -\cs_new:Nn \TUDa_pass_TitleData: { +\cs_new:Nn \ptxcd_pass_TitleData: { \begingroup \def\newline{} \def\\{} \let\thanks\use_none:n \cs_set:Npn \and {\exp_not:n {\exp_not:N \sep}} - \bool_if:NTF \g_TUDa_pass_TitleData_bool { - \tl_gset:Nx \g_TUDa@xmp_title {\insertshorttitle} - \tl_gset:Nx \g_TUDa@xmp_author {\insertshortauthor} - \iow_now:Nx \TUDa@xmpdata_stream + \bool_if:NTF \g_ptxcd_pass_TitleData_bool { + \tl_gset:Nx \g_ptxcd_xmp_title {\insertshorttitle} + \tl_gset:Nx \g_ptxcd_xmp_author {\insertshortauthor} + \iow_now:Nx \ptxcd_xmpdata_stream { - \exp_not:N \Title{\tl_to_str:V \g_TUDa@xmp_title} + \exp_not:N \Title{\tl_to_str:V \g_ptxcd_xmp_title} ^^J - \exp_not:N \Author{\tl_to_str:V \g_TUDa@xmp_author} + \exp_not:N \Author{\tl_to_str:V \g_ptxcd_xmp_author} ^^J \exp_not:N \Creator{LaTeX~ using~ the~ TUDa-CI~ Bundle} } }{ \begingroup \use:c {pdfx@localcommands} - \prop_if_in:NnF \g_TUDa_MetaData_prop {Creator} {\prop_gput:Nnn \g_TUDa_MetaData_prop {Creator} {LaTeX~ using~ the~ TUDa-CI~ Bundle}} - \prop_map_function:NN \g_TUDa_MetaData_prop \TUDa_write_xmp_line:nn + \prop_if_in:NnF \g_ptxcd_MetaData_prop {Creator} {\prop_gput:Nnn \g_ptxcd_MetaData_prop {Creator} {LaTeX~ using~ the~ TUDa-CI~ Bundle}} + \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn \endgroup } \endgroup } -\cs_new:Nn \TUDa_write_xmp_line:nn { +\cs_new:Nn \ptxcd_write_xmp_line:nn { %Fallback test for older kernels \cs_if_exist:NTF \str_uppercase:f { \tl_set:Nx \l_tmpa_tl { @@ -178,32 +183,42 @@ \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}} } \cs_if_exist:cTF {\l_tmpa_tl}{ - \iow_now:Nx \TUDa@xmpdata_stream { + \iow_now:Nx \ptxcd_xmpdata_stream { \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}} } }{ - \msg_error:nnn {TUDapub} {unknown-metadata} {#1} + \msg_error:nnn{tudapub} {unknown-metadata} {#1} } } -\bool_new:N \g_TUDa_pass_TitleData_bool -\bool_gset_true:N \g_TUDa_pass_TitleData_bool -\prop_new:N \g_TUDa_MetaData_prop +\bool_new:N \g_ptxcd_pass_TitleData_bool +\bool_gset_true:N \g_ptxcd_pass_TitleData_bool +\prop_new:N \g_ptxcd_MetaData_prop \newcommand*{\Metadata}[1]{ - \bool_gset_false:N \g_TUDa_pass_TitleData_bool - \prop_gset_from_keyval:Nn \g_TUDa_MetaData_prop {#1} + \bool_gset_false:N \g_ptxcd_pass_TitleData_bool + \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1} } -\msg_new:nnnn {TUDapub} {unknown-metadata} { +\msg_new:nnnn{tudapub} {unknown-metadata} { You~ used~ the~ #1~ metadata~ entry.\\ I~ don't~ know~ how~ to~ handle~ that.\\ It~ will~ be~ ignored. } {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.} \else: -\msg_new:nnn {tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} -\msg_info:nn {tudapub} {no-pdfa} +\msg_new:nnn{tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} +\msg_info:nn{tudapub} {no-pdfa} \fi: + +\str_if_empty:NF \g_ptxcd_department_str {} + +% Load the TUDa theme +\usetheme{TUDa}% +\@input{\jobname.len}% +\@starttoc{len}% +\let\accentfont\normalfont% +\file_if_exist:nT {beamerthemeTUDa-\g_ptxcd_department_str.sty} {\usetheme{TUDa-\g_ptxcd_department_str}} + \ExplSyntaxOff \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def index 3fa655b7b17..b54b0455c4a 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.def @@ -1,4 +1,4 @@ -%% This is file `tudacolors.def' version 2.11 (2020/06/12), +%% This is file `tudacolors.def' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \ProvidesFile{tudacolors.def} [\filedate\space\fileversion\space Color definitions for tuda-ci] diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty index 2b604e9d568..87094ee3c1c 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudacolors.sty @@ -1,4 +1,4 @@ -%% This is file `tudacolors.sty' version 2.11 (2020/06/12), +%% This is file `tudacolors.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,84 +26,107 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle} \RequirePackage{l3keys2e} -\keys_define:nn {TUDa/colors} { - accent .tl_gset:N = \g_TUDa_color_accent_tl, +\str_if_exist:NF \g_ptxcd_department_str { + \str_new:N \g_ptxcd_department_str + \str_gset:Nn \g_ptxcd_department_str {default} +} + +\keys_define:nn {ptxcd/colors} { + accent .tl_gset:N = \g_ptxcd_color_accent_tl, accent .initial:n = 0b, - textaccent .tl_gset:N = \g_TUDa_color_textaccent_tl, - textaccent .initial:n = \g_TUDa_color_accent_tl, - identbar .tl_gset:N = \g_TUDa_color_identbar_tl, - identbar .initial:n = \g_TUDa_color_accent_tl, + textaccent .tl_gset:N = \g_ptxcd_color_textaccent_tl, + textaccent .initial:n = \g_ptxcd_color_accent_tl, + identbar .tl_gset:N = \g_ptxcd_color_identbar_tl, + identbar .initial:n = \g_ptxcd_color_accent_tl, accentcolor .meta:n = {accent =#1}, textaccentcolor .meta:n = {textaccent = #1}, identbarcolor .meta:n = {identbar = #1}, color .meta:n = {accent=#1, textaccent=#1, identbar=#1}, text .choice:, - text/preferblack .code:n = \bool_gset_false:N \g_TUDa_color_whitetext_bool, - text/preferwhite .code:n = \bool_gset_true:N \g_TUDa_color_whitetext_bool, + text/preferblack .code:n = \bool_gset_false:N \g_ptxcd_color_whitetext_bool, + text/preferwhite .code:n = \bool_gset_true:N \g_ptxcd_color_whitetext_bool, text .initial:n = {preferwhite}, text/black .meta:n = {text=preferblack}, text/white .meta:n = {text=preferwhite}, cmyk .code:n = \PassOptionsToPackage{cmyk}{xcolor}, RGB .code:n = \PassOptionsToPackage{RGB}{xcolor}, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = \str_gset:Nn \g_ptxcd_department_str {mecheng}\keys_set:nn {ptxcd/colors}{accent=TUDa-2d,identbar=TUDa-6b}, + department .initial:V = \g_ptxcd_department_str, + mecheng .meta:n = {department=mecheng}, } -\ProcessKeysOptions{TUDa/colors} +\ProcessKeysOptions{ptxcd/colors} \RequirePackage{xcolor} \input{tudacolors.def} +\str_if_eq:VnT \g_ptxcd_department_str {mecheng} { + \colorlet{TUDa-Primary1}{TUDa-6b} + \colorlet{TUDa-Primary2}{TUDa-2d} + \colorlet{TUDa-Secondary1}{TUDa-9a} + \colorlet{TUDa-Secondary2}{TUDa-8a} + \colorlet{TUDa-Secondary3}{TUDa-6a} + \colorlet{TUDa-Secondary4}{TUDa-3a} + \colorlet{TUDa-Secondary5}{TUDa-4a} + \colorlet{TUDa-Secondary6}{TUDa-5a} + \colorlet{TUDa-Arrow}{TUDa-Primary2} +} + \clist_map_inline:nn {accent, textaccent, identbar} { - \cs_if_exist:cF {\string\color@\tl_use:c {g_TUDa_color_#1_tl}} { - \cs_if_exist:cT {\string\color@TUDa-\tl_use:c {g_TUDa_color_#1_tl}} { - \tl_gset:cx {g_TUDa_color_#1_tl} {TUDa-\tl_use:c {g_TUDa_color_#1_tl}} + \cs_if_exist:cF {\string\color@\tl_use:c {g_ptxcd_color_#1_tl}} { + \cs_if_exist:cT {\string\color@TUDa-\tl_use:c {g_ptxcd_color_#1_tl}} { + \tl_gset:cx {g_ptxcd_color_#1_tl} {TUDa-\tl_use:c {g_ptxcd_color_#1_tl}} }} } -\clist_const:Nn \c_TUDa_color_forbid_textaccent_clist {TUDa-0a,TUDa-5a,TUDa-6a,TUDa-6b,TUDa-7a} -\clist_const:Nn \c_TUDa_color_allow_blacktext_clist {TUDa-0a,TUDa-0b,TUDa-0c,TUDa-1a,TUDa-2a,TUDa-3a,TUDa-4a,TUDa-4b,TUDa-4c,TUDa-5a,TUDa-5b,TUDa-5c,TUDa-6a,TUDa-6b,TUDa-6c,TUDa-7a,TUDa-7b,TUDa-7c,TUDa-8a,TUDa-8b,TUDa-8c,TUDa-9a,TUDa-9b,TUDa-10a} -\clist_const:Nn \c_TUDa_color_allow_whitetext_clist {TUDa-0b,TUDa-0c,TUDa-0d,black,TUDa-1a,TUDa-1b,TUDa-1c,TUDa-1d,TUDa-2a,TUDa-2b,TUDa-2c,TUDa-2d,TUDa-3a,TUDa-3b,TUDa-3c,TUDa-3d,TUDa-4b,TUDa-4c,TUDa-4d,TUDa-5b,TUDa-5c,TUDa-5d,TUDa-6c,TUDa-6d,TUDa-7b,TUDa-7c,TUDa-7d,TUDa-8a,TUDa-8b,TUDa-8c,TUDa-8d,TUDa-9a,TUDa-9b,TUDa-9c,TUDa-9d,TUDa-10a,TUDa-10b,TUDa-10c,TUDa-10d,TUDa-11a,TUDa-11b,TUDa-11c,TUDa-11d} +\clist_const:Nn \c_ptxcd_color_forbid_textaccent_clist {TUDa-0a,TUDa-5a,TUDa-6a,TUDa-6b,TUDa-7a} +\clist_const:Nn \c_ptxcd_color_allow_blacktext_clist {TUDa-0a,TUDa-0b,TUDa-0c,TUDa-1a,TUDa-2a,TUDa-3a,TUDa-4a,TUDa-4b,TUDa-4c,TUDa-5a,TUDa-5b,TUDa-5c,TUDa-6a,TUDa-6b,TUDa-6c,TUDa-7a,TUDa-7b,TUDa-7c,TUDa-8a,TUDa-8b,TUDa-8c,TUDa-9a,TUDa-9b,TUDa-10a} +\clist_const:Nn \c_ptxcd_color_allow_whitetext_clist {TUDa-0b,TUDa-0c,TUDa-0d,black,TUDa-1a,TUDa-1b,TUDa-1c,TUDa-1d,TUDa-2a,TUDa-2b,TUDa-2c,TUDa-2d,TUDa-3a,TUDa-3b,TUDa-3c,TUDa-3d,TUDa-4b,TUDa-4c,TUDa-4d,TUDa-5b,TUDa-5c,TUDa-5d,TUDa-6c,TUDa-6d,TUDa-7b,TUDa-7c,TUDa-7d,TUDa-8a,TUDa-8b,TUDa-8c,TUDa-8d,TUDa-9a,TUDa-9b,TUDa-9c,TUDa-9d,TUDa-10a,TUDa-10b,TUDa-10c,TUDa-10d,TUDa-11a,TUDa-11b,TUDa-11c,TUDa-11d} %messages -\msg_new:nnnn {tudacolors} {undefined-color} {The~ color~ #1~ you~ selected~ is~ not~ defined.} {See~ the~ tuda-ci~ manual~ for~ a~ list~ of~ available~ colors.} -\msg_new:nnnn {tudacolors} {unselectable-color} {The~ color~ you~ selected~ (#1)~ must~ not~ be~ choosen~ for~ #2.} {See~ the~ Corporate~ Design~ Guidelines~ for~ further~ information.} +\msg_new:nnnn{tudacolors} {undefined-color} {The~ color~ #1~ you~ selected~ is~ not~ defined.} {See~ the~ tuda-ci~ manual~ for~ a~ list~ of~ available~ colors.} +\msg_new:nnnn{tudacolors} {unselectable-color} {The~ color~ you~ selected~ (#1)~ must~ not~ be~ choosen~ for~ #2.} {See~ the~ Corporate~ Design~ Guidelines~ for~ further~ information.} %select accentcolor -\exp_args:Nnx \colorlet{accentcolor}{\g_TUDa_color_accent_tl} -\bool_if:NTF \g_TUDa_color_whitetext_bool { - \clist_if_in:NVTF \c_TUDa_color_allow_whitetext_clist \g_TUDa_color_accent_tl { +\exp_args:Nnx \colorlet{accentcolor}{\g_ptxcd_color_accent_tl} +\bool_if:NTF \g_ptxcd_color_whitetext_bool { + \clist_if_in:NVTF \c_ptxcd_color_allow_whitetext_clist \g_ptxcd_color_accent_tl { \colorlet{textonaccentcolor}{white} } { \colorlet{textonaccentcolor}{black} - \tl_if_in:NnT \g_TUDa_color_accent_tl {TUDa} {\msg_warning:nnxx {tudacolors} {unselectable-color} {white} {textonaccentcolor}} + \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {\msg_warning:nnxx{tudacolors} {unselectable-color} {white} {textonaccentcolor}} } } { - \clist_if_in:NVTF \c_TUDa_color_allow_blacktext_clist \g_TUDa_color_accent_tl { + \clist_if_in:NVTF \c_ptxcd_color_allow_blacktext_clist \g_ptxcd_color_accent_tl { \colorlet{textonaccentcolor}{black} } { \colorlet{textonaccentcolor}{white} - \tl_if_in:NnT \g_TUDa_color_accent_tl {TUDa} {msg_warning:nnxx {tudacolors} {unselectable-color} {black} {textonaccentcolor}} + \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {msg_warning:nnxx{tudacolors} {unselectable-color} {black} {textonaccentcolor}} } } -\colorlet{identbarcolor}{\g_TUDa_color_identbar_tl} +\colorlet{identbarcolor}{\g_ptxcd_color_identbar_tl} -\exp_args:NNx \clist_if_in:NnTF \c_TUDa_color_forbid_textaccent_clist {\g_TUDa_color_textaccent_tl} { - \msg_warning:nnxx {tudacolors} {unselectable-color} {\g_TUDa_color_textaccent_tl} {textaccentcolor} +\exp_args:NNx \clist_if_in:NnTF \c_ptxcd_color_forbid_textaccent_clist {\g_ptxcd_color_textaccent_tl} { + \msg_warning:nnxx{tudacolors} {unselectable-color} {\g_ptxcd_color_textaccent_tl} {textaccentcolor} \colorlet{textaccentcolor}{black} } { - \colorlet{textaccentcolor}{\g_TUDa_color_textaccent_tl} + \colorlet{textaccentcolor}{\g_ptxcd_color_textaccent_tl} } +\colorlet{InfoBox}{white} \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls index 6c27255e47c..7f7be57b7f0 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaexercise.cls @@ -1,4 +1,4 @@ -%% This is file `tudaexercise.cls' version 2.11 (2020/06/12), +%% This is file `tudaexercise.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,114 +26,39 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{tudaexercise} - {\filedate}{\fileversion}{Exercise sheets and exams using TU Darmstadt's Coporate Desing (TUDa-CI)} + {\filedate}{\fileversion}{Exercise sheets and exams using TU Darmstadt's Corporate Desing (TUDa-CI)} \RequirePackage{l3keys2e} -\tl_new:N \g_TUDa_thesis_options_tl +\str_const:Nn \c__ptxcd_base_str {exercise} +\prop_new:N \g_ptxcd_clsopts_prop +\prop_new:N \g_ptxcd_unknown_clsopts_prop +\prop_gput:Nnn \g_ptxcd_clsopts_prop {captions} {nooneline} +\prop_gput:Nnn \g_ptxcd_clsopts_prop {parskip} {half-} -\prop_new:N \g_TUDa_clsopts_prop -\prop_new:N \g_TUDa_unknown_clsopts_prop -\prop_gput:Nnn \g_TUDa_clsopts_prop {captions} {nooneline} -\prop_gput:Nnn \g_TUDa_clsopts_prop {parskip} {half-} +\int_new:N \g_ptxcd_ruledheaders_int +\int_new:N \g_ptxcd_paper_int -\int_new:N \g_TUDa_ruledheaders_int -\int_new:N \g_TUDa_paper_int +\bool_new:N \g_ptxcd_geometry_bool +\bool_new:N \g_ptxcd_custommargins_bool +\bool_new:N \l_ptxcd_ex_solution_bool + +\bool_new:N \g_ptxcd_smalltitle_bool +\str_new:N \g_ptxcd_department_str %Message Declaration for option processing -\msg_new:nnn {TUDaExercise} {titlepage-option-disabled} { +\msg_new:nnn{tudaexercise} {titlepage-option-disabled} { You~set~the~titlepage~option~to~#1.\\ This option is not supported by tudaexercise.cls.\\ The~KOMA-Script~option~titlepage~is~forced~to~"false". } -\bool_new:N \g_TUDa_geometry_bool -\bool_new:N \g_TUDa_custommargins_bool -\bool_new:N \l_TUDa_ex_solution_bool - -\RequirePackage{environ} - -\def\solution{\TUDa_ex_solutionheader:} -\def\endsolution{} - -\cs_new:Nn \TUDa_setup_solution: { - \bool_if:NTF \l_TUDa_ex_solution_bool { - \def\solution{\TUDa_ex_solutionheader:} - \def\endsolution{} - }{ - \RenewEnviron{solution}{ - \if_false: - \BODY - \fi: - } - } -} - - -\bool_new:N \l_TUDa_ex_subtask_fallback_bool -\keys_define:nn {TUDa/subtask} { - credit .tl_set:N = \l_TUDa_ex_credit_tl, - credit .initial:n =, - points .int_set:N = \l_TUDa_ex_points_int, - points .initial:n = 0, - title .tl_set:N = \l_TUDa_ex_title_tl, - title .initial:n =, - unknown .code:n = \bool_set_true:N \l_TUDa_ex_subtask_fallback_bool \tl_clear:N \l_TUDa_ex_credit_tl \int_zero:N \l_TUDa_ex_points_int, -} - -\keys_define:nn {TUDa/exercise} { - solution .code:n = { - \bool_set_eq:Nc \l_TUDa_ex_solution_bool {c_#1_bool} - \TUDa_setup_solution: - }, - solution .initial:n = false, - solution .default:n = true, - compat .bool_gset:N = \g_TUDa_ex_compatibility_bool, - compatilibity .meta:n = {compat=#1}, - compatibility .default:n = true, - compat .initial:n = false, - credit .tl_set:N = \l_TUDa_ex_credit_tl, - credit .initial:n =, - points .int_set:N = \l_TUDa_ex_points_int, - points .initial:n = 0, -} - -\keys_define:nn {TUDa/exercise/headline} { - headline .code:n = { - \if@twoside - \keys_set:nn {TUDa/exercise/headline} {odd=#1,even=#1} - \else - \keys_set:nn {TUDa/exercise/headline} {oneside=#1} - \fi - }, -} - -\clist_map_inline:nn {odd, even, oneside} { - \tl_new:c {g_TUDa_ex_headline_#1_tl} - \keys_define:nn {TUDa/exercise/headline} { - #1 .choice:, - #1 / title-name-id .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} { - \g_TUDa_shorttitle_tl\par - \StudentName\StudentID}, - #1 / title-name .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} { - \g_TUDa_shorttitle_tl\par - \smallskip - \StudentName}, - #1 / title .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} {\g_TUDa_shorttitle_tl}, - #1 / name-id .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} {\StudentName\StudentID}, - #1 / name .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} {\StudentName}, - #1 / unknown .code:n = \tl_gset:cn {g_TUDa_ex_headline_#1_tl} {##1} - } -} - -\bool_new:N \g_TUDa_smalltitle_bool - -\keys_define:nn {TUDa/pub} { +\keys_define:nn {ptxcd/exercise} { color .code:n = {\PassOptionsToPackage{color=#1}{tudacolors}}, accentcolor .code:n = {\PassOptionsToPackage{accentcolor=#1}{tudacolors}}, textaccentcolor .code:n = {\PassOptionsToPackage{textaccentcolor=#1}{tudacolors}}, @@ -142,58 +67,77 @@ color .initial:n = 0b, custommargins .choice:, custommargins / true .code:n ={ - \bool_gset_true:N \g_TUDa_custommargins_bool - \bool_gset_false:N \g_TUDa_geometry_bool + \bool_gset_true:N \g_ptxcd_custommargins_bool + \bool_gset_false:N \g_ptxcd_geometry_bool }, custommargins / false .code:n ={ - \bool_gset_false:N \g_TUDa_custommargins_bool - \bool_gset_true:N \g_TUDa_geometry_bool + \bool_gset_false:N \g_ptxcd_custommargins_bool + \bool_gset_true:N \g_ptxcd_geometry_bool }, custommargins / geometry .code:n = { - \bool_gset_true:N \g_TUDa_custommargins_bool - \bool_gset_true:N \g_TUDa_geometry_bool + \bool_gset_true:N \g_ptxcd_custommargins_bool + \bool_gset_true:N \g_ptxcd_geometry_bool }, custommargins .initial:n = false, custommargins .default:n = true, - fontsize .code:n = \prop_gput:Nnn \g_TUDa_clsopts_prop {fontsize} {#1}, + fontsize .code:n = \prop_gput:Nnn \g_ptxcd_clsopts_prop {fontsize} {#1}, fontsize .initial:n = {10pt}, - unknown .code:n = {\prop_gput:NVn \g_TUDa_unknown_clsopts_prop \l_keys_key_tl {#1}}, BCOR .code:n = \PassOptionsToPackage{bindingoffset=#1}{geometry}, bindingoffset .meta:n = {BCOR=#1}, - captions .code:n = {\prop_gput:Nnx \g_TUDa_clsopts_prop {captions} { - \use:n {\prop_item:Nn \g_TUDa_clsopts_prop {captions}}, #1} + captions .code:n = {\prop_gput:Nnx \g_ptxcd_clsopts_prop {captions} { + \use:n {\prop_item:Nn \g_ptxcd_clsopts_prop {captions}}, #1} }, - titlepage .code:n = {\msg_warning:nnn {TUDaPub} {titlepage-option-disabled} {#1}}, + titlepage .code:n = {\msg_warning:nnn {tudapub} {titlepage-option-disabled} {#1}}, paper .choices:nn = {a0,a1,a2,a3,a4,a5,a6}{ - \int_gset_eq:NN \g_TUDa_paper_int \l_keys_choice_int + \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int \PassOptionsToPackage{paper=\l_keys_choice_tl}{tudarules} \PassOptionsToPackage{paper=\l_keys_choice_tl}{typearea} \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry} }, paper .initial:n = a4, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, - solution .meta:nn = {TUDa/exercise}{solution=#1}, - compat .meta:nn = {TUDa/exercise}{compat=#1}, - compatibility .meta:nn = {TUDa/exercise}{compat=#1}, + compat .bool_gset:N = \g_ptxcd_ex_compatibility_bool, + compat .initial:n = false, + compatilibity .meta:n = {compat=#1}, compatibility .default:n = true, - headontitle .bool_gset:N = \g_TUDa_headontitle_bool, + credit .tl_set:N = \l_ptxcd_ex_credit_tl, + credit .initial:n =, + headontitle .bool_gset:N = \g_ptxcd_headontitle_bool, headontitle .initial:n = false, headontitle .default:n =true, - colorback .bool_gset:N = \g_TUDa_colorback_bool, + colorback .bool_gset:N = \g_ptxcd_colorback_bool, colorback .default:n = true, colorback .initial:n = true, title .choice:, title / default .meta:n = {title=large}, - title / large .code:n = \bool_gset_false:N \g_TUDa_smalltitle_bool, - title / small .code:n = \bool_gset_true:N \g_TUDa_smalltitle_bool, + title / large .code:n = \bool_gset_false:N \g_ptxcd_smalltitle_bool, + title / small .code:n = \bool_gset_true:N \g_ptxcd_smalltitle_bool, title .initial:n = default, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/exercise}{colorback=false,departmentlogofile=tuda_maschinenbau_logo,color=Primary1} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, + match-task-subtask-syntax .bool_gset:N = \g_ptxcd_match_task_subtask_bool, + match-task-subtask-syntax .initial:n = false, + match-task-subtask-syntax .default:n = true, + solution .code:n = { + \bool_set_eq:Nc \l_ptxcd_ex_solution_bool {c_#1_bool} + \ptxcd_setup_solution: + }, + solution .default:n = true, + unknown .code:n = {\prop_gput:NVn \g_ptxcd_unknown_clsopts_prop \l_keys_key_tl {#1}}, } +\ProcessKeysOptions{ptxcd/exercise} -\ProcessKeysOptions{TUDa/pub} - -\prop_map_inline:Nn \g_TUDa_clsopts_prop { +\prop_map_inline:Nn \g_ptxcd_clsopts_prop { \tl_if_empty:nTF {#2} {\PassOptionsToClass {#1} {scrartcl}} { @@ -201,9 +145,76 @@ } } +\RequirePackage{environ} + +\def\solution{\ptxcd_ex_solutionheader:} +\def\endsolution{} + +\cs_new:Nn \ptxcd_setup_solution: { + \bool_if:NTF \l_ptxcd_ex_solution_bool { + \def\solution{\ptxcd_ex_solutionheader:} + \def\endsolution{} + }{ + \RenewEnviron{solution}{ + \if_false: + \BODY + \fi: + } + } +} + + +\bool_new:N \l_ptxcd_ex_subtask_fallback_bool + +\keys_define:nn {ptxcd/task}{ + points .int_set:N = \l_ptxcd_ex_points_int, + points .initial:n = 0, + credit .tl_set:N = \l_ptxcd_ex_credit_tl, + credit .initial:n =, + solution .meta:nn ={ptxcd/exercise}{solution=#1}, +} + +\keys_define:nn {ptxcd/subtask} { + credit .tl_set:N = \l_ptxcd_ex_credit_tl, + credit .initial:n =, + points .int_set:N = \l_ptxcd_ex_points_int, + points .initial:n = 0, + title .tl_set:N = \l_ptxcd_ex_title_tl, + title .initial:n =, + unknown .code:n = \bool_set_true:N \l_ptxcd_ex_subtask_fallback_bool \tl_clear:N \l_ptxcd_ex_credit_tl \int_zero:N \l_ptxcd_ex_points_int, +} + +\keys_define:nn {ptxcd/exercise/headline} { + headline .code:n = { + \if@twoside + \keys_set:nn {ptxcd/exercise/headline} {odd=#1,even=#1} + \else + \keys_set:nn {ptxcd/exercise/headline} {oneside=#1} + \fi + }, +} + +\clist_map_inline:nn {odd, even, oneside} { + \tl_new:c {g_ptxcd_ex_headline_#1_tl} + \keys_define:nn {ptxcd/exercise/headline} { + #1 .choice:, + #1 / title-name-id .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} { + \g_ptxcd_shorttitle_tl\par + \StudentName\StudentID}, + #1 / title-name .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} { + \g_ptxcd_shorttitle_tl\par + \smallskip + \StudentName}, + #1 / title .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} {\g_ptxcd_shorttitle_tl}, + #1 / name-id .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} {\StudentName\StudentID}, + #1 / name .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} {\StudentName}, + #1 / unknown .code:n = \tl_gset:cn {g_ptxcd_ex_headline_#1_tl} {##1} + } +} + %Load tudasize clo file if available -\file_if_exist:nT {tudasize\prop_item:Nn \g_TUDa_clsopts_prop {fontsize}.clo} +\file_if_exist:nT {tudasize\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}.clo} {\providecommand*{\@fontsizefilebase}{tudasize}} \LoadClass{scrartcl} @@ -214,7 +225,7 @@ \RequirePackage[draft=false]{scrlayer-scrpage} \KOMAoptions {twoside = false} -\prop_map_inline:Nn \g_TUDa_unknown_clsopts_prop { +\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop { \cs_if_exist:cT {KV@KOMA.scrartcl.cls@#1} { \tl_if_empty:nTF {#2} {\KOMAoptions{#1}} @@ -225,7 +236,7 @@ \renewcommand*\sectionlinesformat[4]{% \parbox{\linewidth}{ - \rule[5\g_TUDa_titlerule_dim]{\linewidth}{\g_TUDa_titlerule_dim}\par\nointerlineskip + \rule[5\g_ptxcd_titlerule_dim]{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip \@hangfrom{% \hskip #2#3}{ \tl_if_eq:nnT {#1} {task} { @@ -234,70 +245,70 @@ } #4 \tl_if_in:nnT {#1} {task} { - \tl_if_empty:NTF \l_TUDa_ex_credit_tl - {\pointformat{\l_TUDa_ex_points_int}} - {\creditformat{\l_TUDa_ex_credit_tl}} + \tl_if_empty:NTF \l_ptxcd_ex_credit_tl + {\pointformat{\l_ptxcd_ex_points_int}} + {\creditformat{\l_ptxcd_ex_credit_tl}} } \rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par}\nointerlineskip - \skip_vertical:n {\TUDa_titlerule_sep: -\dp\strutbox} - \smash{\rule{\linewidth}{\g_TUDa_titlerule_dim}} + \skip_vertical:n {\ptxcd_titlerule_sep: -\dp\strutbox} + \smash{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} }} \usepackage{tudafonts} -\dim_new:N \g_TUDa_innerMargin_dim -\dim_new:N \g_TUDa_outerMargin_dim -\dim_new:N \g_TUDa_bottomMargin_dim -\dim_new:N \g_TUDa_topMargin_dim +\dim_new:N \g_ptxcd_innerMargin_dim +\dim_new:N \g_ptxcd_outerMargin_dim +\dim_new:N \g_ptxcd_bottomMargin_dim +\dim_new:N \g_ptxcd_topMargin_dim %a3,a4 - \int_compare:nTF {4<=\g_TUDa_paper_int<=5} + \int_compare:nTF {4<=\g_ptxcd_paper_int<=5} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {20mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {15mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {20mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {15mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim }{ %a0, a1, a2 - \int_compare:nT {1<=\g_TUDa_paper_int<=3} + \int_compare:nT {1<=\g_ptxcd_paper_int<=3} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {35mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {30mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {35mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {30mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } %a5 - \int_compare:nT {\g_TUDa_paper_int<=6} + \int_compare:nT {\g_ptxcd_paper_int<=6} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {16mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {12mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {16mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {12mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } %a6 - \int_compare:nT {\g_TUDa_paper_int<=7} + \int_compare:nT {\g_ptxcd_paper_int<=7} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {15mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {10mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {15mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {10mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } } -\dim_new:N \g_TUDa_columnSep_dim -\dim_gset:Nn \g_TUDa_columnSep_dim {10pt} +\dim_new:N \g_ptxcd_columnSep_dim +\dim_gset:Nn \g_ptxcd_columnSep_dim {10pt} -\dim_new:N \g_TUDa_headheight_dim -\dim_new:N \g_TUDa_headwidth_dim +\dim_new:N \g_ptxcd_headheight_dim +\dim_new:N \g_ptxcd_headwidth_dim -\dim_gset:Nn \g_TUDa_headheight_dim {\c_TUDa_largerule_dim +\c_TUDa_rulesep_dim +\c_TUDa_smallrule_dim} +\dim_gset:Nn \g_ptxcd_headheight_dim {\c_ptxcd_largerule_dim +\c_ptxcd_rulesep_dim +\c_ptxcd_smallrule_dim} %%%%%Anfang Randeinstellungen Geometry -\bool_if:NTF \g_TUDa_geometry_bool { - \RequirePackage[top=\g_TUDa_topMargin_dim, inner=\g_TUDa_innerMargin_dim, outer=\dim_eval:n {\g_TUDa_outerMargin_dim}, bottom=\g_TUDa_bottomMargin_dim, columnsep= \g_TUDa_columnSep_dim, includehead, includefoot, headheight=\g_TUDa_headheight_dim +\bool_if:NTF \g_ptxcd_geometry_bool { + \RequirePackage[top=\g_ptxcd_topMargin_dim, inner=\g_ptxcd_innerMargin_dim, outer=\dim_eval:n {\g_ptxcd_outerMargin_dim}, bottom=\g_ptxcd_bottomMargin_dim, columnsep= \g_ptxcd_columnSep_dim, includehead, includefoot, headheight=\g_ptxcd_headheight_dim ]{geometry} }{ \KOMAoptions{headinclude, footinclude, headwidth=text,footwidth=text} @@ -307,78 +318,70 @@ %Ende Randeinstellungen klassisch \newcommand*{\institution}[1]{ - \def\TUDa@institution{#1} + \def\ptxcd_institution{#1} } -\gdef\TUDa@datename{Datum} -\gdef\TUDa@dateseparator{:~} +\gdef\ptxcd_datename{Datum} +\gdef\ptxcd_dateseparator{:~} \setkomafont{disposition}{\sffamily\bfseries} - - -\dim_new:N \g_TUDa_titlerule_dim -\dim_gset:Nn \g_TUDa_titlerule_dim {.5\c_TUDa_smallrule_dim} - -\cs_new:Nn \TUDa_titlerule_sep: {\the\dp\strutbox} +\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox} \RequirePackage{tudacolors} \RequirePackage{environ} -%TODO: mode -> light head. - \setkomafont{pageheadfoot}{\sffamily\small} \setkomafont{pagenumber}{} \addtokomafont{captionlabel}{\sffamily} \addtokomafont{caption}{\sffamily} -\box_new:N \g_TUDa_ex_headline_odd_box -\box_new:N \g_TUDa_ex_headline_even_box -\box_new:N \g_TUDa_ex_headline_oneside_box +\box_new:N \g_ptxcd_ex_headline_odd_box +\box_new:N \g_ptxcd_ex_headline_even_box +\box_new:N \g_ptxcd_ex_headline_oneside_box -\cs_new:Nn \TUDa_preamble_ConfigureHeadline:n { - \tl_if_empty:nF {#1} {\keys_set:nn {TUDa/exercise/headline} {#1}} +\cs_new:Nn \ptxcd_preamble_ConfigureHeadline:n { + \tl_if_empty:nF {#1} {\keys_set:nn {ptxcd/exercise/headline} {#1}} } -\cs_new:Nn \TUDa_ConfigureHeadline:n { - \TUDa_preamble_ConfigureHeadline:n {#1} - \TUDa_update_headline_boxes: - \TUDa_ex_adjust_headheight: +\cs_new:Nn \ptxcd_ConfigureHeadline:n { + \ptxcd_preamble_ConfigureHeadline:n {#1} + \ptxcd_update_headline_boxes: + \ptxcd_ex_adjust_headheight: } -\let\ConfigureHeadline\TUDa_preamble_ConfigureHeadline:n - - +\let\ConfigureHeadline\ptxcd_preamble_ConfigureHeadline:n -\bool_if:NT \g_TUDa_ex_compatibility_bool { -\cs_new:Npn \TUDa_ex_env_to_tl_aux:w #1 \q_stop { \tl_gset:Nn \g_TUDa_ex_headline_oneside_tl {#1} } -\NewEnviron{examheader}{ - \tl_gset:No \g_TUDa_ex_headline_oneside_tl {\BODY} - \tl_gset:No \g_TUDa_ex_headline_odd_tl {\BODY} - \tl_gset:No \g_TUDa_ex_headline_even_tl {\BODY} - \TUDa_ConfigureHeadline:n {} -} - - \newcommand*{\examheaderdefault}{\par\StudentName\StudentID} +\bool_if:NT \g_ptxcd_ex_compatibility_bool { + \cs_new:Npn \ptxcd_ex_env_to_tl_aux:w #1 \q_stop { \tl_gset:Nn \g_ptxcd_ex_headline_oneside_tl {#1} } + + \NewEnviron{examheader}{ + \tl_gset:No \g_ptxcd_ex_headline_oneside_tl {\BODY} + \tl_gset:No \g_ptxcd_ex_headline_odd_tl {\BODY} + \tl_gset:No \g_ptxcd_ex_headline_even_tl {\BODY} + \ptxcd_ConfigureHeadline:n {} + } + + \newcommand*{\examheaderdefault}{\par\StudentName\StudentID} } -\cs_new:Nn \TUDa_update_headline_boxes: { +\cs_new:Nn \ptxcd_update_headline_boxes: { \clist_map_inline:nn {even, odd, oneside} { - \tl_if_empty:cF {g_TUDa_ex_headline_##1_tl} { - \vbox_gset:cn {g_TUDa_ex_headline_##1_box} { + \tl_if_empty:cF {g_ptxcd_ex_headline_##1_tl} { + \vbox_gset:cn {g_ptxcd_ex_headline_##1_box} { \begin{minipage}[b]{\textwidth} \usekomafont{pagehead} \raggedright - \leavevmode\rule{\z@}{\dimexpr\ht\strutbox+\c_TUDa_rulesep_dim} + \leavevmode\rule{\z@}{\dimexpr\ht\strutbox+\c_ptxcd_rulesep_dim} \ignorespaces - \use:c {g_TUDa_ex_headline_##1_tl}\ignorespaces\strut + \use:c {g_ptxcd_ex_headline_##1_tl}\ignorespaces\strut \par\vspace{\z@} \end{minipage} } @@ -387,105 +390,108 @@ } -\cs_new:Nn \TUDa_ex_adjust_headheight: { +\cs_new:Nn \ptxcd_ex_adjust_headheight: { \if@twoside \dim_set:Nn \l_tmpa_dim { \dim_max:nn - {\box_ht:N \g_TUDa_ex_headline_odd_box+\box_dp:N \g_TUDa_ex_headline_odd_box} - {\box_ht:N \g_TUDa_ex_headline_even_box+\box_dp:N \g_TUDa_ex_headline_even_box} + {\box_ht:N \g_ptxcd_ex_headline_odd_box+\box_dp:N \g_ptxcd_ex_headline_odd_box} + {\box_ht:N \g_ptxcd_ex_headline_even_box+\box_dp:N \g_ptxcd_ex_headline_even_box} } \else \dim_set:Nn \l_tmpa_dim { - \box_ht:N \g_TUDa_ex_headline_oneside_box - + \box_dp:N \g_TUDa_ex_headline_oneside_box + \box_ht:N \g_ptxcd_ex_headline_oneside_box + + \box_dp:N \g_ptxcd_ex_headline_oneside_box } \fi \dim_compare:nT {\l_tmpa_dim > \z@} { - \dim_add:Nn \l_tmpa_dim {\box_dp:N \TUDa@headline_box +\c_TUDa_rulesep_dim} - \KOMAoptions{headinclude, headheight=\l_tmpa_dim,headsepline = .5\c_TUDa_smallrule_dim} + \dim_add:Nn \l_tmpa_dim {\box_dp:N \ptxcd_headrule_box +\c_ptxcd_rulesep_dim} + \KOMAoptions{headinclude, headheight=\l_tmpa_dim,headsepline = .5\c_ptxcd_smallrule_dim} \if@twoside - \cehead{\box_use:c {g_TUDa_ex_headline_even_box}} - \cohead{\box_use:c {g_TUDa_ex_headline_odd_box}} + \cehead{\box_use:c {g_ptxcd_ex_headline_even_box}} + \cohead{\box_use:c {g_ptxcd_ex_headline_odd_box}} \else - \chead{\box_use:c {g_TUDa_ex_headline_oneside_box}} + \chead{\box_use:c {g_ptxcd_ex_headline_oneside_box}} \fi \global\setlength{\headheight}{\l_tmpa_dim} } } -\newpairofpagestyles{TUDa.ex}{ - \KOMAoptions{plainfootsepline} +\newpairofpagestyles{TUDa.exercise}{ + \KOMAoptions{plainfootsepline,headtopline,plainheadtopline} \KOMAoptions { headwidth=text, footwidth=text } \setkomafont{pagehead}{} -\box_if_exist:NF \TUDa@headline_box { - \TUDa@makeheadrule[color=identbarcolor, width=\sls@headwidth]{TUDa@headline} -} + \box_if_exist:NF \ptxcd_headrule_box { + \ptxcd_makeheadrule[color=identbarcolor, width=\sls@headwidth]{ptxcd_headrule} + } \ModifyLayer[ background, - height=\box_dp:N \TUDa@headline_box, + height=\box_dp:N \ptxcd_headrule_box, align=tl, - voffset=\g_TUDa_topMargin_dim, - contents=\raisebox{\depth}{\box_use:N \TUDa@headline_box}, - ]{plain.TUDa.ex.head.above.line} + voffset=\g_ptxcd_topMargin_dim, + contents=\raisebox{\depth}{\box_use:N \ptxcd_headrule_box}, + ]{plain.TUDa.exercise.head.above.line} \ModifyLayer[ background, - height=\box_dp:N \TUDa@headline_box, + height=\box_dp:N \ptxcd_headrule_box, align=tl, - voffset=\g_TUDa_topMargin_dim, - contents=\raisebox{\depth}{\box_use:N \TUDa@headline_box}, - ]{TUDa.ex.head.above.line} + voffset=\g_ptxcd_topMargin_dim, + contents=\raisebox{\depth}{\box_use:N \ptxcd_headrule_box}, + ]{TUDa.exercise.head.above.line} \ofoot[\pagemark]{\pagemark} } -\pagestyle{TUDa.ex} +\DeclarePageStyleAlias{TUDa}{TUDa.exercise} +\DeclarePageStyleAlias{plain.TUDa}{plain.TUDa.exercise} +\renewcommand{\titlepagestyle}{plain.TUDa} +\pagestyle{TUDa} %Titelseite -\tl_new:N \g_TUDa_titleimage_code_tl -\tl_gset_eq:NN \g_TUDa_titleimage_code_tl \c_empty_tl -\newcommand{\titleimage}[1]{\tl_gset:Nn \g_TUDa_titleimage_code_tl {#1}} +\tl_new:N \g_ptxcd_titleimage_code_tl +\tl_gset_eq:NN \g_ptxcd_titleimage_code_tl \c_empty_tl +\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}} -\box_new:N \g_TUDa_title_box -\skip_new:N \g_TUDa_title_fill_skip +\box_new:N \g_ptxcd_title_box +\skip_new:N \g_ptxcd_title_fill_skip -\renewcommand{\titlepagestyle}{plain.TUDa.ex} -\seq_new:N \g_TUDa_author_seq + +\seq_new:N \g_ptxcd_author_seq \renewcommand*\author[1]{ - \seq_gset_split:Nnn \g_TUDa_author_seq {\and} {#1} + \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1} } -\msg_new:nnn {TUDaPub} {unknown-language} { +\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 \TUDa_define_captionFallback:Nn { +\cs_new:Nn \ptxcd_define_captionFallback:Nn { \providecommand*#1{ - \msg_warning:nnxxx {TUDaPub} {unknown-language} + \msg_warning:nnxxx{tudapub} {unknown-language} {\languagename} {\exp_not:N #1} {#2} \def#1{#2} } } \renewcommand*{\@author}{ - \seq_use:Nnnn \g_TUDa_author_seq {~\authorandname{}~} {,~} {~\&~} + \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~} } -\tl_new:N \g_TUDa_shorttitle_tl +\tl_new:N \g_ptxcd_shorttitle_tl \RenewDocumentCommand{\title}{om}{ \IfNoValueTF{#1}{ - \tl_gset:Nn \g_TUDa_shorttitle_tl {#2} + \tl_gset:Nn \g_ptxcd_shorttitle_tl {#2} }{ - \tl_gset:Nn \g_TUDa_shorttitle_tl {#1} + \tl_gset:Nn \g_ptxcd_shorttitle_tl {#1} } \def\@title{#2} } @@ -497,43 +503,38 @@ \subsubtitle{} -\newcommand*{\TUDa@title@footnote}[2][1]{ +\newcommand*{\ptxcd_title@footnote}[2][1]{ \textsuperscript{\@fnsymbol{#1}}#2 } -\renewcommand*{\titlepagestyle}{plain.TUDa.ex} \renewcommand*{\@maketitle}{% \global\@topnum=\z@ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative \vspace*{-\dim_eval:n { \headheight - -\c_TUDa_largerule_dim -\c_TUDa_rulesep_dim + -\c_ptxcd_largerule_dim -\c_ptxcd_rulesep_dim +\headsep +\ht\strutbox +\p@ }} \par \nointerlineskip - \raisebox{\dim_eval:n { - -.5\c_TUDa_logoheight_dim - }}[0pt][\dim_eval:n {\bool_if:NTF \g_TUDa_smalltitle_bool {.25} {.5}\c_TUDa_logoheight_dim}]{ - \bool_if:NT \g_TUDa_colorback_bool {\color{accentcolor}\rule{\linewidth}{.5\c_TUDa_logoheight_dim}} - } - \par\nointerlineskip \begingroup \setlength{\fboxsep}{\z@} - \bool_if:NT \g_TUDa_colorback_bool {\colorbox{accentcolor}}{\parbox[t]{\linewidth}{ + \bool_if:NT \g_ptxcd_colorback_bool {\colorbox{accentcolor}}{\parbox[t]{\linewidth}{ + \rule{0pt}{\bool_if:NTF \g_ptxcd_smalltitle_bool {.25} {.5}\c_ptxcd_logoheight_dim} + \par\nointerlineskip \raisebox{-\height}{% - \begin{minipage}[t]{\dimexpr\linewidth-2.2\c_TUDa_logoheight_dim-1ex} - \bool_if:NT \g_TUDa_colorback_bool {\begin{addmargin}{3mm}} + \begin{minipage}[t]{\dimexpr\linewidth-2.2\c_ptxcd_logoheight_dim-1ex} + \bool_if:NT \g_ptxcd_colorback_bool {\begin{addmargin}{3mm}} \raggedright - \bool_if:NT \g_TUDa_colorback_bool {\color{textonaccentcolor}} + \bool_if:NT \g_ptxcd_colorback_bool {\color{textonaccentcolor}} \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} \leavevmode\usekomafont{title}% - {\usekomafont{title}\bool_if:NTF \g_TUDa_smalltitle_bool {\LARGE} {\huge} {\@title\par}}% + {\usekomafont{title}\bool_if:NTF \g_ptxcd_smalltitle_bool {\LARGE} {\huge} {\@title\par}}% \vskip 1em - \bool_if:NF \g_TUDa_ex_compatibility_bool + \bool_if:NF \g_ptxcd_ex_compatibility_bool { {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% \gdef\@subtitle{} @@ -541,61 +542,58 @@ } {\ifx\@author\@empty\else\usekomafont{author}\@author\par\fi}% \vskip .5em - \bool_if:NTF \g_TUDa_colorback_bool {\end{addmargin}} {\par} + \bool_if:NTF \g_ptxcd_colorback_bool {\end{addmargin}} {\par} \end{minipage}} - \tl_if_empty:NF \g_TUDa_logofile_tl { + \tl_if_empty:NF \g_ptxcd_logofile_tl { \hfill\raisebox{\dim_eval:n { - \bool_if:NTF \g_TUDa_colorback_bool + \bool_if:NTF \g_ptxcd_colorback_bool {-\height} - {-.9\c_TUDa_logoheight_dim} + {-.9\c_ptxcd_logoheight_dim} }} [0pt] [\dim_eval:n { - \bool_if:NTF \g_TUDa_smalltitle_bool - {\bool_if:NTF \g_TUDa_colorback_bool {1.15}{1}} - {\bool_if:NTF \g_TUDa_colorback_bool {1.5}{1.3} - }\c_TUDa_logoheight_dim}] - {\makebox[2.2\c_TUDa_logoheight_dim][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}} + \bool_if:NTF \g_ptxcd_smalltitle_bool + {\bool_if:NTF \g_ptxcd_colorback_bool {1.15}{1}} + {\bool_if:NTF \g_ptxcd_colorback_bool {1.5}{1.3} + }\c_ptxcd_logoheight_dim}] + {\makebox[2.2\c_ptxcd_logoheight_dim][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}} } \par\medskip }} \par \nointerlineskip - \rule{\linewidth}{\g_TUDa_titlerule_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} % subtitle fields if not compat - \exp_args:Nf \tl_if_empty:nF {\g_TUDa_ex_sheetnum_tl\@date\g_TUDa_ex_term_tl\use:c {@subsubtitle}\@subtitle}{ + \exp_args:Nf \tl_if_empty:nF {\g_ptxcd_ex_sheetnum_tl\@date\g_ptxcd_ex_term_tl\use:c {@subsubtitle}\@subtitle}{ \par\nointerlineskip - \bool_if:NT \g_TUDa_colorback_bool {\colorbox{accentcolor}}{ + \bool_if:NT \g_ptxcd_colorback_bool {\colorbox{accentcolor}}{ \parbox{\linewidth}{ \begin{minipage}{\linewidth} - \bool_if:NT \g_TUDa_colorback_bool { + \bool_if:NT \g_ptxcd_colorback_bool { \color{textonaccentcolor} \begin{addmargin}{3mm} } \null\par - \def\TUDa@nextsep{} - \clist_map_inline:nn {@subtitle, @subsubtitle, g_TUDa_ex_term_tl, @date} { - \tl_if_empty:cF {##1} {\TUDa@nextsep\use:c {##1}\def\TUDa@nextsep{\\}} + \def\ptxcd_nextsep{} + \clist_map_inline:nn {@subtitle, @subsubtitle, g_ptxcd_ex_term_tl, @date} { + \tl_if_empty:cF {##1} {\ptxcd_nextsep\use:c {##1}\def\ptxcd_nextsep{\\}} } - % \tl_if_empty:NF \@subtitle {} - % \tl_if_empty:NF \g_TUDa_ex_term_tl {\TUDa@nextsep\g_TUDa_ex_term_tl\def\TUDa@nextsep{\\}} - % \tl_if_empty:NF \@date {\TUDa@nextsep\@date\def\TUDa@nextsep{\\}} - \tl_if_empty:NF \g_TUDa_ex_sheetnum_tl {\TUDa@nextsep\sheetname\sheetsep\g_TUDa_ex_sheetnum_tl} - \bool_if:NT \g_TUDa_colorback_bool {\end{addmargin}} + \tl_if_empty:NF \g_ptxcd_ex_sheetnum_tl {\ptxcd_nextsep\sheetname\sheetsep\g_ptxcd_ex_sheetnum_tl} + \bool_if:NT \g_ptxcd_colorback_bool {\end{addmargin}} \end{minipage} \vspace*{\dp\strutbox} }}\par\nointerlineskip - \rule{\linewidth}{\g_TUDa_titlerule_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} } \par - \bool_if:NT \g_TUDa_headontitle_bool { + \bool_if:NT \g_ptxcd_headontitle_bool { \if@twoside - \box_use:N \g_TUDa_ex_headline_odd_box + \box_use:N \g_ptxcd_ex_headline_odd_box \else - \box_use:N \g_TUDa_ex_headline_oneside_box + \box_use:N \g_ptxcd_ex_headline_oneside_box \fi \par - \rule{\linewidth}{\g_TUDa_titlerule_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} \par } \endgroup @@ -611,15 +609,13 @@ \newkomafont{term}{\usekomafont{date}} \date{} -\tl_new:N \g_TUDa_ex_sheetnum_tl -\newcommand*{\sheetnumber}[1]{\tl_gset:Nn \g_TUDa_ex_sheetnum_tl {#1}} +\tl_new:N \g_ptxcd_ex_sheetnum_tl +\newcommand*{\sheetnumber}[1]{\tl_gset:Nn \g_ptxcd_ex_sheetnum_tl {#1}} \sheetnumber{} -\tl_new:N \g_TUDa_ex_term_tl -\newcommand*{\term}[1]{\tl_gset:Nn \g_TUDa_ex_term_tl {#1}} +\tl_new:N \g_ptxcd_ex_term_tl +\newcommand*{\term}[1]{\tl_gset:Nn \g_ptxcd_ex_term_tl {#1}} \term{} -\TUDa@makeheadrule[color=identbarcolor, width=\textwidth]{TUDa@title_headline} - %Logos \RequirePackage{graphicx} @@ -666,27 +662,26 @@ %Has to be initialized after captionnames have been defined \AtBeginDocument{ - \TUDa_update_headline_boxes: - \TUDa_ex_adjust_headheight: - \global\let\ConfigureHeadline\TUDa_ConfigureHeadline:n + \ptxcd_update_headline_boxes: + \ptxcd_ex_adjust_headheight: + \global\let\ConfigureHeadline\ptxcd_ConfigureHeadline:n } %task environment -%TODO: discussion: allow sectioning \DeclareSectionCommand[% -style=section,% -level=1,% -indent=\z@,% -beforeskip=\cs_if_exist_use:NF \scr@subsection@beforeskip {-3.25ex\@plus -1ex \@minus -.2ex},% -afterskip=\cs_if_exist_use:NF \scr@subsection@afterskip {1.5ex \@plus .2ex},% -tocstyle=section,% -tocindent=\cs_if_exist_use:NF \scr@tso@subsection@indent {1.5em},% -tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsection@numwidth {2.3em},% + style=section,% + level=1,% + indent=\z@,% + beforeskip=\cs_if_exist_use:NF \scr@subsection@beforeskip {-3.25ex\@plus -1ex \@minus -.2ex},% + afterskip=\cs_if_exist_use:NF \scr@subsection@afterskip {1.5ex \@plus .2ex},% + tocstyle=section,% + tocindent=\cs_if_exist_use:NF \scr@tso@subsection@indent {1.5em},% + tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsection@numwidth {2.3em},% ]{task} -\renewcommand*{\thetask}{\g_TUDa_ex_sheetnum_tl\tl_if_empty:NF \g_TUDa_ex_sheetnum_tl{.}\arabic{task}} +\renewcommand*{\thetask}{\g_ptxcd_ex_sheetnum_tl\tl_if_empty:NF \g_ptxcd_ex_sheetnum_tl{.}\arabic{task}} \renewcommand*{\taskformat}{\taskname\tasksep\thetask{}} \let\@task\task @@ -694,23 +689,25 @@ tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsection@numwidth {2.3em},% \NewDocumentEnvironment{task}{om}{ \begingroup - \IfNoValueF{#1}{\keys_set:nn {TUDa/exercise}{#1}} + \IfNoValueF{#1}{\keys_set:nn {ptxcd/task}{#1}} \@task{#2} \endgroup }{} +\cs_set_eq:cN {task*} \task +\cs_set_eq:cN {endtask*} \endtask % subtasks \DeclareSectionCommand[% -style=section,% -level=2,% -indent=\z@,% -beforeskip=\cs_if_exist_use:NF \scr@subsubsection@beforeskip {-3.25ex\@plus -1ex \@minus -.2ex},% -afterskip=\cs_if_exist_use:NF \scr@subsubsection@afterskip {1.5ex \@plus .2ex},% -tocstyle=subsection,% -tocindent=\cs_if_exist_use:NF \scr@tso@subsubsection@indent {1.5em},% -tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsubsection@numwidth {2.3em},% -counterwithin=task,% + style=section,% + level=2,% + indent=\z@,% + beforeskip=\cs_if_exist_use:NF \scr@subsubsection@beforeskip {-3.25ex\@plus -1ex \@minus -.2ex},% + afterskip=\cs_if_exist_use:NF \scr@subsubsection@afterskip {1.5ex \@plus .2ex},% + tocstyle=subsection,% + tocindent=\cs_if_exist_use:NF \scr@tso@subsubsection@indent {1.5em},% + tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsubsection@numwidth {2.3em},% + counterwithin=task,% ]{subtask} \renewcommand*{\thesubtask}{\alph{subtask})} @@ -722,15 +719,22 @@ counterwithin=task,% \NewDocumentEnvironment{subtask}{o}{ \tl_if_in:nnT {#1} {=} { - \keys_set:nn {TUDa/subtask} {#1} + \keys_set:nn {ptxcd/subtask} {#1} } - \bool_if:NTF \l_TUDa_ex_subtask_fallback_bool { + \bool_if:NTF \l_ptxcd_ex_subtask_fallback_bool { \@subtask{\IfNoValueF{#1}{#1}} }{ - \@subtask{\l_TUDa_ex_title_tl} + \@subtask{\l_ptxcd_ex_title_tl} } }{} +\NewDocumentEnvironment{subtask*}{om}{ + \begingroup + \IfNoValueF{#1}{\keys_set:nn {ptxcd/subtask}{#1}} + \@subtask{#2} + \endgroup +}{} + %Solution mechanism \DeclareSectionCommand[% @@ -747,33 +751,33 @@ tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsubsection@numwidth {2.3em},% \setkomafont{@solution}{\normalfont} -\cs_new:Nn \TUDa_ex_solutionheader: { +\cs_new:Nn \ptxcd_ex_solutionheader: { \@solution*{\solutionname\solutionsep} } -\box_new:N \g_TUDa_NumberForm_box -\hbox_gset:Nn \g_TUDa_NumberForm_box { +\box_new:N \g_ptxcd_NumberForm_box +\hbox_gset:Nn \g_ptxcd_NumberForm_box { \rule{\fboxrule}{1ex} \rule{1em}{\fboxrule} \rule{\fboxrule}{1ex} \, } -\newcommand*\TUDa@StudentID[1][7]{ - \StudentIDname\StudentIDsep\prg_replicate:nn {#1} {\box_use:N \g_TUDa_NumberForm_box} +\newcommand*\ptxcd_StudentID[1][7]{ + \StudentIDname\StudentIDsep\prg_replicate:nn {#1} {\box_use:N \g_ptxcd_NumberForm_box} } -\let\StudentID\TUDa@StudentID +\let\StudentID\ptxcd_StudentID -\newcommand*\TUDa@StudentName{ +\newcommand*\ptxcd_StudentName{ \StudentNamename\StudentNamesep\hrulefill\qquad } -\let\StudentName\TUDa@StudentName +\let\StudentName\ptxcd_StudentName -\let\ShortTitle\g_TUDa_shorttitle_tl +\let\ShortTitle\g_ptxcd_shorttitle_tl % Compatibility Features -\bool_if:NT \g_TUDa_ex_compatibility_bool { +\bool_if:NT \g_ptxcd_ex_compatibility_bool { \cs_set_eq:NN \c@subsection \c@task \cs_set_eq:NN \subsection \task \cs_set_eq:NN \c@subsubsection \c@subtask @@ -782,5 +786,9 @@ tocnumwidth=\cs_if_exist_use:NF \scr@tso@subsubsection@numwidth {2.3em},% \cs_set_eq:NN \thesubtask \thesubsection } +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} + +\ptxcd_makeheadrule[color=identbarcolor, width=\textwidth]{ptxcd_headrule} + \endinput %End of class tudaexercise.cls diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty index cf9ec3e5d9e..c2baab0e0e5 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudafonts.sty @@ -1,4 +1,4 @@ -%% This is file `tudafonts.sty' version 2.11 (2020/06/12), +%% This is file `tudafonts.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,12 +26,12 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{tudafonts} [\filedate\space\fileversion\space - font loading for TUDa-CI, TU Darmstadt's Corporate Design] + font loading for TUDa-CI, TU Darmstadt's Corporate Design] \expandafter\newif\csname if@TUDa@T1\endcsname @@ -42,30 +42,33 @@ \RequirePackage{anyfontsize} \ifPDFTeX - \csname @TUDa@T1true\endcsname - %Fallback for older versions - \expandafter\ifx\csname DeclareUnicodeCharacter\endcsname\relax - \RequirePackage[utf8]{inputenc} - \fi - \expandafter\ifx\csname texteuro\endcsname\relax - \RequirePackage{textcomp} - \fi - \DeclareUnicodeCharacter{20AC}{\texteuro} + \csname @TUDa@T1true\endcsname + %Fallback for older versions + \expandafter\ifx\csname DeclareUnicodeCharacter\endcsname\relax + \RequirePackage[utf8]{inputenc} + \fi + \expandafter\ifx\csname texteuro\endcsname\relax + \RequirePackage{textcomp} + \fi + \DeclareUnicodeCharacter{20AC}{\texteuro} \fi \csname if@TUDa@T1\endcsname - \RequirePackage{XCharter}%activates T1 - \PassOptionsToPackage{type1}{roboto} - \PassOptionsToPackage{type1}{roboto-mono} - %Workaround for missing ligature replacements with roboto in T1 - \ifXeTeX - \else - \RequirePackage{microtype} - \DisableLigatures{encoding = *, family=\sfdefault, shape = sc } - \fi + \ifLuaTeX + \RequirePackage[utf8]{luainputenc} + \fi + \RequirePackage{XCharter}%activates T1 + \PassOptionsToPackage{type1}{roboto} + \PassOptionsToPackage{type1}{roboto-mono} + %Workaround for missing ligature replacements with roboto in T1 + \ifXeTeX + \else + \RequirePackage{microtype} + \DisableLigatures{encoding = *, family=\sfdefault,shape = sc } + \fi \else - \RequirePackage{fontspec} - \setmainfont{XCharter} + \RequirePackage{fontspec} + \setmainfont{XCharter} \fi \RequirePackage{roboto} @@ -77,11 +80,6 @@ For correct font setup either install it manually or update you distribution} } - -\ifPDFTeX - \RequirePackage[T1]{fontenc} -\fi - \let\accentfont\robotoslab \DeclareTextFontCommand{\textaccent}{\accentfont} diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls index ad49fdd38da..2b64756059b 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls @@ -1,4 +1,4 @@ -%% This is file `tudaleaflet.cls' version 2.11 (2020/06/12), +%% This is file `tudaleaflet.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,45 +26,56 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} -\def\filedate{2020/02/02} -\def\fileversion{} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt} \RequirePackage{l3keys2e} -\tl_new:N \g_TUDa_sponsor_pos_tl -\keys_define:nn {TUDa/leaflet} { - logofile .tl_gset:N = \g_TUDa_logofile_tl, + +\str_const:Nn \c__ptxcd_base_str {leaflet} + +\tl_new:N \g_ptxcd_sponsor_pos_tl +\keys_define:nn {ptxcd/leaflet} { + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, color .meta:n = {accentcolor=#1}, accentcolor .code:n = {\PassOptionsToPackage{accentcolor=#1}{tudacolors}}, textaccentcolor .code:n = {\PassOptionsToPackage{textaccentcolor=#1}{tudacolors}}, identbarcolor .code:n = {\PassOptionsToPackage{identbarcolor=#1}{tudacolors}}, - colorback .bool_gset:N = \g_TUDa_colorback_bool, + colorback .bool_gset:N = \g_ptxcd_colorback_bool, colorback .initial:n = true, colorback .default:n = true, - colorbacktitle .bool_gset:N = \g_TUDa_colorbacktitle_bool, + colorbacktitle .bool_gset:N = \g_ptxcd_colorbacktitle_bool, colorbacktitle .initial:n = false, colorbacktitle .default:n = true, - colorbacksubtitle .bool_set:N = \g_TUDa_colorbacksubtitle_bool, + colorbacksubtitle .bool_set:N = \g_ptxcd_colorbacksubtitle_bool, colorbacksubtitle .initial:n = false, colorbacksubtitle .default:n = true, - sponsor .choices:nn = {title,lastfoot,manual}{\tl_gset_eq:NN \g_TUDa_sponsor_pos_tl \l_keys_choice_tl}, + sponsor .choices:nn = {title,lastfoot,manual}{\tl_gset_eq:NN \g_ptxcd_sponsor_pos_tl \l_keys_choice_tl}, sponsor .initial:n = title, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/leaflet} {colorback=false, departmentlogofile=tuda_maschinenbau_logo} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, } \DeclareOption*{\PassOptionsToClass{\CurrentOption}{leaflet}} -\ProcessKeysOptions{TUDa/leaflet} +\ProcessKeysOptions{ptxcd/leaflet} \ProcessOptions\relax -\bool_if:NT \g_TUDa_colorbacksubtitle_bool { - \bool_if:NF \g_TUDa_colorbacktitle_bool { - \msg_new:nnnn {TUDa/leaflet} {incompatible-options} {You~cannot~use~the~setting~#1~at~the~same~time~as~#2.} {See~TUDaLeaflet~documentation~for~further~information.} - \msg_error:nn {TUDa/leaflet} {incompatible-options} {colorbacksubtitle=true} {colorbacktitle=false} +\bool_if:NT \g_ptxcd_colorbacksubtitle_bool { + \bool_if:NF \g_ptxcd_colorbacktitle_bool { + \msg_new:nnnn {ptxcd/leaflet} {incompatible-options} {You~cannot~use~the~setting~#1~at~the~same~time~as~#2.} {See~TUDaLeaflet~documentation~for~further~information.} + \msg_error:nn {ptxcd/leaflet} {incompatible-options} {colorbacksubtitle=true} {colorbacktitle=false} } } @@ -82,17 +93,10 @@ \setlength{\footheight}{2mm} \setmargins{10mm}{\dimexpr10mm+\headheight\relax}{10mm}{10mm}%Hardcoded, according to the guideline -\TUDa@makeheadrule[color=identbarcolor]{TUDa_headrule} -\box_new:N \TUDa_footrule_box -\hbox_gset:Nn \TUDa_footrule_box {\rule{\textwidth}{.5\c_TUDa_smallrule_dim}} - -\dim_new:N \g_TUDa_titlerule_dim -\dim_gset:Nn \g_TUDa_titlerule_dim {.5\c_TUDa_smallrule_dim} - \DeclareNewLayer[ head, mode=picture, - contents=\putUL{\box_use:N \TUDa_headrule_box} + contents=\putUL{\box_use:N \ptxcd_headrule_box} ]{TUDa.flyer.headline} \DeclareNewLayer[ @@ -100,7 +104,7 @@ mode=picture, height=\z@, voffset=\paperheight-14mm, - contents=\smash{\box_use:N \TUDa_footrule_box} + contents=\smash{\box_use:N \ptxcd_footrule_box} ]{TUDa.flyer.footline} \DeclareNewPageStyleByLayers{TUDa.flyer}{ @@ -111,27 +115,27 @@ % Title specific additions to pagestyle \DeclareNewLayer[textarea,mode=picture, -addheight=\headheight-\box_dp:N \TUDa_headrule_box+\dp\strutbox, +addheight=\headheight-\box_dp:N \ptxcd_headrule_box+\dp\strutbox, contents={ - \bool_if:NT \g_TUDa_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}} - \tl_if_empty:NTF \g_TUDa_titleimage_code_tl - {\bool_if:NT \g_TUDa_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}}} + \bool_if:NT \g_ptxcd_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}} + \tl_if_empty:NTF \g_ptxcd_titleimage_code_tl + {\bool_if:NT \g_ptxcd_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}}} {\putUL{\color{identbarcolor}\raisebox{-\height}{\parbox[t]{\textwidth}{ \let\width\layerwidth \let\height\layerheight - \g_TUDa_titleimage_code_tl + \g_ptxcd_titleimage_code_tl }}}} - \put(\dim_to_decimal_in_unit:nn {\layerwidth-2.2\c_TUDa_logoheight_dim + \put(\dim_to_decimal_in_unit:nn {\layerwidth-2.2\c_ptxcd_logoheight_dim } {\unitlength}, - \dim_to_decimal_in_unit:nn {\layerheight-\box_ht:N \g_TUDa_title_info_box - .5\c_TUDa_logoheight_dim} {\unitlength}){ - \rlap{\box_use:N \g_TUDa_title_info_box} + \dim_to_decimal_in_unit:nn {\layerheight-\box_ht:N \g_ptxcd_title_info_box - .5\c_ptxcd_logoheight_dim} {\unitlength}){ + \rlap{\box_use:N \g_ptxcd_title_info_box} } } ]{title.TUDa.image} \DeclareNewLayer[textarea,background,mode=picture, contents={ - \bool_if:NT \g_TUDa_colorbacktitle_bool { + \bool_if:NT \g_ptxcd_colorbacktitle_bool { \color{identbarcolor}\rule{\layerwidth}{\layerheight} } } @@ -144,21 +148,21 @@ contents={ TUDa.flyer.footline, } -\cs_new:Nn \TUDa_Setup_Title_box: { - \hbox_gset:Nn \g_TUDa_title_info_box +\cs_new:Nn \ptxcd_Setup_Title_box: { + \hbox_gset:Nn \g_ptxcd_title_info_box { - \parbox{\dimexpr2.5\c_TUDa_logoheight_dim}{ - \seq_use:Nn \g_TUDa_title_info_seq {\par\nointerlineskip\vspace{\dim_eval:n {\c_TUDa_largerule_dim+\c_TUDa_rulesep_dim}}} + \parbox{\dimexpr2.5\c_ptxcd_logoheight_dim}{ + \seq_use:Nn \g_ptxcd_title_info_seq {\par\nointerlineskip\vspace{\dim_eval:n {\c_ptxcd_largerule_dim+\c_ptxcd_rulesep_dim}}} } } } \newcommand*\sectionlinesformat[1]{% \parbox{\linewidth}{ - \rule[\TUDa_titlerule_sep:]{\linewidth}{\g_TUDa_titlerule_dim}\par\nointerlineskip + \rule[\ptxcd_titlerule_sep:]{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip #1\strut\rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par\nointerlineskip - \skip_vertical:n {\TUDa_titlerule_sep: -.5\dp\strutbox} - \smash{\rule{\linewidth}{\g_TUDa_titlerule_dim}} + \skip_vertical:n {\ptxcd_titlerule_sep: -.5\dp\strutbox} + \smash{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} } } @@ -166,27 +170,27 @@ contents={ \newcommand*{\raggedtitle}{\raggedright} \renewcommand*{\maketitle}{ \def\and{,~ } - \hbox_gset:Nn \g_TUDa_sponsor_box { - \def\height{\dimexpr.8\c_TUDa_logoheight_dim\relax} + \hbox_gset:Nn \g_ptxcd_sponsor_box { + \def\height{\dimexpr.8\c_ptxcd_logoheight_dim\relax} \parbox[b]{\textwidth}{% - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par\nointerlineskip - \vspace{.1\c_TUDa_logoheight_dim} - \seq_use:Nn \g_TUDa_sponsors_seq {\hfill}\par - \addvspace{.1\c_TUDa_logoheight_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip + \vspace{.1\c_ptxcd_logoheight_dim} + \seq_use:Nn \g_ptxcd_sponsors_seq {\hfill}\par + \addvspace{.1\c_ptxcd_logoheight_dim} \ifx\@sponsors\@empty \else \@sponsors\par \fi - \par\nointerlineskip\addvspace{\dim_eval:n {.1\c_TUDa_logoheight_dim-\c_TUDa_rulesep_dim}} -% \rule{\linewidth}{\g_TUDa_titlerule_dim} + \par\nointerlineskip\addvspace{\dim_eval:n {.1\c_ptxcd_logoheight_dim-\c_ptxcd_rulesep_dim}} +% \rule{\linewidth}{\g_ptxcd_titlerule_dim} } } \begin{titlepage} \def\thefootnote{\fnsymbol{footnote}} - \hbox_gset:Nn \g_TUDa_title_box { + \hbox_gset:Nn \g_ptxcd_title_box { \parbox[t]{\linewidth}{ \begin{minipage}[b]{\linewidth} - \bool_if:NT \g_TUDa_colorbacktitle_bool {\color{textonaccentcolor}} + \bool_if:NT \g_ptxcd_colorbacktitle_bool {\color{textonaccentcolor}} \begin{addmargin}{3mm} \raggedtitle \Huge @@ -198,13 +202,13 @@ contents={ \end{addmargin} \end{minipage}% \par\nointerlineskip - \bool_if:NTF \g_TUDa_colorbacksubtitle_bool - {\textcolor{white}{\rule{\linewidth}{\c_TUDa_rulesep_dim}}} - {\rule{\linewidth}{\g_TUDa_titlerule_dim}} + \bool_if:NTF \g_ptxcd_colorbacksubtitle_bool + {\textcolor{white}{\rule{\linewidth}{\c_ptxcd_rulesep_dim}}} + {\rule{\linewidth}{\g_ptxcd_titlerule_dim}} \par - \vspace{\c_TUDa_rulesep_dim} + \vspace{\c_ptxcd_rulesep_dim} \begin{addmargin}{3mm} - \bool_if:NT \g_TUDa_colorbacksubtitle_bool {\color{textonaccentcolor}} + \bool_if:NT \g_ptxcd_colorbacksubtitle_bool {\color{textonaccentcolor}} \raggedtitle \usekomafont{disposition} {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% @@ -216,18 +220,18 @@ contents={ }% {\usekomafont{date}{\@date\par}}% \end{addmargin}\nointerlineskip - \vspace{\c_TUDa_rulesep_dim} - \bool_if:NT \g_TUDa_colorbacktitle_bool + \vspace{\c_ptxcd_rulesep_dim} + \bool_if:NT \g_ptxcd_colorbacktitle_bool { - \textcolor{white}{\rule{\linewidth}{\c_TUDa_rulesep_dim}}\par\nointerlineskip + \textcolor{white}{\rule{\linewidth}{\c_ptxcd_rulesep_dim}}\par\nointerlineskip } - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par } } - \TUDa_adjust_titlepage_style: + \ptxcd_adjust_titlepage_style: \par - \vspace*{\dimexpr.5\c_TUDa_logoheight_dim-\topskip} - \box_use:N \g_TUDa_title_box + \vspace*{\dimexpr.5\c_ptxcd_logoheight_dim-\topskip} + \box_use:N \g_ptxcd_title_box \par \vfill\null \if@twoside @@ -245,51 +249,51 @@ contents={ } -\cs_set:Nn \TUDa_adjust_titlepage_style: { - \dim_set:Nn \l_tmpa_dim {1\c_TUDa_logoheight_dim}%\fp_to_dim:n {2.8\baselineskip}} - \dim_compare:nT {\box_ht:N \g_TUDa_title_box < \l_tmpa_dim} { - \skip_set:Nn \g_TUDa_title_fill_skip {\dim_eval:n {\l_tmpa_dim - \box_ht:N \g_TUDa_title_box}} +\cs_set:Nn \ptxcd_adjust_titlepage_style: { + \dim_set:Nn \l_tmpa_dim {1\c_ptxcd_logoheight_dim}%\fp_to_dim:n {2.8\baselineskip}} + \dim_compare:nT {\box_ht:N \g_ptxcd_title_box < \l_tmpa_dim} { + \skip_set:Nn \g_ptxcd_title_fill_skip {\dim_eval:n {\l_tmpa_dim - \box_ht:N \g_ptxcd_title_box}} } \dim_set:Nn \l_tmpa_dim { - +\box_ht:N \g_TUDa_title_box - +.5\c_TUDa_logoheight_dim - +\box_dp:N \g_TUDa_title_box - +\g_TUDa_title_fill_skip + +\box_ht:N \g_ptxcd_title_box + +.5\c_ptxcd_logoheight_dim + +\box_dp:N \g_ptxcd_title_box + +\g_ptxcd_title_fill_skip } \ModifyLayer[ addvoffset=\l_tmpa_dim, addheight= -\l_tmpa_dim ]{title.TUDa.image} - \DeclareNewLayer[clone=TUDa.flyer.footline,%clone=title.TUDa.image, + \DeclareNewLayer[clone=TUDa.flyer.footline, mode=picture, align=bl, - height=\box_ht:N \g_TUDa_sponsor_box + \box_dp:N \g_TUDa_sponsor_box, + height=\box_ht:N \g_ptxcd_sponsor_box + \box_dp:N \g_ptxcd_sponsor_box, addvoffset=-\dp\strutbox, - contents=\raisebox{\depth}{\box_use:N \g_TUDa_sponsor_box} + contents=\raisebox{\depth}{\box_use:N \g_ptxcd_sponsor_box} ] {title.TUDa.sponsor} - \exp_args:Nx \tl_if_eq:nnT {\g_TUDa_sponsor_pos_tl} {title} { + \exp_args:Nx \tl_if_eq:nnT {\g_ptxcd_sponsor_pos_tl} {title} { \AddLayersToPageStyle{title.TUDa}{title.TUDa.sponsor} \ModifyLayer[ - addheight=-\box_ht:N \g_TUDa_sponsor_box -\box_dp:N \g_TUDa_sponsor_box-\dp\strutbox + addheight=-\box_ht:N \g_ptxcd_sponsor_box -\box_dp:N \g_ptxcd_sponsor_box-\dp\strutbox ]{title.TUDa.image} } \ModifyLayer[ - addvoffset={-\dim_eval:n {\headheight -\box_ht:N \TUDa_headrule_box-\box_dp:N \TUDa_headrule_box }}, + addvoffset={-\dim_eval:n {\headheight -\box_ht:N \ptxcd_headrule_box-\box_dp:N \ptxcd_headrule_box }}, height={ - \bool_if:NT \g_TUDa_colorbacksubtitle_bool {\box_dp:N \g_TUDa_title_box} - +\box_ht:N \g_TUDa_title_box+\g_TUDa_title_fill_skip+.5\c_TUDa_logoheight_dim+ - \headheight -\box_ht:N \TUDa_headrule_box-\box_dp:N \TUDa_headrule_box + \bool_if:NT \g_ptxcd_colorbacksubtitle_bool {\box_dp:N \g_ptxcd_title_box} + +\box_ht:N \g_ptxcd_title_box+\g_ptxcd_title_fill_skip+.5\c_ptxcd_logoheight_dim+ + \headheight -\box_ht:N \ptxcd_headrule_box-\box_dp:N \ptxcd_headrule_box } ]{title.TUDa.background} \AddLayersToPageStyle{title.TUDa}{title.TUDa.background} \thispagestyle{title.TUDa} \nointerlineskip - \TUDa_Setup_Title_box: + \ptxcd_Setup_Title_box: \par - \vspace*{\skip_use:N \g_TUDa_title_fill_skip} + \vspace*{\skip_use:N \g_ptxcd_title_fill_skip} \setlength{\fboxsep}{\z@} } % @@ -326,88 +330,86 @@ contents={ {\usekomafont{disposition}\usekomafont{subsubsection}\sectfont}} \clist_map_inline:nn {section, subsection, subsubsection} { - \cs_set_eq:cc {TUDa_save_#1} {#1} + \cs_set_eq:cc {ptxcd_save_#1} {#1} \exp_args:Nc \RenewDocumentCommand{#1}{sO{##3}m}{ \IfBooleanTF{##1}{ - \use:c {TUDa_save_#1}*{\sectionlinesformat{##3}} + \use:c {ptxcd_save_#1}*{\sectionlinesformat{##3}} }{ - \use:c {TUDa_save_#1}[##2]{\sectionlinesformat{##3}} + \use:c {ptxcd_save_#1}[##2]{\sectionlinesformat{##3}} } } } -\cs_new:Nn \TUDa_titlerule_sep: {\the\dp\strutbox} +\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox} \def\subtitle#1{\def\@subtitle{#1}} \subtitle{} -\seq_new:N \g_TUDa_sponsors_seq -\def\AddSponsor{\seq_gput_right:Nn \g_TUDa_sponsors_seq} +\seq_new:N \g_ptxcd_sponsors_seq +\def\AddSponsor{\seq_gput_right:Nn \g_ptxcd_sponsors_seq} \def\sponsors#1{\def\@sponsors{#1}} \sponsors{} -\box_new:N \g_TUDa_sponsor_box +\box_new:N \g_ptxcd_sponsor_box \newcommand*{\footergraphics}[1]{ \begingroup - \let\height\g_TUDa_footheight_dim - \hbox_gset:Nn \g_TUDa_footergraphics_box {#1} + \let\height\g_ptxcd_footheight_dim + \hbox_gset:Nn \g_ptxcd_footergraphics_box {#1} \endgroup } -\tl_new:N \g_TUDa_titleimage_code_tl -\tl_gset_eq:NN \g_TUDa_titleimage_code_tl \c_empty_tl -\newcommand{\titleimage}[1]{\tl_gset:Nn \g_TUDa_titleimage_code_tl {#1}} +\tl_new:N \g_ptxcd_titleimage_code_tl +\tl_gset_eq:NN \g_ptxcd_titleimage_code_tl \c_empty_tl +\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}} \author{}%to remove warning if no author given -\box_new:N \g_TUDa_title_box -\skip_new:N \g_TUDa_title_fill_skip +\box_new:N \g_ptxcd_title_box +\skip_new:N \g_ptxcd_title_fill_skip -\seq_new:N \g_TUDa_title_info_seq -\box_new:N \g_TUDa_title_info_box +\seq_new:N \g_ptxcd_title_info_seq +\box_new:N \g_ptxcd_title_info_box -\colorlet{TUDa@InfoBoxColor}{white} - -\cs_new:Nn \TUDa_make_title_info_box:n { +\cs_new:Nn \ptxcd_make_title_info_box:n { \setlength{\fboxsep}{1.5mm}% - \colorbox{TUDa@InfoBoxColor}{ - \makebox[\dim_eval:n {2.2\c_TUDa_logoheight_dim-\fboxsep}][r]{ - \parbox{2\c_TUDa_logoheight_dim}{ + \colorbox{InfoBox}{ + \makebox[\dim_eval:n {2.2\c_ptxcd_logoheight_dim-\fboxsep}][r]{ + \parbox{2\c_ptxcd_logoheight_dim}{ \usekomafont{institution} \raggedright% #1 }}} } -\cs_new:Nn \TUDa_make_title_logo_box:n { +\cs_new:Nn \ptxcd_make_title_logo_box:n { \setlength{\fboxsep}{\z@} - \parbox{2.2\c_TUDa_logoheight_dim}{ - \colorbox{TUDa@InfoBoxColor}{ + \parbox{2.2\c_ptxcd_logoheight_dim}{ + \colorbox{InfoBox}{ \rlap{ - \makebox[2.5\c_TUDa_logoheight_dim][r]{ - \colorbox{TUDa@InfoBoxColor}{#1\hspace{.3\c_TUDa_logoheight_dim}} + \makebox[2.5\c_ptxcd_logoheight_dim][r]{ + \colorbox{InfoBox}{#1\hspace{.3\c_ptxcd_logoheight_dim}} } } } } } -\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_TUDa_title_info_seq {\TUDa_make_title_info_box:n {#1}}} +\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_ptxcd_title_info_seq {\ptxcd_make_title_info_box:n {#1}}} \NewDocumentCommand{\addTitleBoxLogo}{sm}{ \IfBooleanTF{#1}{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n {#2} + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n {#2} } }{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n { + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n { \hbox_set:Nn \l_tmpa_box { - \includegraphics[width=1.5\c_TUDa_logoheight_dim]{#2} + \includegraphics[width=1.5\c_ptxcd_logoheight_dim]{#2} } - \dim_set:Nn \l_tmpa_dim {2\c_TUDa_logoheight_dim/3} + \dim_set:Nn \l_tmpa_dim {2\c_ptxcd_logoheight_dim/3} \dim_compare:nTF {\box_ht:N \l_tmpa_box > \l_tmpa_dim} {\includegraphics[width=\l_tmpa_dim]{#2}} {\box_use:N \l_tmpa_box} @@ -416,24 +418,29 @@ contents={ } } -\addTitleBoxLogo*{\makebox[\linewidth][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}} +\addTitleBoxLogo*{\makebox[\linewidth][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}} \date{} \let\insertSponsors\relax -\str_case:Vn \g_TUDa_sponsor_pos_tl { +\str_case:Vn \g_ptxcd_sponsor_pos_tl { {lastfoot}{ \AtEndDocument{ \par\vspace*{\fill} \leavevmode\raisebox{\dimexpr\depth-\baselineskip}[0pt][0pt]{ - \box_use:N \g_TUDa_sponsor_box + \box_use:N \g_ptxcd_sponsor_box } } } {manual} { - \renewcommand*{\insertSponsors}{\par\vfill\leavevmode\box_use:N \g_TUDa_sponsor_box\par\nobreak\nointerlineskip\rule{\linewidth}{\g_TUDa_titlerule_dim} + \renewcommand*{\insertSponsors}{\par\vfill\leavevmode\box_use:N \g_ptxcd_sponsor_box\par\nobreak\nointerlineskip\rule{\linewidth}{\g_ptxcd_titlerule_dim} } } } -\endinput \ No newline at end of file +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} + +\ptxcd_makeheadrule[color=identbarcolor]{ptxcd_headrule} +\ptxcd_makefootrule{ptxcd_footrule} + +\endinput diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls index 692b2712396..3d92b60f213 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaletter.cls @@ -1,4 +1,4 @@ -%% This is file `tudaletter.cls' version 2.11 (2020/06/12), +%% This is file `tudaletter.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{tudaletter} @@ -35,48 +35,69 @@ \RequirePackage{l3keys2e} -\keys_define:nn {TUDaLetter} { - logo .bool_gset:N = \g_TUDaletter_logo_bool, +\str_const:Nn \c__ptxcd_base_str {letter} +\str_new:N \g_ptxcd_department_str +\bool_new:N \g__ptxcd_adjust_textwidth_bool + +\keys_define:nn {ptxcd/letter} { + logo .bool_gset:N = \g__ptxcd_letter_logo_bool, logo .default:n = true, logo .initial:n = true, - premium .bool_gset:N = \g_TUDaletter_premium_bool, + premium .bool_gset:N = \g__ptxcd_letter_premium_bool, premium .default:n = true, accentcolor .code:n = \PassOptionsToPackage{accentcolor=#1}{tudacolors}, - firstpagenumber .bool_gset:N = \g_TUDa_firstpagenumber_bool, + firstpagenumber .bool_gset:N = \g__ptxcd_firstpagenumber_bool, firstpagenumber .initial:n = true, - raggedright .bool_gset:N = \g_TUDa_raggedright_bool, - pdfa .bool_gset:N = \g_TUDa@pdfa_bool, + raggedright .bool_gset:N = \g__ptxcd_letter_raggedright_bool, + pdfa .bool_gset:N = \g_ptxcd_pdfa_bool, pdfa .initial:n = true, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/letter}{departmentlogofile=tuda_maschinenbau_logo,headrule=false,logo=false,textwidth=narrow} + \PassOptionsToPackage{identbar=Primary1,accent=Primary2}{tudacolors} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, + headrule .bool_gset:N = \g__ptxcd_letter_headrule_bool, + headrule .initial:n = true, + headrule .default:n = true, + textwidth .choice:, + textwidth / wide .code:n = \bool_gset_true:N \g__ptxcd_adjust_textwidth_bool, + textwidth / narrow .code:n = \bool_gset_false:N \g__ptxcd_adjust_textwidth_bool, + textwidth .initial:n = wide, } -\ProcessKeysOptions{TUDaLetter} +\ProcessKeysOptions{ptxcd/letter} -\bool_if:NT \g_TUDa@pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} +\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} \newcommand*{\@fontsizefilebase}{tudalettersize} -\PassOptionsToClass{fontsize=10pt, refline=nodate, parskip=full-,addrfield=topaligned}{scrlttr2} -\LoadClass{scrlttr2} +\PassOptionsToClass{fontsize=10pt,parskip=full-}{scrletter} +\PassOptionsToPackage{refline=nodate,addrfield=topaligned,firstfoot=false,pagenumber=botright}{scrletter} +\LoadClass{scrletter} % Load the TUDa-colorscheme \RequirePackage{tudacolors} -\bool_if:NTF \g_TUDaletter_premium_bool -{ \def\TUDa@premiumcolor{accentcolor} - \def\TUDa@use@premiumcolor{\color{accentcolor}} - \def\TUDa@use@premiumcolor@text{\color{textaccentcolor}} +\bool_if:NTF \g__ptxcd_letter_premium_bool +{ \cs_new:Nn \ptxcd_premiumcolor: {accentcolor} + \cs_new:Nn \ptxcd_use_premiumcolor: {\color{accentcolor}} + \cs_set:Nn \ptxcd_use_premiumcolor_text: {\color{textaccentcolor}} }{ - \def\TUDa@premiumcolor{black} - \let\TUDa@use@premiumcolor\relax - \let\TUDa@use@premiumcolor@text\relax + \cs_new:Nn \ptxcd_premiumcolor: {black} + \let\ptxcd_use_premiumcolor:\relax + \let\ptxcd_use_premiumcolor_text:\relax } - - \RequirePackage{tudafonts} \RequirePackage{graphicx} \RequirePackage{afterpage} @@ -85,77 +106,85 @@ %%%%%Briefbogen %% Spacing: -\dim_const:Nn \c_TuDa_HeadMargin_dim {12.5mm} -\dim_const:Nn \c_TuDa_LeftMargin_dim {24.0mm} -\dim_const:Nn \c_TuDa_RightMargin_dim {\c_TuDa_HeadMargin_dim} -\dim_const:Nn \c_TuDa_BottomMargin_dim {\c_TuDa_LeftMargin_dim} -\dim_const:Nn \c_TuDa_Linewidth_dim {\paperwidth-\c_TuDa_LeftMargin_dim-\c_TuDa_RightMargin_dim} +\dim_const:Nn \c_ptxcd_HeadMargin_dim {12.5mm} +\dim_const:Nn \c_ptxcd_LeftMargin_dim {24.0mm} +\dim_const:Nn \c__ptxcd_firstpage_extraindent_dim {-\paperwidth+120mm +\c_ptxcd_LeftMargin_dim +\c_ptxcd_HeadMargin_dim} +\bool_if:NTF \g__ptxcd_adjust_textwidth_bool + { + \dim_const:Nn \c_ptxcd_RightMargin_dim {\c_ptxcd_HeadMargin_dim} + + }{ + \dim_const:Nn \c_ptxcd_RightMargin_dim {\c_ptxcd_HeadMargin_dim-\c__ptxcd_firstpage_extraindent_dim} + } +\dim_const:Nn \c_ptxcd_BottomMargin_dim {20mm} +\dim_const:Nn \c_ptxcd_Linewidth_dim {\paperwidth-\c_ptxcd_LeftMargin_dim-\c_ptxcd_RightMargin_dim} -\RequirePackage[heightrounded]{geometry} +\RequirePackage{geometry} \geometry{ twoside=false, - left=\c_TuDa_LeftMargin_dim, - right=\c_TuDa_RightMargin_dim, - bottom=20mm, - footskip=3mm, + left=\c_ptxcd_LeftMargin_dim, + right=\c_ptxcd_RightMargin_dim, + bottom=\c_ptxcd_BottomMargin_dim, + footskip=7mm, } -\dim_const:Nn \c_TUDa_textwidth_dim {\textwidth} +\dim_const:Nn \c_ptxcd_textwidth_dim {\textwidth} -\bool_if:NTF \g_TUDaletter_logo_bool { +\bool_if:NTF \g__ptxcd_letter_logo_bool { \geometry{top=64mm} } { \geometry{top=30mm} } -\@setplength{firstheadhpos}{\c_TuDa_HeadMargin_dim} -\@setplength{firstheadvpos}{\c_TuDa_HeadMargin_dim} -\@setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_TuDa_HeadMargin_dim}} +\@setplength{firstheadhpos}{\c_ptxcd_HeadMargin_dim} +\@setplength{firstheadvpos}{\c_ptxcd_HeadMargin_dim} +\@setplength{firstheadwidth}{\dim_eval:n {\paperwidth - 2\c_ptxcd_HeadMargin_dim}} \@setplength{firstfootvpos}{\dim_eval:n {\paperheight -17mm}} \@setplength{firstfoothpos}{\useplength{firstheadhpos}} \@setplength{firstfootwidth}{\useplength{firstheadwidth}} -\@setplength{toaddrhpos}{\c_TuDa_LeftMargin_dim} +\@setplength{toaddrhpos}{\c_ptxcd_LeftMargin_dim} \@setplength{toaddrvpos}{50mm} \@setplength{backaddrheight}{4mm} \@setplength{toaddrindent}{0mm} -\@setplength{refhpos}{\c_TuDa_LeftMargin_dim} +\@setplength{refhpos}{\c_ptxcd_LeftMargin_dim} \@setplength{refvpos}{106mm} \@setplength{subjectaftervskip}{2\baselineskip} -\@setplength{lochpos}{\c_TuDa_HeadMargin_dim} +\@setplength{lochpos}{\c_ptxcd_HeadMargin_dim} \@setplength{locvpos}{\dimexpr\useplength{refvpos}+\useplength{subjectaftervskip}+1.4\baselineskip\relax} \@setplength{refaftervskip}{0pt} \@setplength{subjectbeforevskip}{0pt} -\@setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_TuDa_RightMargin_dim\relax} -\@setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_TuDa_BottomMargin_dim\relax} - - - -\dim_const:Nn \c_TuDa_firstpage_extraindent_dim {-\paperwidth+120mm +\c_TuDa_LeftMargin_dim +\c_TuDa_RightMargin_dim} - +\@setplength{locwidth}{\dimexpr\paperwidth-154,5mm -\c_ptxcd_HeadMargin_dim\relax} +\@setplength{locheight}{\dimexpr\paperheight-\useplength{locvpos}-\c_ptxcd_BottomMargin_dim\relax} \RequirePackage[paper=a4]{tudarules} - -\TUDa@makeheadrule[width=\useplength{firstheadwidth}, color=\TUDa@premiumcolor]{TuDa@LetterheadRule} -\TUDa@makefootrule[width=\useplength{firstheadwidth}]{TuDa@LetterfootRule} +\bool_if:NTF \g__ptxcd_letter_headrule_bool { + \ptxcd_makeheadrule[width=\useplength{firstheadwidth},color=identbarcolor]{ptxcd_LetterheadRule} +} { + \box_new:N \ptxcd_LetterheadRule_box + \def\ptxcd_LetterheadRule{} +} +\ptxcd_makefootrule[width=\useplength{firstheadwidth}]{ptxcd_LetterfootRule} \box_new:N \g_TUDaLetter_firsthead_box \hbox_gset:Nn \g_TUDaLetter_firsthead_box { - \parbox{\useplength{firstheadwidth}}{ + \parbox[t]{\useplength{firstheadwidth}}{ \raggedleft - \smash{\TuDa@LetterheadRule}\par - \vspace{.5\c_TUDa_logoheight_dim} - \makebox[2.2\c_TUDa_logoheight_dim][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}} + \smash{\ptxcd_LetterheadRule} + \par + \vspace{.5\c_ptxcd_logoheight_dim} + \makebox[2.2\c_ptxcd_logoheight_dim][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}} } } +\box_gset_dp:Nn \g_TUDaLetter_firsthead_box {\c_zero_dim} \setkomavar{firsthead}{ \box_use:N \g_TUDaLetter_firsthead_box } @@ -167,21 +196,25 @@ \newkomavar{frominstitution} \newkomavar{frominstitution-en} -\newkomafont{TUDa_location}{\accentfont\normalcolor} +\newkomafont{ptxcd_location}{\accentfont\normalcolor} \setkomafont{fromname}{\small} -\newkomafont{TUDa_frominst}{\small\TUDa@use@premiumcolor@text} +\newkomafont{ptxcd_frominst}{\small\ptxcd_use_premiumcolor_text: } \setkomafont{fromaddress}{\footnotesize} \setkomafont{refname}{} \setkomafont{refvalue}{} +\setkomafont{pageheadfoot}{\footnotesize} \newcommand{\TUD@locfield}{% - \usekomafont{TUDa_location}\usekomafont{fromaddress} + \usekomafont{ptxcd_location}\usekomafont{fromaddress} \setparsizes{\z@}{\z@}{\z@ plus 1fil} \par@updaterelative \begingroup - \usekomafont{TUDa_frominst} + \int_compare:nT {0 < \@pageat <3} { + \ptxcd_letterpagemark:\\[\baselineskip] + } + \usekomafont{ptxcd_frominst} \Ifkomavarempty{frominstitution}{}{% {\usekomavar[\raggedright]{frominstitution}} \\[\baselineskip]}% @@ -206,7 +239,7 @@ \vspace{2\baselineskip} \fi \Ifkomavarempty*{date}{}{\usekomavar*{date}\\\usekomavar{date}} - \seq_use:Nn \g_TUDa_reffields_seq {} + \seq_use:Nn \g__ptxcd_reffields_seq {} \Ifkomavarempty{frombank}{}{\vfill% \Ifkomavarempty*{frombank}{Bankverbindung}{\usekomavar*{frombank}}\\\usekomavar{frombank} } @@ -214,14 +247,14 @@ \setkomavar{location}{\parbox[t][.45\paperheight][t]{\useplength{locwidth}}{\TUD@locfield}} -\tl_const:Nn \TUDa@reffield_separator_tl {\\} +\tl_const:Nn \ptxcd_reffield_separator_tl {\\} -\cs_new:Nn \TUDa@set@reffield:n { +\cs_new:Nn \ptxcd_set_reffield:n { \Ifkomavarempty{#1}{}{% \if@tempswa\\[\baselineskip]\fi \parbox[t]{\linewidth}{\noindent\raggedright \usekomafont{refname} - \usekomavar*{#1}\TUDa@reffield_separator_tl + \usekomavar*{#1}\ptxcd_reffield_separator_tl \usekomafont{refvalue} \usekomavar{#1} }% @@ -231,14 +264,16 @@ -\seq_new:N \g_TUDa_reffields_seq +\seq_new:N \g__ptxcd_reffields_seq \newlength{\TUD@page@free} \newcounter{TUD@page@free@lines} +\dim_new:N \g__ptxcd_page_free_dim +\int_new:N \g__ptxcd_free_lines_int \renewcommand{\opening}[1]{% \widowpenalty=100 \@PapersizeWarning - \seq_gclear:N \g_TUDa_reffields_seq + \seq_gclear:N \g__ptxcd_reffields_seq \renewcommand*{\@set@reffield}[1]{ \typeout{Field: ##1}% \str_if_eq:nnT {##1}{datemarkerfield}{% @@ -247,8 +282,8 @@ \setkomavar{date}{}% } \Ifkomavarempty{##1}{}{% - \seq_gput_right:Nn \g_TUDa_reffields_seq {% - \TUDa@set@reffield:n {##1} + \seq_gput_right:Nn \g__ptxcd_reffields_seq {% + \ptxcd_set_reffield:n {##1} }% }% } @@ -257,7 +292,7 @@ \removereffields \@gen@firsthead \@mkboth{\scr@fromname@var}{\scr@subject@var}% - \thispagestyle{empty}\noindent + \thispagestyle{letter.first}\noindent \Ifkomavarempty{toname}{\setkomavar{toname}{\mbox{}}}{} \@foldmarks\@firstheadfootfield\@addrfield\@locfield \ifdim\useplength{subjectvpos}=\z@\else\@subjfield\fi @@ -266,47 +301,43 @@ \ifdim\useplength{subjectvpos}=\z@\if@subjafter\else\@subjfield\fi\fi {\setparsizes{\z@}{\z@}{\z@ plus 1fil}\par@updaterelative#1\par}% {\setlength{\@tempdima}{\baselineskip}% - \addtolength{\@tempdima}{-\parskip}% - \ifdim \@tempdima>\z@\vskip\@tempdima\fi}% + \addtolength{\@tempdima}{-\parskip}% + \ifdim \@tempdima>\z@\vskip\@tempdima\fi}% \ifdim\useplength{subjectvpos}=\z@\if@subjafter\@subjfield\fi\fi \setcounter{equation}{0}% \@afterheading% \@nobreaktrue \@afterindentfalse - \everypar{% - \if@nobreak - \@nobreakfalse\clubpenalty\@M - \if@afterindent - \else{\setbox\z@\lastbox} + \bool_if:NT \g__ptxcd_adjust_textwidth_bool { + \everypar{% + \if@nobreak + \@nobreakfalse\clubpenalty\@M + \if@afterindent + \else{\setbox\z@\lastbox} + \fi + \else + \clubpenalty\@clubpenalty \fi - \else - \clubpenalty \@clubpenalty - \fi - %TODO: ifdum < 2 \baselineskip - \ifnum\thepage=1% - \TUD@page@free=-\pagegoal% - \advance\TUD@page@free\pagetotal% - \dim_compare:nTF {-\TUD@page@free>2\baselineskip} - { - \bool_if:NF \g_TUDaletter_logo_bool { - \advance\TUD@page@free-.3\baselineskip - } - \divide\TUD@page@free\baselineskip% - \c@TUD@page@free@lines=\TUD@page@free% - \int_compare:nT {\value{TUD@page@free@lines}<0} { - \hangafter=\value{TUD@page@free@lines}\hangindent=\c_TuDa_firstpage_extraindent_dim% + \ifnum\thepage=1% + \dim_gset:Nn \g__ptxcd_page_free_dim {-\pagegoal + \pagetotal} + \dim_compare:nTF {-\g__ptxcd_page_free_dim>2\baselineskip} + { + \int_gset:Nn \g__ptxcd_free_lines_int {\fp_eval:n {ceil(\g__ptxcd_page_free_dim/\baselineskip)}} + \int_compare:nT {\g__ptxcd_free_lines_int<0} { + \hangafter=\g__ptxcd_free_lines_int\hangindent=\c__ptxcd_firstpage_extraindent_dim% + } + } { + \dim_compare:nT {-\TUD@page@free>\baselineskip} { + \hangafter=-2\hangindent=\c__ptxcd_firstpage_extraindent_dim% } - } { - \dim_compare:nT {-\TUD@page@free>\baselineskip} { - \hangafter=-2\hangindent=\c_TuDa_firstpage_extraindent_dim% } - } - \fi% - }% - \global\setlength{\linewidth}{\dim_eval:n {\c_TuDa_Linewidth_dim + \c_TuDa_firstpage_extraindent_dim}} - \afterpage{ - \global\setlength{\linewidth}{\c_TuDa_Linewidth_dim} - \widowpenalty=10000 + \fi% + }% + \global\setlength{\linewidth}{\dim_eval:n {\c_ptxcd_Linewidth_dim + \c__ptxcd_firstpage_extraindent_dim}} + \afterpage{ + \global\setlength{\linewidth}{\c_ptxcd_Linewidth_dim} + \widowpenalty=10000 + } } } @@ -314,27 +345,26 @@ \raggedbottom% } -\setkomafont{backaddress}{\accentfont\tiny\TUDa@use@premiumcolor@text\raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}{\rule{\z@}{4mm}}} -\setkomafont{pagenumber}{\tiny} +\setkomafont{backaddress}{\accentfont\tiny\ptxcd_use_premiumcolor_text:\raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}{\rule{\z@}{4mm}}} \raggedbottom -\int_new:N \l_TUDa_letter_lastpage_int -\newcommand*{\TUDa@letterpagemark}{ +\int_new:N \l_ptxcd_letter_lastpage_int +\cs_new:Nn \ptxcd_letterpagemark: { %get lastpage for this letter if not already done \int_compare:nTF {\value{page} = 1} { - \bool_if:NTF \g_TUDa_firstpagenumber_bool + \bool_if:NTF \g__ptxcd_firstpagenumber_bool {\bool_set_true:N \l_tmpa_bool} {\bool_set_false:N \l_tmpa_bool} } {\bool_set_true:N \l_tmpa_bool} \bool_if:NT \l_tmpa_bool { - \int_if_exist:cF {c_TUDa_letter\thisletter _lastpage_int} { + \int_if_exist:cF {c_ptxcd_letter\thisletter _lastpage_int} { \expandafter\ifx\csname r@\thisletter.lastpage\endcsname\relax %warning -> rerun latex - \int_const:cn {c_TUDa_letter\thisletter _lastpage_int} {0} + \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} {0} \else - \int_const:cn {c_TUDa_letter\thisletter _lastpage_int} { + \int_const:cn {c_ptxcd_letter\thisletter _lastpage_int} { \cs_if_exist:NTF \hypersetup {\exp_args:NNc \expandafter \@secondoffive { r@\thisletter.lastpage}} {\exp_args:NNc \expandafter \use_ii:nn { r@\thisletter.lastpage}} @@ -343,92 +373,84 @@ } \usekomafont{pagenumber}\pagename\nobreakspace\thepage \int_compare:nT { - \int_use:c {c_TUDa_letter\thisletter _lastpage_int} + \int_use:c {c_ptxcd_letter\thisletter _lastpage_int} > 1 - } {/\int_to_arabic:n{\int_use:c {c_TUDa_letter\thisletter _lastpage_int}}} + } {/\int_to_arabic:n{\int_use:c {c_ptxcd_letter\thisletter _lastpage_int}}} } } -\setkomavar{nextfoot}{ - \parbox{\useplength{firstfootwidth}}{\usekomafont{pagefoot} - \raggedleft\TuDa@LetterfootRule\par\TUDa@letterpagemark} -} -\setkomavar{firstfoot}{ - \usekomavar{nextfoot} +\setkomavar{firstfoot}{\usekomavar{nextfoot}} + +\setkomavar{nextfoot}{% + \ifnum\@pageat>2 + \parbox[c]{\layerwidth}{% + \ifcase\@pageat\or\or\or\raggedright\or\centering\or\raggedleft\fi + \strut\pagemark% + }% + \fi } -%pagestyle -\RequirePackage{scrlayer} - -\bool_if:NTF \g_TUDaletter_logo_bool { - \DeclareNewLayer[ - background, - align=tl, - hoffset=\useplength{firstheadhpos}, - voffset=\useplength{firstheadvpos}, - width=\box_wd:N \g_TUDaLetter_firsthead_box, - height=\box_ht:N \g_TUDaLetter_firsthead_box, - contents={\box_use:N \g_TUDaLetter_firsthead_box} - ]{letter.head} -}{ - \DeclareNewLayer[ - background, - align=tl, - hoffset=\useplength{firstheadhpos}, - voffset=\useplength{firstheadvpos}, - %TODO: replace leiste logo=? - width=\box_wd:N \TuDa@LetterheadRule_box, - height=\box_ht:N \TuDa@LetterheadRule_box, - contents=\TuDa@LetterheadRule - ]{letter.head} +\cs_set_eq:NN \letterpagemark \ptxcd_letterpagemark: + + +\bool_if:NT \g__ptxcd_letter_headrule_bool { + \bool_if:NTF \g__ptxcd_letter_logo_bool { + \setkomavar{nexthead}{\raisebox{\topskip}{\box_use:N \g_TUDaLetter_firsthead_box}} + }{ + \setkomavar{nexthead}{\raisebox{\depth}{\ptxcd_LetterheadRule}} + } } -\DeclareNewLayer[ - background, - align=tl, - hoffset=\useplength{firstfoothpos}, - voffset=\useplength{firstfootvpos}, - width=\useplength{firstfootwidth}, - height=\baselineskip, - contents={\raisebox{\ht\strutbox}{\parbox[t]{\layerwidth}{\usekomavar{nextfoot}}}} -]{letter.foot} - -\RequirePackage{tikz} -\DeclareNewPageStyleByLayers{TUDaletter}{ - letter.head, letter.foot.rule, letter.foot +\newpairofpagestyles[letter]{TUDaLetter}{ + \exp_args:Nx \KOMAoptions{ + footwidth=\dimexpr\paperwidth-2\c_ptxcd_HeadMargin_dim \c_colon_str-\dim_eval:n {\c_ptxcd_HeadMargin_dim -1mm}, + headwidth=\dimexpr\paperwidth-2\c_ptxcd_HeadMargin_dim \c_colon_str-\dim_eval:n {\c_ptxcd_HeadMargin_dim -1mm}, + footsepline=.5\c_ptxcd_smallrule_dim,plainfootsepline + } + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{TUDaLetter.head.even} + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{TUDaLetter.head.odd} + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{TUDaLetter.head.oneside} + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{plain.TUDaLetter.head.even} + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{plain.TUDaLetter.head.odd} + \ModifyLayer[voffset=\c_ptxcd_HeadMargin_dim,align=tl]{plain.TUDaLetter.head.oneside} + \lehead{\usekomavar{nexthead}}% + \lohead{\usekomavar{nexthead}}% + \lefoot{\usekomavar{nextfoot}}% + \lofoot{\usekomavar{nextfoot}}% } -\DeclarePageStyleAlias{letter}{TUDaletter} -\DeclarePageStyleAlias{plain.letter}{TUDaletter} +\DeclarePageStyleByLayers{TUDaLetter.first}{TUDaLetter.foot.even,TUDaLetter.foot.odd,TUDaLetter.foot.oneside,TUDaLetter.foot.above.line} +\pagestyle{TUDaLetter} -\pagestyle{plain.letter} +\DeclarePageStyleAlias{letter.first}{TUDaLetter.first} +\def\letterpagestyle{TUDaLetter} %pdfa -\if_bool:N \g_TUDa@pdfa_bool +\if_bool:N \g_ptxcd_pdfa_bool \PassOptionsToPackage{a-2b}{pdfx} \RequirePackage{pdfx} %%hyperref \hypersetup{hidelinks, unicode} -\iow_new:N \TUDa@xmpdata_stream -\tl_new:N \g_TUDa@xmp_title -\tl_new:N \g_TUDa@xmp_author +\iow_new:N \ptxcd_xmpdata_stream +\tl_new:N \g_ptxcd_xmp_title +\tl_new:N \g_ptxcd_xmp_author -\cs_new:Nn \TUDa_pass_TitleData: { - \prop_if_empty:NF \g_TUDa_MetaData_prop { - \iow_open:Nn \TUDa@xmpdata_stream {\jobname.xmpdata} +\cs_new:Nn \ptxcd_pass_TitleData: { + \prop_if_empty:NF \g_ptxcd_MetaData_prop { + \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata} \begingroup \def\newline{} \def\\{} \let\thanks\use_none:n \cs_set:Npn \and {\exp_not:N \sep} \use:c {pdfx@localcommands} - \prop_map_function:NN \g_TUDa_MetaData_prop \TUDa_write_xmp_line:nn + \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn \endgroup - \iow_close:N \TUDa@xmpdata_stream + \iow_close:N \ptxcd_xmpdata_stream } } -\cs_new:Nn \TUDa_write_xmp_line:nn { +\cs_new:Nn \ptxcd_write_xmp_line:nn { %Fallback test for older kernels \cs_if_exist:NTF \str_uppercase:f { \tl_set:Nx \l_tmpa_tl { @@ -440,24 +462,24 @@ \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}} } \cs_if_exist:cTF {\l_tmpa_tl}{ - \iow_now:Nx \TUDa@xmpdata_stream { + \iow_now:Nx \ptxcd_xmpdata_stream { \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}} } }{ - \msg_error:nnn {TUDapub} {unknown-metadata} {#1} + \msg_error:nnn{tudaletter} {unknown-metadata} {#1} } } -\bool_new:N \g_TUDa_pass_TitleData_bool -\bool_gset_true:N \g_TUDa_pass_TitleData_bool -\prop_new:N \g_TUDa_MetaData_prop +\bool_new:N \g_ptxcd_pass_TitleData_bool +\bool_gset_true:N \g_ptxcd_pass_TitleData_bool +\prop_new:N \g_ptxcd_MetaData_prop \newcommand*{\Metadata}[1]{ - \bool_gset_false:N \g_TUDa_pass_TitleData_bool - \prop_gset_from_keyval:Nn \g_TUDa_MetaData_prop {#1} + \bool_gset_false:N \g_ptxcd_pass_TitleData_bool + \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1} } -\msg_new:nnnn {TUDapub} {unknown-metadata} { +\msg_new:nnnn{tudaletter} {unknown-metadata} { You~ used~ the~ #1~ metadata~ entry.\\ I~ don't~ know~ how~ to~ handle~ that.\\ It~ will~ be~ ignored. @@ -486,11 +508,12 @@ \newkomavar{fromfunction} -\bool_if:NT \g_TUDa_raggedright_bool {\AtBeginLetter{\RaggedRight}} +\bool_if:NT \g__ptxcd_letter_raggedright_bool {\AtBeginLetter{\RaggedRight}} %backwards compatibility for KOMA-Script \cs_if_exist:NF \Ifkomavarempty{ \let\Ifkomavarempty\ifkomavarempty } +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} \endinput diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo b/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo index 6c58267307f..831defc19a2 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudalettersize10pt.clo @@ -1,4 +1,4 @@ -%% This is file `tudalettersize10pt.clo' version 2.11 (2020/06/12), +%% This is file `tudalettersize10pt.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} %% This is file `tudalettersize10pt.clo' version 1.0 (2018/12/12), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg b/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg new file mode 100644 index 00000000000..d3bf8ed08a5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudamecheng.cfg @@ -0,0 +1,263 @@ +%% This is file `tudamecheng.cfg' version 3.00 (2020/09/08), +%% it is part of +%% TUDa-CI -- Corporate Design for TU Darmstadt +%% ---------------------------------------------------------------------------- +%% +%% Copyright (C) 2018--2020 by Marei Peischl +%% +%% ============================================================================ +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3c +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of LaTeX +%% version 2008/05/04 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainers of this work are +%% Marei Peischl +%% Markus Lazanowski +%% +%% The development respository can be found at +%% https://github.com/tudace/tuda_latex_templates +%% Please use the issue tracker for feedback! +%% +%% ============================================================================ +%% +\def\fileversion{3.00} +\def\filedate{2020/09/08} +\RequirePackage{expl3} +\ProvidesExplFile{tudamecheng.cfg} +{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)} + +\RequirePackage{pgf} + +\cs_new:Nn \ptxcd_mecheng_arrow:N { + \begin{pgfpicture} + \pgfsetbaseline{0} + \pgfsetcolor{TUDa-Arrow} + \pgfsetrectcap + \str_if_eq:VnTF \c__ptxcd_base_str {leaflet} + {\pgfsetlinewidth{2\g_ptxcd_titlerule_dim}} + {\pgfsetlinewidth{2\c_ptxcd_smallrule_dim}} + \pgfpathmoveto{\pgfpointorigin} + \pgfpathlineto{\pgfpointpolar{174}{.05#1}} + \pgfpathlineto{\pgfpointpolar{186}{.05#1}} + \pgfpathclose + \pgfusepath{fill} + \pgfpathmoveto{\pgfpoint{-.04#1}{0}} + \pgfpathlineto{\pgfpoint{-#1}{0}} + \pgfusepath{stroke} + \end{pgfpicture} +} + +\NewDocumentCommand{\MechEngArrow}{sm}{ + \IfBooleanT{#1}{\begingroup\colorlet{TUDa-Arrow}{.}} + \dim_set:Nn \l_tmpa_dim {#2}\ptxcd_mecheng_arrow:N \l_tmpa_dim + \IfBooleanT{#1}{\endgroup} +} + +\box_new:N \g_ptxcd_footline_box +\hbox_gset:Nn \g_ptxcd_footline_box {\MechEngArrow{\textwidth}} + + +\RenewDocumentCommand{\ptxcd_makefootrule}{som}{ + \keys_set:nn {ptxcd/rules} { + width= \textwidth + } + \IfNoValueF {#2} {\keys_set:nn {ptxcd/rules}{#2}} + \IfBooleanF {#1} {\box_new:c {#3_box}} + \IfBooleanTF {#1} \use_none:n \hbox_gset:cn {#3_box} { + \raisebox{-\height}{\MechEngArrow{\l_ptxcd_headrule_width_dim}} + } + \IfBooleanF{#1} {\cs_new:cpn {#3} {\box_use:c {#3_box}}} +} + + +\str_if_eq:VnT \c__ptxcd_base_str {pub} { + \cs_set:Nn \ptxcd_setup_sponsor_box: { + \hbox_gset:Nn \g_ptxcd_sponsor_box { + \def\height{\dimexpr.8\c_ptxcd_logoheight_dim\relax} + \parbox[t]{\textwidth}{ + \bool_if:nF {\seq_if_empty_p:N \g_ptxcd_sponsors_seq && \tl_if_empty_p:N \@sponsors} { + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip + \vspace{\dimexpr.1\c_ptxcd_logoheight_dim-\c_ptxcd_smallrule_dim} + } + \seq_use:Nn \g_ptxcd_sponsors_seq {\hfill} + \ifhmode + \par + \nointerlineskip + \addvspace{.1\c_ptxcd_logoheight_dim} + \fi + \ifx\@sponsors\@empty + \else + \@sponsors\par + \nointerlineskip\addvspace{.1\c_ptxcd_logoheight_dim} + \fi + + \smash{\MechEngArrow{\linewidth}} + \\[\c_ptxcd_rulesep_dim] + \usekomafont{pagefoot}\includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl} + } + } + } + + \renewcommand*{\sectionformat}{\color{TUDa-Primary2}\thesection\autodot\enskip} + + \if@titlepage + \titlehead{\rule{0pt}{\c_ptxcd_logoheight_dim}} + \fi +} + +\str_case:VnT \c__ptxcd_base_str { + {pub} {} + {exercise} {} +} { + + \addtokomafont{footsepline}{\color{accentcolor}} + + \newpairofpagestyles[TUDa.\c__ptxcd_base_str]{TUDa.mecheng}{ + \KOMAoptions{plainfootsepline,footsepline=5pt} + \ptxcd_makeheadrule[color=TUDa-Primary1, width=\sls@headwidth]{ptxcd_headrule} + + \ModifyLayer[ + contents=\smash{\ptxcd_headrule} + ]{TUDa.mecheng.head.above.line} + \ModifyLayer[ + contents=\smash{\ptxcd_headrule} + ]{plain.TUDa.mecheng.head.above.line} + + + \ModifyLayer[ + contents={ + \dim_compare:nF {\box_wd:N \g_ptxcd_footline_box=\layerwidth} { + \hbox_gset:Nn \g_ptxcd_footline_box {\MechEngArrow{\layerwidth}} + } + \smash{\box_use:N \g_ptxcd_footline_box} + } + ]{TUDa.mecheng.foot.above.line} + + \ModifyLayer[ + contents={ + \dim_compare:nF {\box_wd:N \g_ptxcd_footline_box=\layerwidth} { + \hbox_gset:Nn \g_ptxcd_footline_box {\MechEngArrow{\layerwidth}} + } + \smash{\box_use:N \g_ptxcd_footline_box} + } + ]{plain.TUDa.mecheng.foot.above.line} + + \clearpairofpagestyles + \cfoot[\pagemark]{\pagemark} + \tl_if_empty:NF \g_ptxcd_departmentlogo_tl { + \lefoot[{\raisebox{-\height}[0pt][0pt]{\includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl}}}]{\raisebox{-\height}[0pt][0pt]{\includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl}}} + \lofoot[{\raisebox{-\height}[0pt][0pt]{\includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl}}}]{\raisebox{-\height}[0pt][0pt]{\includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl}}} + } + } + \DeclarePageStyleAlias{TUDa}{TUDa.mecheng} + \DeclarePageStyleAlias{plain.TUDa}{plain.TUDa.mecheng} + \pagestyle{TUDa} +} + + +\str_if_eq:VnT \c__ptxcd_base_str {sciposter} { + \cs_set:Nn \__ptxcd_typeset_footer: { + \coordinate(lastpos) at (bottomright); + \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl + { + \node[anchor=south~east, inner~sep=\z@] (qrcode)at (lastpos) + { + \exp_args:NnV \use:n {\qrcode[height=\dim_use:N \g_ptxcd_footheight_dim]}\g_ptxcd_poster_qrcode_tl + }; + \coordinate (lastpos) at (qrcode.south~west); + } + \box_if_empty:NF \g_ptxcd_footergraphics_box { + \node[anchor=south~east, inner~sep=\z@] at (lastpos) { + \accentfont + \box_use:N \g_ptxcd_footergraphics_box + }; + } + \node[anchor=south~west,inner~sep=\z@] (footerarrow) at ([yshift=\g_ptxcd_footheight_dim]bottomleft) {\MechEngArrow{\contentwidth}}; + \node[anchor=north~west,inner~sep=\z@] (departmentlogo) at ([yshift=\g_ptxcd_footheight_dim]bottomleft) + {\includegraphics[width=\dimexpr2\linewidth/7]{\g_ptxcd_departmentlogo_tl}}; + \node[anchor=south~west,inner~sep=\z@] (infofooter) at (footerarrow.north~west) { + \parbox{\contentwidth}{ + \accentfont\small\g_ptxcd_poster_foot_tl + \par\medskip + \let\footnotetext\ptxcd_title@footnote + \g_ptxcd_thanks_tl} + }; + } +} + +\str_if_eq:VnT \c__ptxcd_base_str {poster} { + \ModifyLayer[ + clone=TUDa.poster.qrcode, + align=bl, + hoffset=\g_ptxcd_margin_dim, + width=\paperwidth-2\g_ptxcd_margin_dim, + height=\g_ptxcd_footheight_dim, + contents={ + \usekomafont{pagefoot} + \bool_if:NTF \g_ptxcd_poster_foot_bool { + \put(0,\LenToUnit{\g_ptxcd_qrcode_dim+\g_ptxcd_footheight_dim}){\rlap{\rule{\dimexpr\paperwidth-2\g_ptxcd_margin_dim}{.5\c_ptxcd_smallrule_dim}}} + \put(0,\LenToUnit{\g_ptxcd_qrcode_dim+.5\g_ptxcd_footheight_dim}) { + \parbox[c][\g_ptxcd_footheight_dim][c]{\layerwidth}{\strut\g_ptxcd_poster_foot_tl\strut}} + \put(0,\LenToUnit{1.2\g_ptxcd_qrcode_dim}){\rlap{\ptxcd_makefootrule*[width=\dimexpr\paperwidth-2\g_ptxcd_margin_dim, color=identbarcolor]{TUDa@footrule}}} + \putLL{ + \includegraphics[width=\dimexpr2\linewidth/7]{\g_ptxcd_departmentlogo_tl} + } + }{ + \put(0,\LenToUnit{1.2\g_ptxcd_qrcode_dim}){\rlap{\ptxcd_makefootrule*[width=\dimexpr\paperwidth-2\g_ptxcd_margin_dim, color=identbarcolor]{TUDa@footrule}}} + \putLL{ + \includegraphics[width=\dimexpr2\linewidth/7]{\g_ptxcd_departmentlogo_tl} + } + } + } + ]{TUDa.poster.footer} + + \dim_set:Nn \g_ptxcd_footheight_dim {\dim_max:nn {2\g_ptxcd_footheight_dim} {1.5\baselineskip}} + \geometry{bottom=\dim_eval:n {\g_ptxcd_footheight_dim+\footskip+\g_ptxcd_margin_dim}} +} + +\str_if_eq:VnT \c__ptxcd_base_str {letter} { + \setkomavar{nextfoot}{ + \raisebox{-\height}[0pt][0pt]{ + \parbox{\useplength{firstfootwidth}}{ + \usekomafont{pagefoot} + \includegraphics[width=1.4\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl}\\ + \MechEngArrow{\l_ptxcd_headrule_width_dim} + } + } + } + + \setkomavar{nexthead}{} + \newpairofpagestyles[TUDaLetter]{TUDaLetter.mecheng}{ + \KOMAoptions{footsepline=false,pagenumber=topright} + \clearpairofpagestyles + \lehead{\usekomavar{nexthead}}% + \lohead{\usekomavar{nexthead}}% + \lefoot{\usekomavar{nextfoot}}% + \lofoot{\usekomavar{nextfoot}}% + \rehead[\pagemark]{\pagemark} + \rohead[\pagemark]{\pagemark} + } + + \DeclarePageStyleByLayers{TUDaLetter.mecheng.first}{TUDaLetter.mecheng.foot.even,TUDaLetter.mecheng.foot.odd,TUDaLetter.mecheng.foot.oneside,TUDaLetter.mecheng.foot.above.line} + \DeclarePageStyleAlias{letter.first}{TUDaLetter.mecheng.first} + + \def\letterpagestyle{TUDaLetter.mecheng} + \geometry{bottom=\dimexpr\c_ptxcd_BottomMargin_dim+10mm} +} + +\str_if_eq:VnT \c__ptxcd_base_str {leaflet} { + \ModifyLayer[ + contents={\raisebox{-\height}[0pt][0pt]{\parbox{\layerwidth}{ + \leavevmode\box_use:N \ptxcd_footrule_box\\[\c_ptxcd_rulesep_dim] + \includegraphics[width=\c_ptxcd_logoheight_dim]{\g_ptxcd_departmentlogo_tl} + }}} + ]{TUDa.flyer.footline} +} + +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls index 403abef8e78..81581aa1bf8 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaposter.cls @@ -1,4 +1,4 @@ -%% This is file `tudaposter.cls' version 2.11 (2020/06/12), +%% This is file `tudaposter.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,52 +26,55 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt} \RequirePackage{l3keys2e} -\bool_new:N \g_TUDa_logo@inhead_bool -\dim_new:N \g_TUDa_margin_dim -\int_new:N \g_TUDa_paper_int -\int_new:N \g_TUDa_postertype_int +\bool_new:N \g_ptxcd_logo_inhead_bool +\dim_new:N \g_ptxcd_margin_dim +\int_new:N \g_ptxcd_paper_int +\int_new:N \g_ptxcd_postertype_int +\str_new:N \g_ptxcd_department_str -\keys_define:nn {TUDa/poster} { +\str_const:Nn \c__ptxcd_base_str {poster} + +\keys_define:nn {ptxcd/poster} { accentcolor .code:n = {\PassOptionsToPackage{accent=#1}{tudacolors}}, color .code:n = {\PassOptionsToPackage{color=#1}{tudacolors}}, textaccentcolor .code:n = {\PassOptionsToPackage{textaccent=#1}{tudacolors}}, identbarcolor .code:n = {\PassOptionsToPackage{identbar=#1}{tudacolors}}, logo .choice:, - logo / head .code:n = {\bool_gset_true:N \g_TUDa_logo@inhead_bool}, - logo / body .code:n = {\bool_gset_false:N \g_TUDa_logo@inhead_bool}, - logo / top .code:n = {\bool_gset_true:N \g_TUDa_logo@inhead_bool}, - logo / bottom .code:n = {\bool_gset_false:N \g_TUDa_logo@inhead_bool}, + logo / head .code:n = {\bool_gset_true:N \g_ptxcd_logo_inhead_bool}, + logo / body .code:n = {\bool_gset_false:N \g_ptxcd_logo_inhead_bool}, + logo / top .code:n = {\bool_gset_true:N \g_ptxcd_logo_inhead_bool}, + logo / bottom .code:n = {\bool_gset_false:N \g_ptxcd_logo_inhead_bool}, logo .initial:n = {head}, - footer .bool_gset:N = \g_TUDa_poster_foot_bool, + footer .bool_gset:N = \g_ptxcd_poster_foot_bool, footer .default:n = true, footer .initial:n = false, - footheight .dim_gset:N = \g_TUDa_footheight_dim, + footheight .dim_gset:N = \g_ptxcd_footheight_dim, paper .choices:nn = {a0,a1,a2,a3,a4}{ - \int_gset_eq:NN \g_TUDa_paper_int \l_keys_choice_int + \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int \PassOptionsToPackage{paper=\l_keys_choice_tl}{tudarules} - \tl_gset_eq:NN \g_TUDa_paper_tl \l_keys_choice_tl + \tl_gset_eq:NN \g_ptxcd_paper_tl \l_keys_choice_tl }, fontsize .choice:, - fontsize / auto .code:n = \tl_gclear:N \g_TUDa_fontsize_tl, - fontsize / unknown .code:n = {\@defaultunits\@tempdima#1pt\relax\@nnil \tl_gset:Nx \g_TUDa_fontsize_tl {\the\@tempdima}}, + fontsize / auto .code:n = \tl_gclear:N \g_ptxcd_fontsize_tl, + fontsize / unknown .code:n = {\@defaultunits\@tempdima#1pt\relax\@nnil \tl_gset:Nx \g_ptxcd_fontsize_tl {\the\@tempdima}}, fontsize .initial:n = auto, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, type .choice:, type / default .code:n = { - \int_gset:Nn \g_TUDa_postertype_int {1} + \int_gset:Nn \g_ptxcd_postertype_int {1} }, type / announcement .code:n = { - \int_gset:Nn \g_TUDa_postertype_int {2} - \keys_set:nn {TUDa/poster}{ + \int_gset:Nn \g_ptxcd_postertype_int {2} + \keys_set:nn {ptxcd/poster}{ marginpar=true, indenttext=false,%allow overwrite - check default logo=head, @@ -80,25 +83,36 @@ } }, type .initial:n = default, - indenttext .bool_gset:N = \g_TUDa_indenttext_bool, + indenttext .bool_gset:N = \g_ptxcd_indenttext_bool, indenttext .initial:n = false, indenttext .default:n = true, - marginpar .bool_gset:N = \g_TUDa_marginpar_bool, + marginpar .bool_gset:N = \g_ptxcd_marginpar_bool, marginpar / auto .meta:n = {marginpar = true} , marginpar .default:n = true, marginpar .initial:n = false, title .choice:, title / default .meta:n = {title=large}, - title / large .code:n = \bool_gset_false:N \g_TUDa_smalltitle_bool, - title / small .code:n = \bool_gset_true:N \g_TUDa_smalltitle_bool, + title / large .code:n = \bool_gset_false:N \g_ptxcd_smalltitle_bool, + title / small .code:n = \bool_gset_true:N \g_ptxcd_smalltitle_bool, title .initial:n = default, - colorsubtitle .bool_gset:N = \g_TUDa_colorsubtitle_bool, + colorback .bool_gset:N = \g_ptxcd_colorback_bool, + colorback .initial:n = true, + colorsubtitle .bool_gset:N = \g_ptxcd_colorsubtitle_bool, colorsubtitle .default:n = true, colorsubtitle .initial:n = false, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/poster} {colorback=false, departmentlogofile=tuda_maschinenbau_logo} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, } - -\ProcessKeysOptions{TUDa/poster} +\ProcessKeysOptions{ptxcd/poster} \ExplSyntaxOff \LoadClass[parskip=half-]{scrartcl} @@ -106,32 +120,34 @@ \RequirePackage{scrlayer-notecolumn} \ExplSyntaxOn -\tl_if_empty:NT \g_TUDa_paper_tl {\keys_set:nn {TUDa/poster} {paper=a0}} +\tl_if_empty:NT \g_ptxcd_paper_tl {\keys_set:nn {ptxcd/poster} {paper=a0}} -\bool_if:NTF \g_TUDa_smalltitle_bool { - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_title_sizes: - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_base_sizes: +\bool_if:NTF \g_ptxcd_smalltitle_bool { + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_title_sizes: + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_base_sizes: }{ - \int_gdecr:N \g_TUDa_paper_int - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_title_sizes: - \TUDa_setup_base_sizes: + \int_gdecr:N \g_ptxcd_paper_int + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_title_sizes: + \ptxcd_setup_base_sizes: } -\setkomafont{title}{\color{textonaccentcolor}\expandafter\fontsize\TUDa_title_fontsize:\selectfont} -\setkomafont{subtitle}{\expandafter\fontsize\TUDa_titleinfo_fontsize:\selectfont} -\newkomafont{titleinfo}{\expandafter\fontsize\TUDa_titleinfo_fontsize:\selectfont} +\setkomafont{title}{ + \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} \ExplSyntaxOff -\KOMAoptions{fontsize=\csname g_TUDa_fontsize_tl\endcsname} +\KOMAoptions{fontsize=\csname g_ptxcd_fontsize_tl\endcsname} \ExplSyntaxOn \RequirePackage{tudafonts} \renewcommand*{\familydefault}{\sfdefault} -\RequirePackage[paper=\g_TUDa_paper_tl,mode=tikz]{tudarules} +\RequirePackage[paper=\g_ptxcd_paper_tl,mode=tikz]{tudarules} \RequirePackage{tudacolors} \RequirePackage{qrcode} @@ -141,14 +157,12 @@ \newlength{\contentwidth} -\setlength{\contentwidth}{\dimexpr\paperwidth-2\g_TUDa_margin_dim} +\setlength{\contentwidth}{\dimexpr\paperwidth-2\g_ptxcd_margin_dim} -\TUDa@makeheadrule[width=\contentwidth, color=identbarcolor]{TUDa@posterrule} - -\TUDa@makefootrule[width=\contentwidth, color=identbarcolor]{TUDa@smallrule} +\ptxcd_makeheadrule[width=\contentwidth, color=identbarcolor]{ptxcd_headrule} %%%%%%%%%%%%%%%%%%%%%% -\int_case:nn {\g_TUDa_postertype_int} +\int_case:nn {\g_ptxcd_postertype_int} { {1} {} {2} { @@ -158,140 +172,130 @@ %%%%%%%%%%%%%%%%%%%%%% %marginpar option -\dim_new:N \g_TUDa_marginpar_dim +\dim_new:N \g_ptxcd_marginpar_dim %%%%%%%%%%%%%%%%%%%%%% -\dim_new:N \g_TUDa_titleindent_dim +\dim_new:N \g_ptxcd_titleindent_dim \begingroup -\expandafter\fontsize\TUDa_title_fontsize:\selectfont - \dim_gset:Nn \g_TUDa_titleindent_dim {.5ex} +\expandafter\fontsize\ptxcd_title_fontsize:\selectfont + \dim_gset:Nn \g_ptxcd_titleindent_dim {.5ex} \endgroup -\dim_new:N \g_TUDa_columnSep_dim -\dim_gset:Nn \g_TUDa_columnSep_dim {1em} +\dim_new:N \g_ptxcd_columnSep_dim +\dim_gset:Nn \g_ptxcd_columnSep_dim {1em} \RequirePackage{geometry} \geometry{ - margin= \g_TUDa_margin_dim, + margin= \g_ptxcd_margin_dim, hmargin = \dim_eval:n { - \g_TUDa_margin_dim + - \bool_if:NTF \g_TUDa_indenttext_bool - {\g_TUDa_titleindent_dim} {0pt} + \g_ptxcd_margin_dim + + \bool_if:NTF \g_ptxcd_indenttext_bool + {\g_ptxcd_titleindent_dim} {0pt} }, top=\dim_eval:n { - \box_ht:N \TUDa@posterrule_box + \box_dp:N \TUDa@posterrule_box - + .5\c_TUDa_logoheight_dim - +\g_TUDa_margin_dim} + \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box + + .5\c_ptxcd_logoheight_dim + +\g_ptxcd_margin_dim} } -\bool_if:NTF \g_TUDa_marginpar_bool { - \dim_gset:Nn \g_TUDa_marginpar_dim {2.2\c_TUDa_logoheight_dim} +\bool_if:NTF \g_ptxcd_marginpar_bool { + \dim_gset:Nn \g_ptxcd_marginpar_dim {2.2\c_ptxcd_logoheight_dim} \geometry{ - includemp, marginpar=\g_TUDa_marginpar_dim, marginparsep=\g_TUDa_columnSep_dim, + includemp, marginpar=\g_ptxcd_marginpar_dim, marginparsep=\g_ptxcd_columnSep_dim, right = \dim_eval:n { - \g_TUDa_margin_dim + - \bool_if:nTF {\g_TUDa_indenttext_bool && !\g_TUDa_marginpar_bool} - {\g_TUDa_titleindent_dim} {0pt} + \g_ptxcd_margin_dim + + \bool_if:nTF {\g_ptxcd_indenttext_bool && !\g_ptxcd_marginpar_bool} + {\g_ptxcd_titleindent_dim} {0pt} }, } \KOMAoptions{mpinclude} }{ - \dim_gzero:N \g_TUDa_marginpar_dim + \dim_gzero:N \g_ptxcd_marginpar_dim \geometry{ nomarginpar, right = \dim_eval:n { - \bool_if:NT \g_TUDa_indenttext_bool - {\g_TUDa_titleindent_dim} - + \g_TUDa_margin_dim + \bool_if:NT \g_ptxcd_indenttext_bool + {\g_ptxcd_titleindent_dim} + + \g_ptxcd_margin_dim }, } \KOMAoptions{mpinclude=false} } -\bool_if:NT \g_TUDa_poster_foot_bool { - \dim_compare:nT {\g_TUDa_footheight_dim = 0pt} { - \dim_set:Nn \g_TUDa_footheight_dim +\bool_if:NT \g_ptxcd_poster_foot_bool { + \dim_compare:nT {\g_ptxcd_footheight_dim = 0pt} { + \dim_set:Nn \g_ptxcd_footheight_dim {1.5\baselineskip} } - \geometry{bottom=\dim_eval:n {\g_TUDa_footheight_dim+\footskip+\g_TUDa_margin_dim}} + \geometry{bottom=\dim_eval:n {\g_ptxcd_footheight_dim+\footskip+\g_ptxcd_margin_dim}} } %%%%%%%%%%%%%%%%%%%%%% -\dim_new:N \g_TUDa_qrcode_dim -\dim_gset:Nn \g_TUDa_qrcode_dim {.7\c_TUDa_logoheight_dim} +\dim_new:N \g_ptxcd_qrcode_dim +\dim_gset:Nn \g_ptxcd_qrcode_dim {.7\c_ptxcd_logoheight_dim} \DeclareNewLayer[ background, align=br, - width=\g_TUDa_qrcode_dim, - height=\g_TUDa_qrcode_dim, - hoffset=\paperwidth-\g_TUDa_margin_dim, - voffset=\paperheight-\g_TUDa_margin_dim, + width=\g_ptxcd_qrcode_dim, + height=\g_ptxcd_qrcode_dim, + hoffset=\paperwidth-\g_ptxcd_margin_dim, + voffset=\paperheight-\g_ptxcd_margin_dim, mode=picture, contents={% - \tl_if_empty:NF \g_TUDa_poster_qrcode_tl { - \let\width\g_TUDa_qrcode_dim - \let\height\g_TUDa_qrcode_dim - \g_TUDa_poster_qrcode_tl + \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} -\bool_if:NTF \g_TUDa_poster_foot_bool { - \DeclareNewLayer[ + +\DeclareNewLayer[ clone=TUDa.poster.qrcode, align=bl, - hoffset=\g_TUDa_margin_dim, - width=\paperwidth-2\g_TUDa_margin_dim, - height=\g_TUDa_footheight_dim, + hoffset=\g_ptxcd_margin_dim, + width=\paperwidth-2\g_ptxcd_margin_dim, + height=\g_ptxcd_footheight_dim, contents={ - \putUL{\rule{\layerwidth}{.5\c_TUDa_smallrule_dim}} - \put(0,0) { - \parbox[b][\g_TUDa_footheight_dim][c]{\layerwidth}{\strut\g_TUDa_poster_foot_tl\strut}} - \putLL{\rule{\layerwidth}{.5\c_TUDa_smallrule_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[ - clone=TUDa.poster.qrcode, - align=bl, - hoffset=\g_TUDa_margin_dim, - width=\paperwidth-2\g_TUDa_margin_dim, - height=0pt, - contents={\smash{\rule{\layerwidth}{.5\c_TUDa_smallrule_dim}}} - ]{TUDa.poster.footer} -} +]{TUDa.poster.footer} \DeclareNewLayer[ background,mode=picture, - width=\paperwidth-2\g_TUDa_margin_dim, - hoffset=\g_TUDa_margin_dim, - voffset=\g_TUDa_margin_dim+\box_ht:N \TUDa@posterrule_box + \box_dp:N \TUDa@posterrule_box, - contents={\color{accentcolor}\rule{\layerwidth}{\layerheight}} + width=\paperwidth-2\g_ptxcd_margin_dim, + hoffset=\g_ptxcd_margin_dim, + voffset=\g_ptxcd_margin_dim+\box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box, + contents=\bool_if:NT \g_ptxcd_colorback_bool {\color{accentcolor}\rule{\layerwidth}{\layerheight}}, ]{TUDa.poster.background} \DeclareNewLayer[ textarea, foreground, align=tr, - hoffset=\paperwidth-\g_TUDa_margin_dim, - width=2.2\c_TUDa_logoheight_dim, + hoffset=\paperwidth-\g_ptxcd_margin_dim, + width=2.2\c_ptxcd_logoheight_dim, height=.5\textheight, - contents={\box_use:N \g_TUDa_title_info_box} + contents={\box_use:N \g_ptxcd_title_info_box} ]{TUDa.poster.logo} \DeclareNewLayer[ clone=TUDa.poster.background, -% textarea, align=tl, - voffset=\g_TUDa_margin_dim, - height=\box_ht:N \TUDa@posterrule_box + \box_dp:N \TUDa@posterrule_box, + voffset=\g_ptxcd_margin_dim, + height=\box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box, mode=picture, - contents={ - \box_use:N \TUDa@posterrule_box - } + contents={\box_use:N \ptxcd_headrule_box} ]{TUDa.poster.rule} \DeclareNewLayer[ @@ -303,8 +307,8 @@ \pagestyle{TUDa.poster} -\dim_new:N \g_TUDa_titlegraphic_max_height_dim -\dim_new:N \g_TUDa_titleback_dim +\dim_new:N \g_ptxcd_titlegraphic_max_height_dim +\dim_new:N \g_ptxcd_titleback_dim \newcommand*{\titleinfo}[1]{\def\@titleinfo{#1}} \titleinfo{} @@ -312,88 +316,90 @@ \renewcommand*{\maketitle}{ \begingroup \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \bool_if:NT \g_TUDa_marginpar_bool - {\setlength{\linewidth}{\dim_eval:n {\textwidth+\g_TUDa_marginpar_dim + \marginparsep}}} - \vbox_gset:Nn \g_TUDa_title_box + \bool_if:NT \g_ptxcd_marginpar_bool + {\setlength{\linewidth}{\dim_eval:n {\textwidth+\g_ptxcd_marginpar_dim + \marginparsep}}} + \vbox_gset:Nn \g_ptxcd_title_box { \usesizeofkomafont{title} \parbox[t]{\linewidth}{ - \bool_if:NT \g_TUDa_smalltitle_bool {\raisebox{ - \dim_max:nn {0pt} {1.5\c_TUDa_logoheight_dim - \height} + \bool_if:NT \g_ptxcd_smalltitle_bool {\raisebox{ + \dim_max:nn {0pt} {1.5\c_ptxcd_logoheight_dim - \height} }} { - \begin{minipage}[b]{\bool_if:NT \g_TUDa_logo@inhead_bool {.75}\linewidth} + \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo_inhead_bool {.75}\linewidth} \leavevmode\par\nointerlineskip - \bool_if:NF \g_TUDa_indenttext_bool {\begin{addmargin}{\g_TUDa_titleindent_dim }} + \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_TUDa_indenttext_bool {\nointerlineskip\leavevmode}{\end{addmargin}} + \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_TUDa_indenttext_bool {\hspace*{-\g_TUDa_titleindent_dim}}\TUDa@smallrule\par + \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim}} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} + \par \nointerlineskip - \vspace{\c_TUDa_rulesep_dim} - \bool_if:NTF \g_TUDa_indenttext_bool {\begingroup}{\begin{addmargin}{\g_TUDa_titleindent_dim }} - \bool_if:NT \g_TUDa_colorsubtitle_bool {\color{textonaccentcolor}} + \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_TUDa_indenttext_bool {\endgroup} {\end{addmargin}} - \vspace{\c_TUDa_rulesep_dim} + \bool_if:NTF \g_ptxcd_indenttext_bool {\endgroup} {\end{addmargin}} + \vspace{\c_ptxcd_rulesep_dim} \par\nointerlineskip - \bool_if:NT \g_TUDa_indenttext_bool {\hspace*{-\g_TUDa_titleindent_dim} + \bool_if:NT \g_ptxcd_indenttext_bool {\hspace*{-\g_ptxcd_titleindent_dim} } } \nointerlineskip - \TUDa@smallrule + \rule{\linewidth}{\g_ptxcd_titlerule_dim} } } \endgroup - \TUDa_Setup_Title_box: - \dim_gset:Nn \g_TUDa_titleback_dim { - \bool_if:NT \g_TUDa_colorsubtitle_bool {\box_dp:N \g_TUDa_title_box}+ - \box_ht:N \g_TUDa_title_box+.5\c_TUDa_logoheight_dim + \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 } \ModifyLayer[ - height=\g_TUDa_titleback_dim + height=\g_ptxcd_titleback_dim ]{TUDa.poster.background} - \bool_if:NF \g_TUDa_logo@inhead_bool { + \bool_if:NF \g_ptxcd_logo_inhead_bool { \ModifyLayer[ - addvoffset=\g_TUDa_titleback_dim+\c_TUDa_smallrule_dim + addvoffset=\g_ptxcd_titleback_dim+\c_ptxcd_smallrule_dim ]{TUDa.poster.logo} } - \bool_if:NT \g_TUDa_logo@inhead_bool { - \dim_compare:nT {\box_ht:N \g_TUDa_title_info_box+ \box_dp:N \g_TUDa_title_info_box > \box_ht:N \g_TUDa_title_box} - {\msg_warning:nn {TUDaPoster} {infobox-too-high}} + \bool_if:NT \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}} } - \leavevmode\box_use:N \g_TUDa_title_box\par - \dim_set:Nn \g_TUDa_titlegraphic_max_height_dim {\textheight-\pagetotal} - \global\def\contentheight{\g_TUDa_titlegraphic_max_height_dim} + \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_TUDa_titlegraphic_box {\parbox[t]{\dim_eval:n {\paperwidth-2\g_TUDa_margin_dim}}{\@titlegraphic}} + \vbox_gset:Nn \g_ptxcd_titlegraphic_box {\parbox[t]{\dim_eval:n {\paperwidth-2\g_ptxcd_margin_dim}}{\@titlegraphic}} \par\nointerlineskip - \box_use:N \g_TUDa_titlegraphic_box + \box_use:N \g_ptxcd_titlegraphic_box } \DeclareLayer[ clone=TUDa.poster.marginpar, - height=\bool_if:NF \l_TUDa_marginpar_overlap_bool {-\box_ht:N \g_TUDa_titlegraphic_box-\box_dp:N \g_TUDa_titlegraphic_box} - +\textheight-\box_ht:N \g_TUDa_title_box-\box_dp:N \g_TUDa_title_box-.5\c_TUDa_logoheight_dim, - addvoffset=\bool_if:NF \l_TUDa_marginpar_overlap_bool {+\box_ht:N\g_TUDa_titlegraphic_box+\box_dp:N \g_TUDa_titlegraphic_box} - +\box_ht:N \g_TUDa_title_box+\box_dp:N \g_TUDa_title_box+.5\c_TUDa_logoheight_dim, + 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_TUDa_poster_qrcode_tl { - \ModifyLayer[addwidth=-\g_TUDa_qrcode_dim-\c_TUDa_rulesep_dim]{TUDa.poster.footer} + \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl { + \ModifyLayer[addwidth=-\g_ptxcd_qrcode_dim-\c_ptxcd_rulesep_dim]{TUDa.poster.footer} } \AddLayersToPageStyle{TUDa.poster.title}{TUDa.poster.marginpar.title} @@ -406,44 +412,39 @@ \let\@titleinfo\@empty } -\global\def\contentwidth{\linewidth} -\global\def\contentheight{\g_TUDa_titlegraphic_max_height_dim} - \def\@titlegraphic{} \newcommand{\titlegraphic}[1]{ \def\@titlegraphic{#1} } -\box_new:N \g_TUDa_titlegraphic_box +\box_new:N \g_ptxcd_titlegraphic_box -\seq_new:N \g_TUDa_title_info_seq +\seq_new:N \g_ptxcd_title_info_seq -\seq_gput_right:Nn \g_TUDa_title_info_seq { - \rlap{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}} +\seq_gput_right:Nn \g_ptxcd_title_info_seq { + \rlap{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}} } -\box_new:N \g_TUDa_title_info_box -\box_new:N \g_TUDa_title_box - -\colorlet{TUDa@InfoBoxColor}{white} +\box_new:N \g_ptxcd_title_info_box +\box_new:N \g_ptxcd_title_box -\cs_new:Nn \TUDa_make_title_info_box:n { +\cs_new:Nn \ptxcd_make_title_info_box:n { \usekomafont{titleinfo} \setlength{\fboxsep}{.2\baselineskip} - \colorbox{TUDa@InfoBoxColor}{\hspace*{\dimexpr.2\c_TUDa_logoheight_dim-\fboxsep}% - \parbox{2\c_TUDa_logoheight_dim}{ + \colorbox{InfoBox}{\hspace*{\dimexpr.2\c_ptxcd_logoheight_dim-\fboxsep}% + \parbox{2\c_ptxcd_logoheight_dim}{ \raggedright #1 }} } -\cs_new:Nn \TUDa_make_title_logo_box:n { +\cs_new:Nn \ptxcd_make_title_logo_box:n { \setlength{\fboxsep}{\z@}% - \parbox{2.2\c_TUDa_logoheight_dim}{ - \colorbox{TUDa@InfoBoxColor}{ + \parbox{2.2\c_ptxcd_logoheight_dim}{ + \colorbox{InfoBox}{ \rlap{ - \makebox[2.5\c_TUDa_logoheight_dim][r]{ - \colorbox{TUDa@InfoBoxColor}{#1\hspace{.3\c_TUDa_logoheight_dim}} + \makebox[2.5\c_ptxcd_logoheight_dim][r]{ + \colorbox{InfoBox}{#1\hspace{.3\c_ptxcd_logoheight_dim}} } } } @@ -451,20 +452,20 @@ } -\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_TUDa_title_info_seq {\TUDa_make_title_info_box:n {#1}}} +\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_ptxcd_title_info_seq {\ptxcd_make_title_info_box:n {#1}}} \NewDocumentCommand{\addTitleBoxLogo}{sm}{ \IfBooleanTF{#1}{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n {#2} + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n {#2} } }{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n { + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n { \hbox_set:Nn \l_tmpa_box { - \includegraphics[width=1.5\c_TUDa_logoheight_dim]{#2} + \includegraphics[width=1.5\c_ptxcd_logoheight_dim]{#2} } - \dim_set:Nn \l_tmpa_dim {2\c_TUDa_logoheight_dim/3} + \dim_set:Nn \l_tmpa_dim {2\c_ptxcd_logoheight_dim/3} \dim_compare:nTF {\box_ht:N \l_tmpa_box > \l_tmpa_dim} {\includegraphics[width=\l_tmpa_dim]{#2}} {\box_use:N \l_tmpa_box} @@ -473,44 +474,44 @@ } } -\cs_new:Nn \TUDa_Setup_Title_box: { - \hbox_gset:Nn \g_TUDa_title_info_box - {\parbox{2.2\c_TUDa_logoheight_dim}{ - \seq_use:Nn \g_TUDa_title_info_seq {\par\nointerlineskip\skip_vertical:n +\cs_new:Nn \ptxcd_Setup_Title_box: { + \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 \TUDa@posterrule_box + \box_dp:N \TUDa@posterrule_box + \box_ht:N \ptxcd_headrule_box + \box_dp:N \ptxcd_headrule_box } } }} } -\tl_new:N \g_TUDa_poster_foot_tl +\tl_new:N \g_ptxcd_poster_foot_tl \newcommand{\footer}[1]{ - \tl_gset:Nn \g_TUDa_poster_foot_tl {#1} + \tl_gset:Nn \g_ptxcd_poster_foot_tl {#1} } -\tl_new:N \g_TUDa_poster_qrcode_tl +\tl_new:N \g_ptxcd_poster_qrcode_tl \newcommand*{\footerqrcode}[1]{ - \tl_gset:Nn \g_TUDa_poster_qrcode_tl - {\raisebox{\depth}{\qrcode[height={\g_TUDa_qrcode_dim}]{#1}}} + \tl_gset:Nn \g_ptxcd_poster_qrcode_tl + {\raisebox{\depth}{\qrcode[height={\g_ptxcd_qrcode_dim}]{#1}}} } -\newcommand*{\footerqrcodeimg}[1]{\tl_gset:Nn \g_TUDa_poster_qrcode_tl {#1}} +\newcommand*{\footerqrcodeimg}[1]{\tl_gset:Nn \g_ptxcd_poster_qrcode_tl {#1}} \RedeclareSectionCommand[afterskip=1ex plus .2ex]{section} \RedeclareSectionCommand[afterskip=.2ex plus .2ex]{subsection} -\msg_new:nnn {TUDaPoster} {infobox-too-high} { +\msg_new:nnn{tudaposter} {infobox-too-high} { The~height~of~your~Infobox~exeeds~the~space~reserved~in~the~title~block.\\ You~should~probably~switch~to~logo=bottom~or~reduce~the~number/size~of~InfoBoxes. } -\keys_define:nn {TUDa/poster/marginparopts}{ - valign .tl_set:N = \l_TUDa_marginpar_valign_tl, +\keys_define:nn {ptxcd/poster/marginparopts}{ + valign .tl_set:N = \l_ptxcd_marginpar_valign_tl, valign .initial:n = t, - overlap .bool_set:N = \l_TUDa_marginpar_overlap_bool, + overlap .bool_set:N = \l_ptxcd_marginpar_overlap_bool, overlap .initial:n = false, overlap .default:n = true } @@ -521,16 +522,16 @@ \newcommand*{\infofont}{\accentfont\normalcolor\footnotesize} \DeclareTextFontCommand{\infotext}{\infofont} -\int_new:N \g_TUDa_marginpar_int +\int_new:N \g_ptxcd_marginpar_int \NewDocumentCommand{\SetMarginpar}{o+m}{ - \bool_if:NF \g_TUDa_marginpar_bool {\msg_warning:nn {TUDa/Poster} {marginpar-disabled}} - \IfNoValueF{#1}{\keys_set:nn {TUDa/poster/marginparopts} {#1}} - \ModifyLayer[addvoffset={-\ht\strutbox},contents={\parbox[t][\layerheight][\l_TUDa_marginpar_valign_tl]{\layerwidth}{#2}}]{TUDa.poster.marginpar} + \bool_if:NF \g_ptxcd_marginpar_bool {\msg_warning:nn {ptxcd/Poster} {marginpar-disabled}} + \IfNoValueF{#1}{\keys_set:nn {ptxcd/poster/marginparopts} {#1}} + \ModifyLayer[addvoffset={-\ht\strutbox},contents={\parbox[t][\layerheight][\l_ptxcd_marginpar_valign_tl]{\layerwidth}{#2\strut}}]{TUDa.poster.marginpar} \bool_set_true:N \l_tmpa_bool } -\msg_new:nnnn {TUDa/Poster} {marginpar-disabled} { +\msg_new:nnnn {ptxcd/Poster} {marginpar-disabled} { You~are~adding~data~to~the~marginpar~box,~though~marginpar option is set to false.\\ I~will~add~it,~but~cannot~ensure~the~position. } { @@ -538,4 +539,10 @@ See~the~TUDa-CI~documentation~for~further~information. } +\global\def\contentwidth{\linewidth} +\global\def\contentheight{\g_ptxcd_titlegraphic_max_height_dim} + +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} + + \endinput diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls index 700fbd0c6af..f42c0378918 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudapub.cls @@ -1,4 +1,4 @@ -%% This is file `tudapub.cls' version 2.11 (2020/06/12), +%% This is file `tudapub.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,168 +26,189 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplClass{tudapub} - {\filedate}{\fileversion}{Publications using TU Darmstadt's Coporate Design (TUDa-CI)} + {\filedate}{\fileversion}{Publications using TU Darmstadt's Corporate Design (TUDa-CI)} \RequirePackage{l3keys2e} \RequirePackage{URspecialopts} -\Define@specialopt@Module[TUDa/special] +\Define@specialopt@Module[ptxcd/pub] +\str_const:Nn \c__ptxcd_base_str {pub} +\tl_new:N \g_ptxcd_pub_class_tl +\tl_new:N \g_ptxcd_thesis_options_tl -\tl_new:N \g_TUDa_pub_class_tl -\tl_new:N \g_TUDa_thesis_options_tl +\prop_new:N \g_ptxcd_clsopts_prop +\prop_new:N \g_ptxcd_unknown_clsopts_prop +\prop_gput:Nnn \g_ptxcd_clsopts_prop {titlepage} {firstiscover} +\prop_gput:Nnn \g_ptxcd_clsopts_prop {captions} {nooneline} -\prop_new:N \g_TUDa_clsopts_prop -\prop_new:N \g_TUDa_unknown_clsopts_prop -\prop_gput:Nnn \g_TUDa_clsopts_prop {titlepage} {firstiscover} -\prop_gput:Nnn \g_TUDa_clsopts_prop {captions} {nooneline} - -\int_new:N \g_TUDa_ruledheaders_int -\int_new:N \g_TUDa_paper_int -\msg_new:nnnn {TUDa} {compatibility-only} { +\int_new:N \g_ptxcd_ruledheaders_int +\int_new:N \g_ptxcd_paper_int +\msg_new:nnnn {tudapub} {compatibility-only} { You~used~the~outdated~#1~option.\\ This~only~exists~due~to~compatibility~reasons. }{ Please~look~at~tuda-ci~documentation~for~further~information~and~avoid~using~outdated~options. } -\bool_new:N \g_TUDa_geometry_bool -\bool_new:N \g_TUDa_custommargins_bool +\bool_new:N \g_ptxcd_geometry_bool +\bool_new:N \g_ptxcd_custommargins_bool -\keys_define:nn {TUDa/pub} { +\keys_define:nn {ptxcd/pub} { %twoside -> geometry + class class .choice:, class/report .meta:n = {class=scrreprt}, - class/scrreprt .code:n = \tl_gset:Nn \g_TUDa_pub_class_tl {scrreprt}, + class/scrreprt .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrreprt}, class/article .meta:n = {class=scrartcl}, - class/scrartcl .code:n = \tl_gset:Nn \g_TUDa_pub_class_tl {scrartcl}, + class/scrartcl .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrartcl}, class/book .meta:n = {class=scrbook}, - class/scrbook .code:n = \tl_gset:Nn \g_TUDa_pub_class_tl {scrbook}, + class/scrbook .code:n = \tl_gset:Nn \g_ptxcd_pub_class_tl {scrbook}, class .initial:n = scrartcl,%MAYBE add custom values color .meta:n = {accentcolor=#1}, accentcolor .code:n = {\PassOptionsToPackage{accentcolor=#1}{tudacolors}}, textaccentcolor .code:n = {\PassOptionsToPackage{textaccentcolor=#1}{tudacolors}}, identbarcolor .code:n = {\PassOptionsToPackage{identbarcolor=#1}{tudacolors}}, - marginpar .tl_gset:N = \g_TUDa_marginpar_tl, + marginpar .tl_gset:N = \g_ptxcd_marginpar_tl, marginpar .default:n = auto, marginpar .initial:n = auto, custommargins .choice:, custommargins / true .code:n ={ - \bool_gset_true:N \g_TUDa_custommargins_bool - \bool_gset_false:N \g_TUDa_geometry_bool + \bool_gset_true:N \g_ptxcd_custommargins_bool + \bool_gset_false:N \g_ptxcd_geometry_bool }, custommargins / false .code:n ={ - \bool_gset_false:N \g_TUDa_custommargins_bool - \bool_gset_true:N \g_TUDa_geometry_bool + \bool_gset_false:N \g_ptxcd_custommargins_bool + \bool_gset_true:N \g_ptxcd_geometry_bool }, custommargins / geometry .code:n = { - \bool_gset_true:N \g_TUDa_custommargins_bool - \bool_gset_true:N \g_TUDa_geometry_bool + \bool_gset_true:N \g_ptxcd_custommargins_bool + \bool_gset_true:N \g_ptxcd_geometry_bool }, custommargins .initial:n = false, custommargins .default:n = true, - fontsize .code:n = \prop_gput:Nnn \g_TUDa_clsopts_prop {fontsize} {#1}, + fontsize .code:n = \prop_gput:Nnn \g_ptxcd_clsopts_prop {fontsize} {#1}, fontsize .initial:n = {9pt}, ruledheaders .choices:nn = {false, none, chapter, section, true, all}{ - \int_gset:Nn \g_TUDa_ruledheaders_int {\l_keys_choice_int} + \int_gset:Nn \g_ptxcd_ruledheaders_int {\l_keys_choice_int} }, ruledheaders .initial:n = all, - type .choices:nn = {publication, thesis} {\tl_gset_eq:NN \g_TUDa_pubType_tl \l_keys_choice_tl}, - type / intern .code:n = {\keys_set:nn {TUDa/pub} {titlepage=false, pdfa=false, IMRAD=false}}, + type .choices:nn = {publication, thesis} {\tl_gset_eq:NN \g_ptxcd_pubType_tl \l_keys_choice_tl}, + type / intern .code:n = {\keys_set:nn {ptxcd/pub} {titlepage=false, pdfa=false, IMRAD=false}}, type .initial:n = publication, - unknown .code:n = {\prop_gput:NVn \g_TUDa_unknown_clsopts_prop \l_keys_key_tl {#1}}, + unknown .code:n = {\prop_gput:NVn \g_ptxcd_unknown_clsopts_prop \l_keys_key_tl {#1}}, headline .choice:, - headline / true .code:n = \bool_gset_true:N \g_TUDa_headline_bool, - headline / false .code:n = \bool_gset_false:N \g_TUDa_headline_bool, - headline / automark .code:n = {\bool_gset_true:N \g_TUDa_headline_bool \PassOptionsToPackage{automark}{scrlayer-scrpage}}, + headline / true .code:n = \bool_gset_true:N \g_ptxcd_headline_bool, + headline / false .code:n = \bool_gset_false:N \g_ptxcd_headline_bool, + headline / automark .code:n = {\bool_gset_true:N \g_ptxcd_headline_bool \PassOptionsToPackage{automark}{scrlayer-scrpage}}, automark .meta:n = {headline=automark}, headline .initial:n =false, - colorback .bool_gset:N = \g_TUDa_colorback_bool, + colorback .bool_gset:N = \g_ptxcd_colorback_bool, colorback .initial:n = true, - colortitleback .code:n = \msg_warning:nnx {TUDa} {compatibility-only} {\l_keys_key_tl}\keys_set:nn {TUDa/pub} {logo=head,colorback=false}, - pdfa .bool_gset:N = \g_TUDa@pdfa_bool, + colortitleback .code:n = \msg_warning:nnx {tudapub} {compatibility-only} {\l_keys_key_tl} + \keys_set:nn {ptxcd/pub} {logo=head,colorback=false}, + pdfa .bool_gset:N = \g_ptxcd_pdfa_bool, pdfa .initial:n = true, - twocolumn .bool_gset:N = \g_TUDa_twocolumn_bool, + twocolumn .bool_gset:N = \g_ptxcd_twocolumn_bool, twocolumn .default:n = true, twocolumn .initial:n = false, BCOR .code:n = \PassOptionsToPackage{bindingoffset=#1}{geometry}, bindingoffset .meta:n = {BCOR=#1}, - captions .code:n = {\prop_gput:Nnx \g_TUDa_clsopts_prop {captions} { - \use:n {\prop_item:Nn \g_TUDa_clsopts_prop {captions}}, #1} + captions .code:n = {\prop_gput:Nnx \g_ptxcd_clsopts_prop {captions} { + \use:n {\prop_item:Nn \g_ptxcd_clsopts_prop {captions}}, #1} }, - abstract .code:n = \prop_gput:Nnn \g_TUDa_unknown_clsopts_prop {abstract} {#1}, + abstract .code:n = \prop_gput:Nnn \g_ptxcd_unknown_clsopts_prop {abstract} {#1}, abstract .initial:n =true, logo .choice:, - logo / head .code:n = {\bool_gset_true:N \g_TUDa_logo@inhead_bool}, - logo / body .code:n = {\bool_gset_false:N \g_TUDa_logo@inhead_bool}, - logo / top .code:n = {\bool_gset_true:N \g_TUDa_logo@inhead_bool}, - logo / bottom .code:n = {\bool_gset_false:N \g_TUDa_logo@inhead_bool}, + logo / head .code:n = {\bool_gset_true:N \g_ptxcd_logo@inhead_bool}, + logo / body .code:n = {\bool_gset_false:N \g_ptxcd_logo@inhead_bool}, + logo / top .code:n = {\bool_gset_true:N \g_ptxcd_logo@inhead_bool}, + logo / bottom .code:n = {\bool_gset_false:N \g_ptxcd_logo@inhead_bool}, logo .initial:n = {body}, paper .choices:nn = {a0,a1,a2,a3,a4,a5,a6}{ - \int_gset_eq:NN \g_TUDa_paper_int \l_keys_choice_int + \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int \PassOptionsToPackage{paper=\l_keys_choice_tl}{tudarules} \PassOptionsToPackage{paper=\l_keys_choice_tl}{typearea} \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry} }, paper .initial:n = a4, - IMRAD .bool_gset:N = \g_TUDa_IMRAD_bool, + IMRAD .bool_gset:N = \g_ptxcd_IMRAD_bool, IMRAD .initial:n = true, IMRAD .default:n = true, - instbox .code:n = {\tl_gput_right:Nn \g_TUDa_thesis_options_tl {,instbox=#1}}, - noinstbox .code:n = {\tl_gput_right:Nn \g_TUDa_thesis_options_tl {,noinstbox=#1}}, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + instbox .code:n = {\tl_gput_right:Nn \g_ptxcd_thesis_options_tl {,instbox=#1}}, + noinstbox .code:n = {\tl_gput_right:Nn \g_ptxcd_thesis_options_tl {,noinstbox=#1}}, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, title .choice:, title / default .meta:n = {title=large}, - title / large .code:n = \bool_gset_false:N \g_TUDa_smalltitle_bool, - title / small .code:n = \bool_gset_true:N \g_TUDa_smalltitle_bool, + title / large .code:n = \bool_gset_false:N \g_ptxcd_smalltitle_bool, + title / small .code:n = \bool_gset_true:N \g_ptxcd_smalltitle_bool, title .initial:n = default, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/pub}{colorback=false,ruledheaders=section,departmentlogofile=tuda_maschinenbau_logo} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, + BCORtitlepage .bool_gset:N = \g_ptxcd_BCOR_titlepage_bool, + BCORtitlepage .initial:n = false, + BCORtitlepage .default:n = true, } % %%special option handling grouped values -\Module@DefineSpecialKey[TUDa/special]{thesis}{ - \keys_set:nn {TUDa/pub}{type=thesis} - \tl_gput_right:No \g_TUDa_thesis_options_tl {#1} +\Module@DefineSpecialKey[ptxcd/pub]{thesis}{ + \keys_set:nn {ptxcd/pub}{type=thesis} + \tl_gput_right:No \g_ptxcd_thesis_options_tl {#1} } -\Module@Process@SpecialOptions[TUDa/special] +\Module@Process@SpecialOptions[ptxcd/pub] -\ProcessKeysOptions{TUDa/pub} +\ProcessKeysOptions{ptxcd/pub} %Option adjustments required for valid PDF/A -\bool_if:NT \g_TUDa@pdfa_bool { +\bool_if:NT \g_ptxcd_pdfa_bool { \PassOptionsToPackage{RGB}{xcolor} \PassOptionsToPackage{T1}{tudafonts} } -\prop_gput:Nnx \g_TUDa_clsopts_prop {twocolumn} {\bool_if:NTF \g_TUDa_twocolumn_bool {true} {false}} +\exp_args:Nx \tl_if_eq:nnT {\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}} {9pt} + { + \prop_if_in:NnF \g_ptxcd_unknown_clsopts_prop {DIV} + {\PassOptionsToPackage{DIV=calc}{typearea}} + } -\prop_map_inline:Nn \g_TUDa_clsopts_prop { +\prop_gput:Nnx \g_ptxcd_clsopts_prop {twocolumn} { + \bool_if:NTF \g_ptxcd_twocolumn_bool {true} {false} +} + +\prop_map_inline:Nn \g_ptxcd_clsopts_prop { \tl_if_empty:nTF {#2} - {\PassOptionsToClass {#1} {\g_TUDa_pub_class_tl}} + {\PassOptionsToClass {#1} {\g_ptxcd_pub_class_tl}} { - \clist_map_inline:nn {#2} {\PassOptionsToClass {#1=##1} {\g_TUDa_pub_class_tl}} + \clist_map_inline:nn {#2} {\PassOptionsToClass {#1=##1} {\g_ptxcd_pub_class_tl}} } } %Load tudasize clo file if available -\file_if_exist:nT {tudasize\prop_item:Nn \g_TUDa_clsopts_prop {fontsize}.clo} +\file_if_exist:nT {tudasize\prop_item:Nn \g_ptxcd_clsopts_prop {fontsize}.clo} {\providecommand*{\@fontsizefilebase}{tudasize}} -%\PassOptionsToPackage{DIV=7}{typearea} +\LoadClass{\g_ptxcd_pub_class_tl} -\LoadClass{\g_TUDa_pub_class_tl} -\prop_map_inline:Nn \g_TUDa_unknown_clsopts_prop { - \cs_if_exist:cT {KV@KOMA.\g_TUDa_pub_class_tl.cls@#1} { +\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop { + \cs_if_exist:cT {KV@KOMA.\g_ptxcd_pub_class_tl.cls@#1} { \tl_if_empty:nTF {#2} {\KOMAoptions{#1}} {\KOMAoption{#1}{#2}} @@ -195,37 +216,37 @@ } %ruled headers -\int_compare:nT {\g_TUDa_ruledheaders_int>=3} { +\int_compare:nT {\g_ptxcd_ruledheaders_int>=3} { \cs_if_exist:NT \chapterlinesformat { \renewcommand*{\chapterlinesformat}[3]{% \@hangfrom{#2}{#3} - \smash{\raisebox{\depth}{\rule[\dp\strutbox]{\linewidth}{\g_TUDa_titlerule_dim}}} + \smash{\raisebox{\depth}{\rule[\dp\strutbox]{\linewidth}{\g_ptxcd_titlerule_dim}}} } } } -\int_compare:nT {\g_TUDa_ruledheaders_int =4 }{ +\int_compare:nT {\g_ptxcd_ruledheaders_int =4 }{ \renewcommand*\sectionlinesformat[4]{% \tl_if_eq:nnTF {#1} {section} { \parbox{\linewidth}{ - \rule[5\g_TUDa_titlerule_dim]{\linewidth}{\g_TUDa_titlerule_dim}\par\nointerlineskip + \rule[5\g_ptxcd_titlerule_dim]{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip \@hangfrom{% \hskip #2#3\strut}{#4\rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par}\nointerlineskip - \skip_vertical:n {\TUDa_titlerule_sep: -\dp\strutbox} - \smash{\rule{\linewidth}{\g_TUDa_titlerule_dim}}} + \skip_vertical:n {\ptxcd_titlerule_sep: -\dp\strutbox} + \smash{\rule{\linewidth}{\g_ptxcd_titlerule_dim}}} }{ \@hangfrom{\hskip #2#3}{#4} } } } -\int_compare:nT {\g_TUDa_ruledheaders_int>4} { +\int_compare:nT {\g_ptxcd_ruledheaders_int>4} { \renewcommand*\sectionlinesformat[4]{% \parbox{\linewidth}{ - \rule[5\g_TUDa_titlerule_dim]{\linewidth}{\g_TUDa_titlerule_dim}\par\nointerlineskip + \rule[5\g_ptxcd_titlerule_dim]{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip \@hangfrom{% \hskip #2#3\strut}{#4\rule[-\dp\strutbox]{0pt}{\dp\strutbox}\par}\nointerlineskip - \skip_vertical:n {\TUDa_titlerule_sep: -\dp\strutbox} - \smash{\rule{\linewidth}{\g_TUDa_titlerule_dim}} + \skip_vertical:n {\ptxcd_titlerule_sep: -\dp\strutbox} + \smash{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} }} } @@ -234,144 +255,141 @@ %,~ subsection,~ - - -%\newcommand{\chapterlineswithprefixformat}[3]{% -% #2#3% -%} -% -%ngerman,article,dr=phil,type=drfinal,colorback,accentcolor=TUDa-9c, fontsize=9pt,twoside=true - \usepackage{tudafonts} %Margin & titlefontsize setup setup -\bool_new:N \g_TUDa_marginpar_bool +\bool_new:N \g_ptxcd_marginpar_bool -\dim_new:N \g_TUDa_marginpar_dim -\dim_new:N \g_TUDa_innerMargin_dim -\dim_new:N \g_TUDa_outerMargin_dim -\dim_new:N \g_TUDa_bottomMargin_dim -\dim_new:N \g_TUDa_topMargin_dim +\dim_new:N \g_ptxcd_marginpar_dim +\dim_new:N \g_ptxcd_innerMargin_dim +\dim_new:N \g_ptxcd_outerMargin_dim +\dim_new:N \g_ptxcd_bottomMargin_dim +\dim_new:N \g_ptxcd_topMargin_dim %a3,a4 - \int_compare:nTF {4<=\g_TUDa_paper_int<=5} + \int_compare:nTF {4<=\g_ptxcd_paper_int<=5} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {20mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {15mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {20mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {15mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim }{ %a0, a1, a2 - \int_compare:nT {1<=\g_TUDa_paper_int<=3} + \int_compare:nT {1<=\g_ptxcd_paper_int<=3} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {35mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {30mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {35mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {30mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } %a5 - \int_compare:nT {\g_TUDa_paper_int<=6} + \int_compare:nT {\g_ptxcd_paper_int<=6} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {16mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {12mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {16mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {12mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } %a6 - \int_compare:nT {\g_TUDa_paper_int<=7} + \int_compare:nT {\g_ptxcd_paper_int<=7} { - \dim_gset:Nn \g_TUDa_bottomMargin_dim {15mm} - \dim_gset:Nn \g_TUDa_outerMargin_dim {10mm} - \dim_gset_eq:NN \g_TUDa_innerMargin_dim \g_TUDa_outerMargin_dim - \dim_gset_eq:NN \g_TUDa_topMargin_dim \g_TUDa_outerMargin_dim + \dim_gset:Nn \g_ptxcd_bottomMargin_dim {15mm} + \dim_gset:Nn \g_ptxcd_outerMargin_dim {10mm} + \dim_gset_eq:NN \g_ptxcd_innerMargin_dim \g_ptxcd_outerMargin_dim + \dim_gset_eq:NN \g_ptxcd_topMargin_dim \g_ptxcd_outerMargin_dim } } -\dim_new:N \g_TUDa_columnSep_dim -\dim_gset:Nn \g_TUDa_columnSep_dim {10pt} +\dim_new:N \g_ptxcd_columnSep_dim +\dim_gset:Nn \g_ptxcd_columnSep_dim {10pt} %coverpage -\edef\coverpageleftmargin{\dim_eval:n {\g_TUDa_outerMargin_dim}} -\renewcommand*{\coverpagetopmargin}{\g_TUDa_outerMargin_dim} -\edef\coverpagerightmargin{\dim_eval:n {\g_TUDa_outerMargin_dim}} -\renewcommand*{\coverpagebottommargin}{\g_TUDa_outerMargin_dim} - -\str_case:onTF {\g_TUDa_marginpar_tl} { - {true} {\bool_gset_true:N \g_TUDa_marginpar_bool} - {false} {\bool_gset_false:N \g_TUDa_marginpar_bool} - {auto} {\bool_gset_true:N \g_TUDa_marginpar_bool} +\edef\coverpageleftmargin{\dim_eval:n {\g_ptxcd_outerMargin_dim}} +\renewcommand*{\coverpagetopmargin}{\g_ptxcd_outerMargin_dim} +\edef\coverpagerightmargin{\dim_eval:n {\g_ptxcd_outerMargin_dim}} +\renewcommand*{\coverpagebottommargin}{\g_ptxcd_outerMargin_dim} + +\str_case:onTF {\g_ptxcd_marginpar_tl} { + {true} {\bool_gset_true:N \g_ptxcd_marginpar_bool} + {false} {\bool_gset_false:N \g_ptxcd_marginpar_bool} + {auto} {\bool_gset_true:N \g_ptxcd_marginpar_bool} } { - \bool_if:NT \g_TUDa_marginpar_bool { - \msg_new:nnnn {TUDa} {marginpar-auto} {Setting~up~marginpar~consistent~with~layout~guidelines.} {To~turn~this~off~use~marginpar=false~option.} - \msg_info:nn {TUDa} {marginpar-auto} - \dim_gset:Nn \g_TUDa_marginpar_dim {(\paperwidth - \g_TUDa_innerMargin_dim -\g_TUDa_outerMargin_dim - 4 \g_TUDa_columnSep_dim)/5} + \bool_if:NT \g_ptxcd_marginpar_bool { + \msg_new:nnnn {tudapub} {marginpar-auto} {Setting~up~marginpar~consistent~with~layout~guidelines.} + {To~turn~this~off~use~marginpar=false~option.} + \msg_info:nn {tudapub} {marginpar-auto} + \dim_gset:Nn \g_ptxcd_marginpar_dim {(\paperwidth - \g_ptxcd_innerMargin_dim -\g_ptxcd_outerMargin_dim - 4 \g_ptxcd_columnSep_dim)/5} } } { - \msg_new:nnn {TUDa} {marginpar-no-key} {I~did~not~find~a~text~key~for~marginpar~setup~will~use~the~value~#1~as~width.} - \msg_info:nnx {TUDa} {marginpar-no-key} {\g_TUDa_marginpar_tl} - \bool_gset_true:N \g_TUDa_marginpar_bool - \dim_gset:Nn \g_TUDa_marginpar_dim {\g_TUDa_marginpar_tl} + \msg_new:nnn {tudapub} {marginpar-no-key} {I~did~not~find~a~text~key~for~marginpar~setup~will~use~the~value~#1~as~width.} + \msg_info:nnx {tudapub} {marginpar-no-key} {\g_ptxcd_marginpar_tl} + \bool_gset_true:N \g_ptxcd_marginpar_bool + \dim_gset:Nn \g_ptxcd_marginpar_dim {\g_ptxcd_marginpar_tl} } -\dim_new:N \g_TUDa_headheight_dim -\dim_new:N \g_TUDa_headwidth_dim +\dim_new:N \g_ptxcd_headheight_dim +\dim_new:N \g_ptxcd_headwidth_dim -\bool_if:NTF \g_TUDa_headline_bool - {\dim_gset:Nn \g_TUDa_headheight_dim {20pt +\c_TUDa_largerule_dim +\c_TUDa_rulesep_dim +\c_TUDa_smallrule_dim}} - {\dim_gset:Nn \g_TUDa_headheight_dim {1.25\baselineskip +\c_TUDa_largerule_dim +\c_TUDa_rulesep_dim +\c_TUDa_smallrule_dim}} +\bool_if:NTF \g_ptxcd_headline_bool + {\dim_gset:Nn \g_ptxcd_headheight_dim {20pt +\c_ptxcd_largerule_dim +\c_ptxcd_rulesep_dim +\c_ptxcd_smallrule_dim}} + {\dim_gset:Nn \g_ptxcd_headheight_dim {1.25\baselineskip +\c_ptxcd_largerule_dim +\c_ptxcd_rulesep_dim +\c_ptxcd_smallrule_dim}} %%%%%Anfang Randeinstellungen Geometry %Has to be loaded here due to headwidth options \usepackage[draft=false]{scrlayer-scrpage} -\bool_if:NTF \g_TUDa_geometry_bool { +\bool_if:NTF \g_ptxcd_geometry_bool { \RequirePackage{geometry} \geometry{ - top=\g_TUDa_topMargin_dim, - inner=\g_TUDa_innerMargin_dim, - outer=\dim_eval:n {\g_TUDa_outerMargin_dim}, - bottom=\g_TUDa_bottomMargin_dim, - columnsep= \g_TUDa_columnSep_dim, + top=\g_ptxcd_topMargin_dim, + inner=\g_ptxcd_innerMargin_dim, + outer=\dim_eval:n {\g_ptxcd_outerMargin_dim}, + bottom=\g_ptxcd_bottomMargin_dim, + columnsep= \g_ptxcd_columnSep_dim, includehead, includefoot, includemp, nomarginpar, - headheight=\g_TUDa_headheight_dim + headheight=\g_ptxcd_headheight_dim } - \savegeometry{TUDa@nomarginpar} - \geometry{includemp, marginpar=\g_TUDa_marginpar_dim, marginparsep=\g_TUDa_columnSep_dim} + \savegeometry{TUDa-nomarginpar} + \geometry{includemp, marginpar=\g_ptxcd_marginpar_dim, marginparsep=\g_ptxcd_columnSep_dim} \KOMAoptions{mpinclude} - \savegeometry{TUDa@marginpar} + \savegeometry{TUDa-marginpar} - \bool_if:NTF \g_TUDa_custommargins_bool { - \AtBeginDocument{\savegeometry{TUDa@default}} - \tl_const:Nn \c_TUDa_default_geometry_tl {TUDa@default} + \bool_if:NTF \g_ptxcd_custommargins_bool { + \AtBeginDocument{\savegeometry{TUDa-default}} + \tl_const:Nn \c_ptxcd_default_geometry_tl {TUDa-default} }{ - \bool_if:NTF \g_TUDa_marginpar_bool { - \tl_const:Nn \c_TUDa_default_geometry_tl {TUDa@marginpar} + \bool_if:NTF \g_ptxcd_marginpar_bool { + \tl_const:Nn \c_ptxcd_default_geometry_tl {TUDa-marginpar} } { - \tl_const:Nn \c_TUDa_default_geometry_tl {TUDa@nomarginpar} + \tl_const:Nn \c_ptxcd_default_geometry_tl {TUDa-nomarginpar} + } + \AtBeginDocument{ + \loadgeometry{\c_ptxcd_default_geometry_tl} + \bool_if:NT \g_ptxcd_BCOR_titlepage_bool {\xdef\coverpageleftmargin{\the\dimexpr\coverpageleftmargin+\the\ta@bcor}} } - \AtBeginDocument{\loadgeometry{\c_TUDa_default_geometry_tl}} } - \dim_gset:Nn \g_TUDa_headwidth_dim {\paperwidth-\g_TUDa_innerMargin_dim-\g_TUDa_outerMargin_dim-\Gm@bindingoffset} + \dim_gset:Nn \g_ptxcd_headwidth_dim {\paperwidth-\g_ptxcd_innerMargin_dim-\g_ptxcd_outerMargin_dim-\Gm@bindingoffset} - \cs_set:Nn \TUDa_disable_marginpar: {\loadgeometry{TUDa@nomarginpar}} - \cs_set:Nn \TUDa_restore_typearea: {\loadgeometry{\c_TUDa_default_geometry_tl}} + \cs_set:Nn \ptxcd_disable_marginpar: {\loadgeometry{TUDa-nomarginpar}} + \cs_set:Nn \ptxcd_restore_typearea: {\loadgeometry{\c_ptxcd_default_geometry_tl}} }{ - \let\TUDa_disable_marginpar:\relax - \def\TUDa_restore_typearea:{ + \let\ptxcd_disable_marginpar:\relax + \def\ptxcd_restore_typearea:{ \KOMAoptions{headinclude, footinclude} - \bool_if:NTF \g_TUDa_marginpar_bool {\KOMAoptions{headwidth=textwithmarginpar,footwidth=textwithmarginpar}} + \bool_if:NTF \g_ptxcd_marginpar_bool {\KOMAoptions{headwidth=textwithmarginpar,footwidth=textwithmarginpar}} {\KOMAoptions{headwidth=text,footwidth=text}} + \bool_if:NT \g_ptxcd_headline_bool {\KOMAoptions{headheight=\g_ptxcd_headheight_dim}} \recalctypearea } - \TUDa_restore_typearea: + \ptxcd_restore_typearea: } @@ -383,25 +401,13 @@ \newcommand*{\institution}[1]{ - \def\TUDa@institution{#1} + \def\ptxcd_institution{#1} } -\gdef\TUDa@datename{Datum} -\gdef\TUDa@dateseparator{:~} - - - - - - - +\gdef\ptxcd_datename{Datum} +\gdef\ptxcd_dateseparator{:~} -\dim_new:N \g_TUDa_titlerule_dim -\dim_gset:Nn \g_TUDa_titlerule_dim {.5\c_TUDa_smallrule_dim} - -%\dim_new:N \g_TUDa_titlerule_sep_dim -%\dim_set:Nn \g_TUDa_titlerule_sep_dim {1ex} -\cs_new:Nn \TUDa_titlerule_sep: {\the\dp\strutbox} +\cs_new:Nn \ptxcd_titlerule_sep: {\the\dp\strutbox} \usepackage{tudacolors} @@ -412,13 +418,13 @@ \addtokomafont{caption}{\sffamily} -\KOMAoptions{footsepline=.5\c_TUDa_smallrule_dim} -\bool_if:NT \g_TUDa_headline_bool {\KOMAoptions{headsepline=.5\c_TUDa_smallrule_dim}} +\KOMAoptions{footsepline=.5\c_ptxcd_smallrule_dim} +\setlength{\footheight}{\dimexpr\baselineskip+\c_ptxcd_rulesep_dim} +\bool_if:NT \g_ptxcd_headline_bool {\KOMAoptions{headsepline=.5\c_ptxcd_smallrule_dim}} %Adjust headheight \AtBeginDocument{ -\KOMAoptions{headlines=1.5} -\bool_if:NTF \g_TUDa_marginpar_bool +\bool_if:NTF \g_ptxcd_marginpar_bool { \KOMAoptions { headwidth=textwithmarginpar, @@ -430,22 +436,22 @@ footwidth=text } } -\box_if_exist:NF \TUDa@headline_box { - \TUDa@makeheadrule[color=identbarcolor, width=\sls@headwidth]{TUDa@headline} +\box_if_exist:NF \ptxcd_headrule_box { + \ptxcd_makeheadrule[color=identbarcolor, width=\sls@headwidth]{ptxcd_headrule} } } \newpairofpagestyles[scrheadings]{TUDa.headings}{ - \KOMAoptions{headsepline, headlines=1.25, footlines=1.25} + \KOMAoptions{headsepline, headlines=1.25} \setkomafont{pagehead}{} \chead{} \ohead{\headmark} } -\newpairofpagestyles{TUDa}{ +\newpairofpagestyles{TUDa.pub}{ \KOMAoptions{plainfootsepline} - \bool_if:NTF \g_TUDa_marginpar_bool + \bool_if:NTF \g_ptxcd_marginpar_bool { \KOMAoptions { headwidth=textwithmarginpar, @@ -457,31 +463,37 @@ footwidth=text } } - -\setkomafont{pagehead}{\Large\bfseries} \RedeclareLayer[ clone=scrheadings.head.above.line, background, contents={ - \dim_compare:nF {\box_wd:N \TUDa@headline_box=\layerwidth} { - \TUDa@makeheadrule*[color=identbarcolor, width=\layerwidth]{TUDa@headline} + \dim_compare:nF {\box_wd:N \ptxcd_headrule_box=\layerwidth} { + \ptxcd_makeheadrule[color=identbarcolor, width=\layerwidth]{ptxcd_headrule} } - \smash{\TUDa@headline} + \smash{\ptxcd_headrule} } - ]{TUDa.head.above.line} + ]{TUDa.pub.head.above.line} \RedeclareLayer[ clone=plain.scrheadings.head.above.line, background, contents={ - \dim_compare:nF {\box_wd:N \TUDa@headline_box=\layerwidth} { - \TUDa@makeheadrule*[color=identbarcolor, width=\layerwidth]{TUDa@headline} + \dim_compare:nF {\box_wd:N \ptxcd_headrule_box=\layerwidth} { + \ptxcd_makeheadrule[color=identbarcolor, width=\layerwidth]{ptxcd_headrule} } - \smash{\TUDa@headline} + \smash{\ptxcd_headrule} } - ]{plain.TUDa.head.above.line} - \bool_if:NT \g_TUDa_headline_bool { + ]{plain.TUDa.pub.head.above.line} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{TUDa.pub.foot.even} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{TUDa.pub.foot.odd} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{TUDa.pub.foot.oneside} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{plain.TUDa.pub.foot.even} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{plain.TUDa.pub.foot.odd} + \ModifyLayer[addvoffset=\c_ptxcd_rulesep_dim]{plain.TUDa.pub.foot.oneside} + \bool_if:NT \g_ptxcd_headline_bool { + \setkomafont{pagehead}{\Large\bfseries} + \KOMAoptions{headlines=2} \clist_map_variable:nNn {oneside, even, odd} \l_tmpa_tl { - \ModifyLayer[pretocontents={\rule[-6pt]{0pt}{\layerheight}}]{TUDa.head.\l_tmpa_tl} + \ModifyLayer[pretocontents={\rule[-6pt]{0pt}{\layerheight}}]{TUDa.pub.head.\l_tmpa_tl} } \lehead{\headmark} \lohead{\headmark} @@ -489,7 +501,12 @@ \ofoot[\pagemark]{\pagemark} } -\cs_new:Nn \TUDa_sls@leftmargin: {% +\DeclarePageStyleAlias{TUDa}{TUDa.pub} +\DeclarePageStyleAlias{plain.TUDa}{plain.TUDa.pub} +\pagestyle{TUDa} + +\renewcommand*{\titlepagestyle}{plain.TUDa} +\cs_new:Nn \ptxcd_sls@leftmargin: {% \dimexpr \if@twoside \ifodd\value{page} @@ -500,41 +517,41 @@ \else \oddsidemargin \fi - \bool_if:NT \g_TUDa_twocolumn_bool { + \bool_if:NT \g_ptxcd_twocolumn_bool { -\marginparwidth-\marginparsep } +1in\relax } -\pagestyle{TUDa} + %Titelseite -\tl_new:N \g_TUDa_titleimage_code_tl -\tl_gset_eq:NN \g_TUDa_titleimage_code_tl \c_empty_tl -\newcommand{\titleimage}[1]{\tl_gset:Nn \g_TUDa_titleimage_code_tl {#1}} +\tl_new:N \g_ptxcd_titleimage_code_tl +\tl_gset_eq:NN \g_ptxcd_titleimage_code_tl \c_empty_tl +\newcommand{\titleimage}[1]{\tl_gset:Nn \g_ptxcd_titleimage_code_tl {#1}} + +\box_new:N \g_ptxcd_title_box +\skip_new:N \g_ptxcd_title_fill_skip -\box_new:N \g_TUDa_title_box -\skip_new:N \g_TUDa_title_fill_skip -\renewcommand{\titlepagestyle}{TUDa} -\seq_new:N \g_TUDa_author_seq +\seq_new:N \g_ptxcd_author_seq \renewcommand*\author[1]{ - \seq_gset_split:Nnn \g_TUDa_author_seq {\and} {#1} + \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1} } -\msg_new:nnn {TUDaPub} {unknown-language} { +\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 \TUDa_define_captionFallback:Nn { +\cs_new:Nn \ptxcd_define_captionFallback:Nn { \providecommand*#1{ - \msg_warning:nnxxx {TUDaPub} {unknown-language} + \msg_warning:nnxxx{tudapub} {unknown-language} {\languagename} {\exp_not:N #1} {#2} \def#1{#2} } @@ -543,129 +560,125 @@ \renewcommand*{\@author}{ \begingroup \hyphenpenalty=100000 - \seq_use:Nnnn \g_TUDa_author_seq {~\authorandname{}~} {,~} {~\&~} + \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~} \endgroup } -\msg_new:nnn {TUDaPub} {infobox-too-high} { +\msg_new:nnn{tudapub} {infobox-too-high} { The~height~of~your~Infobox~exeeds~the~space~reserved~in~the~title~block.\\ You~should~probably~switch~to~logo=bottom~or~reduce~the~number/size~of~InfoBoxes. } -\cs_set:Nn \TUDa_adjust_titlepage_style: { - \dim_set:Nn \l_tmpa_dim {\fp_to_dim:n {\expandafter \use_ii:nn\TUDa_title_fontsize: *2.8}} - \dim_compare:nT {\box_ht:N \g_TUDa_title_box < \l_tmpa_dim} { - \skip_set:Nn \g_TUDa_title_fill_skip {\dim_eval:n {\l_tmpa_dim - \box_ht:N \g_TUDa_title_box}} +\cs_set:Nn \ptxcd_adjust_titlepage_style: { + \dim_set:Nn \l_tmpa_dim {\fp_to_dim:n {\expandafter \use_ii:nn\ptxcd_title_fontsize: *2.8}} + \dim_compare:nT {\box_ht:N \g_ptxcd_title_box < \l_tmpa_dim} { + \skip_set:Nn \g_ptxcd_title_fill_skip {\dim_eval:n {\l_tmpa_dim - \box_ht:N \g_ptxcd_title_box}} } \dim_set:Nn \l_tmpa_dim { - \box_ht:N \TUDa@headline_box+\box_dp:N \TUDa@headline_box-\g_TUDa_titlerule_dim - +\box_ht:N \g_TUDa_title_box+.5\c_TUDa_logoheight_dim+\g_TUDa_title_fill_skip+ - \box_dp:N \g_TUDa_title_box + \box_ht:N \ptxcd_headrule_box+\box_dp:N \ptxcd_headrule_box-\g_ptxcd_titlerule_dim + +\box_ht:N \g_ptxcd_title_box+.5\c_ptxcd_logoheight_dim+\g_ptxcd_title_fill_skip+\box_dp:N \g_ptxcd_title_box } \ModifyLayer[ addvoffset=\l_tmpa_dim, addheight=-\l_tmpa_dim + -\box_dp:N \g_ptxcd_sponsor_box + +\c_ptxcd_rulesep_dim ]{title.TUDa.image} - \bool_if:NT \g_TUDa_logo@inhead_bool { + \bool_if:NT \g_ptxcd_logo@inhead_bool { \ModifyLayer[ - addvoffset=\dim_eval:n {\box_ht:N \TUDa@headline_box+\box_dp:N \TUDa@headline_box-\g_TUDa_titlerule_dim}, - height={\box_ht:N \g_TUDa_title_box+ \g_TUDa_title_fill_skip+.5\c_TUDa_logoheight_dim} + addvoffset=\dim_eval:n {\box_ht:N \ptxcd_headrule_box+\box_dp:N \ptxcd_headrule_box-\g_ptxcd_titlerule_dim}, + height={\box_ht:N \g_ptxcd_title_box+ \g_ptxcd_title_fill_skip+.5\c_ptxcd_logoheight_dim + } ]{title.TUDa.background} \AddLayersToPageStyle{title.TUDa}{title.TUDa.background} } - - - - \thispagestyle{title.TUDa} - \vspace*{\dim_eval:n { -\topskip - -\g_TUDa_titlerule_dim - +\box_ht:N \TUDa@headline_box - +\box_dp:N \TUDa@headline_box - +.5\c_TUDa_logoheight_dim + -\g_ptxcd_titlerule_dim + +\box_ht:N \ptxcd_headrule_box + +\box_dp:N \ptxcd_headrule_box + +.5\c_ptxcd_logoheight_dim }} \nointerlineskip - \TUDa_Setup_Title_box: + \ptxcd_setup_title_box: - \bool_if:NT \g_TUDa_logo@inhead_bool { - \dim_compare:nT {\box_ht:N \g_TUDa_title_info_box+ \box_dp:N \g_TUDa_title_info_box > \box_ht:N \g_TUDa_title_box} - {\msg_warning:nn {TUDaPub} {infobox-too-high}} + \bool_if:NT \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{tudapub} {infobox-too-high}} \makebox[\linewidth][r]{\smash{ \raisebox{-\height}{ - \makebox[2.2\c_TUDa_logoheight_dim][l]{ + \makebox[2.2\c_ptxcd_logoheight_dim][l]{ % } - \box_use:N \g_TUDa_title_info_box + \box_use:N \g_ptxcd_title_info_box }} }} } \par - \vspace*{\skip_use:N \g_TUDa_title_fill_skip} + \vspace*{\skip_use:N \g_ptxcd_title_fill_skip} \setlength{\fboxsep}{\z@} } \newkomafont{institution}{\sffamily} +\newkomafont{titleinfo}{\sffamily} \setkomafont{subtitle}{\bfseries} \setkomafont{subject}{} \setkomafont{publishers}{} \setkomafont{author}{} \setkomafont{date}{} -\bool_if:NF \g_TUDa_smalltitle_bool { - \int_gdecr:N \g_TUDa_paper_int +\bool_if:NF \g_ptxcd_smalltitle_bool { + \int_gdecr:N \g_ptxcd_paper_int } -\file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} -\TUDa_setup_title_sizes: +\file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} +\ptxcd_setup_title_sizes: -\seq_new:N \g_TUDa_title_info_seq -\box_new:N \g_TUDa_title_info_box +\seq_new:N \g_ptxcd_title_info_seq +\box_new:N \g_ptxcd_title_info_box -\colorlet{TUDa@InfoBoxColor}{white} - -\cs_new:Nn \TUDa_make_title_info_box:n { +\cs_new:Nn \ptxcd_make_title_info_box:n { \setlength{\fboxsep}{1.5mm}% - \colorbox{TUDa@InfoBoxColor}{ - \makebox[\dim_eval:n {2.2\c_TUDa_logoheight_dim-\fboxsep}][r]{ - \parbox{2\c_TUDa_logoheight_dim}{ - \expandafter\fontsize\TUDa_titlethanks_fontsize:\selectfont\usekomafont{institution}% + \colorbox{InfoBox}{ + \makebox[\dim_eval:n {2.2\c_ptxcd_logoheight_dim-\fboxsep}][r]{ + \parbox{2\c_ptxcd_logoheight_dim}{ + \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont\usekomafont{institution}% \raggedright% #1 }}} } -\cs_new:Nn \TUDa_make_title_logo_box:n { +\cs_new:Nn \ptxcd_make_title_logo_box:n { \setlength{\fboxsep}{\z@}% - \parbox{2.2\c_TUDa_logoheight_dim}{ - \colorbox{TUDa@InfoBoxColor}{ + \parbox{2.2\c_ptxcd_logoheight_dim}{ + \colorbox{InfoBox}{ \rlap{ - \makebox[2.5\c_TUDa_logoheight_dim][r]{ - \colorbox{TUDa@InfoBoxColor}{#1\hspace{.3\c_TUDa_logoheight_dim}} + \makebox[2.5\c_ptxcd_logoheight_dim][r]{ + \colorbox{InfoBox}{#1\hspace{.3\c_ptxcd_logoheight_dim}} } } } } } -\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_TUDa_title_info_seq {\TUDa_make_title_info_box:n {#1}}} +\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_ptxcd_title_info_seq {\ptxcd_make_title_info_box:n {#1}}} \NewDocumentCommand{\addTitleBoxLogo}{sm}{ \IfBooleanTF{#1}{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n {#2} + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n {#2} } }{ - \seq_gput_right:Nn \g_TUDa_title_info_seq { - \TUDa_make_title_logo_box:n { + \seq_gput_right:Nn \g_ptxcd_title_info_seq { + \ptxcd_make_title_logo_box:n { \hbox_set:Nn \l_tmpa_box { - \includegraphics[width=1.5\c_TUDa_logoheight_dim]{#2} + \includegraphics[width=1.5\c_ptxcd_logoheight_dim]{#2} } - \dim_set:Nn \l_tmpa_dim {2\c_TUDa_logoheight_dim/3} + \dim_set:Nn \l_tmpa_dim {2\c_ptxcd_logoheight_dim/3} \dim_compare:nTF {\box_ht:N \l_tmpa_box > \l_tmpa_dim} {\includegraphics[width=\l_tmpa_dim]{#2}} {\box_use:N \l_tmpa_box} @@ -674,25 +687,26 @@ } } -\addTitleBoxLogo*{\makebox[\linewidth][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}} +\addTitleBoxLogo*{\makebox[\linewidth][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}} \DeclareNewLayer[textarea,background,mode=picture, contents={ - \tl_if_empty:NTF \g_TUDa_titleimage_code_tl - {\bool_if:NT \g_TUDa_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}}} - {\putUL{\color{identbarcolor}\raisebox{-\height}{\parbox[t]{\textwidth}{ - \let\width\layerwidth - \let\height\layerheight - \g_TUDa_titleimage_code_tl + \tl_if_empty:NTF \g_ptxcd_titleimage_code_tl + {\bool_if:NT \g_ptxcd_colorback_bool {\putLL{\color{identbarcolor}\rule{\layerwidth}{\layerheight}}}} + {\putUL{\color{identbarcolor} + \let\width\layerwidth + \let\height\layerheight + \raisebox{-\height}{\parbox[t]{\textwidth}{ + \leavevmode\ignorespaces + \g_ptxcd_titleimage_code_tl }}}} - \bool_if:NF \g_TUDa_logo@inhead_bool { - \put(\dim_to_decimal_in_unit:nn {\layerwidth-2.2\c_TUDa_logoheight_dim + \bool_if:NF \g_ptxcd_logo@inhead_bool { + \put(\dim_to_decimal_in_unit:nn {\layerwidth-2.2\c_ptxcd_logoheight_dim } {\unitlength}, - \dim_to_decimal_in_unit:nn {\layerheight-\box_ht:N \g_TUDa_title_info_box - .5\c_TUDa_logoheight_dim} {\unitlength}){ - \rlap{\box_use:N \g_TUDa_title_info_box} + \dim_to_decimal_in_unit:nn {\layerheight-\box_ht:N \g_ptxcd_title_info_box - .5\c_ptxcd_logoheight_dim} {\unitlength}){ + \rlap{\box_use:N \g_ptxcd_title_info_box} } } - \put(0,0){\rule{\linewidth}{\g_TUDa_titlerule_dim}} } ]{title.TUDa.image} @@ -701,28 +715,41 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} ]{title.TUDa.background} \DeclareNewLayer[ - mode=picture, - align=tl, + clone=plain.TUDa.pub.head.above.line, hoffset=\coverpageleftmargin, - voffset=\coverpagetopmargin, width=\paperwidth-\coverpageleftmargin-\coverpagerightmargin, - contents={ -% \box_if_exist:NF \TUDa@title_headline_box -% {} - \dim_compare:nF {\box_wd:N \TUDa@title_headline_box=\layerwidth} { - \TUDa@makeheadrule*[color=identbarcolor, width=\layerwidth]{TUDa@title_headline} - } - \putUL{\TUDa@title_headline} - } ]{title.TUDa.rule} -\TUDa@makeheadrule[color=identbarcolor, width=\textwidth]{TUDa@title_headline} -\cs_new:Nn \TUDa_Setup_Title_box: { - \hbox_gset:Nn \g_TUDa_title_info_box + +\ptxcd_makeheadrule[color=identbarcolor, width=\textwidth]{ptxcd_title_headline} + +\cs_new:Nn \ptxcd_setup_title_box: { + \hbox_gset:Nn \g_ptxcd_title_info_box { - \parbox{\dimexpr2.5\c_TUDa_logoheight_dim}{ - \seq_use:Nn \g_TUDa_title_info_seq {\par\nointerlineskip\vspace{\dim_eval:n {\c_TUDa_largerule_dim+\c_TUDa_rulesep_dim}}} + \parbox{\dimexpr2.5\c_ptxcd_logoheight_dim}{ + \seq_use:Nn \g_ptxcd_title_info_seq {\par\nointerlineskip\vspace{\dim_eval:n {\c_ptxcd_largerule_dim+\c_ptxcd_rulesep_dim}}} + } + } +} + +\cs_new:Nn \ptxcd_setup_sponsor_box: { + \bool_if:nF {\seq_if_empty_p:N \g_ptxcd_sponsors_seq && \tl_if_empty_p:N \@sponsors} { + \hbox_gset:Nn \g_ptxcd_sponsor_box { + \def\height{\dimexpr.8\c_ptxcd_logoheight_dim\relax} + \parbox[t]{\textwidth}{ + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\nointerlineskip + \addvspace{\c_ptxcd_rulesep_dim} + \seq_use:Nn \g_ptxcd_sponsors_seq {\hfill} + \ifhmode\par\fi + \ifx\@sponsors\@empty + \else + \addvspace{.1\c_ptxcd_logoheight_dim} + \@sponsors\par + \fi + \par\nointerlineskip\addvspace{\c_ptxcd_rulesep_dim} + \rule{\linewidth}{\g_ptxcd_titlerule_dim} + } } } } @@ -732,9 +759,9 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} %Logos \RequirePackage{graphicx} -\if_bool:N \g_TUDa@pdfa_bool +\if_bool:N \g_ptxcd_pdfa_bool - \msg_new:nnn {TUDaPub} {prefer-lualatex} { + \msg_new:nnn{tudapub} {prefer-lualatex} { You~use~pdfa-mode~in~#1.\\ This~can~lead~to~incompatiblities~especially~with~older~compiler~versions.\\ You~should~prefer~using~lualatex. @@ -745,30 +772,30 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \RequirePackage{pdfx} \sys_if_engine_pdftex:T { - \msg_warning:nnn {TUDaPub} {prefer-lualatex} {PDFTeX} + \msg_warning:nnn{tudapub} {prefer-lualatex} {PDFTeX} } \sys_if_engine_pdftex:T { - \msg_warning:nnn {TUDaPub} {prefer-lualatex} {XeTeX} + \msg_warning:nnn{tudapub} {prefer-lualatex} {XeTeX} } \@ifpackagelater{pdfx}{2018/12/01}{ }{ - \msg_new:nnnn {TUDaPub} {outdated-pdfx} { + \msg_new:nnnn{tudapub} {outdated-pdfx} { Your~Version~of~the~PDFx-package~is~too~old~to~support~all~methods~required~by~tudapubs~pdfa-mode.\\ Either~update~your~TeX-distribution~or~switch~to~pdfa=false. - }{See~DEMO-TUDaPub~for~further~information.} - \msg_error:nn {TUDaPub} {outdated-pdfx} + }{See~DEMO-tudapub~for~further~information.} + \msg_error:nn{tudapub} {outdated-pdfx} } %%hyperref \hypersetup{hidelinks, unicode} - \iow_new:N \TUDa@xmpdata_stream - \tl_new:N \g_TUDa@xmp_title_tl - \tl_new:N \g_TUDa@xmp_author_tl + \iow_new:N \ptxcd_xmpdata_stream + \tl_new:N \g_ptxcd_xmp_title_tl + \tl_new:N \g_ptxcd_xmp_author_tl \cs_if_exist:NF \prop_gput_if_new:Nnx { \cs_generate_variant:Nn \prop_gput_if_new:Nnn {Nnx} @@ -776,29 +803,29 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \cs_if_exist:NF \tl_to_str:V {\cs_generate_variant:Nn \tl_to_str:N {V}} - \cs_new:Nn \TUDa_pass_TitleData: { - \iow_open:Nn \TUDa@xmpdata_stream {\jobname.xmpdata} + \cs_new:Nn \ptxcd_pass_TitleData: { + \iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata} \begingroup \def\newline{} \def\\{} \let\thanks\use_none:n \cs_set:Npn \and {\exp_not:n {\exp_not:N \sep}} \use:c {Hy@pdfstringtrue} - \tl_gset:Nf \g_TUDa@xmp_title_tl {\@title} - \prop_gput_if_new:Nnx \g_TUDa_MetaData_prop {title} {\tl_to_str:V \g_TUDa@xmp_title_tl} - \prop_if_in:NnF \g_TUDa_MetaData_prop {author} { - \tl_gset:Nx \g_TUDa@xmp_author_tl {\seq_use:Nn \g_TUDa_author_seq {\exp_not:N \sep}} - \tl_gset:Nx \g_TUDa@xmp_author_tl {\g_TUDa@xmp_author_tl} - \prop_gput:Nnx \g_TUDa_MetaData_prop {author} {\tl_to_str:V \g_TUDa@xmp_author_tl} + \tl_gset:Nf \g_ptxcd_xmp_title_tl {\@title} + \prop_gput_if_new:Nnx \g_ptxcd_MetaData_prop {title} {\tl_to_str:V \g_ptxcd_xmp_title_tl} + \prop_if_in:NnF \g_ptxcd_MetaData_prop {author} { + \tl_gset:Nx \g_ptxcd_xmp_author_tl {\seq_use:Nn \g_ptxcd_author_seq {\exp_not:N \sep}} + \tl_gset:Nx \g_ptxcd_xmp_author_tl {\g_ptxcd_xmp_author_tl} + \prop_gput:Nnx \g_ptxcd_MetaData_prop {author} {\tl_to_str:V \g_ptxcd_xmp_author_tl} } - \prop_gput_if_new:Nnn \g_TUDa_MetaData_prop {publisher}{TU~Darmstadt} - \prop_gput_if_new:Nnn \g_TUDa_MetaData_prop {creator}{LaTeX~using~TUDa-CI} + \prop_gput_if_new:Nnn \g_ptxcd_MetaData_prop {publisher}{TU~Darmstadt} + \prop_gput_if_new:Nnn \g_ptxcd_MetaData_prop {creator}{LaTeX~using~TUDa-CI} \use:c {pdfx@localcommands}%should be held inside group - \prop_map_function:NN \g_TUDa_MetaData_prop \TUDa_write_xmp_line:nn + \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn \endgroup - \iow_close:N \TUDa@xmpdata_stream + \iow_close:N \ptxcd_xmpdata_stream } - \cs_new:Nn \TUDa_write_xmp_line:nn { + \cs_new:Nn \ptxcd_write_xmp_line:nn { \begingroup \cs_set:Npn \sep {\exp_not:N \sep} %Fallback test for older kernels @@ -812,58 +839,58 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}} } \cs_if_exist:cTF {\l_tmpa_tl}{ - \iow_now:Nx \TUDa@xmpdata_stream { + \iow_now:Nx \ptxcd_xmpdata_stream { \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}} } }{ - \msg_error:nnn {TUDaPub} {unknown-metadata} {#1} + \msg_error:nnn{tudapub} {unknown-metadata} {#1} } \endgroup } -\prop_new:N \g_TUDa_MetaData_prop +\prop_new:N \g_ptxcd_MetaData_prop \newcommand*{\Metadata}[1]{ - \keyval_parse:NNn \use_none:n \TUDa_set_metadata_prop:nn + \keyval_parse:NNn \use_none:n \ptxcd_set_metadata_prop:nn {#1} } - \cs_set:Nn \TUDa_set_metadata_prop:nn { - \exp_args:NNf \prop_gput:Nnn \g_TUDa_MetaData_prop {\tl_lower_case:n{#1}} {#2} + \cs_set:Nn \ptxcd_set_metadata_prop:nn { + \exp_args:NNf \prop_gput:Nnn \g_ptxcd_MetaData_prop {\tl_lower_case:n{#1}} {#2} } - \msg_new:nnnn {TUDaPub} {unknown-metadata} { + \msg_new:nnnn{tudapub} {unknown-metadata} { You~ used~ the~ #1~ metadata~ entry.\\ I~ don't~ know~ how~ to~ handle~ that.\\ It~ will~ be~ ignored. } {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.} \else: - \msg_new:nnn {tudaPub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} - \msg_info:nn {tudaPub} {no-pdfa} + \msg_new:nnn{tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} + \msg_info:nn{tudapub} {no-pdfa} %%hyperref \RequirePackage[hidelinks, unicode]{hyperref} \newcommand{\Metadata}[1]{\ClassError{tudapub}{You~cannot~use~\string\Metadata\ ~with~pdfa=false.}{}} \fi: -\csname if@TUDa@T1\endcsname -\ifLuaTeX -\RequirePackage[utf8]{luainputenc} -\fi -\fi +\box_new:N \g_ptxcd_sponsor_box +\seq_new:N \g_ptxcd_sponsors_seq +\def\AddSponsor{\seq_gput_right:Nn \g_ptxcd_sponsors_seq} +\def\sponsors#1{\def\@sponsors{#1}} +\sponsors{} -\exp_args:NV \tl_if_eq:nnTF {\g_TUDa_pubType_tl} {thesis} { +\str_if_eq:VnTF \g_ptxcd_pubType_tl {thesis} { \input{tudathesis.cfg} } { -\msg_new:nnnn {TUDa/pub} {only-thesis} {You~tried~to~use~\use:c { #1}.~This~macro~is~only~available~for~publications~of~type~thesis}{See~tuda-ci~documentation~for~further~information} +\msg_new:nnnn {tudapub} {only-thesis} {You~tried~to~use~\use:c { #1}.~This~macro~is~only~available~for~publications~of~type~thesis}{See~tuda-ci~documentation~for~further~information} \clist_map_inline:nn {birthplace, group, examdate, submissiondate, tuprints, urn, reviewer} { \expandafter\newcommand\csname #1\endcsname[2][]{ - \msg_error:nnn {TUDa/pub} {only-thesis} {#1} + \msg_error:nnn {tudapub} {only-thesis} {#1} } } -\newcommand*{\TUDa@title@footnote}[2][1]{ +\newcommand*{\ptxcd_title@footnote}[2][1]{ \textsuperscript{\@fnsymbol{#1}}#2 } @@ -871,9 +898,9 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} % Copyright (c) 1994-2019 Markus Kohm [komascript at gmx info] \renewcommand*{\maketitle}[1][1]{ \def\and{,~ } - \cs_if_exist_use:N \TUDa_pass_TitleData: + \cs_if_exist_use:N \ptxcd_pass_TitleData: \if@titlepage - \TUDa_disable_marginpar: + \ptxcd_disable_marginpar: \begin{titlepage} \setcounter{page}{% #1% @@ -909,24 +936,34 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \let\titlepage@restore\relax \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \hbox_gset:Nn \g_TUDa_title_box { + \ptxcd_setup_sponsor_box: + \hbox_gset:Nn \g_ptxcd_title_box { \parbox[t]{\linewidth}{ - \begin{minipage}[b]{\bool_if:NT \g_TUDa_logo@inhead_bool {.75}\linewidth} - \bool_if:NT \g_TUDa_logo@inhead_bool {\color{textonaccentcolor}} - \begin{addmargin}{3mm} + \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo@inhead_bool {.75}\linewidth} + \bool_if:NT \g_ptxcd_logo@inhead_bool {\color{textonaccentcolor}} + \tl_if_empty:NF \@titlehead { + \begin{addmargin}{3mm} + {\usekomafont{titlehead}{\@titlehead\par}} + \end{addmargin} + } + \begin{addmargin}[\dim_eval:n {\box_if_empty:NF \g_ptxcd_PaperID_box {\box_wd:N\g_ptxcd_PaperID_box+.5\c_ptxcd_logoheight_dim} +3mm}]{3mm} \raggedright - \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} \leavevmode\usekomafont{title}% - \expandafter\fontsize\TUDa_title_fontsize: + \expandafter\fontsize\ptxcd_title_fontsize: \selectfont - \@title\strut\par - \vskip0pt + \llap{\raisebox{\dimexpr-\height+.5\baselineskip}[0pt][0pt]{\box_use:N \g_ptxcd_PaperID_box}\hspace{.5\c_ptxcd_logoheight_dim}} + \@title\strut + \par + \box_if_empty:NTF \g_ptxcd_PaperID_box + {\vskip0pt} + {\rule{0pt}{.5\c_ptxcd_logoheight_dim}} \end{addmargin} \end{minipage}% \par\nointerlineskip - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\vspace{\c_ptxcd_rulesep_dim} \begin{addmargin}{3mm} - \expandafter\fontsize\TUDa_titleinfo_fontsize: + \usekomafont{titleinfo} + \expandafter\fontsize\ptxcd_titleinfo_fontsize: \selectfont {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% {\ifx\@subject\@empty\else\usekomafont{subject}{\@subject\par}\fi} @@ -936,29 +973,31 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \@author \par }% - {\usekomafont{date}{\@date\par}}% - {\usekomafont{publishers}{\@publishers \par}}% + {\ifx\@date\@empty\else\usekomafont{date}{\@date\par}\fi}% + {\ifx\@publishers\@empty\else\usekomafont{publishers}{\@publishers \par}\fi}% \end{addmargin} - \tl_if_empty:NF \@thanks { - \expandafter\fontsize\TUDa_titlethanks_fontsize:\selectfont\par - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par - \begin{addmargin}{3mm} - \let\footnotetext\TUDa@title@footnote - \@thanks - \end{addmargin} - \par\vspace{-\dp\strutbox} - \let\@thanks\@empty - } - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par} - + \tl_if_empty:NF \@thanks { + \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont\par + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par + \begin{addmargin}{3mm} + \let\footnotetext\ptxcd_title@footnote + \@thanks + \end{addmargin} + \par\vspace{-\dp\strutbox} + \let\@thanks\@empty + } + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par} } - - \TUDa_adjust_titlepage_style: - - - \nointerlineskip\box_use:N \g_TUDa_title_box + \ptxcd_adjust_titlepage_style: + \thispagestyle{title.TUDa} + \nointerlineskip\box_use:N \g_ptxcd_title_box \par - \vfill\null + \vfill + \box_if_empty:NTF \g_ptxcd_sponsor_box { + \raisebox{-\c_ptxcd_rulesep_dim}[0pt][0pt]{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} + }{ + \box_use:N \g_ptxcd_sponsor_box + } \if@twoside \@tempswatrue \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax @@ -992,8 +1031,8 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \setcounter{footnote}{0}% \global\let\and\relax \cleardoublepage - \TUDa_restore_typearea: - \aftergroup\TUDa_restore_typearea: + \ptxcd_restore_typearea: + \aftergroup\ptxcd_restore_typearea: \else \par \@tempcnta=% @@ -1022,26 +1061,40 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \let\titlepage@restore\relax \def\thefootnote{\fnsymbol{footnote}} \next@tdpage - \ifx\@extratitle\@empty - \ifx\@frontispiece\@empty\else \mbox{}\fi - \else - \@makeextratitle - \fi - \ifx\@frontispiece\@empty - \ifx\@extratitle\@empty\else\next@tdpage\fi - \else - \next@tpage - \@makefrontispiece - \next@tdpage - \fi + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else \mbox{}\fi + \else + \@makeextratitle + \fi + \ifx\@frontispiece\@empty + \ifx\@extratitle\@empty\else\next@tdpage\fi + \else + \next@tpage + \@makefrontispiece + \next@tdpage + \fi + \if@twocolumn + \twocolumn[\@maketitle] + \else \@maketitle + \fi \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi \@thanks\global\let\@thanks\@empty \endgroup \fi } +} - +\newkomafont{paperid}{\sffamily} +\box_new:N \g_ptxcd_PaperID_box +\newcommand*{\SetPaperID}[2]{ + \hbox_gset:Nn \g_ptxcd_PaperID_box { + \usekomafont{paperid} + \dim_set:Nn \l_tmpa_dim {\exp_last_unbraced:No \use_i:nn \ptxcd_title_fontsize: + \exp_last_unbraced:No \use_ii:nn \ptxcd_title_fontsize:} + \fontsize{1.1\l_tmpa_dim}{1.1\l_tmpa_dim} + \selectfont + #1{\Huge #2} + } } \renewcommand*{\@maketitle}{% @@ -1051,28 +1104,22 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \headheight +\headsep +\topskip - -\box_ht:N\TUDa@headline_box - -\box_dp:N \TUDa@headline_box -% -\dp\strutbox + -\box_ht:N\ptxcd_headrule_box + -\box_dp:N \ptxcd_headrule_box }} \par \nointerlineskip \begingroup \usekomafont{disposition} - \hsize=\g_TUDa_headwidth_dim - \raisebox{\dim_eval:n { - -.5\c_TUDa_logoheight_dim - }}[0pt][.5\c_TUDa_logoheight_dim]{ - \bool_if:NT \g_TUDa_colorback_bool {\color{accentcolor}\rule{\g_TUDa_headwidth_dim}{.5\c_TUDa_logoheight_dim}} - } - \par\nointerlineskip + \hsize=\g_ptxcd_headwidth_dim \setlength{\fboxsep}{\z@} - \bool_if:NT \g_TUDa_colorback_bool {\colorbox{accentcolor}}{\parbox[t]{\g_TUDa_headwidth_dim}{ + \bool_if:NT \g_ptxcd_colorback_bool {\colorbox{accentcolor}}{\parbox[t]{\g_ptxcd_headwidth_dim}{ + \rule{\z@}{.5\c_ptxcd_logoheight_dim}\par\nointerlineskip \raisebox{-\height}{% - \begin{minipage}[t]{\dimexpr\linewidth-2.2\c_TUDa_logoheight_dim-1ex} - \bool_if:NT \g_TUDa_colorback_bool {\begin{addmargin}{.5\c_TUDa_largerule_dim}} + \begin{minipage}[t]{\dimexpr\linewidth-2.2\c_ptxcd_logoheight_dim-1ex} + \bool_if:NT \g_ptxcd_colorback_bool {\begin{addmargin}{.5\c_ptxcd_largerule_dim}} \raggedright - \bool_if:NT \g_TUDa_colorback_bool {\color{textonaccentcolor}} + \bool_if:NT \g_ptxcd_colorback_bool {\color{textonaccentcolor}} \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} \leavevmode {\Huge\usekomafont{title}{ @@ -1080,49 +1127,49 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \@title \par }}% \vskip 1em - \bool_if:NTF \g_TUDa_colorback_bool {\end{addmargin}} {\par} - \vspace{\dim_eval:n {\c_TUDa_largerule_dim+\c_TUDa_rulesep_dim}} + \bool_if:NTF \g_ptxcd_colorback_bool {\end{addmargin}} {\par} + \vspace{\dim_eval:n {\c_ptxcd_largerule_dim+\c_ptxcd_rulesep_dim}} \end{minipage} } \hfill \raisebox{-\height}{ - \TUDa_Setup_Title_box: - \makebox[2.2\c_TUDa_logoheight_dim][l]{ - \box_use:N \g_TUDa_title_info_box + \ptxcd_setup_title_box: + \makebox[2.2\c_ptxcd_logoheight_dim][l]{ + \box_use:N \g_ptxcd_title_info_box } } - \dim_compare:nNnTF {\box_ht:N \g_TUDa_title_info_box + \box_ht:N \g_TUDa_title_info_box} > {1.1\c_TUDa_logoheight_dim} - {\vspace{\c_TUDa_largerule_dim}} - {\vspace{.5\c_TUDa_logoheight_dim}} + \dim_compare:nNnTF {\box_ht:N \g_ptxcd_title_info_box + \box_ht:N \g_ptxcd_title_info_box} > {1.1\c_ptxcd_logoheight_dim} + {\vspace{\c_ptxcd_largerule_dim}} + {\vspace{.5\c_ptxcd_logoheight_dim}} \par }} \par \nointerlineskip - \rule{\g_TUDa_headwidth_dim}{\g_TUDa_titlerule_dim} - \begin{addmargin}{.5\c_TUDa_largerule_dim} + \rule{\g_ptxcd_headwidth_dim}{\g_ptxcd_titlerule_dim} + \begin{addmargin}{.5\c_ptxcd_largerule_dim} \Large \clist_map_inline:nn {subtitle, subject, author, date, publishers} {\tl_if_empty:cF {@##1} {{\usekomafont{##1}\use:c {@##1}\par}}} - \vspace{\c_TUDa_rulesep_dim} + \vspace{\c_ptxcd_rulesep_dim} \end{addmargin} \tl_if_empty:NF \@thanks { \par\nointerlineskip - \rule{\g_TUDa_headwidth_dim}{\g_TUDa_titlerule_dim} - \expandafter\fontsize\TUDa_titlethanks_fontsize:\selectfont - \begin{addmargin}{.5\c_TUDa_largerule_dim} - \let\footnotetext\TUDa@title@footnote + \rule{\g_ptxcd_headwidth_dim}{\g_ptxcd_titlerule_dim} + \expandafter\fontsize\ptxcd_titlethanks_fontsize:\selectfont + \begin{addmargin}{.5\c_ptxcd_largerule_dim} + \let\footnotetext\ptxcd_title@footnote \@thanks - \vspace{\c_TUDa_rulesep_dim} + \vspace{\c_ptxcd_rulesep_dim} \end{addmargin} \par \let\@thanks\@empty } \par\nointerlineskip - \rule{\g_TUDa_headwidth_dim}{\g_TUDa_titlerule_dim} + \rule{\g_ptxcd_headwidth_dim}{\g_ptxcd_titlerule_dim} \par \endgroup - \vskip .5\c_TUDa_logoheight_dim + \vskip .5\c_ptxcd_logoheight_dim }% %%Abstract anpassungen mit Sprache @@ -1154,17 +1201,17 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} %Anpassungen marginpar -\cs_set_eq:NN\TUDa_orig@marginpar:\marginpar +\cs_set_eq:NN\ptxcd_orig@marginpar:\marginpar \newkomafont{marginpar}{\accentfont\color{textaccentcolor}} \RenewDocumentCommand{\marginpar}{om}{ \IfNoValueTF{#1}{ - \TUDa_orig@marginpar:{\leavevmode\usekomafont{marginpar}#2} + \ptxcd_orig@marginpar:{\leavevmode\usekomafont{marginpar}#2} }{ - \TUDa_orig@marginpar:[\leavevmode\usekomafont{marginpar}#1]{\leavevmode\usekomafont{marginpar}#2} + \ptxcd_orig@marginpar:[\leavevmode\usekomafont{marginpar}#1]{\leavevmode\usekomafont{marginpar}#2} } } -\TUDa_define_captionFallback:Nn \authorandname {and} +\ptxcd_define_captionFallback:Nn \authorandname {and} \defcaptionname{ngerman, german}{\authorandname}{und} \defcaptionname{english, USenglish, american, UKenglish, british}{\authorandname}{and} @@ -1186,37 +1233,37 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} %IMRAD:Introduction \seq_if_exist:NTF \seq_const_from_clist:Nn { - \seq_const_from_clist:Nn \c_TUDa_IMRAD_seq {introduction, methods, results, discussion} + \seq_const_from_clist:Nn \c_ptxcd_IMRAD_seq {introduction, methods, results, discussion} } { - \seq_new:N \c_TUDa_IMRAD_seq - \seq_gset_from_clist:Nn \c_TUDa_IMRAD_seq {introduction, methods, results, discussion} + \seq_new:N \c_ptxcd_IMRAD_seq + \seq_gset_from_clist:Nn \c_ptxcd_IMRAD_seq {introduction, methods, results, discussion} } \newcommand*{\IMRADlabel}[1]{ - \seq_if_in:NnTF \c_TUDa_IMRAD_seq {#1} + \seq_if_in:NnTF \c_ptxcd_IMRAD_seq {#1} {\label{IMRAD:#1}} - {\msg_error:nnnn {TUDaPub}{undefined-IMRADlabel}{#1}{\seq_use:Nn \c_TUDa_IMRAD_seq {,}}} + {\msg_error:nnnn {tudapub} {undefined-IMRADlabel}{#1}{\seq_use:Nn \c_ptxcd_IMRAD_seq {,}}} } -\bool_if:NT \g_TUDa_IMRAD_bool { +\bool_if:NT \g_ptxcd_IMRAD_bool { \AtEndDocument{ - \seq_map_inline:Nn \c_TUDa_IMRAD_seq { + \seq_map_inline:Nn \c_ptxcd_IMRAD_seq { \cs_if_exist:cF {r@IMRAD:#1} { - \msg_warning:nnn {TUDaPub}{missing-IMRADlabel} {#1} + \msg_warning:nnn {tudapub} {missing-IMRADlabel} {#1} } } } } -\msg_new:nnn {TUDaPub}{undefined-IMRADlabel} { +\msg_new:nnn {tudapub} {undefined-IMRADlabel} { You~tried~to~set~an~IMRAD~label~with~key~#1.\\ This~label~type~is~not~declared.\\ Possible~labels~are:~#2 } -\msg_new:nnn {TUDaPub} {missing-IMRADlabel} { +\msg_new:nnn{tudapub} {missing-IMRADlabel} { You~did~not~provide~a~Label~for~key~#1.\\ Either~you~need~to~recompile~your~document~or~add~a~label~using~\string\IMRADlabel. } @@ -1226,5 +1273,6 @@ contents={\color{identbarcolor}\rule{\layerwidth}{\layerheight}} \let\Iftocfeature\iftocfeature } +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} \endinput %End of class tudapub.cls diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty b/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty index 57b31b919de..464e43bd6ae 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudarules.sty @@ -1,4 +1,4 @@ -%% This is file `tudarules.sty' version 2.11 (2020/06/12), +%% This is file `tudarules.sty' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle} @@ -35,112 +35,131 @@ \RequirePackage{l3keys2e} -\seq_if_exist:NF \l_TUDa_tmpa_seq {\seq_new:N \l_TUDa_tmpa_seq} -\tl_if_exist:NF \l_TUDa_tmpa_tk {\tl_new:N \l_TUDa_tmpa_tl} +\str_if_exist:NF \g_ptxcd_department_str { + \str_new:N \g_ptxcd_department_str + \str_gset:Nn \g_ptxcd_department_str {default} +} + +\bool_new:N \g_ptxcd_simple_rules_bool +\dim_new:N \g_ptxcd_titlerule_dim + +\seq_if_exist:NF \l_ptxcd_tmpa_seq {\seq_new:N \l_ptxcd_tmpa_seq} +\tl_if_exist:NF \l_ptxcd_tmpa_tk {\tl_new:N \l_ptxcd_tmpa_tl} -\cs_new:Nn \TUDa_rules_set_values:n { - \seq_set_split:Nnn \l_TUDa_tmpa_seq {|} {#1} +\cs_new:Nn \ptxcd_rules_set_values:n { + \seq_set_split:Nnn \l_ptxcd_tmpa_seq {|} {#1} \int_step_inline:nnnn {1} {1} {4} { - \tl_set:Nn \l_TUDa_tmpa_tl {c_TUDa_ + \tl_set:Nn \l_ptxcd_tmpa_tl {c_ptxcd_ \clist_item:nn {largerule, rulesep, smallrule, logoheight} {##1} _dim} - \dim_if_exist:cF {\l_TUDa_tmpa_tl} {\dim_new:c {\l_TUDa_tmpa_tl}} - \dim_gset:cn {\l_TUDa_tmpa_tl} {\seq_item:Nn \l_TUDa_tmpa_seq {##1}} + \dim_if_exist:cF {\l_ptxcd_tmpa_tl} {\dim_new:c {\l_ptxcd_tmpa_tl}} + \dim_gset:cn {\l_ptxcd_tmpa_tl} {\seq_item:Nn \l_ptxcd_tmpa_seq {##1}} } + \dim_gset:Nn \g_ptxcd_titlerule_dim {.5\c_ptxcd_smallrule_dim} } -\keys_define:nn {TUDa/rules} { - color .tl_gset:N = \g_TUDa_rules_color_tl, +\keys_define:nn {ptxcd/rules} { + color .tl_gset:N = \g_ptxcd_rules_color_tl, blackrule .meta:n = {color=black}, paper .choice:, - paper/dl .code:n = { \TUDa_rules_set_values:n { 3.5mm | 1.4mm | 1.2pt | 17 mm | 0.6pt| 10mm | 14mm}}, - paper/a6 .code:n = { \TUDa_rules_set_values:n { 3 mm | 1.4mm | 1.2pt | 16.5mm | 0.6pt| 10mm | 15mm}}, - paper/a5 .code:n = { \TUDa_rules_set_values:n { 3.3mm | 1.4mm | 1.2pt | 19 mm | 0.6pt| 12mm | 16mm}}, - paper/a4 .code:n = { \TUDa_rules_set_values:n { 4 mm | 1.4mm | 1.2pt | 22 mm | 0.6pt| 15mm | 20mm}}, - paper/a3 .code:n = { \TUDa_rules_set_values:n { 4.5mm | 1.4mm | 1.2pt | 24.5mm | 0.6pt| 15mm | 20mm}}, - paper/a2 .code:n = { \TUDa_rules_set_values:n { 8 mm | 2.5mm | 2.2pt | 44.5mm | 1.1pt| 30mm | 35mm}}, - paper/a1 .code:n = { \TUDa_rules_set_values:n { 10 mm | 3.0mm | 2.8pt | 55.5mm | 1.4pt| 30mm | 35mm}}, - paper/a0 .code:n = { \TUDa_rules_set_values:n { 16 mm | 5.2mm | 4.8pt | 80 mm | 2.4pt| 30mm | 35mm}}, - paper/slide .code:n = { \TUDa_rules_set_values:n { 2mm | .7mm | .6pt | 11 mm | .3pt| 7.5mm | 10mm}}, + paper/dl .code:n = { \ptxcd_rules_set_values:n { 3.5mm | 1.4mm | 1.2pt | 17 mm | 0.6pt| 10mm | 14mm}}, + paper/a6 .code:n = { \ptxcd_rules_set_values:n { 3 mm | 1.4mm | 1.2pt | 16.5mm | 0.6pt| 10mm | 15mm}}, + paper/a5 .code:n = { \ptxcd_rules_set_values:n { 3.3mm | 1.4mm | 1.2pt | 19 mm | 0.6pt| 12mm | 16mm}}, + paper/a4 .code:n = { \ptxcd_rules_set_values:n { 4 mm | 1.4mm | 1.2pt | 22 mm | 0.6pt| 15mm | 20mm}}, + paper/a3 .code:n = { \ptxcd_rules_set_values:n { 4.5mm | 1.4mm | 1.2pt | 24.5mm | 0.6pt| 15mm | 20mm}}, + paper/a2 .code:n = { \ptxcd_rules_set_values:n { 8 mm | 2.5mm | 2.2pt | 44.5mm | 1.1pt| 30mm | 35mm}}, + paper/a1 .code:n = { \ptxcd_rules_set_values:n { 10 mm | 3.0mm | 2.8pt | 55.5mm | 1.4pt| 30mm | 35mm}}, + paper/a0 .code:n = { \ptxcd_rules_set_values:n { 16 mm | 5.2mm | 4.8pt | 80 mm | 2.4pt| 30mm | 35mm}}, + paper/slide .code:n = { \ptxcd_rules_set_values:n { 2mm | .7mm | .6pt | 11 mm | .3pt| 7.5mm | 10mm}}, paper/beamer .meta:n = {paper= slide}, paper/leaflet .meta:n = {paper=a5}, - color .tl_gset:N = \g_TUDarules_default_color_tl, + color .tl_gset:N = \g_ptxcd_rules_default_color_tl, color .initial:n = black, - mode .tl_gset:N = \g_TUDarules_default_mode_tl, - mode .initial:n = box + mode .tl_gset:N = \g_ptxcd_rules_default_mode_tl, + mode .initial:n = box, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = \str_gset:Nn \g_ptxcd_department_str {mecheng}, + mecheng .meta:n = {department=mecheng}, } -\ProcessKeysOptions{TUDa/rules} +\ProcessKeysOptions{ptxcd/rules} \RequirePackage{tudacolors} \RequirePackage{xparse} %Switch between TikZ and box mode -\bool_new:N \g_TUDa_rule_TikZmode_bool +\bool_new:N \g_ptxcd_rule_TikZmode_bool -\keys_define:nn {TUDa/rules} { - width .dim_gset:N = \l_TUDa_headrule_width_dim, - color .tl_gset:N = \l_TUDa_headrule_color_tl, +\keys_define:nn {ptxcd/rules} { + width .dim_gset:N = \l_ptxcd_headrule_width_dim, + color .tl_gset:N = \l_ptxcd_headrule_color_tl, mode .choice:, - mode / box .code:n = \bool_gset_false:N \g_TUDa_rule_TikZmode_bool, - mode / tikz .code:n = \bool_gset_true:N \g_TUDa_rule_TikZmode_bool, - mode / TikZ .code:n = \bool_gset_true:N \g_TUDa_rule_TikZmode_bool, + mode / box .code:n = \bool_gset_false:N \g_ptxcd_rule_TikZmode_bool, + mode / tikz .code:n = \bool_gset_true:N \g_ptxcd_rule_TikZmode_bool, + mode / TikZ .code:n = \bool_gset_true:N \g_ptxcd_rule_TikZmode_bool, +} + + +\str_case:Vn \g_ptxcd_department_str { + {mecheng} {\bool_gset_true:N \g_ptxcd_simple_rules_bool} } -\NewDocumentCommand{\TUDa@makeheadrule}{som}{ - \keys_set:nn {TUDa/rules} { +\NewDocumentCommand{\ptxcd_makeheadrule}{som}{ + \keys_set:nn {ptxcd/rules} { %TODO maybe package options for default width=\textwidth, } - \exp_args:Nnx \keys_set:nn {TUDa/rules} { - mode= \g_TUDarules_default_mode_tl, - color= \g_TUDarules_default_color_tl + \exp_args:Nnx \keys_set:nn {ptxcd/rules} { + mode= \g_ptxcd_rules_default_mode_tl, + color= \g_ptxcd_rules_default_color_tl } - \IfNoValueF {#2} {\keys_set:nn {TUDa/rules}{#2}} - \box_if_exist:cF {#3_box} {\box_new:c {#3_box}} - \bool_if:NTF \g_TUDa_rule_TikZmode_bool { - \hbox_gset:cn {#3_box} { - \begin{tikzpicture} - \fill[\l_TUDa_headrule_color_tl](0,\c_TUDa_rulesep_dim)rectangle++(\l_TUDa_headrule_width_dim,\c_TUDa_largerule_dim); - \fill(0,0)rectangle(\l_TUDa_headrule_width_dim,-\c_TUDa_smallrule_dim); - \end{tikzpicture} - } + \IfNoValueF {#2} {\keys_set:nn {ptxcd/rules}{#2}} + \IfBooleanF {#1} {\box_if_exist:cF {#3_box} {\box_new:c {#3_box}}} + \bool_if:NTF \g_ptxcd_simple_rules_bool { + \IfBooleanTF {#1} \use_none:n \hbox_gset:cn + {#3_box} + { + \color{\l_ptxcd_headrule_color_tl} + \raisebox{-\height}{\rule{\l_ptxcd_headrule_width_dim}{.5\c_ptxcd_largerule_dim}} + } }{ - \hbox_gset:cn {#3_box} { - \parbox[t]{\l_TUDa_headrule_width_dim}{ - \setlength{\baselineskip}{\z@} - \null\par\nointerlineskip - \textcolor{\l_TUDa_headrule_color_tl}{\rule{\linewidth}{\c_TUDa_largerule_dim}} - \vspace{\c_TUDa_rulesep_dim}\par\nointerlineskip - \rule{\linewidth}{\c_TUDa_smallrule_dim} + \bool_if:NTF \g_ptxcd_rule_TikZmode_bool { + \IfBooleanTF {#1} \use_none:n \hbox_gset:cn + {#3_box} { + \begin{tikzpicture} + \fill[\l_ptxcd_headrule_color_tl](0,\c_ptxcd_rulesep_dim)rectangle++(\l_ptxcd_headrule_width_dim,\c_ptxcd_largerule_dim); + \fill(0,0)rectangle(\l_ptxcd_headrule_width_dim,-\c_ptxcd_smallrule_dim); + \end{tikzpicture} + } + }{ + \IfBooleanTF {#1} \use_none:n \hbox_gset:cn + {#3_box} + { + \parbox[t]{\l_ptxcd_headrule_width_dim}{ + \setlength{\baselineskip}{\z@} + \null\par\nointerlineskip + \textcolor{\l_ptxcd_headrule_color_tl}{\rule{\linewidth}{\c_ptxcd_largerule_dim}} + \vspace{\c_ptxcd_rulesep_dim}\par\nointerlineskip + \rule{\linewidth}{\c_ptxcd_smallrule_dim} + } } } } - \IfBooleanTF {#1} - \cs_set:cpn \cs_new:cpn {#3} {\box_use:c {#3_box}} + \IfBooleanF {#1} {\cs_set:cpn {#3} {\box_use:c {#3_box}}} } -\NewDocumentCommand{\TUDa@makefootrule}{om}{ - \keys_set:nn {TUDa/rules} { +\NewDocumentCommand{\ptxcd_makefootrule}{som}{ + \keys_set:nn {ptxcd/rules} { width= \textwidth } - \IfNoValueF {#1} {\keys_set:nn {TUDa/rules}{#1}} - \box_new:c {#2_box} - \hbox_gset:cn {#2_box} { - \raisebox{-\height}{\rule{\l_TUDa_headrule_width_dim}{.5\c_TUDa_smallrule_dim}} + \IfNoValueF {#2} {\keys_set:nn {ptxcd/rules}{#2}} + \IfBooleanF {#1} {\box_new:c {#3_box}} + \IfBooleanTF {#1} \use_none:n \hbox_gset:cn {#3_box} { + \raisebox{-\height}{\rule{\l_ptxcd_headrule_width_dim}{\g_ptxcd_titlerule_dim}} } - \cs_new:cpn {#2} {\box_use:c {#2_box}} + \IfBooleanF{#1} {\cs_new:cpn {#3} {\box_use:c {#3_box}}} } - -%DL | 3.5mm | 1.4mm | 1.2pt | 17 mm | 0.6pt| 10mm | 14mm | -%A6 | 3 mm | 1.4mm | 1.2pt | 16.5mm | 0.6pt| 10mm | 15mm | -%A5 | 3.3mm | 1.4mm | 1.2pt | 19 mm | 0.6pt| 12mm | 16mm | -%A4 | 4 mm | 1.4mm | 1.2pt | 22 mm | 0.6pt| 15mm | 20mm | -%A3 | 4.5mm | 1.4mm | 1.2pt | 24.5mm | 0.6pt| 15mm | 20mm | -%A2 | 8 mm | 2.5mm | 2.2pt | 44.5mm | 1.1pt| 30mm | 35mm | -%A1 | 10 mm | 3.0mm | 2.8pt | 55.5mm | 1.4pt| 30mm | 35mm | -%A0 | 16 mm | 5.2mm | 4.8pt | 80 mm | 2.4pt| 30mm | 35mm | -%punched a4 = inner, bottom=20mm top outer =15mm \endinput diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls index e5c121fbece..4308a4603a5 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudasciposter.cls @@ -1,4 +1,4 @@ -%% This is file `tudasciposter.cls' version 2.11 (2020/06/12), +%% This is file `tudasciposter.cls' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,83 +26,99 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \NeedsTeXFormat{LaTeX2e} \RequirePackage{expl3} \ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt} \RequirePackage{l3keys2e} -\prop_new:N \g_TUDa_clsopts_prop -\tl_new:N \g_TUDa_boxstyle_tl -\int_new:N \g_TUDa_paper_int +\prop_new:N \g_ptxcd_clsopts_prop +\tl_new:N \g_ptxcd_boxstyle_tl +\int_new:N \g_ptxcd_paper_int +\str_new:N \g_ptxcd_department_str +\str_const:Nn \c__ptxcd_base_str {sciposter} -\keys_define:nn {TUDa/poster} { +\keys_define:nn {ptxcd/poster} { accentcolor .code:n = {\PassOptionsToPackage{accent =#1}{tudacolors}}, color .meta:n = {accentcolor = #1}, textaccentcolor .code:n = {\PassOptionsToPackage{textaccent =#1}{tudacolors}}, - identbarcolor .code:n = {\PassOptionsToPackage{indentbar =#1}{tudacolors}}, + identbarcolor .code:n = {\PassOptionsToPackage{identbar =#1}{tudacolors}}, titletext .code:n = {\PassOptionsToPackage{text =#1}{tudacolors}}, - footer .bool_gset:N = \g_TUDa_poster_foot_bool, + footer .bool_gset:N = \g_ptxcd_poster_foot_bool, footer .default:n = true, footer .initial:n = true, - thanks .tl_gset:N = \g_TUDa_footnote_label_tl, + thanks .tl_gset:N = \g_ptxcd_footnote_label_tl, thanks .initial:n = arabic*, - pdfa .bool_gset:N = \g_TUDa@pdfa_bool, + pdfa .bool_gset:N = \g_ptxcd_pdfa_bool, pdfa .initial:n = false, boxstyle .choice:, - boxstyle / official .code:n = \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa}, - boxstyle / colored .code:n= \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa-colored}, - boxstyle / boxed .code:n= \tl_gset:Nn \g_TUDa_boxstyle_tl {TUDa-boxed}, + boxstyle / official .code:n = \tl_gset:Nn \g_ptxcd_boxstyle_tl {TUDa}, + boxstyle / colored .code:n= \tl_gset:Nn \g_ptxcd_boxstyle_tl {TUDa-colored}, + boxstyle / boxed .code:n= \tl_gset:Nn \g_ptxcd_boxstyle_tl {TUDa-boxed}, boxstyle /default .meta:n = {boxstyle=official}, boxstyle .initial:n = default, - unknown .code:n = {\prop_gput:NVn \g_TUDa_clsopts_prop \l_keys_key_tl {#1}}, + unknown .code:n = {\prop_gput:NVn \g_ptxcd_clsopts_prop \l_keys_key_tl {#1}}, paper .choices:nn = {a0,a1,a2,a3}{ - \int_gset_eq:NN \g_TUDa_paper_int \l_keys_choice_int + \int_gset_eq:NN \g_ptxcd_paper_int \l_keys_choice_int \PassOptionsToPackage{paper=\l_keys_choice_tl}{tudarules} \PassOptionsToPackage{\l_keys_choice_tl paper}{geometry} }, paper .initial:n = a0, - fontsize .tl_gset:N = \g_TUDa_fontsize_tl, - logofile .tl_gset:N = \g_TUDa_logofile_tl, + fontsize .tl_gset:N = \g_ptxcd_fontsize_tl, + logofile .tl_gset:N = \g_ptxcd_logofile_tl, logofile .initial:n = tuda_logo, title .choice:, title / default .meta:n = {title=large}, - title / large .code:n = \bool_gset_false:N \g_TUDa_smalltitle_bool, - title / small .code:n = \bool_gset_true:N \g_TUDa_smalltitle_bool, + title / large .code:n = \bool_gset_false:N \g_ptxcd_smalltitle_bool, + title / small .code:n = \bool_gset_true:N \g_ptxcd_smalltitle_bool, title .initial:n = default, + colorback .bool_gset:N = \g_ptxcd_colorback_bool, + colorback .initial:n = true, + department .choice:, + department / default .code:n = \str_gset:Nn \g_ptxcd_department_str {default}, + department / mecheng .code:n = { + \str_gset:Nn \g_ptxcd_department_str {mecheng} + \keys_set:nn {ptxcd/poster} {colorback=false, departmentlogofile=tuda_maschinenbau_logo,titlesepline=false} + }, + department .initial:n = default, + mecheng .meta:n = {department=mecheng}, + departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl, + departmentlogofile .initial:n =, + titlesepline .bool_gset:N = \g_ptxcd_titlesepline_bool, + titlesepline .initial:n = true, } -\ProcessKeysOptions{TUDa/poster} +\ProcessKeysOptions{ptxcd/poster} -\dim_new:N \g_TUDa_margin_dim -\bool_if:NTF \g_TUDa_smalltitle_bool { - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_title_sizes: - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_base_sizes: +\dim_new:N \g_ptxcd_margin_dim +\bool_if:NTF \g_ptxcd_smalltitle_bool { + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_title_sizes: + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_base_sizes: }{ - \int_gdecr:N \g_TUDa_paper_int - \file_input:n {tuda-a\int_use:N \g_TUDa_paper_int paper.clo} - \TUDa_setup_title_sizes: - \TUDa_setup_base_sizes: + \int_gdecr:N \g_ptxcd_paper_int + \file_input:n {tuda-a\int_use:N \g_ptxcd_paper_int paper.clo} + \ptxcd_setup_title_sizes: + \ptxcd_setup_base_sizes: } -\prop_gput:NnV \g_TUDa_clsopts_prop {fontsize} \g_TUDa_fontsize_tl +\prop_gput:NnV \g_ptxcd_clsopts_prop {fontsize} \g_ptxcd_fontsize_tl -\prop_map_inline:Nn \g_TUDa_clsopts_prop { +\prop_map_inline:Nn \g_ptxcd_clsopts_prop { \tl_if_empty:nTF {#2} {\exp_args:NnV\PassOptionsToClass{#1}\l_tmpa_tl} {\clist_map_inline:nn {#2} {\PassOptionsToClass{#1=##1}{scrartcl}}} } -\bool_if:NT \g_TUDa@pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} +\bool_if:NT \g_ptxcd_pdfa_bool {\PassOptionsToPackage{RGB}{xcolor}} \ExplSyntaxOff \PassOptionsToPackage{DIV=10}{typearea} @@ -124,7 +140,7 @@ \setkomafont{title}{ \color{titlefgcolor} - \expandafter\fontsize\TUDa_title_fontsize:\selectfont + \expandafter\fontsize\ptxcd_title_fontsize:\selectfont \bfseries } @@ -139,106 +155,106 @@ \RequirePackage{tudacolors} \RequirePackage{qrcode} -\dim_const:Nn \c_TUDa_headrule_ht_dim {\c_TUDa_rulesep_dim +\c_TUDa_largerule_dim + \c_TUDa_smallrule_dim} +\dim_const:Nn \c_ptxcd_headrule_ht_dim {\c_ptxcd_rulesep_dim +\c_ptxcd_largerule_dim + \c_ptxcd_smallrule_dim} %Setup title -\box_new:N \l_TUDa_tmpa_box -\box_new:N \g_TUDa_titlegraphic_box -\box_new:N \g_TUDa_title_box -\box_new:N \g_TUDa_author_box -\box_new:N \g_TUDa_credit_box - -\TUDa@makeheadrule[ - width=\paperwidth-2\g_TUDa_margin_dim, +\box_new:N \l_ptxcd_tmpa_box +\box_new:N \g_ptxcd_titlegraphic_box +\box_new:N \g_ptxcd_title_box +\box_new:N \g_ptxcd_author_box +\box_new:N \g_ptxcd_credit_box + +\ptxcd_makeheadrule[ + width=\paperwidth-2\g_ptxcd_margin_dim, color=identbarcolor - ]{TUDa@posterrule} + ]{ptxcd_headrule} -\tl_new:N \g_TUDa_thanks_tl -\newcommand*{\TUDa@title@footnote}[2][1]{ +\tl_new:N \g_ptxcd_thanks_tl +\newcommand*{\ptxcd_title@footnote}[2][1]{ \begingroup - \TUDa_def_footnotelabel: + \ptxcd_def_footnotelabel: \footnotemark[#1]\,#2\quad \endgroup } -\tl_greplace_all:Nnn \g_TUDa_footnote_label_tl {*} {{footnote}} +\tl_greplace_all:Nnn \g_ptxcd_footnote_label_tl {*} {{footnote}} \clist_map_inline:nn {alph, arabic, fnsymbol, Alph, roman, Roman} { - \tl_greplace_all:Nnn \g_TUDa_footnote_label_tl {#1} {\use:c {#1}} + \tl_greplace_all:Nnn \g_ptxcd_footnote_label_tl {#1} {\use:c {#1}} } -\cs_set:Nn \TUDa_def_footnotelabel: { - \renewcommand*{\thefootnote}{\g_TUDa_footnote_label_tl} +\cs_set:Nn \ptxcd_def_footnotelabel: { + \renewcommand*{\thefootnote}{\g_ptxcd_footnote_label_tl} } \pagestyle{empty} \renewcommand*{\title}[1]{\gdef \@title {#1}} -\dim_new:N \g_TUDa_footheight_dim -\dim_gset:Nn \g_TUDa_footheight_dim {0.06\paperwidth}% +\dim_new:N \g_ptxcd_footheight_dim +\dim_gset:Nn \g_ptxcd_footheight_dim {0.06\paperwidth}% -\box_new:N \g_TUDa_footergraphics_box +\box_new:N \g_ptxcd_footergraphics_box \newcommand*{\footergraphics}[1]{ \begingroup - \let\height\g_TUDa_footheight_dim - \hbox_gset:Nn \g_TUDa_footergraphics_box {#1} + \let\height\g_ptxcd_footheight_dim + \hbox_gset:Nn \g_ptxcd_footergraphics_box {#1} \endgroup } -\tl_new:N \g_TUDa_poster_foot_tl +\tl_new:N \g_ptxcd_poster_foot_tl \newcommand{\footer}[1]{ - \tl_gset:Nn \g_TUDa_poster_foot_tl {#1} + \tl_gset:Nn \g_ptxcd_poster_foot_tl {#1} } -\tl_new:N \g_TUDa_poster_qrcode_tl +\tl_new:N \g_ptxcd_poster_qrcode_tl \newcommand*{\footerqrcode}[1]{ - \tl_gset:Nn \g_TUDa_poster_qrcode_tl {#1} + \tl_gset:Nn \g_ptxcd_poster_qrcode_tl {#1} } %%%%%%%%%%%%%%%%%%% % Begin of PDF/A mode %%%%%%%%%%%%%%%%%%% %PDFA -\if_bool:N \g_TUDa@pdfa_bool +\if_bool:N \g_ptxcd_pdfa_bool \PassOptionsToPackage{a-2b}{pdfx} \RequirePackage{pdfx} %%hyperref \hypersetup{hidelinks, unicode, hyperfootnotes=false} -\iow_new:N \TUDa@xmpdata_stream -\iow_open:Nn \TUDa@xmpdata_stream {\jobname.xmpdata} -\tl_new:N \g_TUDa@xmp_title -\tl_new:N \g_TUDa@xmp_author +\iow_new:N \ptxcd_xmpdata_stream +\iow_open:Nn \ptxcd_xmpdata_stream {\jobname.xmpdata} +\tl_new:N \g_ptxcd_xmp_title +\tl_new:N \g_ptxcd_xmp_author -\cs_new:Nn \TUDa_pass_TitleData: { +\cs_new:Nn \ptxcd_pass_TitleData: { \begingroup \def\newline{} \def\\{} \let\thanks\use_none:n \cs_set:Npn \and {\sep} - \bool_if:NTF \g_TUDa_pass_TitleData_bool { - \tl_gset:Nx \g_TUDa@xmp_title {\@title} + \bool_if:NTF \g_ptxcd_pass_TitleData_bool { + \tl_gset:Nx \g_ptxcd_xmp_title {\@title} \seq_clear:N \l_tmpa_seq - \seq_map_inline:Nn \g_TUDa_author_seq { + \seq_map_inline:Nn \g_ptxcd_author_seq { \seq_put_right:Nx \l_tmpa_seq {##1} } - \tl_gset:Nx \g_TUDa@xmp_author {\seq_use:Nn \l_tmpa_seq {\sep}} - \iow_now:Nx \TUDa@xmpdata_stream + \tl_gset:Nx \g_ptxcd_xmp_author {\seq_use:Nn \l_tmpa_seq {\sep}} + \iow_now:Nx \ptxcd_xmpdata_stream { - \exp_not:N \Title{\tl_to_str:V \g_TUDa@xmp_title} + \exp_not:N \Title{\tl_to_str:V \g_ptxcd_xmp_title} ^^J - \exp_not:N \Author{\tl_to_str:V \g_TUDa@xmp_author} + \exp_not:N \Author{\tl_to_str:V \g_ptxcd_xmp_author} ^^J \exp_not:N \Creator{LaTeX~ using~ the~ TUDa-CI~ Bundle} } }{ \begingroup \use:c {pdfx@localcommands} - \prop_map_function:NN \g_TUDa_MetaData_prop \TUDa_write_xmp_line:nn + \prop_map_function:NN \g_ptxcd_MetaData_prop \ptxcd_write_xmp_line:nn \endgroup } \endgroup } -\cs_new:Nn \TUDa_write_xmp_line:nn { +\cs_new:Nn \ptxcd_write_xmp_line:nn { %Fallback test for older kernels \cs_if_exist:NTF \str_uppercase:f { \tl_set:Nx \l_tmpa_tl { @@ -250,32 +266,32 @@ \tl_set:Nx \l_tmpa_tl {\tl_mixed_case:n {#1}} } \cs_if_exist:cTF {\l_tmpa_tl}{ - \iow_now:Nx \TUDa@xmpdata_stream { + \iow_now:Nx \ptxcd_xmpdata_stream { \c_backslash_str \l_tmpa_tl {\exp_not:n {#2}} } }{ - \msg_error:nnn {TUDapub} {unknown-metadata} {#1} + \msg_error:nnn{tudapub} {unknown-metadata} {#1} } } -\bool_new:N \g_TUDa_pass_TitleData_bool -\bool_gset_true:N \g_TUDa_pass_TitleData_bool -\prop_new:N \g_TUDa_MetaData_prop +\bool_new:N \g_ptxcd_pass_TitleData_bool +\bool_gset_true:N \g_ptxcd_pass_TitleData_bool +\prop_new:N \g_ptxcd_MetaData_prop \newcommand*{\Metadata}[1]{ - \bool_gset_false:N \g_TUDa_pass_TitleData_bool - \prop_gset_from_keyval:Nn \g_TUDa_MetaData_prop {#1} + \bool_gset_false:N \g_ptxcd_pass_TitleData_bool + \prop_gset_from_keyval:Nn \g_ptxcd_MetaData_prop {#1} } -\msg_new:nnnn {TUDapub} {unknown-metadata} { +\msg_new:nnnn{tudapub} {unknown-metadata} { You~ used~ the~ #1~ metadata~ entry.\\ I~ don't~ know~ how~ to~ handle~ that.\\ It~ will~ be~ ignored. } {See~ TUDa-CI~ or~ pdfx~ documentation~ for~ details.} \else: -\msg_new:nnn {tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} -\msg_info:nn {tudapub} {no-pdfa} +\msg_new:nnn{tudapub} {no-pdfa}{The~ tudapub~ class~ won't~ create~ PDF/A-mode.} +\msg_info:nn{tudapub} {no-pdfa} %%hyperref \RequirePackage[hidelinks, unicode,hyperfootnotes=false]{hyperref} \fi: @@ -286,13 +302,13 @@ %redefine \author to manage \and and \thanks -\seq_new:N \g_TUDa_author_seq +\seq_new:N \g_ptxcd_author_seq \renewcommand*\author[1]{ - \seq_gset_split:Nnn \g_TUDa_author_seq {\and} {#1} + \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#1} } -\msg_new:nnn {TUDaSciPoster} {unknown-language} { +\msg_new:nnn{tudasciposter} {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.\\ @@ -300,7 +316,7 @@ } \providecommand*\authorandname{ - \msg_warning:nnxxx {TUDaSciPoster} {unknown-language} + \msg_warning:nnxxx{tudasciposter} {unknown-language} {\languagename} {\exp_not:N \authorandname} {und} und } @@ -310,7 +326,7 @@ \renewcommand*{\@author}{ - \seq_use:Nnnn \g_TUDa_author_seq {~\authorandname{}~} {,~} {~\&~} + \seq_use:Nnnn \g_ptxcd_author_seq {~\authorandname{}~} {,~} {~\&~} } \newcommand\titlegraphic[1]{\def\@titlegraphic{#1}} @@ -336,7 +352,7 @@ } \newlength{\contentwidth} -\setlength{\contentwidth}{\dimexpr\paperwidth-2\g_TUDa_margin_dim\relax} +\setlength{\contentwidth}{\dimexpr\paperwidth-2\g_ptxcd_margin_dim\relax} \newlength{\contentheight} @@ -345,86 +361,92 @@ { spread, parbox=false, - bottom=\dim_eval:n {\g_TUDa_margin_dim - \bool_if:NT \g_TUDa_poster_foot_bool {+\g_TUDa_footheight_dim + 3\c_TUDa_rulesep_dim} + bottom=\dim_eval:n {\g_ptxcd_margin_dim + \bool_if:NT \g_ptxcd_poster_foot_bool {+\g_ptxcd_footheight_dim + 3\c_ptxcd_rulesep_dim} }, - left=\g_TUDa_margin_dim, - right=\g_TUDa_margin_dim, - before= {\TUDa@poster_setup_title_box:}, + left=\g_ptxcd_margin_dim, + right=\g_ptxcd_margin_dim, + before= {\ptxcd_poster_setup_title_box:}, top= \dim_eval:n { - \g_TUDa_margin_dim - +\box_ht:N \TUDa@posterrule_box - +\box_dp:N \TUDa@posterrule_box -+ \g_TUDa_titleblock_dim - +4\c_TUDa_rulesep_dim - +\box_ht:N \g_TUDa_author_box - +\box_dp:N \g_TUDa_author_box + \bool_if:NF \g_ptxcd_colorback_bool {1.5} + \g_ptxcd_margin_dim + +\box_ht:N \ptxcd_headrule_box + +\box_dp:N \ptxcd_headrule_box + +\g_ptxcd_titleblock_dim + +4\c_ptxcd_rulesep_dim + +\box_ht:N \g_ptxcd_author_box + +\box_dp:N \g_ptxcd_author_box }, overlay={% - \coordinate(topleft) at ([xshift=\g_TUDa_margin_dim, yshift=-\g_TUDa_margin_dim]current~page.north~ west); - \coordinate(topright) at ([xshift=-\g_TUDa_margin_dim, yshift=-\g_TUDa_margin_dim]current~page.north~ east); - \coordinate(bottomleft) at ([xshift=\g_TUDa_margin_dim, yshift=\g_TUDa_margin_dim]current~page.south~ west); - \coordinate(bottomright) at ([xshift=-\g_TUDa_margin_dim, yshift=\g_TUDa_margin_dim]current~page.south~ east); + \coordinate(topleft) at ([xshift=\g_ptxcd_margin_dim, yshift=-\g_ptxcd_margin_dim]current~page.north~ west); + \coordinate(topright) at ([xshift=-\g_ptxcd_margin_dim, yshift=-\g_ptxcd_margin_dim]current~page.north~ east); + \coordinate(bottomleft) at ([xshift=\g_ptxcd_margin_dim, yshift=\g_ptxcd_margin_dim]current~page.south~ west); + \coordinate(bottomright) at ([xshift=-\g_ptxcd_margin_dim, yshift=\g_ptxcd_margin_dim]current~page.south~ east); + \dim_gset:Nn \g_ptxcd_titleindent_dim {\bool_if:NTF \g_ptxcd_colorback_bool {3\c_ptxcd_rulesep_dim} {\c_zero_dim}} - \node[inner~sep=0pt, anchor=north~west](identbar) at (topleft){\TUDa@posterrule}; + \node[inner~sep=0pt, anchor=north~west](identbar) at (topleft){\ptxcd_headrule}; + \bool_if:NTF \g_ptxcd_colorback_bool + \fill \path [identbarcolor] + (identbar.south~east)rectangle([yshift=-\g_ptxcd_titleblock_dim]identbar.south~west) coordinate(bottomlefttitleblock); - \fill[identbarcolor] - (identbar.south~east)rectangle([yshift=-\g_TUDa_titleblock_dim]identbar.south~west) coordinate(bottomlefttitleblock); - \node[anchor=north~east,inner~sep=0pt,minimum~width=2.5\c_TUDa_logoheight_dim](TUDalogo) at ([xshift=.3\c_TUDa_logoheight_dim,yshift=-.5\c_TUDa_logoheight_dim]identbar.south~east){ - \includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}; + \node[anchor=north~east,inner~sep=0pt,minimum~width=2.5\c_ptxcd_logoheight_dim](TUDalogo) at ([xshift=.3\c_ptxcd_logoheight_dim,yshift=-.5\c_ptxcd_logoheight_dim]identbar.south~east){ + \includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}; - \node[inner~sep=0pt,text~width=2.2\c_TUDa_logoheight_dim,align=right,anchor=north~west,](titlegraphic) at ([yshift=-\c_TUDa_rulesep_dim]TUDalogo.south~west){\box_use:N \g_TUDa_titlegraphic_box}; + \node[inner~sep=0pt,text~width=2.2\c_ptxcd_logoheight_dim,align=right,anchor=north~west,](titlegraphic) at ([yshift=-\c_ptxcd_rulesep_dim]TUDalogo.south~west){\box_use:N \g_ptxcd_titlegraphic_box}; - \node[anchor=north~west,inner~sep=0pt,] (title) at ([xshift=3\c_TUDa_rulesep_dim,yshift=-.5\c_TUDa_logoheight_dim]identbar.south~west) {\box_use:N \g_TUDa_title_box}; + \node[anchor=north~west,inner~sep=0pt,] (title) at ([ + xshift=\g_ptxcd_titleindent_dim,yshift=-.5\c_ptxcd_logoheight_dim]identbar.south~west) {\box_use:N \g_ptxcd_title_box}; - \draw[line~ width=.5\c_TUDa_smallrule_dim](bottomlefttitleblock)--++(\contentwidth,0); + \bool_if:NT \g_ptxcd_titlesepline_bool + {\draw[line~ width=.5\c_ptxcd_smallrule_dim](bottomlefttitleblock)--++(\contentwidth,0);} - \node[anchor=north~west, inner~xsep=0pt, inner~ ysep=\c_TUDa_rulesep_dim] (author) at ([xshift=3\c_TUDa_rulesep_dim]bottomlefttitleblock) {\box_use:N \g_TUDa_author_box}; + \node[anchor=north~west, inner~xsep=0pt, inner~ ysep=\c_ptxcd_rulesep_dim] (author) at ([xshift=\g_ptxcd_titleindent_dim]bottomlefttitleblock) {\box_use:N \g_ptxcd_author_box}; - \draw[line~ width=.5\c_TUDa_smallrule_dim](author.south-|identbar.west)--++(\contentwidth,0); + \draw[line~ width=.5\c_ptxcd_smallrule_dim](author.south-|identbar.west)--++(\contentwidth,0); + \bool_if:NT \g_ptxcd_poster_foot_bool {\__ptxcd_typeset_footer:} + }} +} - \bool_if:NT \g_TUDa_poster_foot_bool { +\cs_new:Nn \__ptxcd_typeset_footer: { \coordinate(lastpos) at (bottomright); - \tl_if_empty:NF \g_TUDa_poster_qrcode_tl - { - \node[anchor=south~east, inner~sep=\z@] (qrcode)at (lastpos) - { - \exp_args:NnV \use:n {\qrcode[height=\dim_use:N \g_TUDa_footheight_dim]}\g_TUDa_poster_qrcode_tl - }; - \coordinate (lastpos) at (qrcode.south~west); - } - \box_if_empty:NF \g_TUDa_footergraphics_box { - \node[anchor=south~east, inner~sep=\z@] at (lastpos) { - \accentfont - \box_use:N \g_TUDa_footergraphics_box - }; - } - \node[anchor=north~ west, inner~ sep=\z@] (infofooter) at ([yshift=\g_TUDa_footheight_dim]bottomleft) { - \parbox{\dim_eval:n {\contentwidth - -\box_wd:N \g_TUDa_footergraphics_box - \tl_if_empty:NF \g_TUDa_poster_qrcode_tl {-\g_TUDa_footheight_dim-\c_TUDa_rulesep_dim} - }}{ - \rule{\linewidth}{.5\c_TUDa_smallrule_dim}\\ - \accentfont\small\g_TUDa_poster_foot_tl - \par\medskip - \let\footnotetext\TUDa@title@footnote - \g_TUDa_thanks_tl} - }; - - -} - }} + \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl + { + \node[anchor=south~east, inner~sep=\z@] (qrcode)at (lastpos) + { + \exp_args:NnV \use:n {\qrcode[height=\dim_use:N \g_ptxcd_footheight_dim]}\g_ptxcd_poster_qrcode_tl + }; + \coordinate (lastpos) at (qrcode.south~west); + } + \box_if_empty:NF \g_ptxcd_footergraphics_box { + \node[anchor=south~east, inner~sep=\z@] at (lastpos) { + \accentfont + \box_use:N \g_ptxcd_footergraphics_box + }; + } + \node[anchor=north~ west, inner~ sep=\z@] (infofooter) at ([yshift=\g_ptxcd_footheight_dim]bottomleft) { + \parbox{\dim_eval:n {\contentwidth + -\box_wd:N \g_ptxcd_footergraphics_box + \tl_if_empty:NF \g_ptxcd_poster_qrcode_tl {-\g_ptxcd_footheight_dim-\c_ptxcd_rulesep_dim} + }}{ + \rule{\linewidth}{.5\c_ptxcd_smallrule_dim}\\ + \accentfont\small\g_ptxcd_poster_foot_tl + \par\medskip + \let\footnotetext\ptxcd_title@footnote + \g_ptxcd_thanks_tl} + }; } % Background Colors \colorlet{backgroundcolor}{white} \colorlet{framecolor}{white} % Title Colors -\colorlet{titlefgcolor}{textonaccentcolor} +\bool_if:NTF \g_ptxcd_colorback_bool + {\colorlet{titlefgcolor}{textonaccentcolor}} + {\colorlet{titlefgcolor}{black}} \colorlet{titlebgcolor}{accentcolor} % Block Colors \colorlet{blocktitlebgcolor}{accentcolor} @@ -437,38 +459,39 @@ \colorlet{innerblockbodybgcolor}{textonaccentcolor} \colorlet{innerblockbodyfgcolor}{black} -\dim_new:N \g_TUDa_titleblock_dim +\dim_new:N \g_ptxcd_titleblock_dim +\dim_new:N \g_ptxcd_titleindent_dim -\cs_new:Nn \TUDa@poster_setup_title_box: { - \hbox_gset:Nn \g_TUDa_title_box { +\cs_new:Nn \ptxcd_poster_setup_title_box: { + \hbox_gset:Nn \g_ptxcd_title_box { \parbox{.65\paperwidth}{ \raggedright \usekomafont{disposition}\usekomafont{title}\leavevmode\@title \par } } - \hbox_gset:Nn \g_TUDa_author_box { - \parbox{\dimexpr\contentwidth-6\c_TUDa_rulesep_dim\relax}{ - \TUDa_def_footnotelabel: + \hbox_gset:Nn \g_ptxcd_author_box { + \parbox{\dimexpr\contentwidth-6\c_ptxcd_rulesep_dim\relax}{ + \ptxcd_def_footnotelabel: {\usekomafont{author}\@author\\}%\\[.2\titleinnersep] - \tl_gset:No \g_TUDa_thanks_tl {\@thanks} + \tl_gset:No \g_ptxcd_thanks_tl {\@thanks} \@institute } } \tl_if_empty:NF \@titlegraphic { - \hbox_gset:Nn \g_TUDa_titlegraphic_box { - \parbox{2.2\c_TUDa_logoheight_dim}{ + \hbox_gset:Nn \g_ptxcd_titlegraphic_box { + \parbox{2.2\c_ptxcd_logoheight_dim}{ \raggedleft \@titlegraphic } } } - \dim_gset:Nn \g_TUDa_titleblock_dim { + \dim_gset:Nn \g_ptxcd_titleblock_dim { \dim_max:nn {\dim_max:nn - {2\c_TUDa_logoheight_dim} - {\box_ht:N \g_TUDa_titlegraphic_box +\box_dp:N \g_TUDa_titlegraphic_box+1.8\c_TUDa_logoheight_dim} + {2\c_ptxcd_logoheight_dim} + {\box_ht:N \g_ptxcd_titlegraphic_box +\box_dp:N \g_ptxcd_titlegraphic_box+1.8\c_ptxcd_logoheight_dim} } - {\box_ht:N \g_TUDa_title_box+ \box_dp:N \g_TUDa_title_box+.8\c_TUDa_logoheight_dim} + {\box_ht:N \g_ptxcd_title_box+ \box_dp:N \g_ptxcd_title_box+.8\c_ptxcd_logoheight_dim} } } @@ -483,15 +506,15 @@ coltext=black, colback=white, size=minimal, - boxrule=.5\c_TUDa_smallrule_dim, + boxrule=.5\c_ptxcd_smallrule_dim, leftrule=\z@, rightrule=\z@, fonttitle=\usekomafont{disposition}\usekomafont{section}, before~title={\strut}, - toptitle=.5\c_TUDa_rulesep_dim, - bottomtitle=.5\c_TUDa_rulesep_dim, - top=\c_TUDa_rulesep_dim, - bottom=\c_TUDa_rulesep_dim, + toptitle=.5\c_ptxcd_rulesep_dim, + bottomtitle=.5\c_ptxcd_rulesep_dim, + top=\c_ptxcd_rulesep_dim, + bottom=\c_ptxcd_rulesep_dim, frame~code={ \iftcb@hasTitle \fill[tcbcolframe](frame.north~west)rectangle(title.north~east); @@ -511,8 +534,8 @@ TUDa-colored/.style = { TUDa, - left=.5\c_TUDa_rulesep_dim, - right=.5\c_TUDa_rulesep_dim, + left=.5\c_ptxcd_rulesep_dim, + right=.5\c_ptxcd_rulesep_dim, colbacktitle=blocktitlebgcolor, coltitle=blocktitlefgcolor, colback=blockbodybgcolor, @@ -537,8 +560,8 @@ coltitle=blocktitlefgcolor, colback=blockbodybgcolor, coltext=blockbodyfgcolor, - boxsep=\c_TUDa_rulesep_dim, - boxrule=.5\c_TUDa_smallrule_dim, + boxsep=\c_ptxcd_rulesep_dim, + boxrule=.5\c_ptxcd_smallrule_dim, titlerule=\z@, arc=1ex, auto~outer~arc, @@ -559,15 +582,16 @@ } %Select default box styles according to style option -\tcbposterset{boxes ={\g_TUDa_boxstyle_tl}, poster={spacing=5cm}} +\tcbposterset{boxes ={\g_ptxcd_boxstyle_tl}, poster={spacing=5cm}} \tcbset{ - every~ box~ on~ layer~ 3/.style={reset,\g_TUDa_boxstyle_tl -inner}, - every~ box~ on~ layer~ 4/.style={reset,\g_TUDa_boxstyle_tl -inner}, + every~ box~ on~ layer~ 3/.style={reset,\g_ptxcd_boxstyle_tl -inner}, + every~ box~ on~ layer~ 4/.style={reset,\g_ptxcd_boxstyle_tl -inner}, } %ADjust caption indent \setcapindent{1em} +\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg} \endinput %end of tudasciposter.cls diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo b/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo index 32653895d58..320499f7482 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudasize9pt.clo @@ -1,4 +1,4 @@ -%% This is file `tudasize9pt.clo' version 2.11 (2020/06/12), +%% This is file `tudasize9pt.clo' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,8 +26,8 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} %% This is file `tudasize9pt.clo' version 1.0 (2018/12/12), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg b/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg index 8cb5f2209c7..cd4b4c647cd 100644 --- a/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg +++ b/Master/texmf-dist/tex/latex/tuda-ci/tudathesis.cfg @@ -1,4 +1,4 @@ -%% This is file `tudathesis.cfg' version 2.11 (2020/06/12), +%% This is file `tudathesis.cfg' version 3.00 (2020/09/08), %% it is part of %% TUDa-CI -- Corporate Design for TU Darmstadt %% ---------------------------------------------------------------------------- @@ -26,270 +26,268 @@ %% %% ============================================================================ %% -\def\fileversion{2.11} -\def\filedate{2020/06/12} +\def\fileversion{3.00} +\def\filedate{2020/09/08} \RequirePackage{expl3} \ProvidesExplFile{tudathesis.cfg} -{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Coporate Design (tuda-ci)} +{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)} \RequirePackage{l3keys2e} -\tl_new:N \g_TUDa_thesis_drtext_tl -\clist_if_exist:NF \g_TUDa_Required_title_data_clist {\clist_new:N \g_TUDa_Required_title_data_clist} +\tl_new:N \g_ptxcd_thesis_drtext_tl +\clist_if_exist:NF \g_ptxcd_Required_title_data_clist {\clist_new:N \g_ptxcd_Required_title_data_clist} -\cs_new:Nn \TUDa_declare_caption:Nnnn { - \TUDa_define_captionFallback:Nn #1 {#2} +\cs_new:Nn \ptxcd_declare_caption:Nnnn { + \ptxcd_define_captionFallback:Nn #1 {#2} \defcaptionname{ngerman, german}{#1}{#2} \defcaptionname{english}{#1}{#3} \defcaptionname{british}{#1}{#4} } -\cs_new:Nn \TUDa_declare_caption:Nnn { - \TUDa_declare_caption:Nnnn #1 {#2} {#3} {#3} +\cs_new:Nn \ptxcd_declare_caption:Nnn { + \ptxcd_declare_caption:Nnnn #1 {#2} {#3} {#3} } %Declare macros for department -\cs_new:Nn \TUDa_select_department:n { +\cs_new:Nn \ptxcd_select_department:n { \str_case:nnTF {#1} { - {arch} {\TUDa_declare_caption:Nnn \TUDa@department {Architektur} {Architecture}} - {bauing} {\TUDa_declare_caption:Nnn \TUDa@department {Bau-~und~Umweltingenieurwissenschaften}{Civil~and~Environmental~Engineering}} - {bio} {\TUDa_declare_caption:Nnn \TUDa@department {Biologie}{Biology}} - {chem} {\TUDa_declare_caption:Nnn \TUDa@department {Chemie}{Chemistry}} - {etit} {\TUDa_declare_caption:Nnn \TUDa@department {Elektrotechnik~und~Informationstechnik}{Electrical~Engineering~and~Information~Technology}} - {gugw} {\TUDa_declare_caption:Nnn \TUDa@department {Gesellschafts-~und~Geschichtswissenschaften}{History~and~Social~Sciences}} - {humanw} {\TUDa_declare_caption:Nnn \TUDa@department {Humanwissenschaften}{Human~Sciences}} - {inf} {\TUDa_declare_caption:Nnn \TUDa@department {Informatik}{Computer~Science}} - {mb} {\TUDa_declare_caption:Nnn \TUDa@department {Maschinenbau}{Mechanical~Engineering}} - {matgeo} {\TUDa_declare_caption:Nnn \TUDa@department {Material-~und~Geowissenschaften}{Materials~and~Earth~Sciences}} - {math} {\TUDa_declare_caption:Nnn \TUDa@department {Mathematik}{Mathematics}} - {phys} {\TUDa_declare_caption:Nnn \TUDa@department {Physik}{Physics}} - {wi} {\TUDa_declare_caption:Nnn \TUDa@department {Rechts-~und~Wirtschaftswissenschaften}{Law~and~Economics}} + {arch} {\ptxcd_declare_caption:Nnn \ptxcd_department {Architektur} {Architecture}} + {bauing} {\ptxcd_declare_caption:Nnn \ptxcd_department {Bau-~und~Umweltingenieurwissenschaften}{Civil~and~Environmental~Engineering}} + {bio} {\ptxcd_declare_caption:Nnn \ptxcd_department {Biologie}{Biology}} + {chem} {\ptxcd_declare_caption:Nnn \ptxcd_department {Chemie}{Chemistry}} + {etit} {\ptxcd_declare_caption:Nnn \ptxcd_department {Elektrotechnik~und~Informationstechnik}{Electrical~Engineering~and~Information~Technology}} + {gugw} {\ptxcd_declare_caption:Nnn \ptxcd_department {Gesellschafts-~und~Geschichtswissenschaften}{History~and~Social~Sciences}} + {humanw} {\ptxcd_declare_caption:Nnn \ptxcd_department {Humanwissenschaften}{Human~Sciences}} + {inf} {\ptxcd_declare_caption:Nnn \ptxcd_department {Informatik}{Computer~Science}} + {mb} {\ptxcd_declare_caption:Nnn \ptxcd_department {Maschinenbau}{Mechanical~Engineering}} + {matgeo} {\ptxcd_declare_caption:Nnn \ptxcd_department {Material-~und~Geowissenschaften}{Materials~and~Earth~Sciences}} + {math} {\ptxcd_declare_caption:Nnn \ptxcd_department {Mathematik}{Mathematics}} + {phys} {\ptxcd_declare_caption:Nnn \ptxcd_department {Physik}{Physics}} + {wi} {\ptxcd_declare_caption:Nnn \ptxcd_department {Rechts-~und~Wirtschaftswissenschaften}{Law~and~Economics}} } { - \TUDa_declare_caption:Nnn \departmentname {Fachbereich} {department} - \TUDa_declare_caption:Nnn \TUDa_in_department {im~ \departmentname}{in~the~\departmentname{}~ of} - \TUDa_declare_caption:Nnn \departmentfullname {\departmentname{}~ \TUDa@department} { \TUDa@department{}~ \text_titlecase:n{\departmentname}} + \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} + \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname{}~ of} + \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department} { \ptxcd_department{}~ \text_titlecase:n{\departmentname}} } - {\bool_if:NTF \g_TUDa_dr_bool + {\bool_if:NTF \g_ptxcd_dr_bool { - \msg_warning:nnn {tudapub/tudathesis} {unrecognized-department} {#1} - \gdef\TUDa@department{#1} - \TUDa_declare_caption:Nnn \departmentname {Fachbereich} {department} + \msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1} + \gdef\ptxcd_department{#1} + \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} } - {\TUDa_select_studyfield:n {#1}} + {\ptxcd_select_studyfield:n {#1}} } } -\cs_new:Nn \TUDa_select_studyfield:n { +\cs_new:Nn \ptxcd_select_studyfield:n { \str_case:nnTF {#1} { - {ce}{\TUDa_declare_caption:Nnn \TUDa@department {Computational\nobreakspace Engineering}{Computational\nobreakspace Engineering}} - {ese}{\TUDa_declare_caption:Nnn \TUDa@department {Energy~Science~and~Engineering}{Energy~Science~and~Engineering}} - {ist}{\TUDa_declare_caption:Nnn \TUDa@department {Information~Systems~Technology}{Information~Systems~Technology}} - {mech}{\TUDa_declare_caption:Nnn \TUDa@department {Mechanik}{Mechanics}} - {metro}{\TUDa_declare_caption:Nnn \TUDa@department {Mechatronik}{Mechatronics}} + {ce}{\ptxcd_declare_caption:Nnn \ptxcd_department {Computational\nobreakspace Engineering}{Computational\nobreakspace Engineering}} + {ese}{\ptxcd_declare_caption:Nnn \ptxcd_department {Energy~Science~and~Engineering}{Energy~Science~and~Engineering}} + {ist}{\ptxcd_declare_caption:Nnn \ptxcd_department {Informationssystemtechnik} {Information~Systems~Technology}} + {mech}{\ptxcd_declare_caption:Nnn \ptxcd_department {Mechanik}{Mechanics}} + {metro}{\ptxcd_declare_caption:Nnn \ptxcd_department {Mechatronik}{Mechatronics}} } { - \TUDa_declare_caption:Nnn \departmentname {Studienbereich} {field~of~study} - \TUDa_declare_caption:Nnn \departmentfullname {\departmentname{}~ \TUDa@department} {\departmentname{}:~\TUDa@department} - \TUDa_declare_caption:Nnn \TUDa_in_department {im~ \departmentname}{in~the~\departmentname} - \TUDa_declare_caption:Nnn \TUDa@in_department {\TUDa_in_department{}~\TUDa@department} {\TUDa_in_department{}~``\TUDa@department''} + \ptxcd_declare_caption:Nnn \departmentname {Studienbereich} {field~of~study} + \ptxcd_declare_caption:Nnn \departmentfullname {\departmentname{}~ \ptxcd_department} {\departmentname{}:~\ptxcd_department} + \ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname} + \ptxcd_declare_caption:Nnn \ptxcd_in_department {\ptxcd_departmentprefix{}~\ptxcd_department} {\ptxcd_departmentprefix{}~``\ptxcd_department''} } { - \msg_warning:nnn {tudapub/tudathesis} {unrecognized-department} {#1} - \gdef\TUDa@department{#1} - \TUDa_declare_caption:Nnn \departmentname {Fachbereich} {department} + \msg_warning:nnn{tudapub/thesis} {unrecognized-department} {#1} + \gdef\ptxcd_department{#1} + \ptxcd_declare_caption:Nnn \departmentname {Fachbereich} {department} } } -\cs_new:Nn \TUDa_insert_studentID:n { - (\TUDa@studentIDname :\nobreakspace#1) +\cs_new:Nn \ptxcd_insert_studentID:n { + (\ptxcd_studentIDname :\nobreakspace#1) } -\TUDa_declare_caption:Nnn \TUDa@byname {von} {by} -\TUDa_declare_caption:Nnn \TUDa@fromname {aus} {from} -\TUDa_declare_caption:Nnn \TUDa_in_department {im~ \departmentname}{in~the~\departmentname{}~ of} -\TUDa_declare_caption:Nnn \TUDa@reviewname {Gutachten}{review} -\TUDa_declare_caption:Nnnn \TUDa@examdatename {Tag~ der~ Prüfung}{Date~ of~ thesis~ defense}{Date~ of~ thesis~ defence} -\TUDa_declare_caption:Nnn \TUDa@submissiondatename {Tag~ der~ Einreichung}{Date~ of~ submission} -\TUDa_declare_caption:Nnn \TUDa@studentIDname {Matrikelnummer} {Student\nobreakspace ID} +\ptxcd_declare_caption:Nnn \ptxcd_byname {von} {by} +\ptxcd_declare_caption:Nnn \ptxcd_fromname {aus} {from} +\ptxcd_declare_caption:Nnn \ptxcd_departmentprefix {im~ \departmentname}{in~the~\departmentname{}~ of} +\ptxcd_declare_caption:Nnn \ptxcd_reviewname {Gutachten}{review} +\ptxcd_declare_caption:Nnnn \ptxcd_examdatename {Tag~ der~ Prüfung}{Date~ of~ thesis~ defense}{Date~ of~ thesis~ defence} +\ptxcd_declare_caption:Nnn \ptxcd_submissiondatename {Tag~ der~ Einreichung}{Date~ of~ submission} +\ptxcd_declare_caption:Nnn \ptxcd_studentIDname {Matrikelnummer} {Student\nobreakspace ID} %Fallback content for box if not overwritten -\newcommand*\TUDa@box_department {\cs_if_exist_use:NF \departmentfullname {\TUDa@department}} -\newcommand*\TUDa@in_department {} +\newcommand*\ptxcd_box_department {\cs_if_exist_use:NF \departmentfullname {\ptxcd_department}} +\newcommand*\ptxcd_in_department {} +\newcommand*{\ptxcd_thesisStatus}{} -\providecommand*{\TUDa@thesisStatus}{} - -\keys_define:nn {TUDa/thesis} { +\keys_define:nn {ptxcd/thesis} { dr .choice:, - dr/rernat .code:n = \tl_gset:Nn \g_TUDa_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktors~der~Naturwissenschaften~(Dr.\,rer.\,nat.)}, - dr/ing .code:n = \tl_gset:Nn \g_TUDa_thesis_drtext_tl {Zur~Erlangung~des~akademischen~Grades~Doktor-Ingenieur~(Dr.-Ing.)}, - dr/phil .code:n = \tl_gset:Nn \g_TUDa_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktor~der~Philosophie~(Dr.\,phil.)}, + dr/rernat .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktors~der~Naturwissenschaften~(Dr.\,rer.\,nat.)}, + dr/ing .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~akademischen~Grades~Doktor-Ingenieur~(Dr.-Ing.)}, + dr/phil .code:n = \tl_gset:Nn \g_ptxcd_thesis_drtext_tl {Zur~Erlangung~des~Grades~eines~Doktor~der~Philosophie~(Dr.\,phil.)}, type .choice:, - type/sta .code:n = {\def\TUDa@thesisType{Studienarbeit} - \clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, date} - \bool_gset_false:N \g_TUDa_dr_bool + type/sta .code:n = {\def\ptxcd_thesisType{Studienarbeit} + \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date} + \bool_gset_false:N \g_ptxcd_dr_bool }, -% type/diplom .code:n = {\def\TUDa@thesisType{Diplomarbeit}\clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, submissiondate, reviewer, department}}, +% type/diplom .code:n = {\def\ptxcd_thesisType{Diplomarbeit}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, reviewer, department}}, type/bsc .meta:n = {type=bachelor}, - type/bachelor .code:n = {\TUDa_declare_caption:Nnn \TUDa@thesisType{Bachelorarbeit}{bachelor~ thesis} \clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_TUDa_dr_bool}, - type/pp .code:n = {\def\TUDa@thesisType{Project-Proposal}\clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, date, department}\bool_gset_false:N \g_TUDa_dr_bool}, + type/bachelor .code:n = {\ptxcd_declare_caption:Nnn \ptxcd_thesisType{Bachelorarbeit}{bachelor~ thesis} \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool}, + type/pp .code:n = {\def\ptxcd_thesisType{Project-Proposal}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, date, department}\bool_gset_false:N \g_ptxcd_dr_bool}, type/msc .meta:n = {type=master}, - type/master .code:n = \TUDa_declare_caption:Nnn \TUDa@thesisType{Masterarbeit}{master~ thesis} \clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_TUDa_dr_bool, - type/dr .code:n = \TUDa_declare_caption:Nnn \TUDa@thesisType{Dissertation}{doctoral~ thesis}\TUDa_declare_caption:Nnn\TUDa@thesisStatus{vorgelegte}{submitted}\clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, submissiondate , birthplace, department, reviewer}\bool_gset_true:N \g_TUDa_dr_bool, - type/drfinal .code:n = \TUDa_declare_caption:Nnn \TUDa@thesisType {Dissertation}{doctoral~ thesis}\TUDa_declare_caption:Nnn\TUDa@thesisStatus{genehmigte}{accepted}\clist_gset:Nn \g_TUDa_Required_title_data_clist {title, author, submissiondate,examdate, birthplace, department, reviewer}\bool_gset_true:N \g_TUDa_dr_bool, - type/unknown .code:n = \def\TUDa@thesisType{#1}\clist_gset:Nn \g_TUDa_Required_title_data_clist {}\bool_gset_false:N \g_TUDa_dr_bool, - ignore-missing-data .bool_gset:N = \g_TUDa_missing_data_warning_bool, + type/master .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Masterarbeit}{master~ thesis} \clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate, department, reviewer}\bool_gset_false:N \g_ptxcd_dr_bool, + type/dr .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType{Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{vorgelegte}{submitted}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate , birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool, + type/drfinal .code:n = \ptxcd_declare_caption:Nnn \ptxcd_thesisType {Dissertation}{doctoral~ thesis}\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{genehmigte}{accepted}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {title, author, submissiondate,examdate, birthplace, department, reviewer}\bool_gset_true:N \g_ptxcd_dr_bool, + type/unknown .code:n = \def\ptxcd_thesisType{#1}\clist_gset:Nn \g_ptxcd_Required_title_data_clist {}\bool_gset_false:N \g_ptxcd_dr_bool, + ignore-missing-data .bool_gset:N = \g_ptxcd_missing_data_warning_bool, ignore-missing-data .initial:n = false, - department .tl_gset:N = \g_TUDa_department_choice_tl, - status .code:n = \tl_if_head_is_group:nTF {#1} {\TUDa_declare_caption:Nnn\TUDa@thesisStatus #1 {}} {\TUDa_declare_caption:Nnn\TUDa@thesisStatus{#1}{#1}}, + department .tl_gset:N = \g_ptxcd_department_choice_tl, + status .code:n = \tl_if_head_is_group:nTF {#1} {\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus #1 {}} {\ptxcd_declare_caption:Nnn\ptxcd_thesisStatus{#1}{#1}}, fieldofstudy .meta:n ={department = #1}, - ignore-title-language .bool_gset:N = \g_TUDa_ignore_title_language_bool, + ignore-title-language .bool_gset:N = \g_ptxcd_ignore_title_language_bool, ignore-title-language .initial:n ={false}, - noinstbox .bool_gset:N = \g_TUDa_manual_info_box_bool, - instbox .bool_gset_inverse:N = \g_TUDa_manual_info_box_bool, + noinstbox .bool_gset:N = \g_ptxcd_manual_info_box_bool, + instbox .bool_gset_inverse:N = \g_ptxcd_manual_info_box_bool, instbox .initial:n = true } -\prop_map_inline:Nn \g_TUDa_unknown_clsopts_prop { - \keys_if_exist:nnT {TUDa/thesis} {#1} { - \keys_set:nn {TUDa/thesis} {#1=#2} +\prop_map_inline:Nn \g_ptxcd_unknown_clsopts_prop { + \keys_if_exist:nnT {ptxcd/thesis} {#1} { + \keys_set:nn {ptxcd/thesis} {#1=#2} } } -\tl_if_empty:NF \g_TUDa_thesis_options_tl {\keys_set:nV {TUDa/thesis} \g_TUDa_thesis_options_tl} +\tl_if_empty:NF \g_ptxcd_thesis_options_tl {\keys_set:nV {ptxcd/thesis} \g_ptxcd_thesis_options_tl} -\cs_new:Npn \drtext #1 {\tl_gset:Nn \g_TUDa_thesis_drtext_tl {#1}} -\tl_new:N \g_TUDa_titleintro_tl -\cs_new:Npn \titleintro #1 {\tl_gset:Nn \g_TUDa_titleintro_tl {#1}} -\tl_new:N \g_TUDa_titleaddendum_tl -\cs_new:Npn \titleaddendum #1 {\tl_gset:Nn \g_TUDa_titleaddendum_tl {#1}} +\cs_new:Npn \drtext #1 {\tl_gset:Nn \g_ptxcd_thesis_drtext_tl {#1}} +\tl_new:N \g_ptxcd_titleintro_tl +\cs_new:Npn \titleintro #1 {\tl_gset:Nn \g_ptxcd_titleintro_tl {#1}} +\tl_new:N \g_ptxcd_titleaddendum_tl +\cs_new:Npn \titleaddendum #1 {\tl_gset:Nn \g_ptxcd_titleaddendum_tl {#1}} -\msg_new:nnnn {TUDapub/thesis} {required-data-missing} {You~did~not~provide~#1~data~for~the~title.~Either~provide~it~or~change~your~publication~type.} {See~ the~ TUDa-CI~ documentation~ for~ further~ information~ and~ workarounds.} +\msg_new:nnnn{tudapub/thesis} {required-data-missing} {You~did~not~provide~#1~data~for~the~title.~Either~provide~it~or~change~your~publication~type.} {See~ the~ TUDa-CI~ documentation~ for~ further~ information~ and~ workarounds.} -\cs_new:Nn \TUDa_missing_title_data:n { - \bool_if:NTF \g_TUDa_missing_data_warning_bool +\cs_new:Nn \ptxcd_missing_title_data:n { + \bool_if:NTF \g_ptxcd_missing_data_warning_bool \msg_warning:nnn - \msg_error:nnn {TUDapub/thesis} {required-data-missing} {#1} + \msg_error:nnn{tudapub/thesis} {required-data-missing} {#1} } -\cs_new:Nn \TUDa_check_title_data:Nn { - \clist_if_in:NnT \g_TUDa_Required_title_data_clist {#2} { +\cs_new:Nn \ptxcd_check_title_data:Nn { + \clist_if_in:NnT \g_ptxcd_Required_title_data_clist {#2} { \tl_if_empty:NT #1 { - \bool_if:NTF \g_TUDa_missing_data_warning_bool + \bool_if:NTF \g_ptxcd_missing_data_warning_bool {\msg_warning:nnn} - {\msg_error:nnn} {TUDapub/thesis} {required-data-missing} {#2} + {\msg_error:nnn} {tudapub/thesis} {required-data-missing} {#2} } } } -\cs_generate_variant:Nn \TUDa_check_title_data:Nn {cn} +\cs_generate_variant:Nn \ptxcd_check_title_data:Nn {cn} \renewcommand*\author[2][]{ - \seq_gset_split:Nnn \g_TUDa_author_seq {\and} {#2} + \seq_gset_split:Nnn \g_ptxcd_author_seq {\and} {#2} \tl_if_empty:nTF {#1} - {\def\TUDa@signature{#2}} - {\def\TUDa@signature{#1}} + {\def\ptxcd_signature{#2}} + {\def\ptxcd_signature{#1}} } \newcommand*{\studentID}[1]{ - \gdef\TUDa@studentID{#1} + \gdef\ptxcd_studentID{#1} } -\gdef\TUDa@institution{} -\gdef\TUDa@institute{} -\gdef\TUDa@department{} -\gdef\TUDa@studentID{} +\gdef\ptxcd_institution{} +\gdef\ptxcd_institute{} +\gdef\ptxcd_department{} +\gdef\ptxcd_studentID{} \NewDocumentCommand{\department}{som}{% -\IfBooleanTF{#1}{ - \tl_gset:Nn \TUDa@department {#3} - \tl_gset:Nn \TUDa@in_department{#3} - \IfNoValueTF {\tl_gset:Nn \TUDa@box_department {#3}} {\tl_gset:Nn \TUDa@box_department{#2}} - \clist_remove_all:Nn \g_TUDa_Required_title_data_clist {department} -}{ - \tl_gset:Nn \g_TUDa_department_choice_tl {#3} - \IfNoValueF {#2} {\tl_gset:Nn \TUDa_in_department {#1}} - } + \IfBooleanTF{#1}{ + \tl_gset:Nn \ptxcd_department {#3} + \tl_gset:Nn \ptxcd_in_department{#3} + \IfNoValueTF {\tl_gset:Nn \ptxcd_box_department {#3}} {\tl_gset:Nn \ptxcd_box_department{#2}} + \clist_remove_all:Nn \g_ptxcd_Required_title_data_clist {department} + }{ + \tl_gset:Nn \g_ptxcd_department_choice_tl {#3} + \IfNoValueF {#2} {\tl_gset:Nn \ptxcd_departmentprefix {#2}} + } } \newcommand*{\institute}[1]{ - \gdef\TUDa@institute{#1} + \gdef\ptxcd_institute{#1} } -\gdef\TUDa@group{} +\gdef\ptxcd_group{} \newcommand*{\group}[1]{% - \gdef\TUDa@group{#1} + \gdef\ptxcd_group{#1} } -\gdef\TUDa@birthplace{} +\gdef\ptxcd_birthplace{} \newcommand*{\birthplace}[1]{% - \bool_if:NTF \g_TUDa_dr_bool - {\gdef\TUDa@birthplace{#1}} - {\msg_info:nnn {tudapub/tudathesis} {dr-field-only} {birthplace}} + \bool_if:NTF \g_ptxcd_dr_bool + {\gdef\ptxcd_birthplace{#1}} + {\msg_info:nnn{tudapub/thesis} {dr-field-only} {birthplace}} } -\publishers{Darmstadt\bool_if:NT \g_TUDa_dr_bool {~ --~ D~17}} +\publishers{Darmstadt\bool_if:NT \g_ptxcd_dr_bool {~ --~ D~17}} -\seq_new:N \g_TUDa_reviewer_seq +\seq_new:N \g_ptxcd_reviewer_seq \newcommand*{\reviewer}[1]{ - \seq_gset_split:Nnn \g_TUDa_reviewer_seq {\and} {#1} + \seq_gset_split:Nnn \g_ptxcd_reviewer_seq {\and} {#1} \tl_if_empty:nTF {#1} {\let\@reviewer\@empty}{} } -\gdef\TUDa@thesis@reviewer{ - \clist_if_in:NnT \g_TUDa_Required_title_data_clist {reviewer} { - \seq_if_empty:NT \g_TUDa_reviewer_seq {\TUDa_missing_title_data:n {reviewer}} +\cs_set:Nn \ptxcd_thesis_print_reviewer: { + \clist_if_in:NnT \g_ptxcd_Required_title_data_clist {reviewer} { + \seq_if_empty:NT \g_ptxcd_reviewer_seq {\ptxcd_missing_title_data:n {reviewer}} } \int_zero:N \l_tmpb_int \par\vspace*{\baselineskip} - \seq_map_inline:Nn \g_TUDa_reviewer_seq + \seq_map_inline:Nn \g_ptxcd_reviewer_seq { \int_incr:N \l_tmpb_int - \int_to_arabic:n {\l_tmpb_int}.~\text_titlecase:n{\TUDa@reviewname}:~\exp_not:n {##1}\\ + \int_to_arabic:n {\l_tmpb_int}.~\text_titlecase:n{\ptxcd_reviewname}:~\exp_not:n {##1}\\ } } -\gdef\TUDa@examdate{} +\gdef\ptxcd_examdate{} \newcommand*{\examdate}[1]{ - \bool_if:NTF \g_TUDa_dr_bool - {\gdef\TUDa@examdate{#1}} - {\msg_info:nnn {tudapub/tudathesis} {dr-field-only} {examdate}} + \bool_if:NTF \g_ptxcd_dr_bool + {\gdef\ptxcd_examdate{#1}} + {\msg_info:nnn{tudapub/thesis} {dr-field-only} {examdate}} } -\gdef\TUDa@submissiondate{} - +\gdef\ptxcd_submissiondate{} \newcommand*{\submissiondate}[1]{ - \gdef\TUDa@submissiondate{#1} + \gdef\ptxcd_submissiondate{#1} } -\gdef\TUDa@submissiondate{} \gdef\@date{} -\newcommand*{\TUDa@thesis@dates}[1][,~]{ +\cs_new:Nn \ptxcd_thesis_print_dates:n { \bool_set_false:N \l_tmpa_bool \tl_if_empty:NF \@date { - \TUDa@datename\tl_if_empty:NF \TUDa@datename {\TUDa@dateseparator}\@date + \ptxcd_datename\tl_if_empty:NF \ptxcd_datename {\ptxcd_dateseparator}\@date \bool_set_true:N \l_tmpa_bool } - \tl_if_empty:NF \TUDa@submissiondate { - \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\TUDa@submissiondatename\TUDa@dateseparator\TUDa@submissiondate + \tl_if_empty:NF \ptxcd_submissiondate { + \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\ptxcd_submissiondatename\ptxcd_dateseparator\ptxcd_submissiondate } - \tl_if_empty:NF \TUDa@examdate { - \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\TUDa@examdatename\TUDa@dateseparator\TUDa@examdate + \tl_if_empty:NF \ptxcd_examdate { + \bool_if:NTF \l_tmpa_bool {#1} {\bool_set_true:N \l_tmpa_bool}\ptxcd_examdatename\ptxcd_dateseparator\ptxcd_examdate } } -\keys_define:nn {TUDa/thesis} { - urn .tl_gset:N =\g_TUDa_thesis_urn_tl, +\keys_define:nn {ptxcd/thesis} { + urn .tl_gset:N =\g_ptxcd_thesis_urn_tl, urn .initial:V = \c_empty_tl, - printid .tl_gset:N = \g_TUDa_thesis_tuprints_tl, + printid .tl_gset:N = \g_ptxcd_thesis_tuprints_tl, printid .initial:V = \c_empty_tl, - license .tl_gset:N = \g_TUDa_license_info_tl, + doi .tl_gset:N = \g_ptxcd_thesis_doi_tl, + license .tl_gset:N = \g_ptxcd_license_info_tl, license .initial:n = {Die~Veröffentlichung~steht~unter~folgender~Creative~Commons~Lizenz:\\ Namensnennung~--~Keine~kommerzielle~Nutzung~--~Keine~Bearbeitung~ 2.0~Deutschland\\ \url{http://creativecommons.org/licenses/by-nc-nd/2.0/de/} @@ -298,27 +296,29 @@ \newcommand{\tuprints}[1]{% \tl_if_in:nnTF {#1} {=} - {\keys_set:nn {TUDa/thesis} {#1}} - {\keys_set:nn {TUDa/thesis} {printid=#1}} + {\keys_set:nn {ptxcd/thesis} {#1}} + {\keys_set:nn {ptxcd/thesis} {printid=#1}} \lowertitleback{ \urlstyle{same} Bitte~zitieren~Sie~dieses~Dokument~als: - \tl_if_empty:NF \g_TUDa_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_TUDa_thesis_urn_tl} - \\URL:~\url{http://tuprints.ulb.tu-darmstadt.de/\g_TUDa_thesis_tuprints_tl}\par\vspace{\baselineskip} + \tl_if_empty:NF \g_ptxcd_thesis_urn_tl {\\URN:~urn:nbn:de:tuda-tuprints-\g_ptxcd_thesis_urn_tl}\\ + URL:~\url{http://tuprints.ulb.tu-darmstadt.de/\g_ptxcd_thesis_tuprints_tl}\\ + \tl_if_empty:NF \g_ptxcd_thesis_doi_tl {DOI:~\url{https://doi.org/\g_ptxcd_thesis_doi_tl}} + \par\vspace{\baselineskip} Dieses~Dokument~wird~bereitgestellt~von~tuprints,\\ E-Publishing-Service~der~TU~Darmstadt\\ \url{http://tuprints.ulb.tu-darmstadt.de}\\ \url{tuprints@ulb.tu-darmstadt.de}\\[2\baselineskip] - \tl_if_empty:NF \g_TUDa_license_info_tl {\\[2\baselineskip]\g_TUDa_license_info_tl} + \tl_if_empty:NF \g_ptxcd_license_info_tl {\\[2\baselineskip]\g_ptxcd_license_info_tl} }% } \gdef\@subject{ - \text_titlecase_first:n{\tl_if_empty:NF \TUDa@thesisStatus {\TUDa@thesisStatus{}~}\TUDa@thesisType}~ - \tl_if_empty:NF \TUDa@in_department {\TUDa@in_department{}~} - \seq_if_empty:NF \g_TUDa_author_seq {\TUDa@byname\nobreakspace\@author} - \tl_if_empty:NF \TUDa@birthplace {\space\TUDa@fromname\space\TUDa@birthplace} - \tl_if_empty:NF \TUDa@studentID {\space\TUDa_insert_studentID:n {\TUDa@studentID}} + \text_titlecase_first:n{\tl_if_empty:NF \ptxcd_thesisStatus {\ptxcd_thesisStatus{}~}\ptxcd_thesisType}~ + \tl_if_empty:NF \ptxcd_in_department {\ptxcd_in_department{}~} + \seq_if_empty:NF \g_ptxcd_author_seq {\ptxcd_byname\nobreakspace\@author} + \tl_if_empty:NF \ptxcd_birthplace {\space\ptxcd_fromname\space\ptxcd_birthplace} + \tl_if_empty:NF \ptxcd_studentID {\space\ptxcd_insert_studentID:n {\ptxcd_studentID}} } \uppertitleback{ @@ -326,12 +326,12 @@ \@title\par\@subtitle \par\vspace*{\baselineskip} %ignore birthplace on english subject - \let\TUDa@birthplace\@empty + \let\ptxcd_birthplace\@empty \@subject - \TUDa@thesis@reviewer - \exp_args:Nx \tl_if_empty:nF {\@date\TUDa@submissiondate}{ + \ptxcd_thesis_print_reviewer: + \exp_args:Nx \tl_if_empty:nF {\@date\ptxcd_submissiondate}{ \par\vspace*{\baselineskip} - \TUDa@thesis@dates[\\] + \ptxcd_thesis_print_dates:n {\\} } \tl_if_empty:NF \@publishers { \par\vspace*{\baselineskip} @@ -359,34 +359,37 @@ \renewcommand{\titlepagestyle}{title.TUDa} -\box_new:N \g_TUDa_thesis_institution_box +\box_new:N \g_ptxcd_thesis_institution_box +% The following macro is an adapted version of the corresponding KOMA-Script macro +% Copyright (c) 1994-2019 Markus Kohm [komascript at gmx info] \renewcommand*{\maketitle}[1][1]{ - \bool_if:NF \g_TUDa_ignore_title_language_bool { - \bool_set_false:N \l_tmpa_bool - \clist_map_inline:nn {english, british, ngerman, german} { - \iflanguage{##1} - {\bool_set_true:N \l_tmpa_bool - \clist_map_break:}{} - } - \bool_if:NF \l_tmpa_bool { - \msg_error:nnx {tudapub/tudathesis} {unsupported-title-language} {\languagename} - } + \bool_if:NF \g_ptxcd_ignore_title_language_bool { + \bool_set_false:N \l_tmpa_bool + \clist_map_inline:nn {english, british, ngerman, german} { + \iflanguage{##1} + {\bool_set_true:N \l_tmpa_bool + \clist_map_break:}{} + } + \bool_if:NF \l_tmpa_bool { + \msg_error:nnx{tudapub/thesis} {unsupported-title-language} {\languagename} + } } - \exp_args:NV \TUDa_select_department:n \g_TUDa_department_choice_tl + \exp_args:NV \ptxcd_select_department:n \g_ptxcd_department_choice_tl \clist_map_inline:nn {author, date} { - \TUDa_check_title_data:cn {@##1} {##1} + \ptxcd_check_title_data:cn {@##1} {##1} } \clist_map_inline:nn {examdate, birthplace, group, department, institution} { - \TUDa_check_title_data:cn {TUDa@##1} {##1} + \ptxcd_check_title_data:cn {TUDa@##1} {##1} } - \cs_if_exist_use:N \TUDa_pass_TitleData: - \TUDa_disable_marginpar: + \cs_if_exist_use:N \ptxcd_pass_TitleData: + \ptxcd_disable_marginpar: \cleardoublepage \begin{titlepage} \setcounter{page}{% #1% }% + \def\thefootnote{\fnsymbol{footnote}} \if@titlepageiscoverpage \edef\titlepage@restore{% \noexpand\endgroup @@ -417,71 +420,87 @@ \let\titlepage@restore\relax \fi \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \hbox_gset:Nn \g_TUDa_title_box { + \ptxcd_setup_sponsor_box: + \hbox_gset:Nn \g_ptxcd_title_box { \parbox[t]{\linewidth}{ - \begin{minipage}[b]{\bool_if:NT \g_TUDa_logo@inhead_bool {.75}\linewidth} - \begin{addmargin}{3mm} - \raggedright - \tl_if_empty:NF \@titlehead {\usekomafont{titlehead}{\@titlehead\par}} - \usekomafont{title} - \expandafter\fontsize\TUDa_title_fontsize: - \selectfont - \@title\strut\par - \vskip0pt - \end{addmargin} - \end{minipage}\par\nointerlineskip - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par + \begin{minipage}[b]{\bool_if:NT \g_ptxcd_logo@inhead_bool {.75}\linewidth} + \bool_if:NT \g_ptxcd_logo@inhead_bool {\color{textonaccentcolor}} + \tl_if_empty:NF \@titlehead { + \begin{addmargin}{3mm} + {\usekomafont{titlehead}{\@titlehead\par}} + \end{addmargin} + } + \begin{addmargin}[\dim_eval:n {\box_if_empty:NF \g_ptxcd_PaperID_box {\box_wd:N\g_ptxcd_PaperID_box+.5\c_ptxcd_logoheight_dim} +3mm}]{3mm} + \raggedright + \leavevmode\usekomafont{title} + \expandafter\fontsize\ptxcd_title_fontsize: + \selectfont + \llap{\raisebox{\dimexpr-\height+.5\baselineskip}[0pt][0pt]{\box_use:N \g_ptxcd_PaperID_box}\hspace{.5\c_ptxcd_logoheight_dim}} + \@title\strut + \par + \box_if_empty:NTF \g_ptxcd_PaperID_box + {\vskip0pt} + {\rule{0pt}{.5\c_ptxcd_logoheight_dim}} + \end{addmargin} + \end{minipage}% + \par\nointerlineskip + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par\vspace{\c_ptxcd_rulesep_dim} \begin{addmargin}{3mm} + \usekomafont{titleinfo} \raggedright - \expandafter\fontsize\TUDa_titleinfo_fontsize: + \expandafter\fontsize\ptxcd_titleinfo_fontsize: \selectfont {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% \usekomafont{subject} - \bool_if:NT \g_TUDa_dr_bool {\selectlanguage{ngerman}} - \tl_if_empty:NF \g_TUDa_titleintro_tl {\g_TUDa_titleintro_tl\par} - \tl_if_empty:NF \g_TUDa_thesis_drtext_tl {\g_TUDa_thesis_drtext_tl\par} + \bool_if:NT \g_ptxcd_dr_bool {\selectlanguage{ngerman}} + \tl_if_empty:NF \g_ptxcd_titleintro_tl {\g_ptxcd_titleintro_tl\par} + \tl_if_empty:NF \g_ptxcd_thesis_drtext_tl {\g_ptxcd_thesis_drtext_tl\par} {% \usekomafont{author} \lineskip 0.75em \@subject \par }% - {\usekomafont{date}{\TUDa@thesis@dates\par}}% - \TUDa@thesis@reviewer\par + {\usekomafont{date}{\ptxcd_thesis_print_dates:n {,~}\par}}% + \ptxcd_thesis_print_reviewer:\par {\usekomafont{publishers}{\@publishers \par}}% - \tl_if_empty:NF \g_TUDa_titleaddendum_tl {\g_TUDa_titleaddendum_tl\par} - \end{addmargin}%\vspace{\dim_eval:n {-2\ht\strutbox -\dp\strutbox}}%\baselineskip} - \rule{\linewidth}{\g_TUDa_titlerule_dim}\par}} - \bool_if:NF \g_TUDa_manual_info_box_bool { - \exp_args:Nf \tl_if_empty:nF {\TUDa@institution\TUDa@department\TUDa@institute\TUDa@group} { - \addTitleBox{ - \tl_if_empty:NF \TUDa@institution {\TUDa@institution\par} - \tl_if_empty:NF \TUDa@box_department {\TUDa@box_department\par} - \tl_if_empty:NF \TUDa@institute {\TUDa@institute\par} - \tl_if_empty:NF \TUDa@group {\TUDa@group} - }} + \tl_if_empty:NF \g_ptxcd_titleaddendum_tl {\g_ptxcd_titleaddendum_tl\par} + \end{addmargin} + \rule{\linewidth}{\g_ptxcd_titlerule_dim}\par}} + \bool_if:NF \g_ptxcd_manual_info_box_bool { + \exp_args:Nf \tl_if_empty:nF {\ptxcd_institution\ptxcd_department\ptxcd_institute\ptxcd_group} { + \addTitleBox{ + \tl_if_empty:NF \ptxcd_institution {\ptxcd_institution\par} + \tl_if_empty:NF \ptxcd_box_department {\ptxcd_box_department\par} + \tl_if_empty:NF \ptxcd_institute {\ptxcd_institute\par} + \tl_if_empty:NF \ptxcd_group {\ptxcd_group} + }} } - - \TUDa_adjust_titlepage_style: - - \nointerlineskip\box_use:N \g_TUDa_title_box - \par + \ptxcd_adjust_titlepage_style: + \thispagestyle{title.TUDa} + \nointerlineskip\box_use:N \g_ptxcd_title_box + \par + \vfill \@thanks\let\@thanks\@empty - \vfill\null + \box_if_empty:NTF \g_ptxcd_sponsor_box { + \raisebox{-\c_ptxcd_rulesep_dim}[0pt][0pt]{\rule{\linewidth}{\g_ptxcd_titlerule_dim}} + }{ + \box_use:N \g_ptxcd_sponsor_box + } \if@twoside - \@tempswatrue + \@tempswatrue \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax - \else - \ifx\@uppertitleback\@empty + \else + \ifx\@uppertitleback\@empty \ifx\@lowertitleback\@empty - \@tempswafalse - \fi + \@tempswafalse \fi \fi + \fi \else - \exp_args:Nf \tl_if_empty:nTF {\g_TUDa_thesis_urn_tl\g_TUDa_thesis_tuprints_tl} - {\@tempswafalse} - {\@tempswatrue} + \exp_args:Nf \tl_if_empty:nTF {\g_ptxcd_thesis_urn_tl\g_ptxcd_thesis_tuprints_tl} + {\@tempswafalse} + {\@tempswatrue} \fi \if@tempswa \next@tpage @@ -507,15 +526,16 @@ \setcounter{footnote}{0}% \global\let\and\relax \cleardoublepage - \TUDa_restore_typearea: - \aftergroup\TUDa_restore_typearea: + \ptxcd_restore_typearea: + \aftergroup\ptxcd_restore_typearea: } +\newcommand*{\@ThesisType}{\ptxcd_thesisType} \ExplSyntaxOff \NewDocumentCommand{\affidavit}{s}{ \clearpage \begin{otherlanguage}{ngerman} -\csname bool_if:cTF\endcsname {g_TUDa_dr_bool} { +\csname bool_if:cTF\endcsname {g_ptxcd_dr_bool} { \section*{Erklärungen laut Promotionsordnung} \subsection*{\S{}8 Abs. 1 lit. c PromO} Ich versichere hiermit, dass die elektronische Version meiner Dissertation mit der schriftlichen Version übereinstimmt. @@ -530,7 +550,7 @@ Die Arbeit hat bisher noch nicht zu Prüfungszwecken gedient. \bigskip }{ \section*{Erklärung zur Abschlussarbeit\\gemäß \S{}22~Abs.~7 und \S{}23~Abs.~7~APB der TU~Darmstadt} -Hiermit versichere ich, \@author, die vorliegende \TUDa@thesisType{} ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. +Hiermit versichere ich, \@author, die vorliegende \@ThesisType{} ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Stellen, die Quellen entnommen wurden, sind als solche kenntlich gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner Prüfungsbehörde vorgelegen. \par Mir ist bekannt, dass im Fall eines Plagiats (\S{}38~Abs.~2~APB) ein Täuschungsversuch vorliegt, der dazu führt, dass die Arbeit mit 5,0 bewertet und damit ein Prüfungsversuch verbraucht wird. Abschlussarbeiten dürfen nur einmal wiederholt werden. \par @@ -546,53 +566,52 @@ Bei einer Thesis des Fachbereichs Architektur entspricht die eingereichte elektr \IfBooleanF{#1}{\clearpage} } +\ExplSyntaxOn + \NewDocumentEnvironment{affidavit*}{om}{ -\IfNoValueF {#1} {\begin{otherlanguage}{#1}} -\section*{#2} + \IfNoValueF {#1} {\begin{otherlanguage}{#1}} + \section*{#2} }{ -\IfNoValueF {#1} {\end{otherlanguage}} + \IfNoValueF {#1} {\end{otherlanguage}} } \newcommand*{\AffidavitSignature}[1][Darmstadt]{ -\par -\bigskip -#1, \TUDa@submissiondate\hfill\SignatureBox{\TUDa@signature}\\\strut + \par + \bigskip + #1, \ptxcd_submissiondate\hfill\SignatureBox{\ptxcd_signature}\\\strut } \newcommand*{\SignatureBox}[2][5cm]{\parbox[t]{#1}{\centering\rule{\linewidth}{.3pt}\\\makebox[0pt][c]{#2}}} - -\ExplSyntaxOn - %messages: -\msg_new:nnn {tudapub/tudathesis} {dr-field-only} { +\msg_new:nnn{tudapub/thesis} {dr-field-only} { You~submitted~#1~data~for~title~information.\\ This~field~is~only~used~for~type=dr/drfinal.\\ It~will~be~ignored. } -\msg_new:nnn {tudapub/tudathesis} {unrecognized-department} { +\msg_new:nnn{tudapub/thesis} {unrecognized-department} { I~can't~recognize~your~department~#1.\\ I~will~use~the~string~'#1'~directly.\\ Ensure~your~department~has~to~shortcut.\\ See~tudathesis~documentation~for~further~details. } -\msg_new:nnnn {tudapub/tudathesis} {unsupported-title-language} { +\msg_new:nnnn{tudapub/thesis} {unsupported-title-language} { You~chose~an~unsupported~language~"#1".\\ \string\maketitle\ ~ist~not~configured~for~this~language. }{ You~can~manually~configure~it,~as~described~in~tudathesis~documentation.\\ - Use~ "ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk. + Use~"ignore-title-language"~Option~to~ignore~this~message~at~your~own~risk. } -\bool_if:NT \g_TUDa_dr_bool { +\bool_if:NT \g_ptxcd_dr_bool { \PassOptionsToPackage{ngerman}{babel} } % Fallback mechanism for older l3 kernels \cs_if_exist:NF \text_titlecase:n { - \cs_set_eq:NN\text_titlecase:n\tl_mixed_case:n + \cs_set_eq:NN \text_titlecase:n \tl_mixed_case:n } \endinput -- cgit v1.2.3