diff options
author | Karl Berry <karl@freefriends.org> | 2025-02-12 21:08:46 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2025-02-12 21:08:46 +0000 |
commit | 0c3bdfb7cb9e2945a890bdba0dc7b26620bff33c (patch) | |
tree | 199c233a96d2f5a8c70ef93512cb7fdd5a815464 /Master/texmf-dist/source | |
parent | 6a75575f7b4ea953d6903f16a0215620ca871b45 (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.dtx | 412 |
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 |