summaryrefslogtreecommitdiff
path: root/icann66/beamerfontthememetropolis.sty
diff options
context:
space:
mode:
Diffstat (limited to 'icann66/beamerfontthememetropolis.sty')
-rw-r--r--icann66/beamerfontthememetropolis.sty325
1 files changed, 325 insertions, 0 deletions
diff --git a/icann66/beamerfontthememetropolis.sty b/icann66/beamerfontthememetropolis.sty
new file mode 100644
index 0000000..15cced3
--- /dev/null
+++ b/icann66/beamerfontthememetropolis.sty
@@ -0,0 +1,325 @@
1%%
2%% This is file `beamerfontthememetropolis.sty',
3%% generated with the docstrip utility.
4%%
5%% The original source files were:
6%%
7%% beamerfontthememetropolis.dtx (with options: `package')
8%% ---------------------------------------------------------------------------
9%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
10%% contributors can be found at
11%%
12%% https://github.com/matze/mtheme/graphs/contributors
13%%
14%% and the original template was based on the HSRM theme by Benjamin Weiss.
15%%
16%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
17%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
18%% ---------------------------------------------------------------------------
19\NeedsTeXFormat{LaTeX2e}
20\ProvidesPackage{beamerfontthememetropolis}[2017/01/23 Metropolis font theme]
21\RequirePackage{etoolbox}
22\RequirePackage{ifxetex}
23\RequirePackage{ifluatex}
24\RequirePackage{pgfopts}
25\ifboolexpr{bool {xetex} or bool {luatex}}{
26 \@ifpackageloaded{fontspec}{
27 \PassOptionsToPackage{no-math}{fontspec}
28 }{
29 \RequirePackage[no-math]{fontspec}
30 }
31 \newcounter{fontsnotfound}
32 \newcommand{\checkfont}[1]{%
33 \suppressfontnotfounderror=1%
34 \font\x = "#1" at 10pt
35 \selectfont
36 \ifx\x\nullfont%
37 \stepcounter{fontsnotfound}%
38 \fi%
39 \suppressfontnotfounderror=0%
40 }
41
42 \newcommand{\iffontsavailable}[3]{%
43 \setcounter{fontsnotfound}{0}%
44 \expandafter\forcsvlist\expandafter%
45 \checkfont\expandafter{#1}%
46 \ifnum\value{fontsnotfound}=0%
47 #2%
48 \else%
49 #3%
50 \fi%
51 }
52 \iffontsavailable{Fira Sans Light,%
53 Fira Sans Light Italic,%
54 Fira Sans,%
55 Fira Sans Italic}%
56 {%
57 \setsansfont[ItalicFont={Fira Sans Light Italic},%
58 BoldFont={Fira Sans},%
59 BoldItalicFont={Fira Sans Italic}]%
60 {Fira Sans Light}%
61 }{%
62 \iffontsavailable{Fira Sans Light OT,%
63 Fira Sans Light Italic OT,%
64 Fira Sans OT,%
65 Fira Sans Italic OT}%
66 {%
67 \setsansfont[ItalicFont={Fira Sans Light Italic OT},%
68 BoldFont={Fira Sans OT},%
69 BoldItalicFont={Fira Sans Italic OT}]%
70 {Fira Sans Light OT}%
71 }{%
72 \PackageWarning{beamerthememetropolis}{%
73 Could not find Fira Sans fonts%
74 }
75 }
76 }
77 \iffontsavailable{Fira Mono, Fira Mono Bold}{%
78 \setmonofont[BoldFont={Fira Mono Medium}]{Fira Mono}%
79 }{%
80 \iffontsavailable{Fira Mono OT, Fira Mono Bold OT}{%
81 \setmonofont[BoldFont={Fira Mono Medium OT}]{Fira Mono OT}%
82 }{%
83 \PackageWarning{beamerthememetropolis}{%
84 Could not find Fira Mono fonts%
85 }
86 }
87 }
88 \AtBeginEnvironment{tabular}{%
89 \addfontfeature{Numbers={Monospaced}}%
90 }
91}{%
92 \PackageWarning{beamerthememetropolis}{%
93 You need to compile with XeLaTeX or LuaLaTeX to use the Fira fonts%
94 }
95}
96\setbeamerfont{title}{size=\Large,%
97 series=\bfseries}
98\setbeamerfont{author}{size=\small}
99\setbeamerfont{date}{size=\small}
100\setbeamerfont{section title}{size=\Large,%
101 series=\bfseries}
102\setbeamerfont{block title}{size=\normalsize,%
103 series=\bfseries}
104\setbeamerfont{block title alerted}{size=\normalsize,%
105 series=\bfseries}
106\setbeamerfont*{subtitle}{size=\large}
107\setbeamerfont{frametitle}{size=\large,%
108 series=\bfseries}
109\setbeamerfont{caption}{size=\small}
110\setbeamerfont{caption name}{series=\bfseries}
111\setbeamerfont{description item}{series=\bfseries}
112\setbeamerfont{page number in head/foot}{size=\scriptsize}
113\setbeamerfont{bibliography entry author}{size=\normalsize,%
114 series=\normalfont}
115\setbeamerfont{bibliography entry title}{size=\normalsize,%
116 series=\bfseries}
117\setbeamerfont{bibliography entry location}{size=\normalsize,%
118 series=\normalfont}
119\setbeamerfont{bibliography entry note}{size=\small,%
120 series=\normalfont}
121\setbeamerfont{standout}{size=\Large,%
122 series=\bfseries}
123\pgfkeys{
124 /metropolis/font/titleformat title/.cd,
125 .is choice,
126 regular/.code={%
127 \let\metropolis@titleformat\@empty%
128 \setbeamerfont{title}{shape=\normalfont}%
129 },
130 smallcaps/.code={%
131 \let\metropolis@titleformat\@empty%
132 \setbeamerfont{title}{shape=\scshape}%
133 },
134 allsmallcaps/.code={%
135 \let\metropolis@titleformat\lowercase%
136 \setbeamerfont{title}{shape=\scshape}%
137 \PackageWarning{beamerthememetropolis}{%
138 Be aware that titleformat title=allsmallcaps can lead to problems%
139 }
140 },
141 allcaps/.code={%
142 \let\metropolis@titleformat\uppercase%
143 \setbeamerfont{title}{shape=\normalfont}
144 \PackageWarning{beamerthememetropolis}{%
145 Be aware that titleformat title=allcaps can lead to problems%
146 }
147 },
148}
149\pgfkeys{
150 /metropolis/font/titleformat subtitle/.cd,
151 .is choice,
152 regular/.code={%
153 \let\metropolis@subtitleformat\@empty%
154 \setbeamerfont{subtitle}{shape=\normalfont}%
155 },
156 smallcaps/.code={%
157 \let\metropolis@subtitleformat\@empty%
158 \setbeamerfont{subtitle}{shape=\scshape}%
159 },
160 allsmallcaps/.code={%
161 \let\metropolis@subtitleformat\lowercase%
162 \setbeamerfont{subtitle}{shape=\scshape}%
163 \PackageWarning{beamerthememetropolis}{%
164 Be aware that titleformat subtitle=allsmallcaps can lead to problems%
165 }
166 },
167 allcaps/.code={%
168 \let\metropolis@subtitleformat\uppercase%
169 \setbeamerfont{subtitle}{shape=\normalfont}%
170 \PackageWarning{beamerthememetropolis}{%
171 Be aware that titleformat subtitle=allcaps can lead to problems%
172 }
173 },
174}
175\pgfkeys{
176 /metropolis/font/titleformat section/.cd,
177 .is choice,
178 regular/.code={%
179 \let\metropolis@sectiontitleformat\@empty%
180 \setbeamerfont{section title}{shape=\normalfont}%
181 },
182 smallcaps/.code={%
183 \let\metropolis@sectiontitleformat\@empty%
184 \setbeamerfont{section title}{shape=\scshape}%
185 },
186 allsmallcaps/.code={%
187 \let\metropolis@sectiontitleformat\MakeLowercase%
188 \setbeamerfont{section title}{shape=\scshape}%
189 \PackageWarning{beamerthememetropolis}{%
190 Be aware that titleformat section=allsmallcaps can lead to problems%
191 }
192 },
193 allcaps/.code={%
194 \let\metropolis@sectiontitleformat\MakeUppercase%
195 \setbeamerfont{section title}{shape=\normalfont}%
196 \PackageWarning{beamerthememetropolis}{%
197 Be aware that titleformat section=allcaps can lead to problems%
198 }
199 },
200}
201\pgfkeys{
202 /metropolis/font/titleformat frame/.cd,
203 .is choice,
204 regular/.code={%
205 \let\metropolis@frametitleformat\@empty%
206 \setbeamerfont{frametitle}{shape=\normalfont}%
207 },
208 smallcaps/.code={%
209 \let\metropolis@frametitleformat\@empty%
210 \setbeamerfont{frametitle}{shape=\scshape}%
211 },
212 allsmallcaps/.code={%
213 \let\metropolis@frametitleformat\MakeLowercase%
214 \setbeamerfont{frametitle}{shape=\scshape}%
215 \PackageWarning{beamerthememetropolis}{%
216 Be aware that titleformat frame=allsmallcaps can lead to problems%
217 }
218 },
219 allcaps/.code={%
220 \let\metropolis@frametitleformat\MakeUppercase%
221 \setbeamerfont{frametitle}{shape=\normalfont}
222 \PackageWarning{beamerthememetropolis}{%
223 Be aware that titleformat frame=allcaps can lead to problems%
224 }
225 },
226}
227\pgfkeys{
228 /metropolis/font/.cd,
229 titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
230 titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
231 titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
232 titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
233}
234\newcommand{\metropolis@font@setdefaults}{
235 \pgfkeys{/metropolis/font/.cd,
236 titleformat title=regular,
237 titleformat subtitle=regular,
238 titleformat section=regular,
239 titleformat frame=regular,
240 }
241}
242\def\metropolis@titleformat#1{#1}
243\def\metropolis@subtitleformat#1{#1}
244\def\metropolis@sectiontitleformat#1{#1}
245\def\metropolis@frametitleformat#1{#1}
246\patchcmd{\beamer@title}%
247 {\def\inserttitle{#2}}%
248 {\def\inserttitle{\metropolis@titleformat{#2}}}%
249 {}%
250 {\PackageError{beamerfontthememetropolis}{Patching title failed}\@ehc}
251\patchcmd{\beamer@subtitle}%
252 {\def\insertsubtitle{#2}}%
253 {\def\insertsubtitle{\metropolis@subtitleformat{#2}}}%
254 {}%
255 {\PackageError{beamerfontthememetropolis}{Patching subtitle failed}\@ehc}
256\patchcmd{\sectionentry}
257 {\def\insertsectionhead{#2}}
258 {\def\insertsectionhead{\metropolis@sectiontitleformat{#2}}}
259 {}
260 {\PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc}
261\@tempswafalse
262\patchcmd{\beamer@section}
263 {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
264 {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
265 \noexpand\metropolis@sectiontitleformat{\unexpanded{#1}}}}}
266 {\@tempswatrue}
267 {}
268\patchcmd{\beamer@section}
269 {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
270 {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
271 \metropolis@sectiontitleformat{#1}}}}
272 {\@tempswatrue}
273 {}
274\patchcmd{\beamer@section}
275 {\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
276 {\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
277 \noexpand\metropolis@sectiontitleformat{#1}}}}
278 {\@tempswatrue}
279 {}
280\if@tempswa\else
281 \PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc
282\fi
283\@tempswafalse
284\patchcmd{\beamer@subsection}
285 {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
286 {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
287 \noexpand\metropolis@sectiontitleformat{\unexpanded{#1}}}}}
288 {\@tempswatrue}
289 {}
290\patchcmd{\beamer@subsection}
291 {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
292 {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{%
293 \metropolis@sectiontitleformat{#1}}}}
294 {\@tempswatrue}
295 {}
296\patchcmd{\beamer@subsection}
297 {\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
298 {\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
299 \noexpand\metropolis@sectiontitleformat{#1}}}}
300 {\@tempswatrue}
301 {}
302\if@tempswa\else
303 \PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc
304\fi
305\patchcmd{\beamer@@frametitle}
306 {{%
307 \gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space%
308 \usebeamertemplate*{frametitle continuation}\fi}}%
309 \gdef\beamer@frametitle{#2}%
310 \gdef\beamer@shortframetitle{#1}%
311 }}
312 {{%
313 \gdef\insertframetitle{{\metropolis@frametitleformat{#2}\ifnum%
314 \beamer@autobreakcount>0\relax{}\space%
315 \usebeamertemplate*{frametitle continuation}\fi}}%
316 \gdef\beamer@frametitle{#2}%
317 \gdef\beamer@shortframetitle{#1}%
318 }}
319 {}
320 {\PackageError{beamerfontthememetropolis}{Patching frame title failed}\@ehc}
321\metropolis@font@setdefaults
322\ProcessPgfPackageOptions{/metropolis/font}
323\endinput
324%%
325%% End of file `beamerfontthememetropolis.sty'.