summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib/themes/metropolis
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/metropolis')
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/README.md84
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.bib43
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.pdfbin0 -> 59864 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.tex336
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.dtx692
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.pdfbin0 -> 121746 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis-highcontrast.dtx48
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis.dtx241
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerfontthememetropolis.dtx438
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerinnerthememetropolis.dtx589
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerouterthememetropolis.dtx236
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.dtx204
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.ins74
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx190
14 files changed, 3175 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/README.md b/macros/latex/contrib/beamer-contrib/themes/metropolis/README.md
new file mode 100644
index 0000000000..4921a2af50
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/README.md
@@ -0,0 +1,84 @@
+## Metropolis
+
+
+**IMPORTANT NOTICES FOR VERSION 1.0**
+
+* The package and theme name changed from *m* to *metropolis*!
+* The `title format` values have been restructured. Please refer to the
+ [manual][].
+
+---
+
+Metropolis is a simple, modern Beamer theme suitable for anyone to use. It tries
+to minimize noise and maximize space for content; the only visual flourish it
+offers is an (optional) progress bar added to each slide. The core design
+principles of the theme were described in a blog post
+[here](http://bloerg.net/2014/09/20/a-modern-beamer-theme.html).
+
+Not convinced? Have a look at the [demo slides][].
+
+![Sample](http://i.imgur.com/Bxu52fz.png)
+
+
+## Installation
+
+To install a stable version of this theme, please refer to update instructions
+of your TeX distribution. Metropolis is on [CTAN][] since December
+2014 thus it is part of MikTeX and will be part of TeX Live 2016.
+
+Installing Metropolis from source, like any Beamer theme, involves four easy
+steps:
+
+1. **Download the source** with a `git clone` of the [Metropolis repository](https://github.com/matze/mtheme) or as a [zip archive](https://github.com/matze/mtheme/archive/master.zip) of the latest development version.
+
+2. **Compile the style files** by running `make sty` inside the downloaded
+ directory. (Or run LaTeX directly on `source/metropolistheme.ins`.)
+
+3. **Move the resulting `*.sty` files** to the folder containing your
+ presentation. To use Metropolis with many presentations, run `make install`
+ or move the `*.sty` files to a folder in your TeX path instead (might require
+ `sudo` rights).
+
+4. **Use the theme for your presentation** by declaring `\usetheme{metropolis}` in
+ the preamble of your Beamer document.
+
+
+## Usage
+
+The following code shows a minimal example of a Beamer presentation using
+Metropolis.
+
+```latex
+\documentclass{beamer}
+\usetheme{metropolis} % Use metropolis theme
+\title{A minimal example}
+\date{\today}
+\author{Matthias Vogelgesang}
+\institute{Centre for Modern Beamer Themes}
+\begin{document}
+ \maketitle
+ \section{First Section}
+ \begin{frame}{First Frame}
+ Hello, world!
+ \end{frame}
+\end{document}
+```
+
+Detailed information on using Metropolis can be found in the [manual][].
+
+For an alternative dark color theme, please have a look at Ross Churchley's
+excellent [owl](https://github.com/rchurchley/beamercolortheme-owl) theme.
+
+
+## License
+
+The theme itself is licensed under a [Creative Commons Attribution-ShareAlike
+4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/). This
+means that if you change the theme and re-distribute it, you *must* retain the
+copyright notice header and license it under the same CC-BY-SA license. This
+does not affect the presentation that you create with the theme.
+
+
+[demo slides]: http://mirrors.ctan.org/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.pdf
+[manual]: http://mirrors.ctan.org/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.pdf
+[CTAN]: http://ctan.org/pkg/beamertheme-metropolis
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.bib b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.bib
new file mode 100644
index 0000000000..6cf6bad32b
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.bib
@@ -0,0 +1,43 @@
+@article{Knuth92,
+ author = "D.E. Knuth",
+ title = "Two notes on notation",
+ journal = "Amer. Math. Monthly",
+ volume = "99",
+ year = "1992",
+ pages = "403--422",
+}
+
+@book{ConcreteMath,
+ author = "R.L. Graham and D.E. Knuth and O. Patashnik",
+ title = "Concrete mathematics",
+ publisher = "Addison-Wesley",
+ address = "Reading, MA",
+ year = "1989"
+}
+
+@unpublished{Simpson,
+ author = "H. Simpson",
+ title = "Proof of the {R}iemann {H}ypothesis",
+ note = "preprint (2003), available at
+ \texttt{http://www.math.drofnats.edu/riemann.ps}",
+ year = "2003"
+}
+
+@incollection{Er01,
+ author = "P. Erd{\H o}s",
+ title = "A selection of problems and results in combinatorics",
+ booktitle = "Recent trends in combinatorics (Matrahaza, 1995)",
+ publisher = "Cambridge Univ. Press",
+ address = "Cambridge",
+ pages = "1--6",
+ year = "1995"
+}
+@article{greenwade93,
+ author = "George D. Greenwade",
+ title = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
+ year = "1993",
+ journal = "TUGBoat",
+ volume = "14",
+ number = "3",
+ pages = "342--351"
+}
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.pdf b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.pdf
new file mode 100644
index 0000000000..60cdf783da
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.tex b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.tex
new file mode 100644
index 0000000000..ae60219322
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/demo/demo.tex
@@ -0,0 +1,336 @@
+\documentclass[10pt]{beamer}
+
+\usetheme{metropolis}
+\usepackage{appendixnumberbeamer}
+
+\usepackage{booktabs}
+\usepackage[scale=2]{ccicons}
+
+\usepackage{pgfplots}
+\usepgfplotslibrary{dateplot}
+
+\usepackage{xspace}
+\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}
+
+\title{Metropolis}
+\subtitle{A modern beamer theme}
+\date{\today}
+\author{Matthias Vogelgesang}
+\institute{Center for modern beamer themes}
+% \titlegraphic{\hfill\includegraphics[height=1.5cm]{logo.pdf}}
+
+\begin{document}
+
+\maketitle
+
+\begin{frame}{Table of contents}
+ \setbeamertemplate{section in toc}[sections numbered]
+ \tableofcontents[hideallsubsections]
+\end{frame}
+
+\section{Introduction}
+
+\begin{frame}[fragile]{Metropolis}
+
+ The \themename theme is a Beamer theme with minimal visual noise
+ inspired by the \href{https://github.com/hsrmbeamertheme/hsrmbeamertheme}{\textsc{hsrm} Beamer
+ Theme} by Benjamin Weiss.
+
+ Enable the theme by loading
+
+ \begin{verbatim} \documentclass{beamer}
+ \usetheme{metropolis}\end{verbatim}
+
+ Note, that you have to have Mozilla's \emph{Fira Sans} font and XeTeX
+ installed to enjoy this wonderful typography.
+\end{frame}
+\begin{frame}[fragile]{Sections}
+ Sections group slides of the same topic
+
+ \begin{verbatim} \section{Elements}\end{verbatim}
+
+ for which \themename provides a nice progress indicator \ldots
+\end{frame}
+
+\section{Titleformats}
+
+\begin{frame}{Metropolis titleformats}
+ \themename supports 4 different titleformats:
+ \begin{itemize}
+ \item Regular
+ \item \textsc{Smallcaps}
+ \item \textsc{allsmallcaps}
+ \item ALLCAPS
+ \end{itemize}
+ They can either be set at once for every title type or individually.
+\end{frame}
+
+{
+ \metroset{titleformat frame=smallcaps}
+\begin{frame}{Small caps}
+ This frame uses the \texttt{smallcaps} titleformat.
+
+ \begin{alertblock}{Potential Problems}
+ Be aware, that not every font supports small caps. If for example you typeset your presentation with pdfTeX and the Computer Modern Sans Serif font, every text in smallcaps will be typeset with the Computer Modern Serif font instead.
+ \end{alertblock}
+\end{frame}
+}
+
+{
+\metroset{titleformat frame=allsmallcaps}
+\begin{frame}{All small caps}
+ This frame uses the \texttt{allsmallcaps} titleformat.
+
+ \begin{alertblock}{Potential problems}
+ As this titleformat also uses smallcaps you face the same problems as with the \texttt{smallcaps} titleformat. Additionally this format can cause some other problems. Please refer to the documentation if you consider using it.
+
+ As a rule of thumb: Just use it for plaintext-only titles.
+ \end{alertblock}
+\end{frame}
+}
+
+{
+\metroset{titleformat frame=allcaps}
+\begin{frame}{All caps}
+ This frame uses the \texttt{allcaps} titleformat.
+
+ \begin{alertblock}{Potential Problems}
+ This titleformat is not as problematic as the \texttt{allsmallcaps} format, but basically suffers from the same deficiencies. So please have a look at the documentation if you want to use it.
+ \end{alertblock}
+\end{frame}
+}
+
+\section{Elements}
+
+\begin{frame}[fragile]{Typography}
+ \begin{verbatim}The theme provides sensible defaults to
+\emph{emphasize} text, \alert{accent} parts
+or show \textbf{bold} results.\end{verbatim}
+
+ \begin{center}becomes\end{center}
+
+ The theme provides sensible defaults to \emph{emphasize} text,
+ \alert{accent} parts or show \textbf{bold} results.
+\end{frame}
+
+\begin{frame}{Font feature test}
+ \begin{itemize}
+ \item Regular
+ \item \textit{Italic}
+ \item \textsc{SmallCaps}
+ \item \textbf{Bold}
+ \item \textbf{\textit{Bold Italic}}
+ \item \textbf{\textsc{Bold SmallCaps}}
+ \item \texttt{Monospace}
+ \item \texttt{\textit{Monospace Italic}}
+ \item \texttt{\textbf{Monospace Bold}}
+ \item \texttt{\textbf{\textit{Monospace Bold Italic}}}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Lists}
+ \begin{columns}[T,onlytextwidth]
+ \column{0.33\textwidth}
+ Items
+ \begin{itemize}
+ \item Milk \item Eggs \item Potatos
+ \end{itemize}
+
+ \column{0.33\textwidth}
+ Enumerations
+ \begin{enumerate}
+ \item First, \item Second and \item Last.
+ \end{enumerate}
+
+ \column{0.33\textwidth}
+ Descriptions
+ \begin{description}
+ \item[PowerPoint] Meeh. \item[Beamer] Yeeeha.
+ \end{description}
+ \end{columns}
+\end{frame}
+\begin{frame}{Animation}
+ \begin{itemize}[<+- | alert@+>]
+ \item \alert<4>{This is\only<4>{ really} important}
+ \item Now this
+ \item And now this
+ \end{itemize}
+\end{frame}
+\begin{frame}{Figures}
+ \begin{figure}
+ \newcounter{density}
+ \setcounter{density}{20}
+ \begin{tikzpicture}
+ \def\couleur{alerted text.fg}
+ \path[coordinate] (0,0) coordinate(A)
+ ++( 90:5cm) coordinate(B)
+ ++(0:5cm) coordinate(C)
+ ++(-90:5cm) coordinate(D);
+ \draw[fill=\couleur!\thedensity] (A) -- (B) -- (C) --(D) -- cycle;
+ \foreach \x in {1,...,40}{%
+ \pgfmathsetcounter{density}{\thedensity+20}
+ \setcounter{density}{\thedensity}
+ \path[coordinate] coordinate(X) at (A){};
+ \path[coordinate] (A) -- (B) coordinate[pos=.10](A)
+ -- (C) coordinate[pos=.10](B)
+ -- (D) coordinate[pos=.10](C)
+ -- (X) coordinate[pos=.10](D);
+ \draw[fill=\couleur!\thedensity] (A)--(B)--(C)-- (D) -- cycle;
+ }
+ \end{tikzpicture}
+ \caption{Rotated square from
+ \href{http://www.texample.net/tikz/examples/rotated-polygons/}{texample.net}.}
+ \end{figure}
+\end{frame}
+\begin{frame}{Tables}
+ \begin{table}
+ \caption{Largest cities in the world (source: Wikipedia)}
+ \begin{tabular}{@{} lr @{}}
+ \toprule
+ City & Population\\
+ \midrule
+ Mexico City & 20,116,842\\
+ Shanghai & 19,210,000\\
+ Peking & 15,796,450\\
+ Istanbul & 14,160,467\\
+ \bottomrule
+ \end{tabular}
+ \end{table}
+\end{frame}
+\begin{frame}{Blocks}
+ Three different block environments are pre-defined and may be styled with an
+ optional background color.
+
+ \begin{columns}[T,onlytextwidth]
+ \column{0.5\textwidth}
+ \begin{block}{Default}
+ Block content.
+ \end{block}
+
+ \begin{alertblock}{Alert}
+ Block content.
+ \end{alertblock}
+
+ \begin{exampleblock}{Example}
+ Block content.
+ \end{exampleblock}
+
+ \column{0.5\textwidth}
+
+ \metroset{block=fill}
+
+ \begin{block}{Default}
+ Block content.
+ \end{block}
+
+ \begin{alertblock}{Alert}
+ Block content.
+ \end{alertblock}
+
+ \begin{exampleblock}{Example}
+ Block content.
+ \end{exampleblock}
+
+ \end{columns}
+\end{frame}
+\begin{frame}{Math}
+ \begin{equation*}
+ e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
+ \end{equation*}
+\end{frame}
+\begin{frame}{Line plots}
+ \begin{figure}
+ \begin{tikzpicture}
+ \begin{axis}[
+ mlineplot,
+ width=0.9\textwidth,
+ height=6cm,
+ ]
+
+ \addplot {sin(deg(x))};
+ \addplot+[samples=100] {sin(deg(2*x))};
+
+ \end{axis}
+ \end{tikzpicture}
+ \end{figure}
+\end{frame}
+\begin{frame}{Bar charts}
+ \begin{figure}
+ \begin{tikzpicture}
+ \begin{axis}[
+ mbarplot,
+ xlabel={Foo},
+ ylabel={Bar},
+ width=0.9\textwidth,
+ height=6cm,
+ ]
+
+ \addplot plot coordinates {(1, 20) (2, 25) (3, 22.4) (4, 12.4)};
+ \addplot plot coordinates {(1, 18) (2, 24) (3, 23.5) (4, 13.2)};
+ \addplot plot coordinates {(1, 10) (2, 19) (3, 25) (4, 15.2)};
+
+ \legend{lorem, ipsum, dolor}
+
+ \end{axis}
+ \end{tikzpicture}
+ \end{figure}
+\end{frame}
+\begin{frame}{Quotes}
+ \begin{quote}
+ Veni, Vidi, Vici
+ \end{quote}
+\end{frame}
+
+{%
+\setbeamertemplate{frame footer}{My custom footer}
+\begin{frame}[fragile]{Frame footer}
+ \themename defines a custom beamer template to add a text to the footer. It can be set via
+ \begin{verbatim}\setbeamertemplate{frame footer}{My custom footer}\end{verbatim}
+\end{frame}
+}
+
+\begin{frame}{References}
+ Some references to showcase [allowframebreaks] \cite{knuth92,ConcreteMath,Simpson,Er01,greenwade93}
+\end{frame}
+
+\section{Conclusion}
+
+\begin{frame}{Summary}
+
+ Get the source of this theme and the demo presentation from
+
+ \begin{center}\url{github.com/matze/mtheme}\end{center}
+
+ The theme \emph{itself} is licensed under a
+ \href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons
+ Attribution-ShareAlike 4.0 International License}.
+
+ \begin{center}\ccbysa\end{center}
+
+\end{frame}
+
+\begin{frame}[standout]
+ Questions?
+\end{frame}
+
+\appendix
+
+\begin{frame}[fragile]{Backup slides}
+ Sometimes, it is useful to add slides at the end of your presentation to
+ refer to during audience questions.
+
+ The best way to do this is to include the \verb|appendixnumberbeamer|
+ package in your preamble and call \verb|\appendix| before your backup slides.
+
+ \themename will automatically turn off slide numbering and progress bars for
+ slides in the appendix.
+\end{frame}
+
+\begin{frame}[allowframebreaks]{References}
+
+ \bibliography{demo}
+ \bibliographystyle{abbrv}
+
+\end{frame}
+
+\end{document}
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.dtx
new file mode 100644
index 0000000000..cd3baaa70c
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.dtx
@@ -0,0 +1,692 @@
+%% ---------------------------------------------------------------------------
+%% 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/).
+%% ---------------------------------------------------------------------------
+
+\documentclass{ltxdoc}
+%\OnlyDescription
+
+\usepackage{parskip}
+\usepackage{setspace}
+\usepackage{xspace}
+\onehalfspacing
+
+\usepackage{etoolbox}
+\usepackage{ifxetex}
+\usepackage{ifluatex}
+
+\ifboolexpr{bool {xetex} or bool {luatex}}{
+ \usepackage{fontspec}
+ \defaultfontfeatures{Ligatures=TeX}
+
+ \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}{%
+ \setmainfont[BoldFont={Fira Sans}]{Fira Sans Light}%
+ }{%
+ \iffontsavailable{Fira Sans Light OT,%
+ Fira Sans Light Italic OT,%
+ Fira Sans OT,%
+ Fira Sans Italic OT}{%
+ \setmainfont[BoldFont={Fira Sans OT}]{Fira Sans Light OT}%
+ }{%
+ \typeout{%
+ Could not find Fira Sans fonts. Creating documentation%
+ with standard fonts.%
+ }
+ }
+ }
+ \iffontsavailable{Fira Mono, Fira Mono Bold}{%
+ \setmonofont{Fira Mono}%
+ }{%
+ \iffontsavailable{Fira Mono OT, Fira Mono Bold OT}{%
+ \setmonofont{Fira Mono OT}%
+ }{%
+ \typeout{%
+ Could not find Fira Sans fonts. Creating documentation%
+ with standard monospaced fonts.%
+ }
+ }
+ }
+}{
+ \typeout{%
+ You need to compile with XeLaTeX or LuaLaTeX to use the Fira fonts.%
+ }
+}
+
+\usepackage{enumitem}
+\setlist[itemize]{noitemsep}
+\setlist[enumerate]{noitemsep}
+
+\usepackage{xcolor}
+\definecolor{mDarkBrown}{HTML}{604c38}
+\definecolor{mDarkTeal}{HTML}{23373b}
+\definecolor{mLightBrown}{HTML}{EB811B}
+\definecolor{mLightGreen}{HTML}{14B03D}
+\definecolor{mBackground}{HTML}{FFFFFF}
+
+\usepackage{listings}
+\lstset{%
+ language=[LaTeX]{TeX},
+ basicstyle=\ttfamily,
+ keywordstyle=\color{mLightBrown}\bfseries,
+ commentstyle=\color{mLightGreen},
+ stringstyle=\color{mLightGreen},
+ backgroundcolor=\color{mBackground},
+ numbers=none,
+ numberstyle=\tiny\ttfamily,
+ stepnumber=2,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ frame=none,
+ framerule=1pt,
+ tabsize=2,
+ rulesep=5em,
+ captionpos=b,
+ breaklines=true,
+ breakatwhitespace=false,
+ framexleftmargin=0em,
+ framexrightmargin=0em,
+ xleftmargin=0em,
+ xrightmargin=0em,
+ aboveskip=1em,
+ belowskip=1em,
+ morekeywords={usetheme,institute,maketitle,@metropolis@titleformat,%
+ plain,setbeamercolor,metroset,setsansfont,setmonofont},
+}
+\lstMakeShortInline|
+\usepackage{metalogo}
+
+\usepackage[colorlinks=true,
+ linkcolor=mLightBrown,
+ menucolor=mLightBrown,
+ pagecolor=mLightBrown,
+ urlcolor=mLightBrown]{hyperref}
+
+\newcommand{\DescribeOption}[4]{
+ \DescribeMacro{#1}
+ \begin{minipage}[t]{\textwidth}
+ \textit{\textbf{\textcolor{mLightGreen}{#2}}}\dotfill\,#3\par
+ \begingroup
+ \vspace{0.5em}#4\par
+ \endgroup
+ \end{minipage}
+}
+
+\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}
+
+\usepackage{readprov}
+\ReadPackageInfos{beamerthememetropolis}
+
+\title{Modern Beamer Presentations with the \themename package}
+\author{Matthias Vogelgesang \\ \url{matthias.vogelgesang@gmail.com}}
+\date{\fileversion~---~\filedate}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+
+\section{Introduction}
+
+Beamer is an awesome way to make presentations with LaTeX, but its theme
+selection is surprisingly sparse. The stock themes share an aesthetic that can
+be a little cluttered, while the few distinctive custom themes available are
+often specialized for a particular corporate or institutional brand.
+
+The goal of \themename is to provide a simple, modern Beamer theme suitable
+for anyone to use. It tries to minimize noise and maximize space for content;
+the only visual flourish it offers is an (optional) progress bar added to each
+slide or to the section slides.
+
+By default, \themename uses
+\href{https://www.mozilla.org/en-US/styleguide/products/firefox-os/typeface/}
+{Fira Sans}, a gorgeous typeface commissioned by Mozilla and designed by
+\href{http://www.carrois.com/fira-3-1/}{Carrois}. For best results, you will
+need the Fira typeface installed and use \XeLaTeX\ to typeset your slides.
+However, \themename can also be used with other typefaces and \LaTeX{} build
+systems.
+
+\themename's codebase is maintained on \href{https://github.com/matze/mtheme}
+{GitHub}. If you have issues, find mistakes in the manual or want to help make
+the theme even better, please get in touch there. The
+\href{https://github.com/matze/mtheme/graphs/contributors}
+{full list of contributors} already contains over a dozen names!
+
+
+\section{Getting Started}
+
+\subsection{Installing from CTAN}
+
+For most users, we recommend installing \themename from
+\href{https://www.ctan.org}{CTAN}. If you keep your \TeX\ distribution
+up-to-date, chances are good that \themename is already installed. If it is
+not, you need to update your packages. If your distribution is \TeX\ Live
+(or Mac\TeX\ on OS X), the following command updates all packages.
+
+\begin{lstlisting}
+tlmgr update --all
+\end{lstlisting}
+
+If this results in an error, you may need to run it with administrative privileges:
+
+\begin{lstlisting}
+sudo tlmgr update --all
+\end{lstlisting}
+
+Mac\TeX\ on OS X also provides a graphical interface for |tlmgr| called
+\TeX\ Live Utility.
+
+For any other distribution please refer to its documentation on how to update
+your packages.
+
+To get the most out of the theme you should also install the |Fira| fonts.
+However, this is not mandatory; \themename also works with the standard fonts.
+
+
+\subsection{Installing from GitHub}
+
+If you want to use the cutting-edge development version of \themename, you can
+install it manually. Like any \LaTeX\ package, this involves four easy steps:
+\begin{description}
+ \item[Download the source] with a |git clone| of the
+ \href{https://github.com/matze/mtheme}{\themename repository} or as a
+ \href{https://github.com/matze/mtheme/archive/master.zip}{zip archive}
+ of the latest development version.
+
+ \item[Compile the style files] by running |make sty| inside the downloaded
+ directory. (Or run \LaTeX{} directly on |source/metropolistheme.ins|.)
+
+ \item[Move the resulting |*.sty| files] to the folder containing your
+ presentation. To use \themename with many presentations, run
+ |make install| or move the |*.sty| files to a folder in your \TeX{} path
+ instead.
+
+ \item[Use the theme for your presentation] by declaring
+ |\usetheme{metropolis}| in the preamble of your Beamer document.
+\end{description}
+
+\themename uses the Make build system to offer the following installation
+options for advanced users:
+
+\begin{description}
+ \item[|make sty|] builds the theme style files.
+ \item[|make doc|] builds this documentation manual.
+ \item[|make demo|] builds a demo presentation to test the features of
+ \themename.
+ \item[|make all|] builds the theme and manual.
+ \item[|make clean|] removes the files generated by |make all|.
+ \item[|make install|] installs the theme into your local texmf folder.
+ \item[|make uninstall|] removes the theme from your local texmf folder.
+\end{description}
+
+
+\subsection{A Minimal Example}
+
+The following code shows a minimal example of a Beamer presentation using
+\themename.
+
+\begin{lstlisting}
+\documentclass{beamer}
+\usetheme{metropolis} % Use metropolis theme
+\title{A minimal example}
+\date{\today}
+\author{Matthias Vogelgesang}
+\institute{Centre for Modern Beamer Themes}
+\begin{document}
+ \maketitle
+ \section{First Section}
+ \begin{frame}{First Frame}
+ Hello, world!
+ \end{frame}
+\end{document}
+\end{lstlisting}
+
+
+\subsection{Dependencies}
+
+\themename depends on the |beamer| class and the following standard packages:
+\begin{multicols}{3}
+ \begin{itemize}
+ \item |tikz|
+ \item |pgfopts|
+ \item |etoolbox|
+ \item |calc|
+ \item |ifxetex|
+ \item |ifluatex|
+ \end{itemize}
+\end{multicols}
+
+For best results, we recommend installing the fonts
+\href{https://github.com/mozilla/Fira}{|Fira Sans|} and |Fira Mono|
+and compiling with \themename using \XeLaTeX\ or \LuaTeX.
+These are optional dependencies; \themename is compatible with (e.g.)
+pdf\LaTeX\ and will fall back to standard fonts if |Fira Sans| or |Fira Mono|
+is not installed.
+
+The packaged name of |Fira Sans| is |Fira Sans OT| in some Linux
+distributions; this case is automatically handled by \themename.
+
+
+\subsection{Pandoc}
+
+To use this theme with \href{http://johnmacfarlane.net/pandoc/}{Pandoc}-based
+presentations, you can run the following command
+
+\begin{lstlisting}
+$ pandoc -t beamer --latex-engine=xelatex -V theme:metropolis -o output.pdf input.md
+\end{lstlisting}
+
+
+\section{Customization}
+
+\subsection{Package options}
+
+The theme provides a number of options, which can be set using a key=value
+interface. The primary way to set options is to provide a comma-separated list
+of option-value pairs when loading \themename in the preamble:
+\begin{lstlisting}
+\usetheme[option1=value1, option2=value2, ...]{metropolis}
+\end{lstlisting}
+
+Options can be changed at any time --- even mid-presentation! --- with the
+|\metroset| macro.
+\begin{lstlisting}
+\metroset{option1=newvalue1, option2=newvalue2, ...}
+\end{lstlisting}
+
+The list of options is structured as shown in the following example.
+
+\DescribeOption{option key}{list of possible values}{default}{
+ A short description of the option.
+}
+
+
+\subsubsection{Main theme}
+
+\DescribeOption{titleformat}%
+ {regular, smallcaps, allsmallcaps, allcaps}
+ {regular}{
+ Changes the format of titles, subtitles, section titles, frame titles, and
+ the text on ``standout'' frames. The available options produce
+ Regular, \textsc{SmallCaps}, \textsc{\MakeLowercase{AllSmallCaps}}, or
+ \MakeUppercase{AllCaps} titles. Please refer to
+ Section~\ref{sec:titleformats} for known issues with these options.
+}
+
+\DescribeOption{titleformat plain}%
+ {regular, smallcaps, allsmallcaps, allcaps}%
+ {regular}{
+ Changes the format of ``standout'' frames (see |titleformat|, above).
+}
+
+
+\subsubsection{Inner theme}
+
+\DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{
+ Adds a slide at the start of each section (|simple|) with an optional thin
+ progress bar below the section title (|progressbar|). The |none| option
+ disables the section page.
+}
+
+\DescribeOption{subsectionpage}{none, simple, progressbar}{none}{
+ Optionally adds a slide at the start of each subsection. If enabled with
+ the |simple| or |progressbar| options, the style of the |section page| will
+ be updated to match the style of the |subsection page|. Note that section
+ slides and subsection slides can appear consecutively if both are enabled;
+ you may want to use this option together with |sectionpage=none| depending
+ on the section structure of your presentation.
+}
+
+
+\subsubsection{Outer theme}
+
+\DescribeOption{numbering}{none, counter, fraction}{counter}{
+ Controls whether the frame number at the bottom right of each slide is
+ omitted (|none|), shown (|counter|) or displayed as a fraction of the total
+ number of frames (|fraction|).
+}
+
+\DescribeOption{progressbar}{none, head, frametitle, foot}{none}{
+ Optionally adds a progress bar to the top of each frame (|head|),
+ the bottom of each frame (|foot|), or directly below each frame title
+ (|frametitle|).
+}
+
+\subsubsection{Color theme}
+\DescribeOption{block}{transparent, fill}{transparent}{
+ Optionally adds a light grey background to block environments like |theorem|
+ and |example|.
+}
+
+\DescribeOption{background}{dark, light}{light}{
+ Provides the option to have a dark background and light foreground instead
+ of the reverse.
+}
+
+
+\subsubsection{Font theme}
+
+\DescribeMacro{titleformat title}
+\DescribeMacro{titleformat subtitle}
+\DescribeMacro{titleformat section}
+\DescribeOption{titleformat frame}%
+ {regular, smallcaps, allsmallcaps, allcaps}%
+ {regular}{
+ Individually controls the format of titles, subtitles, section titles, and
+ frame titles (see |titleformat|, above).
+}
+
+
+\subsection{Color Customization}
+
+The included \themename color theme is used by default, but its colors can be
+easily changed to suit your tastes. All of the theme's styles are defined in
+terms of three beamer colors:
+\begin{itemize}
+ \item |normal text| (dark fg, light bg)
+ \item |alerted text| (colored fg, should be visible against dark or light)
+ \item |example text| (colored fg, should be visible against dark or light)
+\end{itemize}
+
+An easy way to customize the theme is to redefine these colors using
+
+\begin{lstlisting}
+\setbeamercolor{ ... }{ fg= ... , bg= ... }
+\end{lstlisting}
+in your preamble. For greater customization, you can redefine any of the other
+stock beamer colors. In addition to the stock colors the theme defines a number
+of \themename specific colors, which can also be redefined to your liking.
+
+\begin{lstlisting}
+\setbeamercolor{progress bar}{ ... }
+\setbeamercolor{title separator}{ ... }
+\setbeamercolor{progress bar in head/foot}{ ... }
+\setbeamercolor{progress bar in section page}{ ... }
+\end{lstlisting}
+
+
+\subsection{Font Customization}
+
+The default font for \themename is |Fira|. This can be easily changed using
+the standard font selection commands of the \textsf{fontspec} package. So if
+you prefer, for example, the \href{http://font.ubuntu.com}{|Ubuntu|} font family, just add the following two commands after loading the \themename theme.
+
+\begin{lstlisting}
+\setsansfont{Ubuntu}
+\setmonofont{Ubuntu Mono}
+\end{lstlisting}
+
+If you are expecting to present in a large room or with an underpowered
+projector, you may want to change the font to a heavier weight of Fira to
+maximize readability.
+
+\begin{lstlisting}
+\setsansfont[BoldFont={Fira Sans SemiBold}]{Fira Sans Book}
+\end{lstlisting}
+
+
+\subsubsection{Old style figures}
+
+The regular \textsf{fontspec} mechanism for changing glyph appearance applies
+also to this theme. If you want to have old style figures in the text but
+regular lined figures for math, you could add the following to your preamble:
+
+\begin{lstlisting}
+\usefonttheme{professionalfonts} % required for mathspec
+\usepackage{mathspec}
+\setsansfont[BoldFont={Fira Sans},
+ Numbers={OldStyle}]{Fira Sans Light}
+\setmathsfont(Digits)[Numbers={Lining, Proportional}]{Fira Sans Light}
+\end{lstlisting}
+
+
+\subsection{Commands}
+
+\subsubsection{Standout frames}
+
+The \themename inner theme offers a custom frame format with large, centered
+text and an inverted background --- perfect for focusing attention on
+single sentence or image. To use it, add the key |standout| to the frame:
+
+\begin{lstlisting}
+\begin{frame}[standout]
+ Thank you!
+\end{frame}
+\end{lstlisting}
+
+
+
+\section{\texttt{pgfplots} integration}
+
+\themename comes with a set of pre-defined pgfplots styles and a color theme
+based on Paul Tol's color scheme.
+
+
+\subsection{Styles}
+
+Pass the following style keys to the axis environment to get the appropriate
+effect:
+
+\begin{macro}{mlineplot}
+ Plot regular line charts with reduced axis frames, less intrusive legend and
+ subdued grid.
+\end{macro}
+\begin{macro}{mbarplot}
+ Plot vertical bar charts in a similar way as |mlineplot| but reduce grid usage.
+\end{macro}
+\begin{macro}{horizontal mbarplot}
+ Plot horizontal bar charts.
+\end{macro}
+\begin{macro}{disable thousands separator}
+ Helper style to remove thousands separator.
+\end{macro}
+
+
+\subsection{Paul Tol colors}
+
+A good presentation uses colors that are distinct from each other as much as
+possible as well as from black and white, can be discerned item under different
+lighting and display environments and by color-blind viewers, while matching
+well together.
+
+In a \href{https://personal.sron.nl/~pault/colourschemes.pdf}{technical note}
+for SRON, Paul Tol proposed a palette of colors satisfying these constraints.
+The sub-package |pgfplotsthemetol| defines palettes for |pgfplots| charts
+based on Tol's work.
+
+
+\section{Tips \& Tricks}
+
+\subsection{Backup Slides}
+
+Speakers will often include extra slides at the end of their presentation to
+refer to during audience questions. One easy way to do this is to include the
+\verb|appendixnumberbeamer| package in your preamble and call \verb|\appendix| before your backup slides.
+
+\themename will automatically turn off slide numbering and progress bars for
+slides in the appendix.
+
+
+\section{Known Issues}
+
+\subsection{Title formats}
+\label{sec:titleformats}
+
+Be aware that not every font supports small caps, so the |smallcaps| or
+|allsmallcaps| options may not work if you use a font other than |Fira Sans|.
+In particular, the Computer Modern sans-serif typeface, which is used when
+\themename is compiled with pdf\LaTeX, does not have a small-caps variant.
+
+The title format options |allsmallcaps| and |allcaps| are quite nice from an
+aesthetic point of view, but their use of |\MakeLowercase| and
+|\MakeUppercase| can cause unexpected problems. For example:
+
+\begin{itemize}
+ \item Some commands, like |\\|, do not work inside |\MakeLowercase| and
+ |\MakeUppercase|. (See \href{https://github.com/matze/mtheme/issues/125}
+ {\#125})
+ \item Only alphabetic characters are affected by |\MakeLowercase|, so
+ numerals and punctuation remain at full height. This can spoil some of the
+ aesthetic benefits of |allsmallcaps|. (See
+ \href{https://github.com/matze/mtheme/issues/33}{\#33})
+ \item |\MakeLowercase| and |\MakeUppercase| apply to math mode and
+ |\scshape| does not. This can easily introduce mathematical errors that
+ are hard to catch.
+ \item It is impossible to typeset symbols which are encoded as uppercase
+ letters in a different font. In particular, |\mathbb| and |\mathcal|
+ letters will be replaced by other math glyphs. (See
+ \href{https://github.com/matze/mtheme/issues/153}{\#153})
+\end{itemize}
+
+The |allsmallcaps| and |allcaps| options are safe to use if your titles contain
+only alphabetic characters and do not require the expansion of any macros.
+
+
+\subsection{Interactions with other color themes}
+
+\themename can be used along with any other Beamer color theme, such as
+|crane| or |seahorse|. If you wish to do this, it is usually best to include
+the \themename subpackages individually so the \themename color theme is
+never loaded. This will prevent conflicts between the \themename color theme
+and your preferred theme.
+
+For example, overriding the color theme as follows may not work as expected because |\usetheme{metropolis}| loads the \themename color theme, which
+defines a relationship between the frametitle background and the primary
+palette of the theme. Since |seahorse| assumes a different relationship
+between its palettes, the result is a grey, rather than periwinkle,
+frametitle background.
+
+\begin{lstlisting}
+\usetheme{metropolis}
+\usecolortheme{seahorse}
+\end{lstlisting}
+
+The correct colors are chosen if the \themename outer, inner, and font themes
+are loaded seperately:
+
+\begin{lstlisting}
+\useoutertheme{metropolis}
+\useinnertheme{metropolis}
+\usefonttheme{metropolis}
+\usecolortheme{seahorse} % or your preferred color theme
+\end{lstlisting}
+
+Please note that \themename may not use all the colors defined in your
+favourite Beamer color theme. In particular, \themename does not set a
+background color for the title; this will cause issues when using color themes
+like |whale| which set a white foreground for the title.
+
+
+\subsection{Notes on second screen}
+
+If you use the |[show notes on second screen]| option built in to Beamer and
+compile with \XeLaTeX, text on slides following the first section slide may
+be rendered in white instead of the regular colour. This is due to
+\href{http://tex.stackexchange.com/questions/288408/}{a bug} in Beamer
+or \XeLaTeX\ itself. You can work around it either by compiling with \LuaTeX\
+or by adding the following code to your preamble to reset the text color
+on each slide.
+
+\begin{lstlisting}
+\makeatletter
+\def\beamer@framenotesbegin{% at beginning of slide
+ \usebeamercolor[fg]{normal text}
+ \gdef\beamer@noteitems{}%
+ \gdef\beamer@notes{}%
+}
+\makeatother
+\end{lstlisting}
+
+
+\subsection{Standout frames with labels}
+
+Because the |standout| frame option creates a group to restrict the colour
+change to a single slide, labels defined after calling |standout| will stay
+local to the group. In other words, the following may result in a ``label undefined'' error.
+
+\begin{lstlisting}
+\begin{frame}[standout, label=conclusion]{Conclusion}
+ Awesome slide
+\end{frame}
+\end{lstlisting}
+
+To fix this problem, change the order of the keys in the frame.
+
+\begin{lstlisting}
+\begin{frame}[label=conclusion, standout]{Conclusion}
+ Awesome slide
+\end{frame}
+\end{lstlisting}
+
+This error can be unwittingly triggered if you export your slides from Emacs
+Org mode, which automatically adds labels after frame options. Alex Branham
+\href{https://github.com/matze/mtheme/issues/203}{offers} the following
+solution for Org mode users, using |org-set-property|.
+
+\begin{lstlisting}
+* Start of a frame
+ :PROPERTIES:
+ :BEAMER_opt: label=conclusion,standout
+ :END:
+\end{lstlisting}
+
+
+\subsection{Standout frames with Pandoc}
+
+With Pandoc versions prior 1.17.2 it was not possible to create standout frames
+because Pandoc only supported a specific list of frame attributes thus ignoring
+additional attributes such as |{.standout}|.
+
+
+\section{License}
+
+\themename is licensed under a
+\href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons
+Attribution-ShareAlike 4.0 International License}.
+This means that if you change the theme and re-distribute it, you must retain
+the copyright notice header and license it under the same CC-BY-SA license.
+This does not affect any presentations that you create with the theme.
+
+
+\section{Implementation}
+
+\DocInput{beamerthememetropolis.dtx}
+\DocInput{beamerinnerthememetropolis.dtx}
+\DocInput{beamerouterthememetropolis.dtx}
+\DocInput{beamerfontthememetropolis.dtx}
+\DocInput{beamercolorthememetropolis.dtx}
+\DocInput{pgfplotsthemetol.dtx}
+
+\end{document}
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.pdf b/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.pdf
new file mode 100644
index 0000000000..ec3b43c7e1
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/doc/metropolistheme.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis-highcontrast.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis-highcontrast.dtx
new file mode 100644
index 0000000000..3613752314
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis-highcontrast.dtx
@@ -0,0 +1,48 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamercolorthememetropolis-highcontrast}[2017/01/23 Metropolis color theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+\usecolortheme{metropolis}
+
+\definecolor{mAlert}{HTML}{AD003D}
+\definecolor{mExample}{HTML}{005580}
+
+\setbeamercolor{normal text}{%
+ fg=black,
+ bg=white
+}
+\setbeamercolor{alerted text}{%
+ fg=mAlert,
+}
+\setbeamercolor{example text}{%
+ fg=mExample,
+}
+%
+% \begin{macrocode}
+\mode<all>
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis.dtx
new file mode 100644
index 0000000000..056f717e29
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamercolorthememetropolis.dtx
@@ -0,0 +1,241 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamercolorthememetropolis}[2017/01/23 Metropolis color theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename color theme}
+%
+%
+%
+% \subsubsection{Package dependencies}
+% \begin{macrocode}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{block}
+% Optionally adds a light grey background to block environments like
+% |theorem| and |example|.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/color/block/.cd,
+ .is choice,
+ transparent/.code=\metropolis@block@transparent,
+ fill/.code=\metropolis@block@fill,
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{colors}
+% Provides the option to have a dark background and light foreground instead
+% of the reverse.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/color/background/.cd,
+ .is choice,
+ dark/.code=\metropolis@colors@dark,
+ light/.code=\metropolis@colors@light,
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\metropolis@color@setdefaults}
+% Sets default values for color theme options.
+% \begin{macrocode}
+\newcommand{\metropolis@color@setdefaults}{
+ \pgfkeys{/metropolis/color/.cd,
+ background=light,
+ block=transparent,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Base colors}
+%
+% \begin{macrocode}
+\definecolor{mDarkBrown}{HTML}{604c38}
+\definecolor{mDarkTeal}{HTML}{23373b}
+\definecolor{mLightBrown}{HTML}{EB811B}
+\definecolor{mLightGreen}{HTML}{14B03D}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Base styles}
+%
+% All colors in \themename are derived from the definitions of |normal text|,
+% |alerted text|, and |example text|.
+%
+% \begin{macrocode}
+\newcommand{\metropolis@colors@dark}{
+ \setbeamercolor{normal text}{%
+ fg=black!2,
+ bg=mDarkTeal
+ }
+ \usebeamercolor[fg]{normal text}
+}
+\newcommand{\metropolis@colors@light}{
+ \setbeamercolor{normal text}{%
+ fg=mDarkTeal,
+ bg=black!2
+ }
+}
+\setbeamercolor{alerted text}{%
+ fg=mLightBrown
+}
+\setbeamercolor{example text}{%
+ fg=mLightGreen
+}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Derived colors}
+%
+% The titles and structural elements (e.g. |itemize| bullets) are set in the
+% same color as |normal text|. This would ideally done by setting |normal text|
+% as a parent style, which we do to set |titlelike|, but this doesn't work for
+% |structure| as its foreground is set explicitly in
+% |beamercolorthemedefault.sty|.
+%
+% \begin{macrocode}
+\setbeamercolor{titlelike}{use=normal text, parent=normal text}
+\setbeamercolor{author}{use=normal text, parent=normal text}
+\setbeamercolor{date}{use=normal text, parent=normal text}
+\setbeamercolor{institute}{use=normal text, parent=normal text}
+\setbeamercolor{structure}{use=normal text, fg=normal text.fg}
+% \end{macrocode}
+%
+% The “primary” palette should be used for the most important navigational
+% elements, and possibly of other elements. \themename uses it for frame
+% titles and slides.
+%
+% \begin{macrocode}
+\setbeamercolor{palette primary}{%
+ use=normal text,
+ fg=normal text.bg,
+ bg=normal text.fg
+}
+\setbeamercolor{frametitle}{%
+ use=palette primary,
+ parent=palette primary
+}
+% \end{macrocode}
+%
+% The \themename inner or outer themes optionally display progress
+% bars in various locations. Their color is set by |progress bar| but the two
+% different kinds can be customized separately. The horizontal rule on the
+% title page is also set based on the progress bar color and can be customized
+% with |title separator|.
+%
+% \begin{macrocode}
+\setbeamercolor{progress bar}{%
+ use=alerted text,
+ fg=alerted text.fg,
+ bg=alerted text.fg!50!black!30
+}
+\setbeamercolor{title separator}{
+ use=progress bar,
+ parent=progress bar
+}
+\setbeamercolor{progress bar in head/foot}{%
+ use=progress bar,
+ parent=progress bar
+}
+\setbeamercolor{progress bar in section page}{
+ use=progress bar,
+ parent=progress bar
+}
+% \end{macrocode}
+%
+% Block environments such as |theorem| and |example| have no background color
+% by default. The option |block=fill| sets a background color based on the
+% background and foreground of |normal text|. The option |block=transparent|
+% reverts the block environments to an empty background, which can be useful
+% if changing colors mid-presentation.
+%
+% \begin{macrocode}
+\newcommand{\metropolis@block@transparent}{
+ \setbeamercolor{block title}{%
+ use=normal text,
+ fg=normal text.fg,
+ bg=
+ }
+ \setbeamercolor{block body}{
+ bg=
+ }
+}
+\newcommand{\metropolis@block@fill}{
+ \setbeamercolor{block title}{%
+ use=normal text,
+ fg=normal text.fg,
+ bg=normal text.bg!80!fg
+ }
+ \setbeamercolor{block body}{
+ use={block title, normal text},
+ bg=block title.bg!50!normal text.bg
+ }
+}
+\setbeamercolor{block title alerted}{%
+ use={block title, alerted text},
+ bg=block title.bg,
+ fg=alerted text.fg
+}
+\setbeamercolor{block title example}{%
+ use={block title, example text},
+ bg=block title.bg,
+ fg=example text.fg
+}
+\setbeamercolor{block body alerted}{use=block body, parent=block body}
+\setbeamercolor{block body example}{use=block body, parent=block body}
+% \end{macrocode}
+%
+% Footnotes
+%
+% \begin{macrocode}
+\setbeamercolor{footnote}{fg=normal text.fg!90}
+\setbeamercolor{footnote mark}{fg=.}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\metropolis@color@setdefaults
+\ProcessPgfPackageOptions{/metropolis/color}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\mode<all>
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerfontthememetropolis.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerfontthememetropolis.dtx
new file mode 100644
index 0000000000..3e629526ff
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerfontthememetropolis.dtx
@@ -0,0 +1,438 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamerfontthememetropolis}[2017/01/23 Metropolis font theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename font theme}
+%
+% A |beamer| font theme sets the style of the font used in the document.
+%
+%
+%
+% \subsubsection{Package dependencies}
+%
+% \begin{macrocode}
+\RequirePackage{etoolbox}
+\RequirePackage{ifxetex}
+\RequirePackage{ifluatex}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Load Fira fonts}
+%
+% If the presentation is compiled with Xe\LaTeX{} or Lua\LaTeX{}, the fontspec
+% package is loaded and we search for the |Fira| fonts.
+%
+% \begin{macrocode}
+\ifboolexpr{bool {xetex} or bool {luatex}}{
+ \@ifpackageloaded{fontspec}{
+ \PassOptionsToPackage{no-math}{fontspec}
+ }{
+ \RequirePackage[no-math]{fontspec}
+ }
+% \end{macrocode}
+%
+% \begin{macro}{\checkfont}
+% Checks if a font is installed; if not, |fontsnotfound| is increased.
+% \begin{macrocode}
+ \newcounter{fontsnotfound}
+ \newcommand{\checkfont}[1]{%
+ \suppressfontnotfounderror=1%
+ \font\x = "#1" at 10pt
+ \selectfont
+ \ifx\x\nullfont%
+ \stepcounter{fontsnotfound}%
+ \fi%
+ \suppressfontnotfounderror=0%
+ }
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\iffontsavailable}
+% Resets the |fontsnotfound| counter and calls |\checkfont| for each font in
+% the comma separated list in the first argument.
+% \begin{macrocode}
+ \newcommand{\iffontsavailable}[3]{%
+ \setcounter{fontsnotfound}{0}%
+ \expandafter\forcsvlist\expandafter%
+ \checkfont\expandafter{#1}%
+ \ifnum\value{fontsnotfound}=0%
+ #2%
+ \else%
+ #3%
+ \fi%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% We search for regular, italic, light, light italic, mono, and mono bold
+% fonts under the default |Fira Sans| and |Fira Mono| names. If this fails,
+% the suffix OT --- used by some Linux distributions --- will be tried. If this
+% also fails, a warning will be displayed and the standard fonts will be used.
+%
+% \begin{macrocode}
+ \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%
+ }
+}
+% \end{macrocode}
+%
+% This concludes the portion of the code which is only run when compiled with
+% Xe\LaTeX{} or Lua\LaTeX{}. The remainder of this package applies regardless
+% of the compiling engine.
+%
+%
+%
+% \subsubsection{General font definitions}
+%
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Title format options}
+%
+% \begin{macro}{titleformat title}
+% Controls the format of the title.
+% \begin{macrocode}
+\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%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat subtitle}
+% Control the format of the subtitle.
+% \begin{macrocode}
+\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%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat section}
+% Controls the format of the section title.
+% \begin{macrocode}
+\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%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{frametitleformat}
+% Control the format of the frame title.
+% \begin{macrocode}
+\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%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat aliases}
+% Allows |titleformat title| et al. to be used in the |\usetheme|
+% declaration, where \LaTeX{} automatically removes all spaces.
+% \begin{macrocode}
+\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},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\metropolis@font@setdefaults}
+% Sets default values for font theme options.
+% \begin{macrocode}
+\newcommand{\metropolis@font@setdefaults}{
+ \pgfkeys{/metropolis/font/.cd,
+ titleformat title=regular,
+ titleformat subtitle=regular,
+ titleformat section=regular,
+ titleformat frame=regular,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% We first define hooks to change the case format of the titles.
+%
+% \begin{macrocode}
+\def\metropolis@titleformat#1{#1}
+\def\metropolis@subtitleformat#1{#1}
+\def\metropolis@sectiontitleformat#1{#1}
+\def\metropolis@frametitleformat#1{#1}
+% \end{macrocode}
+%
+% To make the uppercase and lowercase macros work in the title, subtitle, etc.,
+% we have to patch the appropriate |beamer| commands that set their values.
+% This solution was suggested by Enrico Gregorio in an answer to
+% \href{http://tex.stackexchange.com/questions/112526/}{this StackExchange
+% question}.
+%
+% \begin{macrocode}
+\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}
+ {\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}
+ {\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
+% \end{macrocode}
+%
+% Similarly, to make the |\MakeLowercase| and |\MakeUppercase| macros work in
+% the frame title we have to patch |\beamer@@frametitle|.
+%
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\metropolis@font@setdefaults
+\ProcessPgfPackageOptions{/metropolis/font}
+% \end{macrocode}
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerinnerthememetropolis.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerinnerthememetropolis.dtx
new file mode 100644
index 0000000000..24f5c5f90c
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerinnerthememetropolis.dtx
@@ -0,0 +1,589 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamerinnerthememetropolis}[2017/01/23 Metropolis inner theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename inner theme}
+%
+% A |beamer| inner theme dictates the style of the frame elements traditionally
+% set in the ``body'' of each slide. These include:
+%
+% \begin{itemize}
+% \item title, part, and section pages;
+% \item itemize, enumerate, and description environments;
+% \item block environments including theorems and proofs;
+% \item figures and tables; and
+% \item footnotes and plain text.
+% \end{itemize}
+%
+%
+%
+% \subsubsection{Package dependencies}
+%
+% \begin{macrocode}
+\RequirePackage{etoolbox}
+\RequirePackage{keyval}
+\RequirePackage{calc}
+\RequirePackage{pgfopts}
+\RequirePackage{tikz}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{sectionpage}
+% Optionally add a slide marking the beginning of each section.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/inner/sectionpage/.cd,
+ .is choice,
+ none/.code=\metropolis@disablesectionpage,
+ simple/.code={\metropolis@enablesectionpage
+ \setbeamertemplate{section page}[simple]},
+ progressbar/.code={\metropolis@enablesectionpage
+ \setbeamertemplate{section page}[progressbar]},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{subsectionpage}
+% Optionally add a slide marking the beginning of each subsection.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/inner/subsectionpage/.cd,
+ .is choice,
+ none/.code=\metropolis@disablesubsectionpage,
+ simple/.code={\metropolis@enablesubsectionpage
+ \setbeamertemplate{section page}[simple]},
+ progressbar/.code={\metropolis@enablesubsectionpage
+ \setbeamertemplate{section page}[progressbar]},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\metropolis@inner@setdefaults}
+% Set default values for inner theme options.
+% \begin{macrocode}
+\newcommand{\metropolis@inner@setdefaults}{
+ \pgfkeys{/metropolis/inner/.cd,
+ sectionpage=progressbar,
+ subsectionpage=none
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Title page}
+%
+% \begin{macro}{title page}
+% Template for the title page. Each element is only typset if it is defined
+% by the user. If |\subtitle| is empty, for example, it won't leave a blank
+% space on the title slide.
+% \begin{macrocode}
+\setbeamertemplate{title page}{
+ \begin{minipage}[b][\paperheight]{\textwidth}
+ \ifx\inserttitlegraphic\@empty\else\usebeamertemplate*{title graphic}\fi
+ \vfill%
+ \ifx\inserttitle\@empty\else\usebeamertemplate*{title}\fi
+ \ifx\insertsubtitle\@empty\else\usebeamertemplate*{subtitle}\fi
+ \usebeamertemplate*{title separator}
+% \end{macrocode}
+%
+% Beamer's definition of |\insertauthor| is always nonempty, so we have
+% to test another macro initialized by |\author{...}| to see if the user has
+% defined an author. This solution was suggested by Enrico Gregorio in an
+% answer to \href{https://tex.stackexchange.com/questions/241306/}{this
+% Stack Exchange question}.
+%
+% \begin{macrocode}
+ \ifx\beamer@shortauthor\@empty\else\usebeamertemplate*{author}\fi
+ \ifx\insertdate\@empty\else\usebeamertemplate*{date}\fi
+ \ifx\insertinstitute\@empty\else\usebeamertemplate*{institute}\fi
+ \vfill
+ \vspace*{1mm}
+ \end{minipage}
+}
+% \end{macrocode}
+% \end{macro}%
+%
+% Normal people should use |\maketitle| or |\titlepage| instead of using the
+% |title page| beamer template directly. Beamer already defines these macros,
+% but we patch them here to make the title page |[plain]| by default, remove
+% |\@thanks|, and ensure the title frame number doesn't count.
+%
+% \begin{macro}{\maketitle}
+% \begin{macro}{\titlepage}
+%
+% Inserts the title frame, or causes the current frame to use the
+% |title page| template.
+%
+% \begin{macrocode}
+\def\maketitle{%
+ \ifbeamer@inframe
+ \titlepage
+ \else
+ \frame[plain,noframenumbering]{\titlepage}
+ \fi
+}
+\def\titlepage{%
+ \usebeamertemplate{title page}
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{title graphic}
+% Set the title graphic in a zero-height box, so it doesn't change the
+% position of other elements.
+% \begin{macrocode}
+\setbeamertemplate{title graphic}{
+ \vbox to 0pt {
+ \vspace*{2em}
+ \inserttitlegraphic%
+ }%
+ \nointerlineskip%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{title}
+% Set the title on the title page.
+% \begin{macrocode}
+\setbeamertemplate{title}{
+ \raggedright%
+ \linespread{1.0}%
+ \inserttitle%
+ \par%
+ \vspace*{0.5em}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{subtitle}
+% Set the subtitle on the title page.
+% \begin{macrocode}
+\setbeamertemplate{subtitle}{
+ \raggedright%
+ \insertsubtitle%
+ \par%
+ \vspace*{0.5em}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{title separator}
+% Template to set the title graphic in a zero-height box. (It won't
+% change the position of other elements.)
+% \begin{macrocode}
+\newlength{\metropolis@titleseparator@linewidth}
+\setlength{\metropolis@titleseparator@linewidth}{0.4pt}
+\setbeamertemplate{title separator}{
+ \begin{tikzpicture}
+ \fill[fg] (0,0) rectangle (\textwidth, \metropolis@titleseparator@linewidth);
+ \end{tikzpicture}%
+ \par%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{author}
+% Set the author on the title page.
+% \begin{macrocode}
+\setbeamertemplate{author}{
+ \vspace*{2em}
+ \insertauthor%
+ \par%
+ \vspace*{0.25em}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{date}
+% Set the date on the title page.
+% \begin{macrocode}
+\setbeamertemplate{date}{
+ \insertdate%
+ \par%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{institute}
+% Set the institute on the title page.
+% \begin{macrocode}
+\setbeamertemplate{institute}{
+ \vspace*{3mm}
+ \insertinstitute%
+ \par%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Section page}
+%
+% \begin{macro}{section page}
+%
+% Template for the section title slide at the beginning of each section.
+%
+% \begin{macrocode}
+\defbeamertemplate{section page}{simple}{
+ \begin{center}
+ \usebeamercolor[fg]{section title}
+ \usebeamerfont{section title}
+ \insertsectionhead\par
+ \ifx\insertsubsectionhead\@empty\else
+ \usebeamercolor[fg]{subsection title}
+ \usebeamerfont{subsection title}
+ \insertsubsectionhead
+ \fi
+ \end{center}
+}
+\defbeamertemplate{section page}{progressbar}{
+ \centering
+ \begin{minipage}{22em}
+ \raggedright
+ \usebeamercolor[fg]{section title}
+ \usebeamerfont{section title}
+ \insertsectionhead\\[-1ex]
+ \usebeamertemplate*{progress bar in section page}
+ \par
+ \ifx\insertsubsectionhead\@empty\else%
+ \usebeamercolor[fg]{subsection title}%
+ \usebeamerfont{subsection title}%
+ \insertsubsectionhead
+ \fi
+ \end{minipage}
+ \par
+ \vspace{\baselineskip}
+}
+\newcommand{\metropolis@disablesectionpage}{
+ \AtBeginSection{
+ % intentionally empty
+ }
+}
+\newcommand{\metropolis@enablesectionpage}{
+ \AtBeginSection{
+ \ifbeamer@inframe
+ \sectionpage
+ \else
+ \frame[plain,c,noframenumbering]{\sectionpage}
+ \fi
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{subsection page}
+%
+% Template for the subsection title slide that can optionally be added to
+% at the beginning of each subsection.
+%
+% \begin{macrocode}
+\setbeamertemplate{subsection page}{%
+ \usebeamertemplate*{section page}
+}
+\newcommand{\metropolis@disablesubsectionpage}{
+ \AtBeginSubsection{
+ % intentionally empty
+ }
+}
+\newcommand{\metropolis@enablesubsectionpage}{
+ \AtBeginSubsection{
+ \ifbeamer@inframe
+ \subsectionpage
+ \else
+ \frame[plain,c,noframenumbering]{\subsectionpage}
+ \fi
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{progress bar in section page}
+%
+% Template for the progress bar displayed by default on the section page.
+% This code is duplicated in large part in the outer theme's template
+% |progress bar in head/foot|.
+%
+% \begin{macrocode}
+\newlength{\metropolis@progressonsectionpage}
+\newlength{\metropolis@progressonsectionpage@linewidth}
+\setlength{\metropolis@progressonsectionpage@linewidth}{0.4pt}
+\setbeamertemplate{progress bar in section page}{
+ \setlength{\metropolis@progressonsectionpage}{%
+ \textwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
+ }%
+ \begin{tikzpicture}
+ \fill[bg] (0,0) rectangle (\textwidth, \metropolis@progressonsectionpage@linewidth);
+ \fill[fg] (0,0) rectangle (\metropolis@progressonsectionpage, \metropolis@progressonsectionpage@linewidth);
+ \end{tikzpicture}%
+}
+% \end{macrocode}
+%
+% The above code assumes that |\insertframenumber| is less than or equal to
+% |\inserttotalframenumber|. However, this is not true on the first compile;
+% in the absence of an |.aux| file, |\inserttotalframenumber| defaults to 1.
+% This behaviour could cause fatal errors for long presentations, as
+% |\metropolis@progressonsectionpage| would exceed \TeX's maximum length
+% (16383.99999pt, roughly 5.75 metres or 18.9 feet).
+% To avoid this, we increase the default value for |\inserttotalframenumber|;
+% presentations with over 4000 slides will still break on first compile, but
+% users in that situation likely have deeper problems to solve.
+%
+% \begin{macrocode}
+\def\inserttotalframenumber{100}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Block environments}
+%
+%
+% \begin{macro}{block}
+% \begin{macro}{block alerted}
+% \begin{macro}{block example}
+%
+% The three different block environments differ only in their colours.
+% Rather than repeat the essentially the same template three times, we use
+% the auxiliary macro |\metropolis@block| to define all three templates.
+%
+% \begin{macrocode}
+\newlength{\metropolis@blocksep}
+\newlength{\metropolis@blockadjust}
+\setlength{\metropolis@blocksep}{0.75ex}
+\setlength{\metropolis@blockadjust}{0.25ex}
+\providecommand{\metropolis@strut}{%
+ \vphantom{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz()}%
+}
+\newcommand{\metropolis@block}[1]{
+ \par\vskip\medskipamount%
+ \setlength{\parskip}{0pt}
+% \end{macrocode}
+%
+% If a background color is defined for the block title or body, we need to
+% add a little bit of padding to the corresponding box. Ideally, this would
+% be accomplished by setting |colsep=0.75ex|, which is intended to add
+% ``color separation space'' only when the box has a colored background.
+% Unfortunately, |colsep| also adds this separation if the background color
+% is inherited, even if the inherited color is actually empty.
+% (The technical reason for this boils down to the fact that the |\ifx|
+% directive does not expand macros.)
+%
+% To achieve the correct spacing for |alertblock|s and |exampleblock|s
+% as well as for normal blocks, we have to begin the |beamercolorbox|
+% differently based on whether |block title| has an empty background.
+%
+% If the |block title| background is empty, or the user has explicitly
+% removed the background from (e.g.) |block title alerted|, we just need to
+% set a rightskip for a nice ragged-right block title.
+%
+% \begin{macrocode}
+ \ifbeamercolorempty[bg]{block title#1}{%
+ \begin{beamercolorbox}[rightskip=0pt plus 4em]{block title#1}}{%
+ \ifbeamercolorempty[bg]{block title}{%
+ \begin{beamercolorbox}[rightskip=0pt plus 4em]{block title#1}%
+ }%
+% \end{macrocode}
+%
+% Otherwise, if the |block title| has a background, we set the padding based
+% on |\metropolis@blockskip|. However, we have to visually compensate for
+% the |\metropolis@strut| added to the block title (see below) by
+% subtracting |\metropolis@blockadjust| from the top and bottom padding.
+%
+% \begin{macrocode}
+ {%
+ \begin{beamercolorbox}[
+ sep=\dimexpr\metropolis@blocksep-\metropolis@blockadjust\relax,
+ leftskip=\metropolis@blockadjust,
+ rightskip=\dimexpr\metropolis@blockadjust plus 4em\relax
+ ]{block title#1}%
+ }}%
+% \end{macrocode}
+%
+% We can now set the contents of the |block title|. The zero-width but
+% positive-height box |\metropolis@strut| ensures that the block title box
+% has a consistent height, even if it lacks punctuation, ascenders, or
+% descenders.
+%
+% \begin{macrocode}
+ \usebeamerfont*{block title#1}%
+ \metropolis@strut%
+ \insertblocktitle%
+ \metropolis@strut%
+ \end{beamercolorbox}%
+% \end{macrocode}
+%
+% Next, we typeset the |block body|. This the code is similar to, but simpler
+% than, the |block title| code since we don't need to adjust for any struts.
+%
+% \begin{macrocode}
+ \nointerlineskip%
+ \ifbeamercolorempty[bg]{block body#1}{%
+ \begin{beamercolorbox}[vmode]{block body#1}}{
+ \ifbeamercolorempty[bg]{block body}{%
+ \begin{beamercolorbox}[vmode]{block body#1}%
+ }{%
+ \begin{beamercolorbox}[sep=\metropolis@blocksep, vmode]{block body#1}%
+ \vspace{-\metropolis@parskip}
+ }}%
+ \usebeamerfont{block body#1}%
+ \setlength{\parskip}{\metropolis@parskip}%
+}
+% \end{macrocode}
+%
+% This concludes the auxiliary macro |\metropolis@block|. Finally,
+% we define the block beamer templates using this macro.
+%
+% \begin{macrocode}
+\setbeamertemplate{block begin}{\metropolis@block{}}
+\setbeamertemplate{block alerted begin}{\metropolis@block{ alerted}}
+\setbeamertemplate{block example begin}{\metropolis@block{ example}}
+\setbeamertemplate{block end}{\end{beamercolorbox}\vspace*{0.2ex}}
+\setbeamertemplate{block alerted end}{\end{beamercolorbox}\vspace*{0.2ex}}
+\setbeamertemplate{block example end}{\end{beamercolorbox}\vspace*{0.2ex}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Lists and floats}
+%
+% \begin{macrocode}
+\setbeamertemplate{itemize items}{\textbullet}
+\setbeamertemplate{caption label separator}{: }
+\setbeamertemplate{caption}[numbered]
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Footnotes}
+% \begin{macrocode}
+\setbeamertemplate{footnote}{%
+ \parindent 0em\noindent%
+ \raggedright
+ \usebeamercolor{footnote}\hbox to 0.8em{\hfil\insertfootnotemark}\insertfootnotetext\par%
+}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Text and spacing settings}
+%
+% \begin{macrocode}
+\newlength{\metropolis@parskip}
+\setlength{\metropolis@parskip}{0.5em}
+\setlength{\parskip}{\metropolis@parskip}
+\linespread{1.15}
+% \end{macrocode}
+%
+% By default, Beamer frames offer the |c| option to \textit{almost} vertically
+% center the text, but the placement is a little too high. To fix this, we
+% redefine the |c| option to equalize |\beamer@frametopskip| and
+% |\beamer@framebottomskip|. This solution was suggested by Enrico Gregorio in
+% an answer to \href{http://tex.stackexchange.com/questions/247826/}{this
+% Stack Exchange question}.
+%
+% \begin{macrocode}
+\define@key{beamerframe}{c}[true]{% centered
+ \beamer@frametopskip=0pt plus 1fill\relax%
+ \beamer@framebottomskip=0pt plus 1fill\relax%
+ \beamer@frametopskipautobreak=0pt plus .4\paperheight\relax%
+ \beamer@framebottomskipautobreak=0pt plus .6\paperheight\relax%
+ \def\beamer@initfirstlineunskip{}%
+}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Standout frames}
+%
+% \themename offers a custom frame format with large, centered text and an
+% inverted background. To use it, add the key |standout| to the frame:
+% |\begin{frame}[standout] ... \end{frame}|.
+%
+% \begin{macro}{standout}
+%
+% Optional arguments to Beamer's frames are implemented using
+% |\define@key| from the |keyval| package, which will execute code when the
+% defined option is called. For the |standout| option, we begin a group,
+% change the colors and fonts, and set a \centering alignment.
+%
+% \begin{macrocode}
+\providebool{metropolis@standout}
+\define@key{beamerframe}{standout}[true]{%
+ \booltrue{metropolis@standout}
+ \begingroup
+ \setkeys{beamerframe}{c}
+ \setkeys{beamerframe}{noframenumbering}
+ \ifbeamercolorempty[bg]{palette primary}{
+ \setbeamercolor{background canvas}{
+ use=palette primary,
+ bg=-palette primary.fg
+ }
+ }{
+ \setbeamercolor{background canvas}{
+ use=palette primary,
+ bg=palette primary.bg
+ }
+ }
+ \centering
+ \usebeamercolor[fg]{palette primary}
+ \usebeamerfont{standout}
+}
+% \end{macrocode}
+%
+% Then we just have to close the group after the standout slide is finished
+% in order to restore the colours and fonts for the rest of the
+% presentation. Unfortunately, we cannot use \AfterEndEnvironment{frame} for
+% this (see \url{http://tex.stackexchange.com/questions/226319/}).
+% Instead, we add the |\endgroup| to |\beamer@reseteecodes|, which is run
+% exactly once at the end of each slide.
+%
+% \begin{macrocode}
+ \apptocmd{\beamer@reseteecodes}{%
+ \ifbool{metropolis@standout}{
+ \endgroup
+ \boolfalse{metropolis@standout}
+ }{}
+ }{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\metropolis@inner@setdefaults
+\ProcessPgfPackageOptions{/metropolis/inner}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerouterthememetropolis.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerouterthememetropolis.dtx
new file mode 100644
index 0000000000..5ce947b7c2
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerouterthememetropolis.dtx
@@ -0,0 +1,236 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamerouterthememetropolis}[2017/01/23 Metropolis outer theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename outer theme}
+%
+% A |beamer| outer theme dictates the style of the frame elements traditionally
+% set outside the body of each slide: the head, footline, and frame title.
+%
+%
+%
+% \subsubsection{Package dependencies}
+%
+% \begin{macrocode}
+\RequirePackage{etoolbox}
+\RequirePackage{calc}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{numbering}
+% Adds slide numbers to the bottom right of each slide.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/outer/numbering/.cd,
+ .is choice,
+ none/.code=\setbeamertemplate{frame numbering}[none],
+ counter/.code=\setbeamertemplate{frame numbering}[counter],
+ fraction/.code=\setbeamertemplate{frame numbering}[fraction],
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{progressbar}
+% Adds a progress bar to the top, bottom, or frametitle of each slide.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/outer/progressbar/.cd,
+ .is choice,
+ none/.code={%
+ \setbeamertemplate{headline}[plain]
+ \setbeamertemplate{frametitle}[plain]
+ \setbeamertemplate{footline}[plain]
+ },
+ head/.code={\pgfkeys{/metropolis/outer/progressbar=none}
+ \addtobeamertemplate{headline}{}{%
+ \usebeamertemplate*{progress bar in head/foot}
+ }
+ },
+ frametitle/.code={\pgfkeys{/metropolis/outer/progressbar=none}
+ \addtobeamertemplate{frametitle}{}{%
+ \usebeamertemplate*{progress bar in head/foot}
+ }
+ },
+ foot/.code={\pgfkeys{/metropolis/outer/progressbar=none}
+ \addtobeamertemplate{footline}{}{%
+ \usebeamertemplate*{progress bar in head/foot}%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\metropolis@outer@setdefaults}
+% Sets default values for outer theme options.
+% \begin{macrocode}
+\newcommand{\metropolis@outer@setdefaults}{
+ \pgfkeys{/metropolis/outer/.cd,
+ numbering=counter,
+ progressbar=none,
+ }
+}
+% \end{macrocode}%
+% \end{macro}
+%
+%
+%
+% \subsubsection{Head and footline}
+%
+% All good |beamer| presentations should already remove the navigation symbols,
+% but \themename removes them automatically (just in case).
+%
+% \begin{macrocode}
+\setbeamertemplate{navigation symbols}{}
+% \end{macrocode}
+%
+% \begin{macro}{frame numbering}
+% Templates for the frame number. Can be omitted, shown or displayed as a
+% fraction of the total frames.
+% \begin{macrocode}
+\defbeamertemplate{frame footer}{none}{}
+\defbeamertemplate{frame footer}{custom}[1]{ #1 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\defbeamertemplate{frame numbering}{none}{}
+\defbeamertemplate{frame numbering}{counter}{\insertframenumber}
+\defbeamertemplate{frame numbering}{fraction}{
+ \insertframenumber/\inserttotalframenumber
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{headline}
+% \begin{macro}{footline}
+% Templates for the head- and footline at the top and bottom of each frame.
+% \begin{macrocode}
+\defbeamertemplate{headline}{plain}{}
+\defbeamertemplate{footline}{plain}{%
+ \begin{beamercolorbox}[wd=\textwidth, sep=3ex]{footline}%
+ \usebeamerfont{page number in head/foot}%
+ \usebeamertemplate*{frame footer}
+ \hfill%
+ \usebeamertemplate*{frame numbering}
+ \end{beamercolorbox}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Frametitle}
+%
+% \begin{macro}{frametitle}
+% Templates for the frame title, which is optionally underlined with a
+% progress bar.
+% \begin{macrocode}
+\newlength{\metropolis@frametitle@padding}
+\setlength{\metropolis@frametitle@padding}{2.2ex}
+\newcommand{\metropolis@frametitlestrut@start}{
+ \rule{0pt}{\metropolis@frametitle@padding +%
+ \totalheightof{%
+ \ifcsdef{metropolis@frametitleformat}{\metropolis@frametitleformat X}{X}%
+ }%
+ }%
+}
+\newcommand{\metropolis@frametitlestrut@end}{
+ \rule[-\metropolis@frametitle@padding]{0pt}{\metropolis@frametitle@padding}
+}
+\defbeamertemplate{frametitle}{plain}{%
+ \nointerlineskip%
+ \begin{beamercolorbox}[%
+ wd=\paperwidth,%
+ sep=0pt,%
+ leftskip=\metropolis@frametitle@padding,%
+ rightskip=\metropolis@frametitle@padding,%
+ ]{frametitle}%
+ \metropolis@frametitlestrut@start%
+ \insertframetitle%
+ \nolinebreak%
+ \metropolis@frametitlestrut@end%
+ \end{beamercolorbox}%
+}
+\setbeamertemplate{frametitle continuation}{%
+ \usebeamerfont{frametitle}
+ \romannumeral \insertcontinuationcount
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{progress bar in head/foot}
+% Template for the progress bar optionally displayed below the frame title
+% on each page. Much of this code is duplicated in the inner theme's
+% template |progress bar in section page|.
+% \begin{macrocode}
+\newlength{\metropolis@progressinheadfoot}
+\newlength{\metropolis@progressinheadfoot@linewidth}
+\setlength{\metropolis@progressinheadfoot@linewidth}{0.4pt}
+\setbeamertemplate{progress bar in head/foot}{
+ \nointerlineskip
+ \setlength{\metropolis@progressinheadfoot}{%
+ \paperwidth * \ratio{\insertframenumber pt}{\inserttotalframenumber pt}%
+ }%
+ \begin{beamercolorbox}[wd=\paperwidth]{progress bar in head/foot}
+ \begin{tikzpicture}
+ \fill[bg] (0,0) rectangle (\paperwidth, \metropolis@progressinheadfoot@linewidth);
+ \fill[fg] (0,0) rectangle (\metropolis@progressinheadfoot, \metropolis@progressinheadfoot@linewidth);
+ \end{tikzpicture}%
+ \end{beamercolorbox}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{appendix}
+% Removes page numbering and per-slide progress bars when |\appendix| is
+% called. This makes it easier to include additional ``backup slides'' at
+% the end of the presentation, especially in conjunction with the package
+% |appendixnumberbeamer|.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \apptocmd{\appendix}{%
+ \pgfkeys{%
+ /metropolis/outer/.cd,
+ numbering=none,
+ progressbar=none}
+ }{}{}
+}
+% \end{macrocode}
+% \end{macro}
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\metropolis@outer@setdefaults
+\ProcessPgfPackageOptions{/metropolis/outer}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.dtx
new file mode 100644
index 0000000000..6482f52117
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.dtx
@@ -0,0 +1,204 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{beamerthememetropolis}
+ [2017/01/23 v1.2 Metropolis Beamer theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename parent theme}
+%
+% The primary job of this package is to load the component sub-packages of the
+% \themename theme and route the theme options accordingly. It also
+% provides some custom commands and environments for the user.
+%
+%
+%
+% \subsubsection{Package dependencies}
+%
+% \begin{macrocode}
+\RequirePackage{etoolbox}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Options}
+%
+% Most options are passed off to the component sub-packages.
+%
+% \begin{macrocode}
+\pgfkeys{/metropolis/.cd,
+ .search also={
+ /metropolis/inner,
+ /metropolis/outer,
+ /metropolis/color,
+ /metropolis/font,
+ }
+}
+% \end{macrocode}
+%
+% \begin{macro}{titleformat plain}
+% Controls the formatting of the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/titleformat plain/.cd,
+ .is choice,
+ regular/.code={%
+ \let\metropolis@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\metropolis@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\metropolis@plaintitleformat\MakeLowercase%
+ \setbeamerfont{standout}{shape=\scshape}%
+ \PackageWarning{beamerthememetropolis}{%
+ Be aware that titleformat plain=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\metropolis@plaintitleformat\MakeUppercase%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ \PackageWarning{beamerthememetropolis}{%
+ Be aware that titleformat plain=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat}
+% Sets a standard format for titles, subtitles, section titles, frame
+% titles, and the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /metropolis/titleformat/.code=\pgfkeysalso{
+ font/titleformat title=#1,
+ font/titleformat subtitle=#1,
+ font/titleformat section=#1,
+ font/titleformat frame=#1,
+ titleformat plain=#1,
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% For backwards compatibility with earlier betas of the theme, we implement
+% deprecated option names as aliases to the corresponding |key=value| options.
+%
+% \begin{macrocode}
+\pgfkeys{/metropolis/.cd,
+ usetitleprogressbar/.code=\pgfkeysalso{outer/progressbar=frametitle},
+ noslidenumbers/.code=\pgfkeysalso{outer/numbering=none},
+ usetotalslideindicator/.code=\pgfkeysalso{outer/numbering=fraction},
+ nosectionslide/.code=\pgfkeysalso{inner/sectionpage=none},
+ darkcolors/.code=\pgfkeysalso{color/background=dark},
+ blockbg/.code=\pgfkeysalso{color/block=fill, inner/block=fill},
+}
+% \end{macrocode}
+%
+% Set default values for options.
+%
+% \begin{macrocode}
+\newcommand{\metropolis@setdefaults}{
+ \pgfkeys{/metropolis/.cd,
+ titleformat plain=regular,
+ }
+}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Component sub-packages}
+%
+% Having processed the options, we can now load the component sub-packages of
+% the theme.
+%
+% \begin{macrocode}
+\useinnertheme{metropolis}
+\useoutertheme{metropolis}
+\usecolortheme{metropolis}
+\usefonttheme{metropolis}
+% \end{macrocode}
+%
+% The |tol| theme for |pgfplots| is only loaded if |pgfplots| is used.
+%
+% \begin{macrocode}
+\AtEndPreamble{%
+ \@ifpackageloaded{pgfplots}{%
+ \RequirePackage{pgfplotsthemetol}
+ }{}
+}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Custom commands}
+%
+% The parent theme defines custom commands as their proper usage may depend
+% on multiple sub-packages.
+%
+% \begin{macro}{\metroset}
+% Allows the user to change options midway through a presentation.
+% \begin{macrocode}
+\newcommand{\metroset}[1]{\pgfkeys{/metropolis/.cd,#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\plain}
+% Creates a plain frame with dark background, suitable for displaying images
+% or a few words. The format of the text can be set with the
+% |titleformat plain| option.
+% \begin{macrocode}
+\def\metropolis@plaintitleformat#1{#1}
+\newcommand{\plain}[2][]{%
+ \PackageWarning{beamerthememetropolis}{%
+ The syntax `\plain' may be deprecated in a future version of Metropolis.
+ Please use a frame with [standout] instead.
+ }
+ \begin{frame}[standout]{#1}
+ \metropolis@plaintitleformat{#2}
+ \end{frame}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\mreducelistspacing}
+% \begin{macrocode}
+\newcommand{\mreducelistspacing}{\vspace{-\topsep}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\metropolis@setdefaults
+\ProcessPgfOptions{/metropolis}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.ins b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.ins
new file mode 100644
index 0000000000..c6e2dfec96
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/beamerthememetropolis.ins
@@ -0,0 +1,74 @@
+%% ---------------------------------------------------------------------------
+%% 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/).
+%% ---------------------------------------------------------------------------
+
+\input docstrip.tex %
+\keepsilent
+\askforoverwritefalse
+\usedir{tex/latex/mtheme}
+
+\preamble
+---------------------------------------------------------------------------
+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/).
+---------------------------------------------------------------------------
+\endpreamble
+
+\generate{\file{beamerthememetropolis.sty}{%
+ \from{beamerthememetropolis.dtx}{package}}
+ }
+\generate{\file{beamerinnerthememetropolis.sty}{%
+ \from{beamerinnerthememetropolis.dtx}{package}}
+ }
+\generate{\file{beamerouterthememetropolis.sty}{%
+ \from{beamerouterthememetropolis.dtx}{package}}
+ }
+\generate{\file{beamerfontthememetropolis.sty}{%
+ \from{beamerfontthememetropolis.dtx}{package}}
+ }
+\generate{\file{beamercolorthememetropolis.sty}{%
+ \from{beamercolorthememetropolis.dtx}{package}}
+ }
+\generate{\file{beamercolorthememetropolis-highcontrast.sty}{%
+ \from{beamercolorthememetropolis-highcontrast.dtx}{package}}
+ }
+\generate{\file{pgfplotsthemetol.sty}{%
+ \from{pgfplotsthemetol.dtx}{package}}
+ }
+
+\obeyspaces
+\Msg{**************************************************************}
+\Msg{* *}
+\Msg{* To finish the installation you have to move the following *}
+\Msg{* files into a directory searched by TeX: *}
+\Msg{* *}
+\Msg{* beamerthememetropolis.sty *}
+\Msg{* beamerinnerthememetropolis.sty *}
+\Msg{* beamerouterthememetropolis.sty *}
+\Msg{* beamerfontthememetropolis.sty *}
+\Msg{* beamercolorthememetropolis.sty *}
+\Msg{* pgfplotsthemetol.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file mtheme.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{**************************************************************}
+
+\endbatchfile
diff --git a/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx
new file mode 100644
index 0000000000..a46dca0097
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/metropolis/source/pgfplotsthemetol.dtx
@@ -0,0 +1,190 @@
+% \iffalse meta-comment -------------------------------------------------------
+% 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 these colors were inspired by the Paul Tol 21-color Salute by Peter Carl.
+%
+% http://www.r-bloggers.com/the-paul-tol-21-color-salute/
+%
+% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
+% International License (https://creativecommons.org/licenses/by-sa/4.0/).
+% ------------------------------------------------------------------------- \fi
+% \iffalse
+%<driver> \ProvidesFile{pgfplotsthemetol.dtx}
+%<*package>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{pgfplotsthemetol}
+ [2017/01/23 PGFplots colors based on Paul Tol's SRON technical note]
+%</package>
+%<driver> \documentclass{ltxdoc}
+%<driver> \usepackage{pgfplotsthemetol}
+%<driver> \begin{document}
+%<driver> \DocInput{pgfplotsthemetol.dtx}
+%<driver> \end{document}
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{Tol \texttt{pgfplots} theme}
+%
+% Paul Tol's 12-color palette\footnote{Tol actually describes several
+% palettes; these colours are taken from the bottom row of Figure 3 in his
+% technical note.} is as follows:
+%
+% \begin{macrocode}
+\definecolor{TolDarkPurple}{HTML}{332288}
+\definecolor{TolDarkBlue}{HTML}{6699CC}
+\definecolor{TolLightBlue}{HTML}{88CCEE}
+\definecolor{TolLightGreen}{HTML}{44AA99}
+\definecolor{TolDarkGreen}{HTML}{117733}
+\definecolor{TolDarkBrown}{HTML}{999933}
+\definecolor{TolLightBrown}{HTML}{DDCC77}
+\definecolor{TolDarkRed}{HTML}{661100}
+\definecolor{TolLightRed}{HTML}{CC6677}
+\definecolor{TolLightPink}{HTML}{AA4466}
+\definecolor{TolDarkPink}{HTML}{882255}
+\definecolor{TolLightPurple}{HTML}{AA4499}
+% \end{macrocode}
+%
+% To use these colors, we describe ``cycle lists'' from which PGF chooses
+% styles for the different series in a chart.
+%
+% \begin{macro}{mbarplot cycle}
+% Colors and styles intended for bar charts with up to 12 series.
+%
+% \begin{macrocode}
+\pgfplotscreateplotcyclelist{mbarplot cycle}{%
+ {draw=TolDarkBlue, fill=TolDarkBlue!70},
+ {draw=TolLightBrown, fill=TolLightBrown!70},
+ {draw=TolLightGreen, fill=TolLightGreen!70},
+ {draw=TolDarkPink, fill=TolDarkPink!70},
+ {draw=TolDarkPurple, fill=TolDarkPurple!70},
+ {draw=TolDarkRed, fill=TolDarkRed!70},
+ {draw=TolDarkBrown, fill=TolDarkBrown!70},
+ {draw=TolLightRed, fill=TolLightRed!70},
+ {draw=TolLightPink, fill=TolLightPink!70},
+ {draw=TolLightPurple, fill=TolLightPurple!70},
+ {draw=TolLightBlue, fill=TolLightBlue!70},
+ {draw=TolDarkGreen, fill=TolDarkGreen!70},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{mlineplot cycle}
+% Colors and styles intended for line charts with up to 4 series.
+% \begin{macrocode}
+\pgfplotscreateplotcyclelist{mlineplot cycle}{%
+ {TolDarkBlue, mark=*, mark size=1.5pt},
+ {TolLightBrown, mark=square*, mark size=1.3pt},
+ {TolLightGreen, mark=triangle*, mark size=1.5pt},
+ {TolDarkBrown, mark=diamond*, mark size=1.5pt},
+}
+% \end{macrocode}
+% \end{macro}
+%
+% However, the above cycle lists are not applied automatically. We still need
+% to define styles --- |mlineplot| and |mbarplot| --- that the user can apply
+% to the axis of a |pgfplots| chart to use the colors. We'll also take the
+% opportunity to adjust the display of chart axes when these styles are used.
+%
+% \begin{macrocode}
+\pgfplotsset{
+ compat=1.9,
+% \end{macrocode}
+%
+% \begin{macro}{mlineplot}
+% A style to apply to the axis of a PGF line plot.
+% \begin{macrocode}
+ mlineplot/.style={
+ mbaseplot,
+ xmajorgrids=true,
+ ymajorgrids=true,
+ major grid style={dotted},
+ axis x line=bottom,
+ axis y line=left,
+ legend style={
+ cells={anchor=west},
+ draw=none
+ },
+ cycle list name=mlineplot cycle,
+ },
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{mbarplot}
+% \begin{macro}{horizontal mbarplot}
+% A style to apply to the axis of a PGF bar chart. |mbarplot| uses vertical
+% bars by default, while |horizontal mbarplot| has horizontal bars as the
+% name implies. Their shared properties are factored out into the internal
+% style |mbarplot base|.
+%
+% \begin{macrocode}
+ mbarplot base/.style={
+ mbaseplot,
+ bar width=6pt,
+ axis y line*=none,
+ },
+ mbarplot/.style={
+ mbarplot base,
+ ybar,
+ xmajorgrids=false,
+ ymajorgrids=true,
+ area legend,
+ legend image code/.code={%
+ \draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
+ },
+ cycle list name=mbarplot cycle,
+ },
+ horizontal mbarplot/.style={
+ mbarplot base,
+ xmajorgrids=true,
+ ymajorgrids=false,
+ xbar stacked,
+ area legend,
+ legend image code/.code={%
+ \draw[#1] (0cm,-0.1cm) rectangle (0.15cm,0.1cm);
+ },
+ cycle list name=mbarplot cycle,
+ },
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{mbaseplot}
+% Adjusts the appearance of the axes in a PGF chart.
+% \begin{macrocode}
+ mbaseplot/.style={
+ legend style={
+ draw=none,
+ fill=none,
+ cells={anchor=west},
+ },
+ x tick label style={
+ font=\footnotesize
+ },
+ y tick label style={
+ font=\footnotesize
+ },
+ legend style={
+ font=\footnotesize
+ },
+ major grid style={
+ dotted,
+ },
+ axis x line*=bottom,
+ },
+ disable thousands separator/.style={
+ /pgf/number format/.cd,
+ 1000 sep={}
+ },
+}
+% \end{macrocode}
+% \end{macro}
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput