From 0ba196ab95b7b5918076d731f0538adf2ab13d6d Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Tue, 27 Apr 2021 15:47:14 +0000
Subject: beamertheme-trigon (26mar21)

git-svn-id: svn://tug.org/texlive/trunk@59004 c570f23f-e606-0410-a88d-b1316a301751
---
 .../beamertheme-trigon/beamerfontthemetrigon.dtx   | 329 +++++++++++++++++++++
 1 file changed, 329 insertions(+)
 create mode 100644 Master/texmf-dist/source/latex/beamertheme-trigon/beamerfontthemetrigon.dtx

(limited to 'Master/texmf-dist/source/latex/beamertheme-trigon/beamerfontthemetrigon.dtx')

diff --git a/Master/texmf-dist/source/latex/beamertheme-trigon/beamerfontthemetrigon.dtx b/Master/texmf-dist/source/latex/beamertheme-trigon/beamerfontthemetrigon.dtx
new file mode 100644
index 00000000000..fcc9ed34a3f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/beamertheme-trigon/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
-- 
cgit v1.2.3

