| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- %%
- %% This is file `beamerfontthememetropolis.sty',
- %% generated with the docstrip utility.
- %%
- %% The original source files were:
- %%
- %% beamerfontthememetropolis.dtx (with options: `package')
- %% ---------------------------------------------------------------------------
- %% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of
- %% contributors can be found at
- %%
- %% https://github.com/matze/mtheme/graphs/contributors
- %%
- %% and the original template was based on the HSRM theme by Benjamin Weiss.
- %%
- %% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
- %% International License (https://creativecommons.org/licenses/by-sa/4.0/).
- %% ---------------------------------------------------------------------------
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{beamerfontthememetropolis}[2017/01/23 Metropolis font theme]
- \RequirePackage{etoolbox}
- \RequirePackage{ifxetex}
- \RequirePackage{ifluatex}
- \RequirePackage{pgfopts}
- \ifboolexpr{bool {xetex} or bool {luatex}}{
- \@ifpackageloaded{fontspec}{
- \PassOptionsToPackage{no-math}{fontspec}
- }{
- \RequirePackage[no-math]{fontspec}
- }
- \newcounter{fontsnotfound}
- \newcommand{\checkfont}[1]{%
- \suppressfontnotfounderror=1%
- \font\x = "#1" at 10pt
- \selectfont
- \ifx\x\nullfont%
- \stepcounter{fontsnotfound}%
- \fi%
- \suppressfontnotfounderror=0%
- }
- \newcommand{\iffontsavailable}[3]{%
- \setcounter{fontsnotfound}{0}%
- \expandafter\forcsvlist\expandafter%
- \checkfont\expandafter{#1}%
- \ifnum\value{fontsnotfound}=0%
- #2%
- \else%
- #3%
- \fi%
- }
- \iffontsavailable{Fira Sans Light,%
- Fira Sans Light Italic,%
- Fira Sans,%
- Fira Sans Italic}%
- {%
- \setsansfont[ItalicFont={Fira Sans Light Italic},%
- BoldFont={Fira Sans},%
- BoldItalicFont={Fira Sans Italic}]%
- {Fira Sans Light}%
- }{%
- \iffontsavailable{Fira Sans Light OT,%
- Fira Sans Light Italic OT,%
- Fira Sans OT,%
- Fira Sans Italic OT}%
- {%
- \setsansfont[ItalicFont={Fira Sans Light Italic OT},%
- BoldFont={Fira Sans OT},%
- BoldItalicFont={Fira Sans Italic OT}]%
- {Fira Sans Light OT}%
- }{%
- \PackageWarning{beamerthememetropolis}{%
- Could not find Fira Sans fonts%
- }
- }
- }
- \iffontsavailable{Fira Mono, Fira Mono Bold}{%
- \setmonofont[BoldFont={Fira Mono Medium}]{Fira Mono}%
- }{%
- \iffontsavailable{Fira Mono OT, Fira Mono Bold OT}{%
- \setmonofont[BoldFont={Fira Mono Medium OT}]{Fira Mono OT}%
- }{%
- \PackageWarning{beamerthememetropolis}{%
- Could not find Fira Mono fonts%
- }
- }
- }
- \AtBeginEnvironment{tabular}{%
- \addfontfeature{Numbers={Monospaced}}%
- }
- }{%
- \PackageWarning{beamerthememetropolis}{%
- You need to compile with XeLaTeX or LuaLaTeX to use the Fira fonts%
- }
- }
- \setbeamerfont{title}{size=\Large,%
- series=\bfseries}
- \setbeamerfont{author}{size=\small}
- \setbeamerfont{date}{size=\small}
- \setbeamerfont{section title}{size=\Large,%
- series=\bfseries}
- \setbeamerfont{block title}{size=\normalsize,%
- series=\bfseries}
- \setbeamerfont{block title alerted}{size=\normalsize,%
- series=\bfseries}
- \setbeamerfont*{subtitle}{size=\large}
- \setbeamerfont{frametitle}{size=\large,%
- series=\bfseries}
- \setbeamerfont{caption}{size=\small}
- \setbeamerfont{caption name}{series=\bfseries}
- \setbeamerfont{description item}{series=\bfseries}
- \setbeamerfont{page number in head/foot}{size=\scriptsize}
- \setbeamerfont{bibliography entry author}{size=\normalsize,%
- series=\normalfont}
- \setbeamerfont{bibliography entry title}{size=\normalsize,%
- series=\bfseries}
- \setbeamerfont{bibliography entry location}{size=\normalsize,%
- series=\normalfont}
- \setbeamerfont{bibliography entry note}{size=\small,%
- series=\normalfont}
- \setbeamerfont{standout}{size=\Large,%
- series=\bfseries}
- \pgfkeys{
- /metropolis/font/titleformat title/.cd,
- .is choice,
- regular/.code={%
- \let\metropolis@titleformat\@empty%
- \setbeamerfont{title}{shape=\normalfont}%
- },
- smallcaps/.code={%
- \let\metropolis@titleformat\@empty%
- \setbeamerfont{title}{shape=\scshape}%
- },
- allsmallcaps/.code={%
- \let\metropolis@titleformat\lowercase%
- \setbeamerfont{title}{shape=\scshape}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat title=allsmallcaps can lead to problems%
- }
- },
- allcaps/.code={%
- \let\metropolis@titleformat\uppercase%
- \setbeamerfont{title}{shape=\normalfont}
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat title=allcaps can lead to problems%
- }
- },
- }
- \pgfkeys{
- /metropolis/font/titleformat subtitle/.cd,
- .is choice,
- regular/.code={%
- \let\metropolis@subtitleformat\@empty%
- \setbeamerfont{subtitle}{shape=\normalfont}%
- },
- smallcaps/.code={%
- \let\metropolis@subtitleformat\@empty%
- \setbeamerfont{subtitle}{shape=\scshape}%
- },
- allsmallcaps/.code={%
- \let\metropolis@subtitleformat\lowercase%
- \setbeamerfont{subtitle}{shape=\scshape}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat subtitle=allsmallcaps can lead to problems%
- }
- },
- allcaps/.code={%
- \let\metropolis@subtitleformat\uppercase%
- \setbeamerfont{subtitle}{shape=\normalfont}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat subtitle=allcaps can lead to problems%
- }
- },
- }
- \pgfkeys{
- /metropolis/font/titleformat section/.cd,
- .is choice,
- regular/.code={%
- \let\metropolis@sectiontitleformat\@empty%
- \setbeamerfont{section title}{shape=\normalfont}%
- },
- smallcaps/.code={%
- \let\metropolis@sectiontitleformat\@empty%
- \setbeamerfont{section title}{shape=\scshape}%
- },
- allsmallcaps/.code={%
- \let\metropolis@sectiontitleformat\MakeLowercase%
- \setbeamerfont{section title}{shape=\scshape}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat section=allsmallcaps can lead to problems%
- }
- },
- allcaps/.code={%
- \let\metropolis@sectiontitleformat\MakeUppercase%
- \setbeamerfont{section title}{shape=\normalfont}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat section=allcaps can lead to problems%
- }
- },
- }
- \pgfkeys{
- /metropolis/font/titleformat frame/.cd,
- .is choice,
- regular/.code={%
- \let\metropolis@frametitleformat\@empty%
- \setbeamerfont{frametitle}{shape=\normalfont}%
- },
- smallcaps/.code={%
- \let\metropolis@frametitleformat\@empty%
- \setbeamerfont{frametitle}{shape=\scshape}%
- },
- allsmallcaps/.code={%
- \let\metropolis@frametitleformat\MakeLowercase%
- \setbeamerfont{frametitle}{shape=\scshape}%
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat frame=allsmallcaps can lead to problems%
- }
- },
- allcaps/.code={%
- \let\metropolis@frametitleformat\MakeUppercase%
- \setbeamerfont{frametitle}{shape=\normalfont}
- \PackageWarning{beamerthememetropolis}{%
- Be aware that titleformat frame=allcaps can lead to problems%
- }
- },
- }
- \pgfkeys{
- /metropolis/font/.cd,
- titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
- titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
- titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
- titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
- }
- \newcommand{\metropolis@font@setdefaults}{
- \pgfkeys{/metropolis/font/.cd,
- titleformat title=regular,
- titleformat subtitle=regular,
- titleformat section=regular,
- titleformat frame=regular,
- }
- }
- \def\metropolis@titleformat#1{#1}
- \def\metropolis@subtitleformat#1{#1}
- \def\metropolis@sectiontitleformat#1{#1}
- \def\metropolis@frametitleformat#1{#1}
- \patchcmd{\beamer@title}%
- {\def\inserttitle{#2}}%
- {\def\inserttitle{\metropolis@titleformat{#2}}}%
- {}%
- {\PackageError{beamerfontthememetropolis}{Patching title failed}\@ehc}
- \patchcmd{\beamer@subtitle}%
- {\def\insertsubtitle{#2}}%
- {\def\insertsubtitle{\metropolis@subtitleformat{#2}}}%
- {}%
- {\PackageError{beamerfontthememetropolis}{Patching subtitle failed}\@ehc}
- \patchcmd{\sectionentry}
- {\def\insertsectionhead{#2}}
- {\def\insertsectionhead{\metropolis@sectiontitleformat{#2}}}
- {}
- {\PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc}
- \@tempswafalse
- \patchcmd{\beamer@section}
- {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
- {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
- \noexpand\metropolis@sectiontitleformat{\unexpanded{#1}}}}}
- {\@tempswatrue}
- {}
- \patchcmd{\beamer@section}
- {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
- {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
- \metropolis@sectiontitleformat{#1}}}}
- {\@tempswatrue}
- {}
- \patchcmd{\beamer@section}
- {\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
- {\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
- \noexpand\metropolis@sectiontitleformat{#1}}}}
- {\@tempswatrue}
- {}
- \if@tempswa\else
- \PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc
- \fi
- \@tempswafalse
- \patchcmd{\beamer@subsection}
- {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
- {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
- \noexpand\metropolis@sectiontitleformat{\unexpanded{#1}}}}}
- {\@tempswatrue}
- {}
- \patchcmd{\beamer@subsection}
- {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
- {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{%
- \metropolis@sectiontitleformat{#1}}}}
- {\@tempswatrue}
- {}
- \patchcmd{\beamer@subsection}
- {\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
- {\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
- \noexpand\metropolis@sectiontitleformat{#1}}}}
- {\@tempswatrue}
- {}
- \if@tempswa\else
- \PackageError{beamerfontthememetropolis}{Patching section title failed}\@ehc
- \fi
- \patchcmd{\beamer@@frametitle}
- {{%
- \gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space%
- \usebeamertemplate*{frametitle continuation}\fi}}%
- \gdef\beamer@frametitle{#2}%
- \gdef\beamer@shortframetitle{#1}%
- }}
- {{%
- \gdef\insertframetitle{{\metropolis@frametitleformat{#2}\ifnum%
- \beamer@autobreakcount>0\relax{}\space%
- \usebeamertemplate*{frametitle continuation}\fi}}%
- \gdef\beamer@frametitle{#2}%
- \gdef\beamer@shortframetitle{#1}%
- }}
- {}
- {\PackageError{beamerfontthememetropolis}{Patching frame title failed}\@ehc}
- \metropolis@font@setdefaults
- \ProcessPgfPackageOptions{/metropolis/font}
- \endinput
- %%
- %% End of file `beamerfontthememetropolis.sty'.
|