From 0ba196ab95b7b5918076d731f0538adf2ab13d6d Mon Sep 17 00:00:00 2001 From: Karl Berry 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 +% 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 -- cgit v1.2.3