diff options
author | Norbert Preining <norbert@preining.info> | 2024-04-22 03:00:57 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-04-22 03:00:57 +0000 |
commit | a31bd8158f86091f06dabe074c14dd277da57c68 (patch) | |
tree | dc1cb56c54b8a7b625d1c5a81948b6c9137da829 /macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty | |
parent | 3617595995cb2684b6a938dcbb288f658b3f9501 (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.sty | 312 |
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> |