Appendix A — Main Theme
Source file: src/beamerthememoloch.dtx
A.1 Moloch Parent Theme
The primary job of this package is to load the component sub-packages of the Moloch theme and route the theme options accordingly. It also provides some custom commands and environments for the user.
A.2 Package Dependencies
\RequirePackage{pgfopts}A.3 Options
Most options are passed off to the component sub-packages.
\pgfkeys{/moloch/.cd,
.search also={
/moloch/inner,
/moloch/outer,
/moloch/color,
/moloch/font,
}
}A.3.1 titleformat plain
Controls the formatting of the text on standout “plain” frames.
\pgfkeys{
/moloch/titleformat plain/.cd,
.is choice,
regular/.code={%
\let\moloch@plaintitleformat\@empty%
\setbeamerfont{standout}{shape=\normalfont}%
},
smallcaps/.code={%
\let\moloch@plaintitleformat\@empty%
\setbeamerfont{standout}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\moloch@plaintitleformat\MakeLowercase%
\setbeamerfont{standout}{shape=\scshape}%
},
allcaps/.code={%
\let\moloch@plaintitleformat\MakeUppercase%
\setbeamerfont{standout}{shape=\normalfont}%
},
}A.3.2 titleformat
Sets a standard format for titles, subtitles, section titles, frame titles, and the text on standout “plain” frames.
\pgfkeys{
/moloch/titleformat/.code=\pgfkeysalso{
font/titleformat title=#1,
font/titleformat subtitle=#1,
font/titleformat section=#1,
font/titleformat frame=#1,
titleformat plain=#1,
}
}Set default values for options.
\newcommand{\moloch@setdefaults}{
\pgfkeys{/moloch/.cd,
titleformat plain=regular,
}
}A.4 Component Sub-Packages
Having processed the options, we can now load the component sub-packages of the theme.
\useinnertheme{moloch}
\useoutertheme{moloch}
\usecolortheme{moloch}
\usefonttheme{moloch}A.5 Custom Commands
The parent theme defines custom commands as their proper usage may depend on multiple sub-packages.
A.5.1 \molochset
Allows the user to change options midway through a presentation.
\newcommand{\molochset}[1]{\pgfkeys{/moloch/.cd,#1}}A.5.2 \mreducelistspacing
\newcommand{\mreducelistspacing}{\vspace{-\topsep}}A.6 Process Package Options
\moloch@setdefaults
\ProcessPgfOptions{/moloch}