Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132931 views
License: OTHER
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'.
326
327