summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-03-14 21:25:03 +0000
committerKarl Berry <karl@freefriends.org>2016-03-14 21:25:03 +0000
commit1cdee1080e0ad8f88624629e00039d9fe89c1b54 (patch)
treede1ea75b810891ce5bc773022516edfab072ac77 /Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty
parentecc285a4a14716fefbfab61485038eb34dd32a5e (diff)
beamertheme-metropolis (14mar16)
git-svn-id: svn://tug.org/texlive/trunk@40024 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty')
-rw-r--r--Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty207
1 files changed, 189 insertions, 18 deletions
diff --git a/Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty b/Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty
index c85a41a9746..8ecd1677ce4 100644
--- a/Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty
+++ b/Master/texmf-dist/tex/latex/beamertheme-metropolis/beamerfontthememetropolis.sty
@@ -17,10 +17,11 @@
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
%% ---------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{beamerfontthememetropolis}[2015/12/04 Metropolis font theme]
+\ProvidesPackage{beamerfontthememetropolis}[2016/03/14 Metropolis font theme]
\RequirePackage{etoolbox}
\RequirePackage{ifxetex}
\RequirePackage{ifluatex}
+\RequirePackage{pgfopts}
\ifboolexpr{bool {xetex} or bool {luatex}}{
\RequirePackage[no-math]{fontspec}
\newcounter{fontsnotfound}
@@ -34,7 +35,7 @@
\suppressfontnotfounderror=0%
}
- \newcommand{\iffontsexist}[3]{%
+ \newcommand{\iffontsavailable}[3]{%
\setcounter{fontsnotfound}{0}%
\expandafter\forcsvlist\expandafter%
\checkfont\expandafter{#1}%
@@ -44,28 +45,36 @@
#3%
\fi%
}
- \iffontsexist{Fira Sans Light,%
- Fira Sans Light Italic,%
- Fira Sans,%
- Fira Sans Italic}{%
- \setsansfont[BoldFont={Fira Sans}]{Fira Sans Light}%
+ \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}%
}{%
- \iffontsexist{Fira Sans Light OT,%
- Fira Sans Light Italic OT,%
- Fira Sans OT,%
- Fira Sans Italic OT}{%
- \setsansfont[BoldFont={Fira Sans OT}]{Fira Sans Light OT}%
+ \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%
}
}
}
- \iffontsexist{Fira Mono, Fira Mono Bold}{%
- \setmonofont{Fira Mono}%
+ \iffontsavailable{Fira Mono, Fira Mono Bold}{%
+ \setmonofont[BoldFont={Fira Mono Medium}]{Fira Mono}%
}{%
- \iffontsexist{Fira Mono OT, Fira Mono Bold OT}{%
- \setmonofont{Fira Mono OT}%
+ \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%
@@ -86,8 +95,6 @@
\setbeamerfont{date}{size=\small}
\setbeamerfont{section title}{size=\Large,%
series=\bfseries}
-\setbeamerfont{plain title}{size=\Large,%
- series=\bfseries}
\setbeamerfont{block title}{size=\normalsize,%
series=\bfseries}
\setbeamerfont{block title alerted}{size=\normalsize,%
@@ -107,6 +114,170 @@
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}}
+\patchcmd{\beamer@subtitle}%
+ {\def\insertsubtitle{#2}}%
+ {\def\insertsubtitle{\metropolis@subtitleformat{#2}}}%
+ {}%
+ {\PackageError{beamerfontthememetropolis}{Patching subtitle failed}}
+\patchcmd{\sectionentry}
+ {\def\insertsectionhead{#2}}
+ {\def\insertsectionhead{\metropolis@sectiontitleformat{#2}}}
+ {}
+ {\PackageError{beamerfontthememetropolis}{Patching section title failed}}
+\patchcmd{\beamer@section}
+ {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
+ {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
+ \metropolis@sectiontitleformat{#1}}}}
+ {}
+ {\PackageError{beamerfontthememetropolis}{Patching section title failed}}
+\patchcmd{\beamer@@frametitle}
+ {\beamer@ifempty{#2}{}{%
+ \gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space%
+ \usebeamertemplate*{frametitle continuation}\fi}}%
+ \gdef\beamer@frametitle{#2}%
+ \gdef\beamer@shortframetitle{#1}%
+ }}
+ {\beamer@ifempty{#2}{}{%
+ \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}}
+\metropolis@font@setdefaults
+\ProcessPgfPackageOptions{/metropolis/font}
\endinput
%%
%% End of file `beamerfontthememetropolis.sty'.