summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/beamer-contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-27 03:00:52 +0000
committerNorbert Preining <norbert@preining.info>2021-03-27 03:00:52 +0000
commit178fc96a7be703f91ea55832bd42b07eaf9f1ac5 (patch)
tree1cc8a329f0f21e6fbc54df5e0f287453e6810e5b /macros/latex/contrib/beamer-contrib
parentee37a4d1dc2573ffd9c43a006e94cfc5de14cf14 (diff)
CTAN sync 202103270300
Diffstat (limited to 'macros/latex/contrib/beamer-contrib')
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md98
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdfbin0 -> 417185 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.tex46
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.dtx454
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdfbin0 -> 356603 bytes
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx186
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx329
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx621
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerouterthemetrigon.dtx163
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx155
-rw-r--r--macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.ins69
11 files changed, 2121 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md
new file mode 100644
index 0000000000..649600b187
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md
@@ -0,0 +1,98 @@
+# Trigon theme
+
+![Pipeline status](https://gitlab.com/thlamb/beamertheme-trigon/badges/master/pipeline.svg)
+
+_A modern, elegant and versatile theme for Beamer._
+
+[![Demo][demo-shield]][demo-url]
+[![Documentation][docs-shield]][docs-url]
+
+**Trigon** found its origin and inspiration in the graphical guidelines
+resulting from the visual identity overhaul of the [University of
+Liège](https://www.uliege.be/cms/c_9247131/en/a-new-visual-identity).
+Although directly inspired from these guidelines, the theme was stripped out of
+any mention or specificities related the University and its faculties. This
+makes the **Trigon** theme perfectly suitable for many different contexts.
+
+The final product provides a modern, elegant and versatile theme with a
+high degree of customization.
+The main design focuses on triangular shapes for major layout elements and noise
+minimization for the main body of the work.
+
+The theme will be made available directly from CTAN and Overleaf once finished
+(hopefully).
+
+Feature requests, issues and pull requests are welcome.
+
+## Features
+
+- Multiple style variations for title, section and regular slides
+- Many convenient options (numbering style, toggle section slides, title font changes,...)
+- Looks better on 16:9 format, but supports 4:3 as well
+- Lightweight (does not require lots of additional packages)
+- Similar options than with [Metropolis theme](https://github.com/matze/mtheme)
+
+## Note
+
+- This theme works best using the `sourcesanspro` font package, which is loaded
+ by default. As some users may not want to load additional packages or want to
+ use other fonts, the package can be disabled using the option
+ `usesourcefonts=false`.
+
+
+## Screenshots
+Default Style | Example alternative style
+----------------------------------------|---------------------------------------
+![](./screenshots/trigon_demo-01.jpg) | ![](./screenshots/trigon_demo_alt-01.jpg)
+![](./screenshots/trigon_demo-03.jpg) | ![](./screenshots/trigon_demo_alt-03.jpg)
+![](./screenshots/trigon_demo-04.jpg) | ![](./screenshots/trigon_demo_alt-04.jpg)
+![](./screenshots/trigon_demo-07.jpg) | ![](./screenshots/trigon_demo_alt-07.jpg)
+![](./screenshots/trigon_demo-09.jpg) | ![](./screenshots/trigon_demo_alt-09.jpg)
+![](./screenshots/trigon_demo-13.jpg) | ![](./screenshots/trigon_demo_alt-13.jpg)
+
+
+## Installation
+
+
+## Usage
+See [the package documentation][docs-url] for a detailed view of the package
+options.
+
+## Contributing
+
+All contributions to this theme are welcomed, whereas in the form of issue
+report, feature requests or pull requests.
+
+If you want to propose an interesting alternative layout for this theme (for
+the title, section or regular slides), please make sure to respect the
+following criteria:
+- Maximum three main triangles on the layout
+- Blending type "multiply" for overlapping triangles
+- Triangles must all be equilateral (60° angles), some useful macros are
+ defined in _beamerinnerthemettrigon.dtx_ for that
+
+## References & Acknowledgment
+
+- The theme structure and options are heavily based on the [Metropolis
+ theme](https://github.com/matze/mtheme)
+- Illustration picture for the demo titlepage from Taryn Elliott @
+ [pexels](https://pexels.com) (published under Pexel License, free to use
+ without attribution).
+
+## License
+
+Copyright 2021 by Thomas Lambert <trigon@thl.ovh>.
+
+**Author and maintainer**: Thomas Lambert.
+
+This theme is licensed under the [Creative Commons Attribution-ShareAlike 4.0
+International License](https://creativecommons.org/licenses/by-sa/4.0/), which
+is essentially a _free software_ license. Do not hesitate to copy and modify
+the code to fit your needs.
+
+
+[demo-shield]: https://img.shields.io/badge/Demo-PDF-blue.svg
+[docs-shield]: https://img.shields.io/badge/Documentation-PDF-blue.svg
+[demo-url]: https://gitlab.com/thlamb/beamertheme-trigon/-/jobs/artifacts/master/raw/demo/trigon_demo.pdf?job=tex-compile
+[docs-url]: https://gitlab.com/thlamb/beamertheme-trigon/-/jobs/artifacts/master/raw/docs/trigontheme.pdf?job=tex-compile
+
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdf b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdf
new file mode 100644
index 0000000000..5ba9ff31de
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.tex b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.tex
new file mode 100644
index 0000000000..9ac49cfa97
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.tex
@@ -0,0 +1,46 @@
+\documentclass[aspectratio=169]{beamer}
+
+% Document metadata
+\title{Trigon theme}
+\subtitle{A modern, elegant and versatile theme for Beamer}
+\author[TL]{Thomas Lambert}
+\institute{Univeristy of Liège}
+\date{\today}
+
+% Image for the title page (use includegraphics option to properly size/place it)
+\titlegraphic{\includegraphics[height=\paperheight]{library.jpg}}
+
+\usetheme[sectionstyle=style2]{trigon}
+
+% Define logos to use (comment if no logo)
+\biglogo{trigon_full.pdf} % Used on titlepage only
+\smalllogo{trigon_small.pdf} % Used on top right corner of regular frames
+
+% ------ If you want to change the theme default colors, do it here ------
+%\definecolor{tPrim}{HTML}{00843B} % Green
+%\definecolor{tSec}{HTML}{289B38} % Green light
+%\definecolor{tAccent}{HTML}{F07F3C} % Orange
+
+
+% ------ Packages and definitions used for this demo. Can be removed ------
+\usepackage{appendixnumberbeamer} % To use \appendix command
+\pdfstringdefDisableCommands{% Fix hyperref translate warning with \appendix
+\def\translate#1{#1}%
+}
+\usepackage{pgf-pie} % For pie charts
+\usepackage{caption} % For subfigures
+\usepackage{subcaption} % For subfigures
+\usepackage{xspace}
+\newcommand{\themename}{\textbf{\textsc{trigon}}\xspace}
+\usepackage[scale=2]{ccicons} % Icons for CC-BY-SA
+\usepackage{booktabs} % Better tables
+
+
+%==============================================================================
+% BEGIN DOCUMENT
+%==============================================================================
+\begin{document}
+
+\include{frames}
+
+\end{document}
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.dtx
new file mode 100644
index 0000000000..e40dd1431f
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.dtx
@@ -0,0 +1,454 @@
+%% ---------------------------------------------------------------------------
+%% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+%% Other contributors to this theme are listed here:
+%% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%%
+%% The original template was heavily inspired by Metropolis from Matthias
+%% Vogelgesang.
+%%
+%% License CC-BY-SA 4.0
+%% 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{xcolor}
+\definecolor{tPrim}{HTML}{00707F} % Green-Blue
+\definecolor{tSec}{HTML}{5FA4B0} % Green-Blue light
+\definecolor{tAccent}{HTML}{F07F3C} % Orange
+\definecolor{tGrey}{HTML}{E6E6E1} % Grey-Beige
+
+\usepackage[default,t1,semibold]{sourcesanspro}
+
+\usepackage{parskip}
+\usepackage{setspace}
+\usepackage{xspace}
+\onehalfspacing
+
+%\usepackage{enumitem}
+%\setlist[itemize]{noitemsep}
+%\setlist[enumerate]{noitemsep}
+
+\usepackage{listings}
+\lstset{%
+ language=[LaTeX]{TeX},
+ basicstyle=\ttfamily,
+ keywordstyle=\color{tPrim}\bfseries,
+ commentstyle=\color{tSec},
+ stringstyle=\color{tSec},
+ backgroundcolor=\color{white},
+ 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,@trigon@titleformat,%
+ plain,trigonset,setbeamercolor},
+}
+\lstMakeShortInline|
+\usepackage{metalogo}
+
+\setcounter{tocdepth}{2}
+
+\usepackage[colorlinks=true,
+ linkcolor=tPrim,
+ menucolor=tPrim,
+ urlcolor=tPrim]{hyperref}
+
+\setlength{\fboxsep}{0pt}%
+\usepackage{caption} % For subfigures
+\usepackage{subcaption} % For subfigures
+
+\newcommand{\DescribeOption}[4]{
+ \DescribeMacro{#1}
+ \begin{minipage}[t]{\textwidth}
+ \textit{\textbf{\textcolor{tSec}{#2}}}\dotfill\,#3\par
+ \begingroup
+ \vspace{0.5em}#4\par
+ \endgroup
+ \end{minipage}
+}
+
+
+%% ------------------------------------------------------------------------------
+\newcommand{\themename}{\textbf{\textsc{Trigon}}\xspace}
+\usepackage{readprov}
+\ReadPackageInfos{beamerthemetrigon}
+
+
+%% =============================================================================
+
+\title{\textsc{Trigon}\\ A Modern, elegant and versatile theme for Beamer}
+\author{Thomas Lambert \\ \url{trigon@thl.ovh}}
+\date{\fileversion~---~\filedate}
+
+%% =============================================================================
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+
+%% ------------------------------------
+\section{Introduction}
+
+\themename found its origin and inspiration in the graphical guidelines
+resulting from the visual identity overhaul of the
+\href{https://www.uliege.be}{Univeristy of Liège} (Belgium).\\
+Although directly inspired from these guidelines, \themename was stripped out of
+any mention or specificities related the University and its faculties. This
+makes the \themename theme perfectly suitable for many different contexts.
+
+The final product provides a modern, elegant and versatile theme with a
+high degree of customization.
+
+\themename's codebase lives on
+\href{https://gitlab.com/thlamb/beamertheme-trigon} {Gitlab}. The implementation
+of this theme is strongly inspired from the excellent
+\href{https://github.com/matze/mtheme}{\textsc{Metropolis}} theme by Matthias
+Vogelgesang, from which it borrows numerous options.\newline
+Any feature request, issue report or merge requests are welcome.
+
+
+%% ------------------------------------
+\section{Getting Started}
+
+\subsection{Installing from Gitlab}
+
+If you want to use the cutting-edge development version of \themename, you can
+install it manually by following these steps:
+\begin{description}
+ \item[Download the source] from
+ \href{https://gitlab.com/thlamb/beamertheme-trigon}{\themename repository}
+ using |git clone| or as a \href{https://gitlab.com/thlamb/beamertheme-trigon/-/archive/master/beamertheme-trigon-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/trigontheme.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] by declaring |\usetheme{trigon}| in the preamble of your
+ 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{Other install methods}
+
+\themename will be proposed for integration on \href{https://www.ctan.org}{CTAN}
+shortly. It will then hopefully be integrated to texlive, miktex, etc. In the
+meantime, only the installation from Gitlab is possible.
+
+Once accepted on CTAN, the theme will also be made available on
+\href{https://www.overleaf.com}{Overleaf}.
+
+\subsection{A Minimal Example}
+
+The following code shows a minimal example of a Beamer presentation using
+\themename.
+
+\begin{lstlisting}
+\documentclass{beamer}
+\usetheme{trigon} % Use trigon theme
+\title{A minimal example}
+\subtitle{A subtitle example}
+\date{\today}
+\author{Thomas Lambert}
+\institute{Your university or company}
+\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{itemize}
+ \item |tikz|
+ \item |pgfopts|
+\end{itemize}
+
+The theme works best with the open source
+\href{https://fonts.adobe.com/fonts/source-sans}{Source Sans Pro} font from
+Adobe.\newline
+Therefore, the package |sourcesanspro| is loaded by default with the theme.
+However, if the user prefers to select an other font, the theme option
+|nosourcefonts| can be used to prevent the font package from being loaded.
+
+
+%% ------------------------------------
+\section{Customization}
+
+\subsection{Package options}
+
+\themename 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, ...]{trigon}
+\end{lstlisting}
+
+
+Options can be changed at any time --- even mid-presentation! --- with the
+|\trigonset| macro.
+\begin{lstlisting}
+\trigonset{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.
+}
+
+As \themename implementation is heavily inspired from the excellent
+\href{https://github.com/matze/mtheme}{\textsc{Metropolis}} theme by Matthias
+Vogelgesang, many of \textsc{Metropolis} options are also available in
+\themename.
+
+\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{usesourcefonts}{true,false}{true}{%
+ Choses if the |sourcesanspro| font package should be loaded |true| or not
+ |false|.
+}
+
+
+\subsubsection{Inner theme}
+
+\DescribeOption{sectionpage}{none, simple}{simple}{
+ Adds a slide at the start of each section (|simple|). The |none| option
+ disables the section page.
+}
+
+\DescribeOption{titlestyle}{plain, style1, style2}{style2}{
+ Changes the layout of the title page.
+}
+\begin{figure}[h!]
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-02.jpg}}
+ \caption*{plain}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-03.jpg}}
+ \caption*{style1}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-01.jpg}}
+ \caption*{style2 (default)}
+ \end{subfigure}
+\end{figure}
+
+\DescribeOption{sectionstyle}{plain, style1, style2, style3}{plain}{
+ Changes the layout of the section page. |style3| is similar to |plain| but
+ with the right triangle in grey instead of theme color.
+}
+\begin{figure}[h!]
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-04.jpg}}
+ \caption*{plain (default)}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-05.jpg}}
+ \caption*{style1}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-06.jpg}}
+ \caption*{style2}
+ \end{subfigure}
+\end{figure}
+
+\DescribeOption{slidestyle}{blank, style1, cyber}{blank}{
+ Changes the background of the regular frames.
+}
+\begin{figure}[h!]
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-08.jpg}}
+ \caption*{blank (default)}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-09.jpg}}
+ \caption*{style1}
+ \end{subfigure}
+ \hspace{\fill}
+ \begin{subfigure}[b]{0.3\textwidth}
+ \fbox{\includegraphics[width=\textwidth]{screenshots/layout_example-10.jpg}}
+ \caption*{cyber}
+ \end{subfigure}
+\end{figure}
+
+\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|).
+}
+
+\subsubsection{Color theme}
+\DescribeOption{block}{transparent, fill}{fill}{
+ Optionally adds a light grey background to block environments like |theorem|
+ and |example|.
+}
+
+\DescribeOption{headingcolor}{black, theme}{black}{
+ Controls weather the color of all headings (title page, frame title, etc.)
+ should be in |black| in a slightly darker shade of the theme color |theme|.
+}
+
+\DescribeOption{textgcolor}{black, theme}{black}{
+ Controls weather the color of the regular text elements should be in |black|
+ in a slightly darker shade of the theme color |theme|.
+}
+
+\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 four colors:
+\begin{itemize}
+ \item |tPrim| The primary theme color, used for main triangle elements, and
+ for headings and text if the appropriate options are selected.
+ \item |tSec| The secondary theme color (lighter shade of the primary color),
+ used for some triangle elements and example text.
+ \item |tAccent| The accent color, used mostly for alerted text.
+ \item |tGrey| A grey color, used for background elements (triangles, blocks,
+ etc.).
+\end{itemize}
+
+An easy way to customize the theme is to redefine these colors using
+
+\begin{lstlisting}
+ \colorlet{tPrim}{ ... }
+ \colorlet{tSec}{ ... }
+ \colorlet{tAccent}{ ... }
+ \colorlet{tGrey}{ ... }
+\end{lstlisting}
+in your preamble.
+
+\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 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
+|sourcesanspro|.
+
+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 \textsc{Metropolis}
+ \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 \textsc{Metropolis}
+ \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 \textsc{Metropolis}
+ \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.
+
+
+\section{License}
+\themename is licensed under the terms of the
+\href{https://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons
+Attribution-ShareAlike 4.0} license.
+
+
+\section{Implementation}
+\DocInput{beamerthemetrigon.dtx}
+\DocInput{beamerinnerthemetrigon.dtx}
+\DocInput{beamerouterthemetrigon.dtx}
+\DocInput{beamerfontthemetrigon.dtx}
+\DocInput{beamercolorthemetrigon.dtx}
+
+\end{document}
+
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf
new file mode 100644
index 0000000000..417c09721a
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf
Binary files differ
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx
new file mode 100644
index 0000000000..521869762e
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx
@@ -0,0 +1,186 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+% Other contributors to this theme are listed here:
+% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%
+% The original template was heavily inspired by Metropolis from Matthias
+% Vogelgesang.
+%
+% License CC-BY-SA 4.0
+% 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{beamercolorthemetrigon}[2021/03/25 v0.5.0 Trigon color theme]
+%</package>
+% \fi
+% \CheckSum{0}
+% \StopEventually{}
+% \iffalse
+%<*package>
+% ------------------------------------------------------------------------- \fi
+%
+% \subsection{\themename color theme}
+%
+% A |beamer| color theme sets the colors used for the different elements of the
+% document.
+%
+% \subsubsection{Package dependencies}
+% \begin{macrocode}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{headingcolor}
+% Select the color to use for all headings (title, section, frame, etc.).
+% \begin{macrocode}
+\def\headcol{black}
+\pgfkeys{
+ /trigon/color/headingcolor/.cd,
+ .is choice,
+ black/.code=\def\headcol{black},
+ theme/.code=\def\headcol{tPrim}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{textcolor}
+% Select the color to use for all headings (title, section, frame, etc.).
+% \begin{macrocode}
+\def\txtcol{black}
+\pgfkeys{
+ /trigon/color/textcolor/.cd,
+ .is choice,
+ black/.code=\def\txtcol{black},
+ theme/.code=\def\txtcol{tPrim!50!black}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{block}
+% Optionally removes the light grey background to block environments like
+% |theorem| and |example|.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/color/block/.cd,
+ .is choice,
+ transparent/.code=\trigon@block@transparent,
+ fill/.code=\trigon@block@fill
+}
+%
+% \begin{macro}{\trigon@color@setdefaults}
+% Sets default values for color theme options.
+% \begin{macrocode}
+\newcommand{\trigon@color@setdefaults}{
+ \pgfkeys{/trigon/color/.cd,
+ block=fill,
+ headingcolor=black,
+ textcolor=black
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Base colors}
+%
+% \begin{macrocode}
+\definecolor{tPrim}{HTML}{00707F} % Green-Blue
+\definecolor{tSec}{HTML}{5FA4B0} % Green-Blue light
+\definecolor{tAccent}{HTML}{F07F3C} % Orange
+\definecolor{tGrey}{HTML}{E6E6E1} % Grey-Beige
+% \end{macrocode}
+%
+% \subsubsection{Derived elements}
+%
+% All the elements are set using the base colors defined here above.
+% \begin{macrocode}
+\setbeamercolor{background canvas}{bg=white}
+\setbeamercolor{normal text}{fg=\txtcol, bg= }
+\setbeamercolor{alerted text}{fg=tAccent}
+\setbeamercolor{example text}{fg=tSec}
+
+\setbeamercolor{title}{fg=\headcol, bg= , parent=normal text}
+\setbeamercolor{titlelike}{use=title, parent=title}
+\setbeamercolor{author}{use=normal text, bg= , parent=normal text}
+\setbeamercolor{date}{use=normal text, bg= , parent=normal text}
+\setbeamercolor{institute}{use=normal text, parent=normal text}
+\setbeamercolor{structure}{use=normal text, fg=normal text.fg}
+
+\setbeamercolor{palette primary}{use=titlelike, parent=titlelike}
+\setbeamercolor{frametitle}{use=titlelike, parent=titlelike}
+% \end{macrocode}
+%
+%
+% Block environments such as |theorem| and |example| have a |tGrey| background
+% color by default. The option |block=transparent| removes the background color.
+% \begin{macrocode}
+\newcommand{\trigon@block@transparent}{
+ \setbeamercolor{block title}{%
+ use=normal text,
+ fg=normal text.fg,
+ bg=normal text.bg!96!fg
+ }
+ \setbeamercolor{block body}{
+ use={block title, normal text},
+ bg=block title.bg!35!normal text.bg
+ }
+}
+\newcommand{\trigon@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}
+%
+% The color of other smaller elements is defined as follows
+% \begin{macrocode}
+\setbeamercolor{footnote}{fg=normal text.fg!90}
+\setbeamercolor{footnote mark}{fg=.}
+\setbeamercolor{footline}{fg=normal text.fg!50, parent=normal text}
+\setbeamercolor{caption}{fg=black!60, parent=normal text}
+
+\setbeamercolor{itemize item}{fg=tPrim, parent=normal text}
+\setbeamercolor{itemize subitem}{use=itemize item, parent=itemize item}
+\setbeamercolor{itemize subsubitem}{use=itemize item, parent=itemize item}
+\setbeamercolor{enumerate item}{fg=tPrim, parent=normal text}
+\setbeamercolor{enumerate subitem}{use=enumerate item, parent=enumerate item}
+\setbeamercolor{enumerate subsubitem}{use=enumerate item, parent=enumerate item}
+\setbeamercolor{description item}{fg=tPrim, parent=normal text}
+% \end{macrocode}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\trigon@color@setdefaults
+\ProcessPgfPackageOptions{/trigon/color}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx
new file mode 100644
index 0000000000..fcc9ed34a3
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx
@@ -0,0 +1,329 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+% Other contributors to this theme are listed here:
+% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%
+% The original template was heavily inspired by Metropolis from Matthias
+% Vogelgesang.
+%
+% License CC-BY-SA 4.0
+% 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{beamerfontthemetrigon}[2021/03/25 v0.5.0 Trigon 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{pgfopts}
+% \end{macrocode}
+%
+%
+%
+% \subsubsection{Title format options}
+%
+% \begin{macro}{titleformat title}
+% Controls the format of the title.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/font/titleformat title/.cd,
+ .is choice,
+ regular/.code={%
+ \let\trigon@titleformat\@empty%
+ \setbeamerfont{title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\trigon@titleformat\@empty%
+ \setbeamerfont{title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\trigon@titleformat\lowercase%
+ \setbeamerfont{title}{shape=\scshape}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat title=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\trigon@titleformat\uppercase%
+ \setbeamerfont{title}{shape=\normalfont}
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat title=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat subtitle}
+% Controls the format of the subtitle.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/font/titleformat subtitle/.cd,
+ .is choice,
+ regular/.code={%
+ \let\trigon@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\trigon@subtitleformat\@empty%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\trigon@subtitleformat\lowercase%
+ \setbeamerfont{subtitle}{shape=\scshape}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat subtitle=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\trigon@subtitleformat\uppercase%
+ \setbeamerfont{subtitle}{shape=\normalfont}%
+ \PackageWarning{beamerthemetrigon}{%
+ 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{
+ /trigon/font/titleformat section/.cd,
+ .is choice,
+ regular/.code={%
+ \let\trigon@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\trigon@sectiontitleformat\@empty%
+ \setbeamerfont{section title}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\trigon@sectiontitleformat\MakeLowercase%
+ \setbeamerfont{section title}{shape=\scshape}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat section=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\trigon@sectiontitleformat\MakeUppercase%
+ \setbeamerfont{section title}{shape=\normalfont}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat section=allcaps can lead to problems%
+ }
+ },
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titleformat frame}
+% Controls the format of the frame title.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/font/titleformat frame/.cd,
+ .is choice,
+ regular/.code={%
+ \let\trigon@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\trigon@frametitleformat\@empty%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\trigon@frametitleformat\MakeLowercase%
+ \setbeamerfont{frametitle}{shape=\scshape}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat frame=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\trigon@frametitleformat\MakeUppercase%
+ \setbeamerfont{frametitle}{shape=\normalfont}
+ \PackageWarning{beamerthemetrigon}{%
+ 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{
+ /trigon/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}{\trigon@font@setdefaults}
+% Sets default values for font theme options.
+% \begin{macrocode}
+\newcommand{\trigon@font@setdefaults}{
+ \pgfkeys{/trigon/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\trigon@titleformat#1{#1}
+\def\trigon@subtitleformat#1{#1}
+\def\trigon@sectiontitleformat#1{#1}
+\def\trigon@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{\trigon@titleformat{#2}}}%
+ {}%
+ {\PackageError{beamerfontthemetrigon}{Patching title failed}\@ehc}
+\patchcmd{\beamer@subtitle}%
+ {\def\insertsubtitle{#2}}%
+ {\def\insertsubtitle{\trigon@subtitleformat{#2}}}%
+ {}%
+ {\PackageError{beamerfontthemetrigon}{Patching subtitle failed}\@ehc}
+\patchcmd{\sectionentry}
+ {\def\insertsectionhead{#2}}
+ {\def\insertsectionhead{\trigon@sectiontitleformat{#2}}}
+ {}
+ {\PackageError{beamerfontthemetrigon}{Patching section title failed}\@ehc}
+\@tempswafalse
+\patchcmd{\beamer@section}
+ {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
+ {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
+ \noexpand\trigon@sectiontitleformat{\unexpanded{#1}}}}}
+ {\@tempswatrue}
+ {}
+\patchcmd{\beamer@section}
+ {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
+ {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
+ \trigon@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\trigon@sectiontitleformat{#1}}}}
+ {\@tempswatrue}
+ {}
+\if@tempswa\else
+ \PackageError{beamerfontthemetrigon}{Patching section title failed}\@ehc
+\fi
+\@tempswafalse
+\patchcmd{\beamer@subsection}
+ {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{\unexpanded{#1}}}}
+ {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
+ \noexpand\trigon@sectiontitleformat{\unexpanded{#1}}}}}
+ {\@tempswatrue}
+ {}
+\patchcmd{\beamer@subsection}
+ {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
+ {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{%
+ \trigon@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\trigon@sectiontitleformat{#1}}}}
+ {\@tempswatrue}
+ {}
+\if@tempswa\else
+ \PackageError{beamerfontthemetrigon}{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{{\trigon@frametitleformat{#2}\ifnum%
+ \beamer@autobreakcount>0\relax{}\space%
+ \usebeamertemplate*{frametitle continuation}\fi}}%
+ \gdef\beamer@frametitle{#2}%
+ \gdef\beamer@shortframetitle{#1}%
+ }}
+ {}
+ {\PackageError{beamerfontthemetrigon}{Patching frame title failed}\@ehc}
+% \end{macrocode}
+%
+%
+% \subsubsection{General font definitions}
+%
+% \begin{macrocode}
+\setbeamerfont{author} {size=\normalsize}
+\setbeamerfont{title} {size=\LARGE,series=\bfseries}
+\setbeamerfont{section title}{size=\LARGE,series=\mdseries}
+\setbeamerfont{date} {size=\small}
+\setbeamerfont*{subtitle} {size=\Large}
+\setbeamerfont{frametitle} {size=\LARGE}
+\setbeamerfont{framesubtitle}{size=\large}
+
+\setbeamerfont{alerted text} {size=\normalsize,series=\bfseries}
+\setbeamerfont{block title}{size=\normalsize,series=\bfseries}
+\setbeamerfont{block title alerted}{size=\normalsize,series=\bfseries}
+
+\setbeamerfont{section in toc}{size=\Large}
+\setbeamerfont{subsection in toc}{size=\large}
+\setbeamerfont{page number in head/foot}{size=\scriptsize}
+
+\setbeamerfont{description item}{series=\bfseries}
+\setbeamerfont{caption}{size=\small}
+\setbeamerfont{caption name}{series=\bfseries}
+% \end{macrocode}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\trigon@font@setdefaults
+\ProcessPgfPackageOptions{/trigon/font}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx
new file mode 100644
index 0000000000..c234dfc343
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx
@@ -0,0 +1,621 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+% Other contributors to this theme are listed here:
+% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%
+% The original template was heavily inspired by Metropolis from Matthias
+% Vogelgesang.
+%
+% License CC-BY-SA 4.0
+% 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{beamerinnerthemetrigon}[2021/03/25 v0.5.0 Trigon 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 main background elements;
+% \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{pgfopts}
+\RequirePackage{tikz}
+\usetikzlibrary{calc,3d}
+% \end{macrocode}
+%
+%
+% \subsubsection{Definitions}
+% We define the command |\logobig| to specify the logo that needs to be applied
+% displayed on the title frame.
+% \begin{macrocode}
+\def\logbig{}
+\newcommand\biglogo[1]{
+ \def\logbig{#1}
+}
+% \end{macrocode}
+%
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{sectionpage}
+% Controls whereas a slide with the section title should be inserted at the
+% beginning of the section or not.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/inner/sectionpage/.cd,
+ .is choice,
+ none/.code=\trigon@disablesectionpage,
+ simple/.code=\trigon@enablesectionpage
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{slidestyle}
+% Controls the layout that should be used for regular slides.
+% \begin{macrocode}
+\def\slidestyle{}
+\pgfkeys{
+ /trigon/inner/slidestyle/.cd,
+ .is choice,
+ blank/.code=\def\slidestyle{blank},
+ style1/.code=\def\slidestyle{smallcornertriangle},
+ cyber/.code=\def\slidestyle{cyberbottom}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titlestyle}
+% Controls the layout that should be used for the title page.
+% \begin{macrocode}
+\def\titlestyle{}
+\pgfkeys{
+ /trigon/inner/titlestyle/.cd,
+ .is choice,
+ plain/.code=\def\titlestyle{bottomtrianglescolor},
+ style1/.code=\def\titlestyle{titlesmallimage},
+ style2/.code=\def\titlestyle{titlebigimage}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{sectionstyle}
+% Controls the layout that should be used for the title page.
+% \begin{macrocode}
+\def\sectionstyle{}
+\pgfkeys{
+ /trigon/inner/sectionstyle/.cd,
+ .is choice,
+ plain/.code=\def\sectionstyle{bottomtrianglescolor},
+ style1/.code=\def\sectionstyle{bigtriangles},
+ style2/.code=\def\sectionstyle{lefttriangles},
+ style3/.code=\def\sectionstyle{bottomtrianglesbw}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\trigon@inner@setdefaults}
+% Sets default values for the inner theme options.
+% \begin{macrocode}
+\newcommand{\trigon@inner@setdefaults}{
+ \pgfkeys{/trigon/inner/.cd,
+ sectionpage=simple,
+ slidestyle=blank,
+ titlestyle=style2,
+ sectionstyle=plain
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Backgrounds}
+%
+% First of all, we define a few commands in order easily create the triangles
+% used as the main design elements of the theme. All these are defined with
+% respect to the |\paperwidth| and |\paperheight| of the document, so that it
+% fits the different aspect ratio possible.
+%
+% \begin{macro}{\leftTriangle}
+% Defines a triangle with the base on the left side (pointing right).
+% \begin{macrocode}
+\newcommand{\leftTriangle}[2]{
+ (#1,#2)
+ -- (0,{#2 + tan(30)*#1} )
+ -- (0,{#2 - tan(30)*#1} )
+ -- cycle;
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\righTriangle}
+% Defines a triangle with the base on the right side (pointing left).
+% \begin{macrocode}
+\newcommand{\rightTriangle}[2]{
+ (#1,#2)
+ -- (\the\paperwidth,{#2 + tan(30)*(\the\paperwidth-#1)} )
+ -- (\the\paperwidth,{#2 - tan(30)*(\the\paperwidth-#1)} )
+ -- cycle;
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\topTriangle}
+% Defines a triangle with the base on the bottom side (pointing top).
+% \begin{macrocode}
+\newcommand{\topTriangle}[2]{
+ (#1,#2)
+ -- ({#1 - tan(60)*#2},0)
+ -- ({#1 + tan(60)*#2},0)
+ -- cycle;
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\leftColorTriangle}
+% Defines a colored triangle with the base on the left side (pointing right).
+% \begin{macrocode}
+\newcommand{\leftColorTriangle}[3]{
+ \path[fill=#3]
+ \leftTriangle{#1}{#2}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\righColorTriangle}
+% Defines a colored triangle with the base on the right side (pointing left).
+% \begin{macrocode}
+\newcommand{\rightColorTriangle}[3]{
+ \path[fill=#3]
+ \rightTriangle{#1}{#2}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\topColorTriangle}
+% Defines a colored triangle with the base on the bottom side (pointing top).
+% \begin{macrocode}
+\newcommand{\topColorTriangle}[3]{
+ \path[fill=#3]
+ \topTriangle{#1}{#2}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% We then define the different backgrounds choices.
+%
+% \begin{macro}{blank}
+% Blank slide background.
+% \begin{macrocode}
+\defbeamertemplate{background}{blank}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{smallcornertriangle}
+% Background with a small triangle in bottom left corner (used for normal
+% frames when the appropriate option is selected).
+% \begin{macrocode}
+\defbeamertemplate{background}{smallcornertriangle}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.62\paperwidth}{0}{tGrey!30}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{cyberbottom}
+% Background with "mesh" effect on the bottom left corner (used for normal
+% frames when the appropriate option is selected).
+% \begin{macrocode}
+\defbeamertemplate{background}{cyberbottom}{
+\tikzstyle{cyberVertex}=[scale=1,draw=tGrey!60,circle,fill=white]
+\tikzstyle{cyberVertex2}=[scale=0.5,draw=tGrey!60,circle,fill=tGrey!60]
+\tikzstyle{cyberEdge} = [draw,color=tGrey!60]
+\begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \foreach \pos/\name in {
+ {(-0.05\paperwidth,0.75\paperheight)/0},
+ {(0.02\paperwidth,0.53\paperheight)/1},
+ {(-0.04\paperwidth,0.38\paperheight)/2},
+ {(0.08\paperwidth,0.40\paperheight)/3},
+ {(0.052\paperwidth,0.21\paperheight)/5},
+ {(0.24\paperwidth,0.26\paperheight)/6},
+ {(-0.08\paperwidth,-0.06\paperheight)/7},
+ {(0.12\paperwidth,0.07\paperheight)/8},
+ {(0.2\paperwidth,0.-0.08\paperheight)/9},
+ {(0.38\paperwidth,0.06\paperheight)/10},
+ {(0.56\paperwidth,-0.08\paperheight)/11}}
+ \node[cyberVertex] (\name) at \pos {};
+ \foreach \pos/\name in {
+ {(-0.05\paperwidth,0.75\paperheight)/0},
+ {(0.02\paperwidth,0.53\paperheight)/1},
+ {(-0.04\paperwidth,0.38\paperheight)/2},
+ {(0.08\paperwidth,0.40\paperheight)/3},
+ {(0.052\paperwidth,0.21\paperheight)/5},
+ {(0.24\paperwidth,0.26\paperheight)/6},
+ {(-0.08\paperwidth,-0.06\paperheight)/7},
+ {(0.12\paperwidth,0.07\paperheight)/8},
+ {(0.2\paperwidth,0.-0.08\paperheight)/9},
+ {(0.38\paperwidth,0.06\paperheight)/10},
+ {(0.56\paperwidth,-0.08\paperheight)/11}}
+ \node[cyberVertex2] (\name_2) at \pos {};
+ \foreach \source/ \dest in
+ {0/1,1/2,1/3,2/3,2/5,3/5,3/6,5/6,5/7,7/8,5/8,8/6,8/9,6/9,9/10,10/6,10/11}
+ \path[cyberEdge] (\source) -- (\dest);
+\end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titlebigimage}
+% Background for title page with a big image in the top left corener.
+% \begin{macrocode}
+\defbeamertemplate{background}{titlebigimage}{
+ \begin{tikzpicture}
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \begin{scope}[blend group=multiply]
+ \path[fill=tPrim]\leftTriangle{0.5\paperwidth}{0};
+ \topColorTriangle{0.73\paperwidth}{0.70\paperheight}{tGrey!30};
+ \ifx\inserttitlegraphic\@empty
+ \leftColorTriangle{0.73\paperwidth}{0.70\paperheight}{tPrim}
+ \else
+ \path[clip]\leftTriangle{0.73\paperwidth}{0.70\paperheight};
+ \node[anchor=north west, inner sep=0pt, outer sep=0pt] at (0,\the\paperheight) {\inserttitlegraphic};
+ \fi
+ \end{scope}
+ \path[fill=white]\rightTriangle{0.45\paperwidth}{\the\paperheight};
+ \ifx\logbig\@empty \else
+ \node[anchor=north east,inner sep=0mm] at
+ (.96*\the\paperwidth,.96*\the\paperheight) {\includegraphics[width=0.28\textwidth]{\logbig}};
+ \fi
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titlesmallimage}
+% Background for the titlepage with a small image in the top left corner.
+% \begin{macrocode}
+\defbeamertemplate{background}{titlesmallimage}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.58\paperwidth}{0}{tGrey!30}
+ \ifx\logbig\@empty \else
+ \node[anchor=north east,inner sep=0mm] at (.94*\the\paperwidth,.94*\the\paperheight) {\includegraphics[width=0.33\textwidth]{\logbig}};
+ \fi
+ \ifx\inserttitlegraphic\@empty
+ \leftColorTriangle{0.58\paperwidth}{\the\paperheight}{tPrim}
+ \else
+ \path[clip]\leftTriangle{0.58\paperwidth}{\the\paperheight};
+ \node[anchor=north west, inner sep=0pt, outer sep=0pt] at (0,\the\paperheight) {\inserttitlegraphic};
+ \fi
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bottomtrianglescolor}
+% Background for title/section pages with two colored triangles in the
+% bottom.
+% \begin{macrocode}
+\defbeamertemplate{background}{bottomtrianglescolor}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.62\paperwidth}{0}{tPrim}
+ \rightColorTriangle{0.38\paperwidth}{0}{tSec}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bottomtrianglesbw}
+% Background for title/section pages with two black and white triangles in
+% the bottom.
+% \begin{macrocode}
+\defbeamertemplate{background}{bottomtrianglesbw}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.62\paperwidth}{0}{tPrim}
+ \rightColorTriangle{0.38\paperwidth}{0}{tGrey}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bigtriangles}
+% Background for section pages with a big triangle on the left.
+% \begin{macrocode}
+\defbeamertemplate{background}{bigtriangles}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.80\paperwidth}{0.62\paperheight}{tPrim}
+ \rightColorTriangle{0.68\paperwidth}{0.58\paperheight}{tGrey}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{lefttriangles}
+% Background for section pages with small triangles on the left.
+% \begin{macrocode}
+\defbeamertemplate{background}{lefttriangles}{
+ \begin{tikzpicture}[blend group=multiply]
+ \useasboundingbox (0,0) rectangle(\the\paperwidth,\the\paperheight);
+ \leftColorTriangle{0.52\paperwidth}{\the\paperheight}{tPrim}
+ \leftColorTriangle{0.775\paperwidth}{0}{tGrey}
+ \end{tikzpicture}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% Before anything, the regular frame background is selected.
+% \begin{macrocode}
+\setbeamertemplate{background}[\slidestyle]
+% \end{macrocode}
+%
+% Finally, we need to set the backgrounds properly before creating the different
+% frames, create the special frames (title, section) and restore the regular
+% background afterwards.
+%
+% \begin{macro}{\titleframe}
+% Sets the titleframe.
+% \begin{macrocode}
+\newcommand{\titleframe}{
+ \setbeamertemplate{title page}[\titlestyle]
+ \setbeamertemplate{background}[\titlestyle]
+ \frame[plain,noframenumbering]{\titlepage}
+ \setbeamertemplate{background}[\slidestyle]
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\sectionframe}
+% Sets the titleframe.
+% \begin{macrocode}
+\newcommand{\sectionframe}{
+ \setbeamertemplate{section page}[\sectionstyle]
+ \setbeamertemplate{background}[\sectionstyle]
+ \frame[plain,noframenumbering]{\sectionpage}
+ \setbeamertemplate{background}[\slidestyle]
+}
+\newcommand{\trigon@disablesectionpage}{
+ \AtBeginSection{
+ % intentionally empty
+ }
+}
+\newcommand{\trigon@enablesectionpage}{
+ \AtBeginSection{
+ \sectionframe
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Layout}
+% The following macros define the proper position of the various elements of the
+% frame, so the fit nicely with the different background selected.
+%
+% \begin{macro}{titlebigimage}
+% Place the text on the title frame with a big image on the top left side.
+% \begin{macrocode}
+\defbeamertemplate{title page}{titlebigimage}
+{
+ \vskip140pt
+ \begin{flushright}
+ \begin{minipage}[t][][c]{0.5\textwidth}%
+ \centering
+ \usebeamerfont{title}\usebeamercolor[fg]{title}
+ \inserttitle\par
+ \end{minipage}
+ \ifx \insertsubtitle\@empty
+ \else
+ \vskip15pt
+ \begin{minipage}[t][][c]{0.5\textwidth}%
+ \centering
+ \usebeamerfont{subtitle}\insertsubtitle\par%
+ \end{minipage}
+ \fi
+ \vskip15pt
+ \begin{minipage}[t][][c]{0.5\textwidth}%
+ \centering
+ \usebeamerfont{author}\insertauthor%
+ \vskip10pt
+ \usebeamerfont{date}\insertdate%
+ \end{minipage}
+ \end{flushright}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{titlesmallimage}
+% Place the text on the title frame with a small image on the top left side.
+% \begin{macrocode}
+\defbeamertemplate{title page}{titlesmallimage}
+{
+ \vskip140pt%
+ \begin{beamercolorbox}[wd=\textwidth,sep=4pt]{title page header}
+ \usebeamerfont{title}\usebeamercolor[fg]{title}\inserttitle\par%
+ \end{beamercolorbox}%
+ \ifx \insertsubtitle\@empty
+ \else
+ \vskip8pt
+ \begin{beamercolorbox}[wd=\textwidth,sep=4pt]{subtitle page header}
+ \usebeamerfont{subtitle}\insertsubtitle\par%
+ \end{beamercolorbox}%
+ \fi
+ \vskip10pt
+ \begin{beamercolorbox}[wd=\textwidth,sep=4pt]{author}
+ \usebeamerfont{author}\insertauthor%
+ \end{beamercolorbox}
+ \vskip2pt%
+ \begin{beamercolorbox}[wd=\textwidth,sep=4pt]{date}
+ \usebeamerfont{date}\insertdate%
+ \end{beamercolorbox}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bottomtrianglescolor}
+% Place the text on the title frame with two triangles on the bottom.
+% \begin{macrocode}
+\defbeamertemplate{title page}{bottomtrianglescolor}
+{
+ \vskip0pt
+ \begin{center}
+ \begin{minipage}[t][][t]{\textwidth}
+ \centering%
+ \ifx\logbig\@empty \else
+ \includegraphics[height=0.15\textheight]{\logbig}
+ \fi
+ \end{minipage}
+ \vskip15pt
+ \begin{minipage}[t][][c]{\textwidth}%
+ \centering
+ \usebeamerfont{title}\usebeamercolor[fg]{title}
+ \inserttitle\par
+ \end{minipage}
+ \ifx \insertsubtitle\@empty
+ \else
+ \vskip15pt
+ \begin{minipage}[t][][c]{\textwidth}%
+ \centering
+ \usebeamerfont{subtitle}\insertsubtitle\par%
+ \end{minipage}
+ \fi
+ \vskip20pt
+ \begin{minipage}[t][][c]{0.5\textwidth}%
+ \centering
+ \usebeamerfont{author}\insertauthor\\[0.3cm]%
+ \usebeamerfont{date}\insertdate
+ \end{minipage}
+ \end{center}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bottomtrianglescolor}
+% Place the text on the section frame with two colored triangles on the
+% bottom.
+% \begin{macrocode}
+\defbeamertemplate{section page}{bottomtrianglescolor}
+{
+ \vskip40pt
+ \begin{center}
+ \begin{minipage}[t][][c]{\textwidth}%
+ \centering
+ \usebeamerfont{section title}\usebeamercolor[fg]{title}
+ \insertsectionhead\par
+ \end{minipage}
+ \end{center}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bottomtrianglesbw}
+% Place the text on the section frame with two black and white triangles on
+% the bottom.
+% \begin{macrocode}
+\defbeamertemplate{section page}{bottomtrianglesbw}
+{
+ \vskip40pt
+ \begin{center}
+ \begin{minipage}[t][][c]{\textwidth}%
+ \centering
+ \usebeamerfont{section title}\usebeamercolor[fg]{title}
+ \insertsectionhead\par
+ \end{minipage}
+ \end{center}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{bigtriangles}
+% Place the text on the section frame with two big triangles.
+% \begin{macrocode}
+\defbeamertemplate{section page}{bigtriangles}
+{
+ \vskip200pt
+ \begin{flushright}
+ \begin{minipage}[t]{0.62\textwidth}%7
+ \usebeamerfont{section title}\usebeamercolor[fg]{title}
+ \raggedleft
+ \insertsectionhead\par
+ \end{minipage}
+ \end{flushright}
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{lefttriangles}
+% Place the text on the section frame with two small left triangles.
+% \begin{macrocode}
+\defbeamertemplate{section page}{lefttriangles}
+{
+ \vskip25pt
+ \begin{beamercolorbox}[wd=\textwidth,leftskip=100pt,sep=4pt]{section page header}
+ \usebeamerfont{section title}\usebeamercolor[fg]{title}
+ \insertsectionhead\par
+ \end{beamercolorbox}%
+ \vfill
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Lists and floats}
+%
+% \begin{macrocode}
+\setbeamertemplate{caption label separator}{: }
+\setbeamertemplate{caption}[numbered]
+% \end{macrocode}
+%
+%
+% \subsubsection{Margins}
+% The margins are defined as
+% \begin{macrocode}
+\setbeamersize{text margin left=.05\paperwidth, text margin right=.05\paperwidth}
+% \end{macrocode}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\trigon@inner@setdefaults
+\ProcessPgfPackageOptions{/trigon/inner}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerouterthemetrigon.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerouterthemetrigon.dtx
new file mode 100644
index 0000000000..e8302d4e23
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerouterthemetrigon.dtx
@@ -0,0 +1,163 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+% Other contributors to this theme are listed here:
+% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%
+% The original template was heavily inspired by Metropolis from Matthias
+% Vogelgesang.
+%
+% License CC-BY-SA 4.0
+% 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{beamerouterthemetrigon}[2021/03/25 v0.5.0 Trigon 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, such as the frame title, the logo, the
+% footer, etc.
+%
+% \subsubsection{Package dependencies}
+%
+% \begin{macrocode}
+\RequirePackage{pgfopts}
+% \end{macrocode}
+%
+% \subsubsection{Definitions}
+% We define the command |\logsmall| to specify the logo that needs to be applied
+% displayed on all normal frames.
+% \begin{macrocode}
+\def\logsmall{}
+\newcommand\smalllogo[1]{
+ \def\logsmall{#1}
+}
+% \end{macrocode}
+%
+% \subsubsection{Options}
+%
+% \begin{macro}{numbering}
+% Adds slide number to the bottom of each regular frame
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/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}{\trigon@outer@setdefaults}
+% Sets default values for the outer theme options.
+% \begin{macrocode}
+\newcommand{\trigon@outer@setdefaults}{
+ \pgfkeys{/trigon/outer/.cd,
+ numbering=counter
+ }
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Frame title}
+% \begin{macro}{frametitle}
+% Template for the frame title
+% \begin{macrocode}
+\defbeamertemplate*{frametitle}{trigon}
+{
+ \vspace{-1pt}
+ \begin{beamercolorbox}[wd=\paperwidth,leftskip=0.05\paperwidth]{frametitle}
+ \vskip.4cm
+ \ifx\insertframesubtitle\@empty%
+ {\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle}%
+ \else%
+ {\usebeamerfont{frametitle}\usebeamercolor[fg]{frametitle}\insertframetitle}\\[-.25cm]
+ {\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle}%
+ \fi
+ \vskip.3cm
+ \end{beamercolorbox}
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Fame header}
+% \begin{macro}{headline}
+% Templates for the frame header
+% \begin{macrocode}
+\defbeamertemplate{headline}{none}{}
+\defbeamertemplate*{headline}{logo}{
+\ifx\logsmall\@empty\else
+ \hfill\includegraphics[width=20pt]{\logsmall}\hspace{20pt}\vspace{-40pt}
+\fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \subsubsection{Frame footer}
+% Define various template for frame footer and manage frame numbering.
+% \begin{macrocode}
+\setbeamertemplate{navigation symbols}{}
+
+\defbeamertemplate{frame footer}{none}{}
+\defbeamertemplate{frame footer}{custom}[1]{ #1 }
+\defbeamertemplate{frame numbering}{none}{}
+\defbeamertemplate{frame numbering}{counter}{\insertframenumber}
+\defbeamertemplate{frame numbering}{fraction}{
+ \insertframenumber/\inserttotalframenumber
+}
+
+\defbeamertemplate{footline}{plain}{%
+ \begin{beamercolorbox}[wd=\textwidth, sep=10pt]{page number in head/foot}%
+ \usebeamerfont{page number in head/foot}%
+ \usebeamercolor[fg]{page number in head/foot}%
+ \usebeamertemplate*{frame footer}
+ \hfill%
+ \usebeamertemplate*{frame numbering}
+ \end{beamercolorbox}%
+}
+
+\setbeamertemplate{footline}[plain]
+% \end{macrocode}
+%
+% \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{%
+ /trigon/outer/.cd,
+ numbering=none}
+ }{}{}
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\trigon@outer@setdefaults
+\ProcessPgfPackageOptions{/trigon/outer}
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx
new file mode 100644
index 0000000000..1cd8f763f6
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx
@@ -0,0 +1,155 @@
+% \iffalse meta-comment -------------------------------------------------------
+% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+% Other contributors to this theme are listed here:
+% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%
+% The original template was heavily inspired by Metropolis from Matthias
+% Vogelgesang.
+%
+% License CC-BY-SA 4.0
+% 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{beamerthemetrigon}[2021/03/25 v0.5.0 Trigon 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{pgfopts}
+\RequirePackage{tikz}
+% \end{macrocode}
+%
+%
+%\subsubsection{Options}
+%
+% Most options are passed off to the component sub-packages.
+%
+% \begin{macrocode}
+\pgfkeys{/trigon/.cd,
+ .search also={
+ /trigon/inner,
+ /trigon/outer,
+ /trigon/color,
+ /trigon/font
+ }
+}
+% \end{macrocode}
+%
+% \begin{macro}{titleformat plain}
+% Controls the formatting of the text on standout ``plain'' frames.
+% \begin{macrocode}
+\pgfkeys{
+ /trigon/titleformat plain/.cd,
+ .is choice,
+ regular/.code={%
+ \let\trigon@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ },
+ smallcaps/.code={%
+ \let\trigon@plaintitleformat\@empty%
+ \setbeamerfont{standout}{shape=\scshape}%
+ },
+ allsmallcaps/.code={%
+ \let\trigon@plaintitleformat\MakeLowercase%
+ \setbeamerfont{standout}{shape=\scshape}%
+ \PackageWarning{beamerthemetrigon}{%
+ Be aware that titleformat plain=allsmallcaps can lead to problems%
+ }
+ },
+ allcaps/.code={%
+ \let\trigon@plaintitleformat\MakeUppercase%
+ \setbeamerfont{standout}{shape=\normalfont}%
+ \PackageWarning{beamerthemetrigon}{%
+ 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{
+ /trigon/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}
+%
+% \begin{macro}{usesourcefonts}
+% Select whereas the Source Sans Pro font is being loaded automatically or
+% not.
+% \begin{macrocode}
+\newif\if@trigon@usesourcefonts
+\pgfkeys{/trigon/.cd,
+ usesourcefonts/.is if=@trigon@usesourcefonts,
+ usesourcefonts=true,
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Component sub-packages}
+%
+% Having processed the options, we can now load the component sub-packages of
+% the theme.
+%
+% \begin{macrocode}
+\useinnertheme{trigon}
+\useoutertheme{trigon}
+\usecolortheme{trigon}
+\usefonttheme{trigon}
+% \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{\trigonset}[1]{\pgfkeys{/trigon/.cd,#1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Process package options}
+%
+% \begin{macrocode}
+\ProcessOptionsBeamer
+\ProcessPgfOptions{/trigon}
+\if@trigon@usesourcefonts%
+ \RequirePackage[default,t1,semibold]{sourcesanspro}
+\fi
+% \end{macrocode}
+%
+% \iffalse
+%</package>
+% \fi
+% \Finale
+\endinput
diff --git a/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.ins b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.ins
new file mode 100644
index 0000000000..b7e7a3c8ee
--- /dev/null
+++ b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.ins
@@ -0,0 +1,69 @@
+%% ---------------------------------------------------------------------------
+%% Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+%% Other contributors to this theme are listed here:
+%% https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+%%
+%% The original template was heavily inspired by Metropolis from Matthias
+%% Vogelgesang.
+%%
+%% License CC-BY-SA 4.0
+%% 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/beamertheme-trigon}
+
+\preamble
+---------------------------------------------------------------------------
+Copyright (C) 2021 Thomas Lambert <trigon@thl.ovh>
+Other contributors to this theme are listed here:
+ https://gitlab.com/thlamb/beamertheme-trigon/-/graphs/master
+
+The original template was heavily inspired by Metropolis from Matthias
+Vogelgesang.
+
+License CC-BY-SA 4.0
+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{beamerthemetrigon.sty}{%
+ \from{beamerthemetrigon.dtx}{package}}
+ }
+\generate{\file{beamerinnerthemetrigon.sty}{%
+ \from{beamerinnerthemetrigon.dtx}{package}}
+ }
+\generate{\file{beamerouterthemetrigon.sty}{%
+ \from{beamerouterthemetrigon.dtx}{package}}
+ }
+\generate{\file{beamerfontthemetrigon.sty}{%
+ \from{beamerfontthemetrigon.dtx}{package}}
+ }
+\generate{\file{beamercolorthemetrigon.sty}{%
+ \from{beamercolorthemetrigon.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{* beamerthemetrigon.sty *}
+\Msg{* beamerinnerthemetrigon.sty *}
+\Msg{* beamerouterthemetrigon.sty *}
+\Msg{* beamerfontthemetrigon.sty *}
+\Msg{* beamercolorthemetrigon.sty *}
+\Msg{* *}
+\Msg{* To produce the documentation run the file docs/themetrigon.dtx *}
+\Msg{* through LaTeX. *}
+\Msg{* *}
+\Msg{* Happy TeXing! *}
+\Msg{* *}
+\Msg{*******************************************************************}
+
+\endbatchfile