summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-22 03:00:57 +0000
committerNorbert Preining <norbert@preining.info>2024-04-22 03:00:57 +0000
commita31bd8158f86091f06dabe074c14dd277da57c68 (patch)
treedc1cb56c54b8a7b625d1c5a81948b6c9137da829 /macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
parent3617595995cb2684b6a938dcbb288f658b3f9501 (diff)
CTAN sync 202404220300
Diffstat (limited to 'macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty')
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty312
1 files changed, 114 insertions, 198 deletions
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index fc1db6be04..71431e1182 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,9 +1,9 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.36 (2024-01-05),
+%% This is file `beamerouterthemeTUDa.sty' version 3.37 (2024-04-21),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
%%
-%% Copyright (C) 2018--2023 by Marei Peischl <marei@peitex.de>
+%% Copyright (C) 2018--2024 by Marei Peischl <marei@peitex.de>
%%
%% ============================================================================
%% This work may be distributed and/or modified under the
@@ -25,12 +25,11 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.36}
-\def\filedate{2024-01-05}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
-\RequirePackage[paper=slide]{tudarules}
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplPackage{beamerouterthemeTUDa}{2024-04-21}{3.37}{Outer~beamer~theme~of~tuda-ci~design~of~2023}
+\PassOptionsToPackage{paper=slide}{tudarules}
+\RequirePackage{tudarules}
\dim_new:N \l__ptxcd_beamer_extraindent_dim
\dim_new:N {\g__ptxcd_beamer_sep_dim}
@@ -47,30 +46,16 @@
logo .initial:n =true,
logofile .tl_gset:N = \g_ptxcd_logofile_tl,
logofile .initial:n = tuda_logo,
- 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,
+ colorframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {colorframetitle},
+ centerframetitle .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {centerframetitle},
+ framebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {framebgcolor},
+ singleframebgcolor .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {singleframebgcolor},
+ headsepline .code:n = \msg_warning:nnn {tudabeamer} {option-removed} {headsepline},
+ extendedspace .bool_gset:N = \g__ptxcd_extended_space_bool,
+ headrule .bool_gset:N = \g__ptxcd_headrule_bool,
+ uppercase-frametitle .bool_gset:N = \g__ptxcd_uppercase_frametitle_bool,
+ uppercase-frametitle .default:n = true,
+ uppercase-frametitle .initial:n = true,
}
\define@key{beamerframe}{bgcolor}{
@@ -79,20 +64,9 @@
}
}
-\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:
+\define@key{beamerframe}{uppercase}{
+ \keys_set:nn {ptxcd/beamer/outer} {
+ uppercase-frametitle=#1
}
}
@@ -101,15 +75,14 @@
\mode<presentation>
-
\RequirePackage{graphicx}
\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\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,
+ text~margin~left=\dim_eval:n {\paperwidth/34},
+ text~margin~right=\dim_eval:n {\paperwidth/38}
}
\cs_new:Nn \__ptxcd_beamer_linewidth: {\dim_eval:n {\paperwidth-\beamer@leftmargin-\beamer@rightmargin}}
@@ -118,45 +91,35 @@
\box_new:N \g__ptxcd_logo_box
\hbox_gset:Nn \g__ptxcd_logo_box {%
- \makebox[\__ptxcd_logowidth:][l]{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
+ \raisebox{\dim_eval:n {-\height+.33\c_ptxcd_logoheight_dim}}{\includegraphics[height=\c_ptxcd_logoheight_dim]{\g_ptxcd_logofile_tl}}%
}
-\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}{TUDa}{}
-\defbeamertemplate*{sidebar~right}{TUDa}{}
-
-
\bool_if_exist:NF \l_ptxcd_tmpa_bool {\bool_new:N \l_ptxcd_tmpa_bool}
-\defbeamertemplate*{footline}{TUDa}
-{
- \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=\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_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_ptxcd_tmpa_bool {~|~}
- {\bool_set_true:N \l_ptxcd_tmpa_bool}
- \use:c {insertshort\l_tmpa_tl}
+\defbeamertemplate*{footline}{TUDa2023}{
+ \begin{beamercolorbox}[leftskip=\beamer@leftmargin,rightskip=\beamer@rightmargin]{footline}
+ \usebeamerfont{footline}
+ \rlap{\insertshortdate}
+ \hfill
+ \makebox[0pt][c]{
+ \bool_set_false:N \l_ptxcd_separate_bool
+ \clist_map_variable:nNn {department, institute, author} \l_tmpa_tl {
+ \tl_if_empty:cF {beamer@short\l_tmpa_tl} {
+ \bool_if:NTF \l_ptxcd_separate_bool
+ {\usebeamertemplate{footline~sep}}
+ {\bool_set_true:N \l_ptxcd_separate_bool}
+ \use:c {insertshort\l_tmpa_tl}
+ }
}
}
- \bool_if:NT \l_ptxcd_tmpa_bool {~|~}
- \insertframenumber
- \hfill\raisebox{\dimexpr-.5\height+\dp\strutbox\relax}{\insertlogo}
+ \hfill
+ \llap{\insertframenumber}
+ \par\vspace{-\dp\strutbox}
\end{beamercolorbox}
+ \skip_vertical:n {\dimexpr\paperheight/32-\dp\strutbox}
}
-
+\setbeamertemplate{footline~sep}{\space\smash{\rule[-.5\dp\strutbox]{.25pt}{\ht\strutbox}}\space}
\RenewDocumentCommand{\logo}{sm}{
\IfBooleanTF{#1}{
@@ -166,142 +129,95 @@
}
}
-\defbeamertemplate{headline}{TUDa.logo} {%
- \begin{beamercolorbox}[
- 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}
+\defbeamertemplate*{headline}{TUDa2023}{
+ \bool_if:NT \g__ptxcd_headrule_bool {
+ \cs_if_exist:NF \ptxcd_beamer_headrule {
+ \ptxcd_makeheadrule[color=identbarcolor,width=\paperwidth]{ptxcd_beamer_headrule}
+ }
+ \ptxcd_beamer_headrule\par\nointerlineskip
+ }
+ \bool_if:NTF \g__ptxcd_extended_space_bool {
+ \bool_if:NTF \g__ptxcd_headrule_bool {
+ \skip_vertical:n {\dim_eval:n {+\paperheight/38}}
+ \strut
+ } {
+ \skip_vertical:n {\dim_eval:n {\paperheight/16}}
+ }
+ }{
+ \skip_vertical:n {\dimexpr\paperheight/38}
+ \hspace*{\beamer@leftmargin}\rlap{\usebeamertemplate***{title~in~head/foot}}
+ }
+ \hspace*{\fill}
+
+ \bool_if:NT \g_ptxcd_headlinelogo_bool {
+ %partnerlogo
+ \bool_if:NT \g__ptxcd_extended_space_bool \smash {
+ \raisebox{\dimexpr-\height+\ht\strutbox}{
+ \box_use:N \g__ptxcd_partnerlogo_box
+ }
+ }
+
+ \skip_horizontal:n {\dimexpr\paperheight/38}
+ %logo
+ \bool_if:NTF \g__ptxcd_headrule_bool {
+ \raisebox{2mm}[0pt][0pt]{\setlength{\fboxsep}{\z@}\colorbox{white}{\rule{\z@}{\dim_eval:n {\box_ht:N \g__ptxcd_logo_box+\box_ht:N \ptxcd_beamer_headrule_box + \box_dp:N \ptxcd_beamer_headrule_box+1pt}}\box_use:N \g__ptxcd_logo_box}}
+ \hspace*{10pt}
+ } {
+ \bool_if:NT \g__ptxcd_extended_space_bool \smash {\box_use:N \g__ptxcd_logo_box}
+ \hspace*{.7pt}
+ }
+ }
+ \par
}
-
-\box_new:N \l__ptxcd_frametitle_box
-
-\defbeamertemplate{frametitle}{TUDa.logo}{%
-\nointerlineskip%
-\begin{beamercolorbox}[
- 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__ptxcd_frametitle_box {
- \parbox[t]
- {\dim_eval:n {\linewidth- \box_wd:N \g__ptxcd_logo_box-1em}}{%
- \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%
- \bool_if:NTF \g_ptxcd_centerframetitle_bool
- {\raisebox{\dimexpr-.5\height+.5\depth}}
- {\raisebox{\dimexpr-\height+\ht\strutbox}}
- {\box_use:N \g__ptxcd_logo_box}
-\end{beamercolorbox}%
-\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}
-}
+\setbeamertemplate{title~in~head/foot}{
+ \bool_set_false:N \l_ptxcd_separate_bool
+ \tl_if_empty:NF {\beamer@shorttitle} {
+ \bool_set_true:N \l_ptxcd_separate_bool
+ \text_uppercase:n {\beamer@shorttitle}
+ }
+ \tl_if_empty:NF {\beamer@shortauthor} {
+ \bool_if:NT \l_ptxcd_separate_bool {
+ \space/\space
+ }
+ \text_uppercase:n {\beamer@shortauthor}
+ }
}
-\defbeamertemplate*{headline}{TUDa.nologo}
-{%
- \vspace{.75\g__ptxcd_beamer_sep_dim}
- \begin{beamercolorbox}[
- 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*{sidebar~right}{TUDa2023}{
+ \bool_if:NT \g_ptxcd_headlinelogo_bool {
+ \vspace{\c_ptxcd_logoheight_dim}
+ \llap{\box_use:N \g__ptxcd_sublogo_box}
}
}
-\defbeamertemplate*{frametitle}{TUDa.nologo}{%
+\defbeamertemplate*{frametitle}{TUDa2023}[1][left]{%
\nointerlineskip%
-\begin{beamercolorbox}[
- 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__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}
-% Rule for voffset similar to logo
- \rule[\dim_eval:n {
- \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
+ \bool_if:NF \g__ptxcd_extended_space_bool
+ {\vskip.55ex}
\begin{beamercolorbox}[
- wd=\dimexpr\linewidth+2\l__ptxcd_beamer_extraindent_dim \relax,
- ht=\c_ptxcd_smallrule_dim,
- dp=0pt
- ]{smallrule}
+ wd=\dim_eval:n {\bool_if:NT \g__ptxcd_extended_space_bool {-\box_wd:N \g__ptxcd_logo_box } \box_if_empty:NF \g__ptxcd_sublogo_box {-\box_wd:N \g__ptxcd_sublogo_box - 1em}+ \textwidth},
+ ]{frametitle}
+ \usebeamerfont{frametitle}%
+ \if@tempswa\else\csname beamer@fte#1\endcsname\fi%
+ \vphantom{Ü}
+ \bool_if:NT \g__ptxcd_uppercase_frametitle_bool \text_uppercase:n {\insertframetitle}\strut
+ \par%
+ {%
+ \ifx\insertframesubtitle\@empty%
+ \else%
+ {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\strut\text_uppercase:n {\insertframesubtitle}\strut\par}%
+ \fi
+ }%
+ \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
\end{beamercolorbox}
+ \vskip.5ex
}
-}
-
-\cs_new:Nn \ptxcd_setup_frame: {
- \bool_if:NTF \g_ptxcd_headlinelogo_bool {
- \setbeamertemplate{frametitle}[TUDa.logo]
- \setbeamertemplate{headline}[TUDa.logo]
- }{
- \setbeamertemplate{frametitle}[TUDa.nologo]
- \setbeamertemplate{headline}[TUDa.nologo]
- }
-}
-\ptxcd_setup_frame:
-
\newcommand*{\setupTUDaFrame}[1]{
\keys_set:nn {ptxcd/beamer/outer} {#1}
- \ptxcd_setup_frame:
}
-
-
\mode
<all>