summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-10 21:20:57 +0000
committerKarl Berry <karl@freefriends.org>2020-03-10 21:20:57 +0000
commit01ea6963d7c820da4b3a62d375e83a21f9f5fe91 (patch)
tree3bce2b0f116b4a5ec02bc7a7862c67e323facc79 /Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
parent14870f540d9edd1b21a301f7849aa2dc6e1f8a0c (diff)
tuda-ci (10mar20)
git-svn-id: svn://tug.org/texlive/trunk@54226 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls')
-rw-r--r--Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls437
1 files changed, 437 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
new file mode 100644
index 00000000000..d4fc2062c51
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tuda-ci/tudaleaflet.cls
@@ -0,0 +1,437 @@
+%% This is file `tudaleaflet.cls' version 2.09 (2020/03/09),
+%% it is part of
+%% TUDa-CI -- Corporate Design for TU Darmstadt
+%% ----------------------------------------------------------------------------
+%%
+%% Copyright (C) 2018--2020 by Marei Peischl <marei@peitex.de>
+%%
+%% ============================================================================
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainers of this work are
+%% Marei Peischl <tuda-ci@peitex.de>
+%% Markus Lazanowski <latex@ce.tu-darmstadt.de>
+%%
+%% The development respository can be found at
+%% https://github.com/tudace/tuda_latex_templates
+%% Please use the issue tracker for feedback!
+%%
+%% ============================================================================
+%%
+\def\fileversion{2.09}
+\def\filedate{2020/03/09}
+\def\filedate{2020/02/02}
+\def\fileversion{}
+\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,
+ 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 .initial:n = true,
+ colorback .default:n = true,
+ colorbacktitle .bool_gset:N = \g_TUDa_colorbacktitle_bool,
+ colorbacktitle .initial:n = false,
+ colorbacktitle .default:n = true,
+ colorbacksubtitle .bool_set:N = \g_TUDa_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 .initial:n = title,
+}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{leaflet}}
+
+\ProcessKeysOptions{TUDa/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}
+ }
+}
+
+\LoadClass[notumble,9pt]{leaflet}
+
+%to workaround incompatibilities between leaflet and scrextend
+\let\sectfont\relax
+\RequirePackage{scrextend}
+\RequirePackage{scrlayer}
+\PassOptionsToPackage{cmyk}{tudacolors}
+\usepackage[paper=leaflet]{tudarules}
+
+
+\setlength{\headheight}{1cm}%to add headline
+\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}
+]{TUDa.flyer.headline}
+
+\DeclareNewLayer[
+ foot,
+ mode=picture,
+ height=\z@,
+ voffset=\paperheight-14mm,
+ contents=\smash{\box_use:N \TUDa_footrule_box}
+]{TUDa.flyer.footline}
+
+\DeclareNewPageStyleByLayers{TUDa.flyer}{
+ TUDa.flyer.headline,
+ TUDa.flyer.footline,
+}
+
+% Title specific additions to pagestyle
+
+\DeclareNewLayer[textarea,mode=picture,
+addheight=\headheight-\box_dp:N \TUDa_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}}}}
+ {\putUL{\color{identbarcolor}\raisebox{-\height}{\parbox[t]{\textwidth}{
+ \let\width\layerwidth
+ \let\height\layerheight
+ \g_TUDa_titleimage_code_tl
+ }}}}
+ \put(\dim_to_decimal_in_unit:nn {\layerwidth-2.2\c_TUDa_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}
+ }
+}
+]{title.TUDa.image}
+
+\DeclareNewLayer[textarea,background,mode=picture,
+ contents={
+ \bool_if:NT \g_TUDa_colorbacktitle_bool {
+ \color{identbarcolor}\rule{\layerwidth}{\layerheight}
+ }
+ }
+]{title.TUDa.background}
+
+\DeclareNewPageStyleByLayers{title.TUDa}{
+ title.TUDa.image,
+ title.TUDa.background,
+ TUDa.flyer.headline,
+ TUDa.flyer.footline,
+}
+
+\cs_new:Nn \TUDa_Setup_Title_box: {
+ \hbox_gset:Nn \g_TUDa_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}}}
+ }
+ }
+}
+
+\newcommand*\sectionlinesformat[1]{%
+ \parbox{\linewidth}{
+ \rule[\TUDa_titlerule_sep:]{\linewidth}{\g_TUDa_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}}
+ }
+}
+
+% Titlepage
+\newcommand*{\raggedtitle}{\raggedright}
+\renewcommand*{\maketitle}{
+ \def\and{,~ }
+ \hbox_gset:Nn \g_TUDa_sponsor_box {
+ \def\height{\dimexpr.8\c_TUDa_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}
+ \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}
+ }
+ }
+ \begin{titlepage}
+ \def\thefootnote{\fnsymbol{footnote}}
+ \hbox_gset:Nn \g_TUDa_title_box {
+ \parbox[t]{\linewidth}{
+ \begin{minipage}[b]{\linewidth}
+ \bool_if:NT \g_TUDa_colorbacktitle_bool {\color{textonaccentcolor}}
+ \begin{addmargin}{3mm}
+ \raggedtitle
+ \Huge
+ \usekomafont{disposition}
+ \usekomafont{title}
+ \leavevmode%
+ \@title\strut\par
+ \vskip0pt
+ \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}}
+ \par
+ \vspace{\c_TUDa_rulesep_dim}
+ \begin{addmargin}{3mm}
+ \bool_if:NT \g_TUDa_colorbacksubtitle_bool {\color{textonaccentcolor}}
+ \raggedtitle
+ \usekomafont{disposition}
+ {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}%
+ {%
+ \usekomafont{author}
+ \lineskip 0.75em
+ \@author
+ \par
+ }%
+ {\usekomafont{date}{\@date\par}}%
+ \end{addmargin}\nointerlineskip
+ \vspace{\c_TUDa_rulesep_dim}
+ \bool_if:NT \g_TUDa_colorbacktitle_bool
+ {
+ \textcolor{white}{\rule{\linewidth}{\c_TUDa_rulesep_dim}}\par\nointerlineskip
+ }
+ \rule{\linewidth}{\g_TUDa_titlerule_dim}\par
+ }
+ }
+ \TUDa_adjust_titlepage_style:
+ \par
+ \vspace*{\dimexpr.5\c_TUDa_logoheight_dim-\topskip}
+ \box_use:N \g_TUDa_title_box
+ \par
+ \vfill\null
+ \if@twoside
+ \@tempswatrue
+ \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax
+ \else
+ \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty
+ \@tempswafalse
+ \fi\fi
+ \fi
+ \fi
+ \end{titlepage}
+ \setcounter{footnote}{0}%
+ \global\let\and\relax
+}
+
+
+\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}}
+ }
+
+ \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
+ }
+ \ModifyLayer[
+ addvoffset=\l_tmpa_dim,
+ addheight= -\l_tmpa_dim
+ ]{title.TUDa.image}
+ \DeclareNewLayer[clone=TUDa.flyer.footline,%clone=title.TUDa.image,
+ mode=picture,
+ align=bl,
+ height=\box_ht:N \g_TUDa_sponsor_box + \box_dp:N \g_TUDa_sponsor_box,
+ addvoffset=-\dp\strutbox,
+ contents=\raisebox{\depth}{\box_use:N \g_TUDa_sponsor_box}
+ ]
+ {title.TUDa.sponsor}
+ \exp_args:Nx \tl_if_eq:nnT {\g_TUDa_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
+ ]{title.TUDa.image}
+ }
+ \ModifyLayer[
+ addvoffset={-\dim_eval:n {\headheight -\box_ht:N \TUDa_headrule_box-\box_dp:N \TUDa_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
+ }
+ ]{title.TUDa.background}
+
+ \AddLayersToPageStyle{title.TUDa}{title.TUDa.background}
+ \thispagestyle{title.TUDa}
+ \nointerlineskip
+ \TUDa_Setup_Title_box:
+ \par
+ \vspace*{\skip_use:N \g_TUDa_title_fill_skip}
+ \setlength{\fboxsep}{\z@}
+}
+%
+
+\pagestyle{TUDa.flyer}
+
+\RequirePackage{tudafonts}
+\renewcommand*{\familydefault}{\sfdefault}
+
+%Titlepage font setup
+\setkomafont{disposition}{\accentfont\bfseries}
+\setkomafont{title}{\Huge}
+\setkomafont{subtitle}{}
+\setkomafont{date}{}
+\setkomafont{author}{}
+\newkomafont{institution}{}
+
+%Adjust section font setup to be komafont compatible
+\newkomafont{section}{}
+\newkomafont{subsection}{}
+\newkomafont{subsubsection}{}
+
+\renewcommand\section{\@startsection{section}{1}{\z@}%
+ {-3.5ex \@plus -.75ex}%
+ {1ex}%
+ {\usekomafont{disposition}\usekomafont{section}\sectfont}}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-2.5ex plus -.5ex}%
+ {1\p@}%
+ {\usekomafont{disposition}\usekomafont{subsection}\sectfont}}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-2.5ex plus -.5ex}%
+ {-1em}%
+ {\usekomafont{disposition}\usekomafont{subsubsection}\sectfont}}
+
+\clist_map_inline:nn {section, subsection, subsubsection} {
+ \cs_set_eq:cc {TUDa_save_#1} {#1}
+ \exp_args:Nc \RenewDocumentCommand{#1}{sO{##3}m}{
+ \IfBooleanTF{##1}{
+ \use:c {TUDa_save_#1}*{\sectionlinesformat{##3}}
+ }{
+ \use:c {TUDa_save_#1}[##2]{\sectionlinesformat{##3}}
+ }
+ }
+}
+
+\cs_new:Nn \TUDa_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}
+
+\def\sponsors#1{\def\@sponsors{#1}}
+\sponsors{}
+
+\box_new:N \g_TUDa_sponsor_box
+
+\newcommand*{\footergraphics}[1]{
+ \begingroup
+ \let\height\g_TUDa_footheight_dim
+ \hbox_gset:Nn \g_TUDa_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}}
+
+\box_new:N \g_TUDa_title_box
+\skip_new:N \g_TUDa_title_fill_skip
+
+\seq_new:N \g_TUDa_title_info_seq
+\box_new:N \g_TUDa_title_info_box
+
+\colorlet{TUDa@InfoBoxColor}{white}
+
+\cs_new:Nn \TUDa_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}{
+ \usekomafont{institution}
+ \raggedright%
+ #1
+ }}}
+}
+
+\cs_new:Nn \TUDa_make_title_logo_box:n {
+ \setlength{\fboxsep}{\z@}
+ \parbox{2.2\c_TUDa_logoheight_dim}{
+ \colorbox{TUDa@InfoBoxColor}{
+ \rlap{
+ \makebox[2.5\c_TUDa_logoheight_dim][r]{
+ \colorbox{TUDa@InfoBoxColor}{#1\hspace{.3\c_TUDa_logoheight_dim}}
+ }
+ }
+ }
+ }
+}
+
+\newcommand{\addTitleBox}[1]{\seq_gput_right:Nn \g_TUDa_title_info_seq {\TUDa_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_TUDa_title_info_seq {
+ \TUDa_make_title_logo_box:n {
+ \hbox_set:Nn \l_tmpa_box {
+ \includegraphics[width=1.5\c_TUDa_logoheight_dim]{#2}
+ }
+ \dim_set:Nn \l_tmpa_dim {2\c_TUDa_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}
+ }
+ }
+ }
+}
+
+\addTitleBoxLogo*{\makebox[\linewidth][l]{\includegraphics[height=\c_TUDa_logoheight_dim]{\g_TUDa_logofile_tl}}}
+\date{}
+
+\let\insertSponsors\relax
+
+\str_case:Vn \g_TUDa_sponsor_pos_tl {
+ {lastfoot}{
+ \AtEndDocument{
+ \par\vspace*{\fill}
+ \leavevmode\raisebox{\dimexpr\depth-\baselineskip}[0pt][0pt]{
+ \box_use:N \g_TUDa_sponsor_box
+ }
+ }
+ }
+ {manual} {
+ \renewcommand*{\insertSponsors}{\par\vfill\leavevmode\box_use:N \g_TUDa_sponsor_box\par\nobreak\nointerlineskip\rule{\linewidth}{\g_TUDa_titlerule_dim}
+ }
+}
+}
+
+\endinput \ No newline at end of file