summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2025-02-12 21:08:46 +0000
committerKarl Berry <karl@freefriends.org>2025-02-12 21:08:46 +0000
commit0c3bdfb7cb9e2945a890bdba0dc7b26620bff33c (patch)
tree199c233a96d2f5a8c70ef93512cb7fdd5a815464 /Master/texmf-dist/source
parent6a75575f7b4ea953d6903f16a0215620ca871b45 (diff)
beamertheme-gotham (12feb25)
git-svn-id: svn://tug.org/texlive/trunk@73931 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/beamertheme-gotham/gotham.dtx412
1 files changed, 343 insertions, 69 deletions
diff --git a/Master/texmf-dist/source/latex/beamertheme-gotham/gotham.dtx b/Master/texmf-dist/source/latex/beamertheme-gotham/gotham.dtx
index 896f9ce9776..e88a13ea34f 100644
--- a/Master/texmf-dist/source/latex/beamertheme-gotham/gotham.dtx
+++ b/Master/texmf-dist/source/latex/beamertheme-gotham/gotham.dtx
@@ -23,7 +23,7 @@
\input expl3-generic \relax
%</internal>
%<class>\NeedsTeXFormat{LaTeX3e}
-%<package>\ProvidesExplPackage{beamerthemegotham}{2024-11-11}{1.2.0.a}{A modern, minimal-ish, versatile and extendable yet robust theme for Beamer}
+%<package>\ProvidesExplPackage{beamerthemegotham}{2025-02-11}{1.2.1.c}{A modern, minimal-ish, versatile and extendable yet robust theme for Beamer}
%<author>Romain NOEL</author>
%<maintainer>Romain NOEL</maintainer>
%<url>https://gitlab.com/RomainNOEL/beamertheme-gotham</url>
@@ -39,8 +39,8 @@
% \usepackage{gotham}
% \usepackage{readprov}
% \ReadPackageInfos{beamerthemegotham}
- \edef\GothamVersion{v1.2.0.a} %{\fileversion}
- \edef\GothamDate{2024-11-11} %{\filedate}
+ \edef\GothamVersion{v1.2.1.c} %{\fileversion}
+ \edef\GothamDate{2025-02-11} %{\filedate}
\usepackage{parskip}
\usepackage{setspace}
@@ -92,12 +92,20 @@
\usepackage{subcaption} % For subfigures
\usepackage{cleveref} % for references
- \providecommand{\defopt}[1]{default: #1}%{\underline{#1}}
- % \DescribeGothamOption{optionName}{possible values}{default value}{descrption}
- \newenvironment{DescribeGothamOption}[3]{
- \DescribeOption{#1} % from l3doc
+ \providecommand{\defopt}[1]{\underline{#1}}%{default: #1}%{\underline{#1}}
+ \NewDocumentEnvironment{DescribeGothamOption}{ o m m m }{
+ \DescribeOption{#2} % from l3doc
+ \IfNoValueTF{#1}{
+ % true => left empty intentionally
+ }{
+ \DescribeOption{% add extra info like added or updated dates to mimic 'function' env.
+ \rule[2.5ex]{\linewidth}{0.3pt}
+ \\[-3.5ex]
+ {\scriptsize #1 \hfill\ }
+ }
+ }
\begin{minipage}[t]{\textwidth}
- \textit{\textbf{\textcolor{tSec}{#2}}}\dotfill\,\defopt{#3}\par
+ \textit{\textbf{\textcolor{tSec}{#3}}}\dotfill\,\defopt{#4}\par
\begingroup
\vspace{0.5em}
}{
@@ -188,10 +196,10 @@
%\begin{implementation}
% \begin{macrocode}
%<*font>
-\ProvidesExplPackage{beamerfontthemegotham}{2024-11-11}{1.2.0.a}{gotham font theme}
+\ProvidesExplPackage{beamerfontthemegotham}{2025-02-11}{1.2.1.c}{gotham font theme}
\RequirePackage{expl3}
-\RequirePackage{xparse}
-\RequirePackage{etoolbox}
+% \RequirePackage{xparse}
+% \RequirePackage{etoolbox}
\RequirePackage{ifxetex}
\RequirePackage{ifluatex}
% \end{macrocode}
@@ -205,7 +213,7 @@
% \begin{implementation}
% \begin{variable}{font messages}
% Definition of the messages that are used and reused by font theme.
-% \changes{v0.2.0}{2024/01/25}{New}
+% \changes{v0.2.0}{2024-01-25}{New}
% \begin{macrocode}
\msg_new:nnn { gotham } { font-not-found }
{
@@ -303,7 +311,7 @@
\RequirePackage[no-math]{fontspec}
}
%
- % We search for regular, italic, light, light italic,fonts under the default |Fira Sans| names.
+ % We search for regular, italic, light, light italic, fonts under the default |Fira Sans| names.
\iffontsavailable{FiraSans-Light.otf,
FiraSans-LightItalic.otf,
FiraSans-Regular.otf,
@@ -313,6 +321,7 @@
BoldFont={FiraSans-Regular.otf},
BoldItalicFont={FiraSans-Italic.otf}]
{FiraSans-Light.otf}
+ \renewcommand{\ttdefault}{lmtt} % Latin Modern Typewriter
}{
% If this fails, the suffix OT --- used by some Linux distributions --- will be tried.
\iffontsavailable{FiraSans~Light~OT,
@@ -324,6 +333,7 @@
BoldFont={Fira~Sans~Regular~OT},
BoldItalicFont={Fira~Sans~Italic~OT}]
{Fira~Sans~Light~OT}
+ \renewcommand{\ttdefault}{lmtt} % Latin Modern Typewriter
}{
% If this also fails, a warning will be displayed and the standard fonts will be used.
\msg_warning:nn { gotham } { fonts-not-available }%
@@ -337,6 +347,7 @@
% If this fails, the suffix OT --- used by some Linux distributions --- will be tried.
\iffontsavailable{Fira~Mono~Medium~OT, Fira~Mono~Bold~OT}{
\setmonofont[BoldFont={Fira~Mono~Medium~OT}]{Fira~Mono~Bold~OT}
+ \renewcommand{\ttdefault}{lmtt} % Latin Modern Typewriter
}{
% If this also fails, a warning will be displayed and the standard fonts will be used.
\msg_warning:nn { gotham } { fonts-not-available }
@@ -973,9 +984,9 @@
%\begin{implementation}
% \begin{macrocode}
%<*color>
-\ProvidesExplPackage{beamercolorthemegotham}{2024-11-11}{1.2.0.a}{Gotham color theme}
+\ProvidesExplPackage{beamercolorthemegotham}{2025-02-11}{1.2.1.c}{Gotham color theme}
\RequirePackage{expl3}
-\RequirePackage{xparse}
+% \RequirePackage{xparse}
\RequirePackage{xcolor}
% \end{macrocode}
% \end{implementation}
@@ -1578,10 +1589,11 @@
%\begin{implementation}
% \begin{macrocode}
%<*inner>
-\ProvidesExplPackage{beamerinnerthemegotham}{2024-11-11}{1.2.0.a}{gotham inner theme}
+\ProvidesExplPackage{beamerinnerthemegotham}{2025-02-11}{1.2.1.c}{gotham inner theme}
\RequirePackage{expl3}
-\RequirePackage{xparse}
+% \RequirePackage{xparse}
\RequirePackage{calc}
+% \RequirePackage{xfp}
\RequirePackage{tikz}
% \end{macrocode}
% \end{implementation}
@@ -2959,7 +2971,17 @@
\providebool{subsectionContent}
\booltrue{subsectionContent}
\providecommand{\subsecContentName}{Subsection~content}
+% \end{macrocode}
+% \end{variable}
+% \end{implementation}
+% \begin{implementation}
+% \begin{variable}{\providebool{subsubsectionContent}, \subsubsecContentName}
+% Boolean variable to enable the table of contents of the subsubsection, and the command containing the 'table of contents' title.
+% \begin{macrocode}
% Subsubsection is not useful (at least up to understanding of the moment) because we do not display frame with the content of a subsubsection since it is the small unity we are working with.
+\providebool{subsubsectionContent}
+\booltrue{subsubsectionContent}
+\providecommand{\subsubsecContentName}{Subsubsection~content}
% \end{macrocode}
% \end{variable}
% \end{implementation}
@@ -3003,10 +3025,81 @@
% \end{macro}
% \end{implementation}
+% \begin{documentation}
+% \begin{variable}[added=2025-01-06]{\partpageOptions, \sectionpageOptions, \subsectionpageOptions, \subsubsectionpageOptions}
+% Variable commands that contain the coma-separated list of options which are given to the partpage (respectively to the section, subsection and subsubsection).
+% \end{variable}
+% \end{documentation}
+%%%%
+% \begin{implementation}
+% \begin{variable}[added=2025-01-06]{\partpageOptions, \sectionpageOptions, \subsectionpageOptions, \subsubsectionpageOptions}
+% Options used in |\begin{frame}[\partpageOptions,part]{\partpage}...| .
+% TESTED in gotham-test-1039
+% \changes{v1.2.1}{2025-01-06}{newly introduced}
+% \begin{macrocode}
+\providecommand{\partpageOptions}{noframenumbering}
+\providecommand{\sectionpageOptions}{noframenumbering}
+\providecommand{\subsectionpageOptions}{noframenumbering}
+\providecommand{\subsubsectionpageOptions}{noframenumbering}
+% \end{macrocode}
+% \end{variable}
+% \end{implementation}
+
+% \begin{documentation}
+% \begin{variable}[added=2025-01-06]{\partpageTocOptions, \sectionpageTocOptions, \subsectionpageTocOptions, \subsubsectionpageTocOptions}
+% Variable commands that contain the coma-separated list of options which are given to the table of contents page at the begin of a part (respectively to the section, subsection and subsubsection).
+% \end{variable}
+% \end{documentation}
+%%%%
% \begin{implementation}
-% \begin{function}{\__gotham_inner_disable_partpage:, \__gotham_inner_enable_partpage:}
-% Commands to disable or enable the display of a 'part page' frame at the begining of every new part.
-% It replaces the |\newcommand{\gotham@disablepartpage}| and | \newcommand{\gotham@enablepartpage}|
+% \begin{variable}[added=2025-01-06]{\partpageTocOptions, \sectionpageTocOptions, \subsectionpageTocOptions, \subsubsectionpageTocOptions}
+% Options used in |\begin{frame}[\partpageTocOptions,tocpart]{toc part page...}| .
+% TESTED in gotham-test-1039
+% \changes{v1.2.1}{2025-01-06}{newly introduced}
+% \begin{macrocode}
+\providecommand{\partpageTocOptions}{noframenumbering}
+\providecommand{\sectionpageTocOptions}{noframenumbering}
+\providecommand{\subsectionpageTocOptions}{noframenumbering}
+% \providecommand{\subsubsectionpageTocOptions}{noframenumbering}
+% \end{macrocode}
+% \end{variable}
+% \end{implementation}
+
+% \begin{documentation}
+% \begin{variable}[added=2025-01-06]{\partTocOptions, \sectionTocOptions, \subsectionTocOptions, \subsubsectionTocOptions}
+% Variable commands that contain the coma-separated list of options which are given to the table of content at the beginning of a part (respectively to the section, subsection and subsubsection).
+% \end{variable}
+% \end{documentation}
+%%%%
+% \begin{implementation}
+% \begin{variable}[added=2025-01-06]{\partTocOptions, \sectionTocOptions, \subsectionTocOptions, \subsubsectionTocOptions}
+% Options used in |\tableofcontents[\partTocOptions]| .
+% TESTED in gotham-test-1039
+% \changes{v1.2.1}{2025-01-06}{newly introduced}
+% \begin{macrocode}
+\providecommand{\partTocOptions}{}
+\providecommand{\sectionTocOptions}{
+ currentsection, currentsubsection,
+ hideothersubsections,
+ sectionstyle=show/shaded,
+}
+\providecommand{\subsectionTocOptions}{
+ currentsection, currentsubsection,
+ % currentsubsubsection,
+ hideothersubsections,
+ sectionstyle=show/shaded,
+ subsectionstyle=show/shaded/hide,
+ subsubsectionstyle=show/show/hide,
+}
+% \providecommand{\subsubsectionTocOptions}{}
+% \end{macrocode}
+% \end{variable}
+% \end{implementation}
+
+% \begin{implementation}
+% \begin{function}[updated=2025-01-06]{\__gotham_inner_disable_partpage:, \__gotham_inner_enable_partpage:}
+% Commands to disable or enable the display of a 'part page' frame at the beginning of every new part.
+% \changes{v1.2.1}{2025-01-06}{includes new variables}
% \TestFiles{gotham-test-041}
% \begin{macrocode}
\cs_new_protected:Nn \__gotham_inner_disable_partpage:
@@ -3022,14 +3115,32 @@
\ifbeamer@inframe
\partpage
\else
- \frame[c, noframenumbering, part]{\partpage}
+ \ifdefempty{\partpageOptions}{
+ % empty command
+ \frame[c, part]{\partpage}
+ }{
+ % non-empty command
+ \frame[c, \expandafter\partpageOptions, part]{\partpage}
+ }
\fi
\ifbool{partContent}{
% true
- \begin{frame}[noframenumbering, tocpart]
- \frametitle{\partContentName}
- \tableofcontents[part=\thepart]
+ \ifdefempty{\partpageTocOptions}{
+ % empty command
+ \begin{frame}[tocpart]
+ }{
+ % non-empty command
+ \begin{frame}[tocpart, \expandafter\partpageTocOptions]
+ }
+ \ifdefempty{\partContentName}{}{\frametitle{\partContentName}}
+ \ifdefempty{\partTocOptions}{
+ % empty command
+ \tableofcontents[part=\thepart]
+ }{
+ % non-empty command
+ \expandafter\tableofcontents[part=\thepart, \expandafter\partTocOptions]
+ }
\end{frame}
}{
% else empty
@@ -3041,9 +3152,9 @@
% \end{implementation}
% \begin{implementation}
-% \begin{function}{\__gotham_inner_disable_sectionpage:, \__gotham_inner_enable_sectionpage:}
-% Commands to disable or enable the display of a 'section page' frame at the begining of every new section.
-% It replaces the |\newcommand{\gotham@disablesectionpage}| and | \newcommand{\gotham@enablesectionpage}|
+% \begin{function}[updated=2025-01-06]{\__gotham_inner_disable_sectionpage:, \__gotham_inner_enable_sectionpage:}
+% Commands to disable or enable the display of a 'section page' frame at the beginning of every new section.
+% \changes{v1.2.1}{2025-01-06}{includes new variables}
% \TestFiles{gotham-test-041}
% \begin{macrocode}
\cs_new_protected:Nn \__gotham_inner_disable_sectionpage:
@@ -3059,21 +3170,31 @@
\ifbeamer@inframe
\sectionpage
\else
- \frame[c, noframenumbering, section]{\sectionpage}
+ \ifdefempty{\sectionpageOptions}{
+ % empty command
+ \frame[c, section]{\sectionpage}
+ }{
+ % non-empty command
+ \frame[c, \expandafter\sectionpageOptions, section]{\sectionpage}
+ }
\fi
\ifbool{sectionContent}{
% true
- \begin{frame}[noframenumbering, tocsec]
- \frametitle{\secContentName}
- {\tableofcontents[currentsection, currentsubsection,
- hideothersubsections,
- sectionstyle=show/shaded,
- ]
+ \ifdefempty{\sectionpageTocOptions}{
+ % empty command
+ \begin{frame}[tocsec]
+ }{
+ % non-empty command
+ \begin{frame}[\expandafter\sectionpageTocOptions, tocsec]
+ }
+ \ifdefempty{\secContentName}{}{\frametitle{\secContentName}}
+ {
+ \expandafter\tableofcontents\expandafter[\sectionTocOptions]
}
\end{frame}
}{
- % else empty
+ % else empty
}
}
}
@@ -3082,9 +3203,9 @@
% \end{implementation}
% \begin{implementation}
-% \begin{function}{\__gotham_inner_disable_subsectionpage:, \__gotham_inner_enable_subsectionpage:}
-% Commands to disable or enable the display of a 'subsection page' frame at the begining of every new subsection.
-% It replaces the |\newcommand{\gotham@disablesubsectionpage}| and | \newcommand{\gotham@enablesubsectionpage}|
+% \begin{function}[updated=2025-01-06]{\__gotham_inner_disable_subsectionpage:, \__gotham_inner_enable_subsectionpage:}
+% Commands to disable or enable the display of a 'subsection page' frame at the beginning of every new subsection.
+% \changes{v1.2.1}{2025-01-06}{includes new variables}
% \TestFiles{gotham-test-041}
% \begin{macrocode}
\cs_new_protected:Nn \__gotham_inner_disable_subsectionpage:
@@ -3100,20 +3221,27 @@
\ifbeamer@inframe
\subsectionpage
\else
- \frame[c, noframenumbering, subsec]{\subsectionpage}
+ \ifdefempty{\subsectionpageOptions}{
+ % empty command
+ \frame[c, subsec]{\subsectionpage}
+ }{
+ % non-empty command
+ \frame[c, \expandafter\subsectionpageOptions, subsec]{\subsectionpage}
+ }
\fi
\ifbool{subsectionContent}{
% true
- \begin{frame}[noframenumbering, tocsubsec]
- \frametitle{\subsecContentName}
- {\tableofcontents[currentsection, currentsubsection,
- %currentsubsubsection,
- hideothersubsections,
- sectionstyle=show/shaded,
- subsectionstyle=show/shaded/hide,
- subsubsectionstyle=show/show/hide,
- ]
+ \ifdefempty{\subsectionpageTocOptions}{
+ % empty command
+ \begin{frame}[tocsubsec]
+ }{
+ % non-empty command
+ \begin{frame}[\expandafter\subsectionpageTocOptions, tocsubsec]
+ }
+ \ifdefempty{\subsecContentName}{}{\frametitle{\subsecContentName}}
+ {
+ \expandafter\tableofcontents\expandafter[\subsectionTocOptions]
}
\end{frame}
}{
@@ -3126,9 +3254,9 @@
% \end{implementation}
% \begin{implementation}
-% \begin{function}{\__gotham_inner_disable_subsubsectionpage:, \__gotham_inner_enable_subsubsectionpage:}
-% Commands to disable or enable the display of a 'subsubsection page' frame at the begining of every new subsubsection.
-% It replaces the |\newcommand{\gotham@disablesubsubsectionpage}| and | \newcommand{\gotham@enablesubsubsectionpage}|
+% \begin{function}[updated=2025-01-06]{\__gotham_inner_disable_subsubsectionpage:, \__gotham_inner_enable_subsubsectionpage:}
+% Commands to disable or enable the display of a 'subsubsection page' frame at the beginning of every new subsubsection.
+% \changes{v1.2.1}{2025-01-06}{includes new variables}
% \TestFiles{gotham-test-041}
% \begin{macrocode}
\cs_new_protected:Nn \__gotham_inner_disable_subsubsectionpage:
@@ -3144,8 +3272,33 @@
\ifbeamer@inframe
\subsubsectionpage
\else
- \frame[c, noframenumbering, subsubsec]{\subsubsectionpage}
+ \ifdefempty{\subsubsectionpageOptions}{
+ % empty command
+ \frame[c, subsubsec]{\subsubsectionpage}
+ }{
+ % non-empty command
+ \frame[c, \expandafter\subsubsectionpageOptions, subsubsec]{\subsubsectionpage}
+ }
\fi
+
+ % I don't think anyone will use this for now. But, just in case I keep it commented.
+ % \ifbool{subsubsectionContent}{
+ % % true
+ % \ifdefempty{\subsubsectionpageTocOptions}{
+ % % empty command
+ % \begin{frame}[tocsubsubsec]
+ % }{
+ % % non-empty command
+ % \begin{frame}[\expandafter\subsubsectionpageTocOptions, tocsubsubsec]
+ % }
+ % \ifdefempty{\subsubsecContentName}{}{\frametitle{\subsubsecContentName}}
+ % {
+ % \expandafter\tableofcontents\expandafter[\subsubsectionTocOptions]
+ % }
+ % \end{frame}
+ % }{
+ % % else empty
+ % }
}
}
% \end{macrocode}
@@ -4144,35 +4297,36 @@
% \begin{implementation}
% \begin{macro}{\defbeamertemplate{section~in~toc}{gotham~bullet}}
% Template definitions for |gotham bullet| style of ToC that appear in section \textbar subsection \textbar subsubsection frame.
+% \changes{v1.2.1}{2025-02-10}{adapt shaded subsection in toc}
% \UnitTested
% \TestFiles{gotham-test-042}
% \begin{macrocode}
\defbeamertemplate{section~in~toc}{gotham~bullet}{
- \hspace*{0.4cm}\tikz[baseline=-0.5ex]\node[section~number]{\textbf{\small\inserttocsectionnumber}};
- \ \tikz[baseline=-0.5ex]\node[section]{\usebeamerfont*{toc~title} \inserttocsection};\\[-0.35cm]
- \hspace*{1.13cm}{\usebeamercolor*[fg]{footer} \rule{0.6\paperwidth}{0.2pt}\\\nointerlineskip}
+ \hspace*{0.4cm}\tikz[baseline=-0.5ex]\node[section~number]{\textbf{\inserttocsectionnumber}};
+ \ \tikz[baseline=-0.5ex]\node[section]{\usebeamerfont*{toc~title}\inserttocsection};\\[-0.35cm]
+ \hspace*{1.13cm}{\usebeamercolor*[fg]{footer} \rule{0.6\paperwidth}{0.2pt}{\par\vskip-0.35\baselineskip}\nointerlineskip}
}
\defbeamertemplate{subsection~in~toc}{gotham~bullet}{
\hspace*{0.53cm}\tikz[baseline=-0.5ex]\node[subsection~number]{};
- \hspace*{0.5cm}\tikz[baseline=-0.5ex]\node[subsection]{\usebeamerfont*{toc~subtitle}\inserttocsubsection};\\[-0.2cm]
+ \hspace*{0.5cm}\tikz[baseline=-0.5ex]\node[subsection]{\usebeamerfont*{toc~subtitle}\inserttocsubsection \gotham@strut};\\[-0.2cm]
}
\defbeamertemplate{subsubsection~in~toc}{gotham~bullet}{
\hspace*{0.58cm}\tikz[baseline=-0.5ex]\node[subsubsection~number]{};
- \hspace*{0.69cm}\tikz[baseline=-0.5ex]\node[subsubsection]{\usebeamerfont*{toc~subtitle}\inserttocsubsubsection};\\[-0.2cm]
+ \hspace*{0.69cm}\tikz[baseline=-0.5ex]\node[subsubsection]{\usebeamerfont*{toc~subtitle}\inserttocsubsubsection \gotham@strut};\\[-0.2cm]
}
% Shaded for sections already done in the presentation.
\defbeamertemplate{section~in~toc~shaded}{gotham~bullet}{
- \hspace*{0.4cm}\tikz[baseline=-0.5ex]\node[section~number, fill=colorBackElement!40, text=background]{\usebeamerfont*{toc~subtitle}\textbf{\inserttocsectionnumber}};
- \ \tikz[baseline=-0.5ex]\node[section, text=colorExample!20]{\usebeamerfont*{toc~title} \inserttocsection};\\[-0.35cm]
- \hspace*{1.3cm}{\usebeamercolor*[fg]{footer} \rule{0.6\paperwidth}{0.2pt}\\\nointerlineskip}
+ \hspace*{0.4cm}\tikz[baseline=-0.5ex]\node[section~number, fill=colorBackElement!40]{\usebeamerfont*{toc~subtitle}\textbf{\inserttocsectionnumber}};
+ \ \tikz[baseline=-0.5ex]\node[section, text=colorBackElement!20]{\usebeamerfont*{toc~title}\inserttocsection};\\[-0.35cm]
+ \hspace*{1.13cm}{\usebeamercolor*[fg]{footer} \rule{0.6\paperwidth}{0.2pt}{\par\vskip-0.35\baselineskip}\nointerlineskip}
}
\defbeamertemplate{subsection~in~toc~shaded}{gotham~bullet}{
- \hspace*{0.55cm}\tikz[baseline=-0.5ex]\node[subsection~number,fill=colorBackElement!20]{};
- \hspace*{0.5cm}\tikz[baseline=-0.5ex]\node[subsection, text=colorBackElement!20]{};\\[-0.2cm]
+ \hspace*{0.53cm}\tikz[baseline=-0.5ex]\node[subsection~number,fill=colorBackElement!20]{};
+ \hspace*{0.5cm}\tikz[baseline=-0.5ex]\node[subsection, text=colorBackElement!20]{\usebeamerfont*{toc~subtitle}\inserttocsubsection \gotham@strut};\\[-0.2cm]
}
\defbeamertemplate{subsubsection~in~toc~shaded}{gotham~bullet}{
\hspace*{0.58cm}\tikz[baseline=-0.5ex]\node[subsubsection~number,fill=colorBackElement!20]{};
- \hspace*{0.69cm}\tikz[baseline=-0.5ex]\node[subsubsection,text=colorBackElement!20]{\usebeamerfont*{toc~subtitle}\inserttocsubsubsection};\\[-0.2cm]
+ \hspace*{0.69cm}\tikz[baseline=-0.5ex]\node[subsubsection,text=colorBackElement!20]{\usebeamerfont*{toc~subtitle}\inserttocsubsubsection \gotham@strut};\\[-0.2cm]
}
% \end{macrocode}
% \end{macro}
@@ -4181,6 +4335,7 @@
% \begin{implementation}
% \begin{macro}{\defbeamertemplate{section~in~toc}{gotham~bullet}}
% Template definitions for |gotham simple| style of ToC that appear in section \textbar subsection \textbar subsubsection frame.
+% \changes{v1.2.1}{2025-01-06}{adapt shaded subsection in toc}
% \UnitTested
% \TestFiles{gotham-test-042}
% \begin{macrocode}
@@ -4200,6 +4355,24 @@
\qquad{{\inserttocsectionnumber}.\inserttocsubsectionnumber.\inserttocsubsubsectionnumber.}~\inserttocsubsubsection
\\
}
+\defbeamertemplate{section~in~toc~shaded}{gotham~simple}{
+ \begin{colormixin}{20!parent.bg}
+ {{\inserttocsectionnumber}.}~\inserttocsection
+ \end{colormixin}
+ \\
+}
+\defbeamertemplate{subsection~in~toc~shaded}{gotham~simple}{
+ \begin{colormixin}{20!parent.bg}
+ \quad{{\inserttocsectionnumber}.\inserttocsubsectionnumber.}~\inserttocsubsection
+ \end{colormixin}
+ \\
+}
+\defbeamertemplate{subsubsection~in~toc~shaded}{gotham~simple}{
+ \begin{colormixin}{20!parent.bg}
+ \qquad{{\inserttocsectionnumber}.\inserttocsubsectionnumber.\inserttocsubsubsectionnumber.}~\inserttocsubsubsection
+ \end{colormixin}
+ \\
+}
% \end{macrocode}
% \end{macro}
% \end{implementation}
@@ -4208,6 +4381,7 @@
% \begin{macro}{\defbeamertemplate{background~canvas}{toc/gotham~simple}, \defbeamertemplate{toc~page}{gotham~simple|bullet}}
% Definition of toc page style named gotham simple and gotham bullet, used for table of content pages.
% Both are using a dedicated background canvas.
+% \changes{v1.2.1}{2025-01-05}{add shaded subsection in toc setup}
% \UnitTested
% \TestFiles{gotham-test-042}
% \begin{macrocode}
@@ -4219,15 +4393,21 @@
\defbeamertemplate{toc~page}{gotham~simple}{
\setbeamertemplate{part~in~toc}[gotham~simple]
\setbeamertemplate{section~in~toc}[gotham~simple]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsubsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{background~canvas}[toc/gotham~simple]
}
\defbeamertemplate{toc~page}{gotham~bullet}{
\setbeamertemplate{part~in~toc}[gotham~bullet]
\setbeamertemplate{section~in~toc}[gotham~bullet]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsubsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{background~canvas}[toc/gotham~simple]
}
% \end{macrocode}
@@ -4283,8 +4463,11 @@
\defbeamertemplate{toc~part~frame}{gotham~simple}{
\setbeamertemplate{part~in~toc}[gotham~simple]
\setbeamertemplate{section~in~toc}[gotham~simple]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsubsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{background~canvas}[toc~part~gotham]
\setbeamertemplate{frametitle}[toc~gotham]
% \usebeamertemplate*{part~page}% already included
@@ -4292,8 +4475,11 @@
\defbeamertemplate{toc~section~frame}{gotham~simple}{
\setbeamertemplate{part~in~toc}[gotham~simple]
\setbeamertemplate{section~in~toc}[gotham~simple]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsubsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{background~canvas}[toc~section~gotham]
\setbeamertemplate{frametitle}[toc~gotham]%
% \usebeamertemplate*{section~page}% already included
@@ -4301,8 +4487,11 @@
\defbeamertemplate{toc~subsection~frame}{gotham~simple}{
\setbeamertemplate{part~in~toc}[gotham~simple]
\setbeamertemplate{section~in~toc}[gotham~simple]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{subsubsection~in~toc}[gotham~simple]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~simple]
\setbeamertemplate{background~canvas}[toc~subsection~gotham]
\setbeamertemplate{frametitle}[toc~gotham]
% \usebeamertemplate*{subsection~page}% already included
@@ -4320,8 +4509,11 @@
\defbeamertemplate{toc~part~frame}{gotham~bullet}{
\setbeamertemplate{part~in~toc}[gotham~bullet]
\setbeamertemplate{section~in~toc}[gotham~bullet]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsubsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{background~canvas}[toc~part~gotham]
\setbeamertemplate{frametitle}[toc~gotham]
% \usebeamertemplate*{part~page}% already included
@@ -4329,8 +4521,11 @@
\defbeamertemplate{toc~section~frame}{gotham~bullet}{
\setbeamertemplate{part~in~toc}[gotham~bullet]
\setbeamertemplate{section~in~toc}[gotham~bullet]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsubsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{background~canvas}[toc~section~gotham]
\setbeamertemplate{frametitle}[toc~gotham]%
% \usebeamertemplate*{section~page}% already included
@@ -4338,8 +4533,11 @@
\defbeamertemplate{toc~subsection~frame}{gotham~bullet}{
\setbeamertemplate{part~in~toc}[gotham~bullet]
\setbeamertemplate{section~in~toc}[gotham~bullet]
+ \setbeamertemplate{section~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{subsubsection~in~toc}[gotham~bullet]
+ \setbeamertemplate{subsubsection~in~toc~shaded}[gotham~bullet]
\setbeamertemplate{background~canvas}[toc~subsection~gotham]
\setbeamertemplate{frametitle}[toc~gotham]
% \usebeamertemplate*{subsection~page}% already included
@@ -4840,7 +5038,7 @@
%\begin{implementation}
% \begin{macrocode}
%<*outer>
-\ProvidesExplPackage{beamerouterthemegotham}{2024-11-11}{1.2.0.a}{gotham outer theme}
+\ProvidesExplPackage{beamerouterthemegotham}{2025-02-11}{1.2.1.c}{gotham outer theme}
\RequirePackage{expl3}
\RequirePackage{xfp}
\RequirePackage{calc}
@@ -5094,8 +5292,8 @@
% \begin{macrocode}
% sidebar lengths
\newlength{\sidebarRightHOffset}
-\setlength{\sidebarRightHOffset}{-2.5ex}
\newlength{\sidebarLeftHOffset}
+\setlength{\sidebarRightHOffset}{-2.5ex}
\setlength{\sidebarLeftHOffset}{+0.5ex}
% \end{macrocode}
% \end{variable}
@@ -5846,7 +6044,7 @@
% \end{implementation}
% \begin{documentation}
-% \begin{variable}{\gothamFootlineVOffset, \gothamFootlineHRightOffset,\gothamFootlineHeight, \gothamFootlineDepth}
+% \begin{variable}[updated=2024-11-11]{\gothamFootlineVOffset, \gothamFootlineHRightOffset,\gothamFootlineHeight, \gothamFootlineDepth}
% Lengths controlling the position of |footline|.
% |\gothamFootlineVOffset| is controlling vertical space between to bottom of the text (or the footnote) and the footline.
% |\gothamFootlineVOffset| is by default -0.5ex, to have more space in the frame but if the footer is not really used, the space can be even more optimized using |\setlength{\gothamFootlineVOffset}{-2.0ex}|.
@@ -5857,7 +6055,7 @@
% \end{documentation}
%%%%%%
% \begin{implementation}
-% \begin{variable}{\gothamFootlineVOffset, \gothamFootlineHeight, \gothamFootlineDepth}
+% \begin{variable}[updated=2024-11-11]{\gothamFootlineVOffset, \gothamFootlineHeight, \gothamFootlineDepth}
% Lengths used in |footline| template.
% \begin{macrocode}
% Footline lengths
@@ -8716,7 +8914,6 @@
% \begin{macrocode}
%<*package>
\RequirePackage{expl3}
-\RequirePackage{xparse}
% \RequirePackage{ifxetex}
% \RequirePackage{ifluatex}
% \RequirePackage{etoolbox}
@@ -8871,7 +9068,84 @@
%
% \end{macrocode}
% \end{implementation}
-%
+
+% \begin{documentation}
+% \begin{function}{\gothamreset}
+% \begin{syntax}
+% \cs{gothamreset}
+% \end{syntax}
+% Command to reset gotham to default. Mainly useful when other theme have left some definitions.
+% \end{function}
+% \end{documentation}
+%%%%%%
+% \begin{implementation}
+% \begin{function}{\gothamreset}
+% \begin{arguments}
+% \item |height| of the picture
+% \end{arguments}
+% Command to be redefined by users.
+% \TestFiles{ gotham-test-046b}
+% \begin{macrocode}
+\DeclareDocumentCommand{\gothamreset}{m}{
+ % commands
+ \renewcommand{\gothamInstituteLogoSquare}[1][4ex]{ }
+ \renewcommand{\gothamInstituteLogoCircle}[1][4ex]{ }
+ \renewcommand{\gothamHookPostColorBGSet}{
+ \colorlet{colorStandout}{colorA}
+ \colorlet{colorFrametitle}{colorA}
+ \colorlet{colorProgBar}{colorC}
+ \setbeamercolor{frametitle}{
+ use=primary~palette,
+ parent=primary~palette,
+ bg=colorFrametitle,
+ fg=colorBG
+ }
+ \setbeamercolor{standout}{bg=colorStandout, fg=colorPale}
+ }
+ \renewcommand{\gothamtitlepagelogo}{}
+ \renewcommand{\gothamtitlepagebg}{}
+ \renewcommand{\gothamRightFiligrane}{}
+ \renewcommand{\gothamLeftFiligrane}{}
+ \renewcommand{\gothamHookFooter}{}
+
+ % lengths
+ \setlength{\gothamProgressSectionHeight}{3pt}
+ \setlength{\sectionhoffset}{0pt}
+ \setlength{\sidebarRightHOffset}{-2.5ex}
+ \setlength{\sidebarLeftHOffset}{+0.5ex}
+ \setlength{\gothamFrametitleToppading}{2.2ex}
+ \setlength{\gothamFrametitleBottompading}{2.2ex}
+ \setlength{\gothamFrametitleLeftpading}{2.2ex}
+ \setlength{\gothamFrametitleRightpading}{2.2ex}
+ \setlength{\gothamFramesubtitleStrutend}{0pt}
+ \setlength{\gothamFootlineVOffset}{-0.5ex}
+ \setlength{\gothamFootlineDepth}{0.1ex}
+ \setlength{\gothamFootlineHeight}{1.5ex}
+ \setlength{\gothamFootlineHRightOffset}{\spaceskip}
+ \setlength{\gothamHposLeftRotFooter}{-7pt}
+ \setlength{\gothamHposRightRotFooter}{2pt}
+ \setlength{\gothamVposLeftRotFooter}{15pt}
+ \setlength{\gothamVposRightRotFooter}{15pt}
+ \setlength{\gothamLeftFooterPadding}{2.0ex}
+ \setlength{\gothamRightFooterPadding}{3.5ex}
+ \setlength{\gothamFooterHOffset}{0pt}
+ \setlength{\gothamFootlineRuleLeftPadding}{7mm}
+ \setlength{\gothamFootlineRuleHeight}{0.0pt}
+ \setlength{\gothamFootlineRuleLength}{15mm}
+ \setlength{\gothamProgressCircHeight}{1.8\baselineskip}
+ \setlength{\gothamCounterCircleRadius}{1.12ex}
+ \setlength{\gothamProgressCircBorderWidth}{1.65mm}
+ \setlength{\gothamCircleNumberingVshift}{1.4mm}
+ \setlength{\gothamCircleNumberingHshift}{2.6mm}
+ \setlength{\gothamProgressHeadFootLineheight}{1.2ex}
+
+ % options to default
+ \keys_set:nn { gotham/all/all } { default }
+}
+% \end{macrocode}
+% \end{function}
+% \end{implementation}
+
% \begin{implementation}
% \begin{macrocode}
%\endinput