From 178fc96a7be703f91ea55832bd42b07eaf9f1ac5 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 27 Mar 2021 03:00:52 +0000 Subject: CTAN sync 202103270300 --- .../themes/beamertheme-trigon/README.md | 98 ++++ .../themes/beamertheme-trigon/demo/trigon_demo.pdf | Bin 0 -> 417185 bytes .../themes/beamertheme-trigon/demo/trigon_demo.tex | 46 ++ .../themes/beamertheme-trigon/docs/trigontheme.dtx | 454 +++++++++++++++ .../themes/beamertheme-trigon/docs/trigontheme.pdf | Bin 0 -> 356603 bytes .../source/beamercolorthemetrigon.dtx | 186 ++++++ .../source/beamerfontthemetrigon.dtx | 329 +++++++++++ .../source/beamerinnerthemetrigon.dtx | 621 +++++++++++++++++++++ .../source/beamerouterthemetrigon.dtx | 163 ++++++ .../source/beamerthemetrigon.dtx | 155 +++++ .../source/beamerthemetrigon.ins | 69 +++ 11 files changed, 2121 insertions(+) create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/README.md create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdf create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.tex create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamercolorthemetrigon.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerfontthemetrigon.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerinnerthemetrigon.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerouterthemetrigon.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.dtx create mode 100644 macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/source/beamerthemetrigon.ins (limited to 'macros/latex/contrib/beamer-contrib') 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 . + +**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 Binary files /dev/null and b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/demo/trigon_demo.pdf 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 +%% 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 Binary files /dev/null and b/macros/latex/contrib/beamer-contrib/themes/beamertheme-trigon/docs/trigontheme.pdf 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 +% 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] +% +% \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 +% +% \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 +% 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] +% +% \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 +% +% \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 +% 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] +% +% \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 +% +% \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 +% 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] +% +% \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 +% +% \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 +% 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] +% +% \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 +% +% \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 +%% 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 +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 -- cgit v1.2.3