diff options
Diffstat (limited to 'icann66/beamerfontthememetropolis.sty')
-rw-r--r-- | icann66/beamerfontthememetropolis.sty | 325 |
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'. | ||