1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
|
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerouterthemeTUDa}
[\filedate\space\fileversion]
\RequirePackage{l3keys2e}
\ExplSyntaxOn
\keys_define:nn {TUDa/beamer/outer} {
logo .bool_gset:N = \g_TUDa_headlinelogo_bool,
logo .default:n =true,
logo .initial:n =true,
logofile .tl_gset:N = \g_TUDa_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,
}
\ProcessKeysOptions{TUDa/beamer/outer}
\mode<presentation>
\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}}
\setbeamersize{
text~margin~left= \dimexpr\TUDa@beamer@sep+\TUDa@beamer@extraindent\relax,
text~margin~right=\dimexpr\TUDa@beamer@sep+\TUDa@beamer@extraindent\relax,
}
\newlength{\TUDa@beamer@linewidth}
\setlength{\TUDa@beamer@linewidth}{\dimexpr\paperwidth-2\TUDa@beamer@sep-2\TUDa@beamer@extraindent\relax}
%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}}%
}
\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}
\newcommand\insertsmalllogo{\setbeamertemplate{logo}[small]\usebeamertemplate{logo}}
\defbeamertemplate*{sidebar left}{TUD theme}{}
\defbeamertemplate*{sidebar right}{TUD theme}{}
\ExplSyntaxOn
\bool_if_exist:NF \l_TUDa_tmpa_bool {\bool_new:N \l_TUDa_tmpa_bool}
\defbeamertemplate*{footline}{TUDa theme}
{
\begin{beamercolorbox}[leftskip=\TUDa@beamer@sep,rightskip=\TUDa@beamer@sep,
ht=\csname c_TUDa_smallrule_dim\endcsname,dp=1mm]{footline}
\TUDa@beamer@rule
\end{beamercolorbox}
\begin{beamercolorbox}[
leftskip=\TUDa@beamer@sep,
rightskip=\TUDa@beamer@sep, ht=2.75mm,dp=2.75mm]{footline}
\usebeamerfont{author~ in~ head/foot}%
\bool_set_false:N \l_TUDa_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}
\use:c {insertshort\l_tmpa_tl}
}
}
\bool_if:NT \l_TUDa_tmpa_bool {~|~}
\insertframenumber
\hfill\raisebox{\dimexpr-.5\height+\dp\strutbox\relax}{\insertlogo}
\end{beamercolorbox}
}
\RenewDocumentCommand{\logo}{sm}{
\IfBooleanTF{#1}{
\setbeamertemplate{logo}{\resizebox{!}{.06\beamer@paperheight}{\mbox{#2}}}%TODO change with aspectratio
}{
\setbeamertemplate{logo}{#2}
}
}
\defbeamertemplate{headline}{TUDa theme.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
\end{beamercolorbox}
}
\box_new:N \l_TUDa_frametitle_box
\defbeamertemplate{frametitle}{TUDa~theme.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,
]{frametitle}
\hbox_set:Nn \l_TUDa_frametitle_box {
\parbox[t]
{\dimexpr\linewidth- \wd\TUDa@logobox-1em\relax\relax}{%
\usebeamerfont{frametitle}\strut\insertframetitle
\ifx\insertframesubtitle\@empty
\else
\par
\usebeamercolor[fg]{framesubtitle}
\usebeamerfont{framesubtitle}
\insertframesubtitle
\fi
}}
\leavevmode
\bool_if:NTF \g_TUDa_centerframetitle_bool
{\raisebox{\dimexpr-.5\height+.5\depth}}
{\use:n}
{\box_use:N \l_TUDa_frametitle_box}
\hfill%
\bool_if:NTF \g_TUDa_centerframetitle_bool
{\raisebox{\dimexpr-.5\height+.5\depth}}
{\raisebox{\dimexpr-\height+\ht\strutbox}}
{\usebox\TUDa@logobox}
\end{beamercolorbox}
\nointerlineskip
\leavevmode\color{black}\hspace*{-\TUDa@beamer@extraindent}\TUDa@beamer@rule
}
\defbeamertemplate*{headline}{TUDa~theme.nologo}
{%
\vspace{.75\TUDa@beamer@sep}
\begin{beamercolorbox}[
leftskip=\TUDa@beamer@sep,rightskip=\TUDa@beamer@sep]{headline}
\TUDa@beamer@headrule
\end{beamercolorbox}
}
\defbeamertemplate*{frametitle}{TUDa~theme.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,
]{frametitle}
\hbox_set:Nn \l_TUDa_frametitle_box {
\parbox[t]
{\dimexpr\linewidth- \wd\TUDa@logobox-1em\relax\relax}{%
\usebeamerfont{frametitle}\strut\insertframetitle
\ifx\insertframesubtitle\@empty
\else
\par
\usebeamercolor[fg]{framesubtitle}
\usebeamerfont{framesubtitle}
\insertframesubtitle
\fi
}}
\leavevmode
\bool_if:NTF \g_TUDa_centerframetitle_bool
{\raisebox{\dimexpr-.5\height+.5\depth}}
{\use:n}
{\box_use:N \l_TUDa_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}
\end{beamercolorbox}
\nointerlineskip
\TUDa@beamer@rule
}
\cs_new:Nn \TUDa_setup_frame: {
\bool_if:NTF \g_TUDa_headlinelogo_bool {
\setbeamertemplate{frametitle}[TUDa~ theme.logo]
\setbeamertemplate{headline}[TUDa~ theme.logo]
}{
\setbeamertemplate{frametitle}[TUDa~ theme.nologo]
\setbeamertemplate{headline}[TUDa~ theme.nologo]
}
}
\TUDa_setup_frame:
\newcommand*{\setupTUDaFrame}[1]{
\keys_set:nn {TUDa/beamer/outer} {#1}
\TUDa_setup_frame:
}
\ExplSyntaxOff
\mode
<all>
\endinput
|