diff options
Diffstat (limited to 'macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex')
-rw-r--r-- | macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex | 425 |
1 files changed, 425 insertions, 0 deletions
diff --git a/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex new file mode 100644 index 0000000000..94fd937a77 --- /dev/null +++ b/macros/latex/contrib/beamer-contrib/themes/moloch/moloch.tex @@ -0,0 +1,425 @@ +%% --------------------------------------------------------------------------- +%% Copyright 2015 Matthias Vogelgesang and the LaTeX community. A full list of +%% contributors can be found at +%% +%% https://github.com/matze/mtheme/graphs/contributors +%% +%% and the original template was based on the HSRM theme by Benjamin Weiss. +%% +%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 +%% International License (https://creativecommons.org/licenses/by-sa/4.0/). +%% --------------------------------------------------------------------------- +%% Copyright 2024 Johan Larsson and contributors +%% --------------------------------------------------------------------------- + +\documentclass{ltxdoc} + +\usepackage{parskip} +\usepackage{setspace} +\usepackage{xspace} +\usepackage{xurl} +\onehalfspacing + +\usepackage{enumitem} +\setlist[itemize]{noitemsep} +\setlist[enumerate]{noitemsep} + +\usepackage{xcolor} +\definecolor{mDarkBrown}{HTML}{604c38} +\definecolor{mDarkTeal}{HTML}{23373b} +\definecolor{mLightBrown}{HTML}{EB811B} +\definecolor{mLightGreen}{HTML}{14B03D} +\definecolor{mBackground}{HTML}{FFFFFF} + +\usepackage{listings} +\lstset{% + language=[LaTeX]{TeX}, + basicstyle=\ttfamily, + keywordstyle=\color{mLightBrown}\bfseries, + commentstyle=\color{mLightGreen}, + stringstyle=\color{mLightGreen}, + backgroundcolor=\color{mBackground}, + numbers=none, + numberstyle=\tiny\ttfamily, + stepnumber=2, + showspaces=false, + showstringspaces=false, + showtabs=false, + frame=none, + framerule=1pt, + tabsize=2, + rulesep=5em, + captionpos=b, + breaklines=true, + breakatwhitespace=false, + framexleftmargin=0em, + framexrightmargin=0em, + xleftmargin=0em, + xrightmargin=0em, + aboveskip=1em, + belowskip=1em, + morekeywords={usetheme,institute,maketitle,% + plain,setbeamercolor,molochset,setsansfont,setmonofont}, +} +\lstMakeShortInline| +\usepackage{metalogo} + +\usepackage[colorlinks=true, + linkcolor=mLightBrown, + menucolor=mLightBrown, + pagecolor=mLightBrown, + urlcolor=mLightBrown]{hyperref} + +\newcommand{\DescribeOption}[4]{ + \DescribeMacro{#1} + \begin{minipage}[t]{\textwidth} + \textit{\textbf{\textcolor{mLightGreen}{#2}}}\dotfill\,#3\par + \begingroup + \vspace{0.5em}#4\par + \endgroup + \end{minipage} +} + +\newcommand{\themename}{\textsf{moloch}\xspace} + +\def\molochversion{0.1.0} % x-release-please-version + +\usepackage{readprov} +% \ReadPackageInfos{beamerthememoloch} + +\title{The \themename package (v\molochversion)} +\author{Johan Larsson \and Matthias Vogelgesang\footnote{Matthias wrote the original version of this manual for the Metropolis theme, which has since been modified by Johan Larsson.}} +\date{\today} + +\begin{document} + +\maketitle +\tableofcontents + + +\section{Introduction} + + +Beamer is a great way to make presentations with LaTeX, but its theme +selection is surprisingly sparse. The stock themes share an aesthetic that can +be a little cluttered, while the few distinctive custom themes available are +often specialized for a particular corporate or institutional brand. + +The goal of \themename is to provide a simple, modern Beamer theme suitable +for anyone to use. It tries to minimize noise and maximize space for content; +the only visual flourish it offers is an (optional) progress bar added to each +slide or to the section slides. + +\themename's codebase is maintained at \url{https://github.com/jolars/moloch}. +If you have any issues, find mistakes in the manual or want to help make +the theme even better, please get in touch there. + +\themename is a fork of the popular Metroplis theme by Matthias Vogelgesang. +The motivation for the fork was to fix some longstanding bugs in Metropolis +and also simplify the codebase to make it easier to maintain and less +fragile to changes in the underlying Beamer code. + +\section{Getting Started} + +\subsection{Installing from CTAN} + +For most users, we recommend installing \themename from +\href{https://www.ctan.org}{CTAN}. If you keep your \TeX\ distribution +up-to-date, chances are good that \themename is already installed. If it is +not, you need to update your packages. If your distribution is \TeX\ Live +(or Mac\TeX\ on OS X), the following command updates all packages. + +\begin{lstlisting} +tlmgr update --all +\end{lstlisting} + +If this results in an error, you may need to run it with administrative privileges: + +\begin{lstlisting} +sudo tlmgr update --all +\end{lstlisting} + +Mac\TeX\ on OS X also provides a graphical interface for |tlmgr| called +\TeX\ Live Utility. + +For any other distribution please refer to its documentation on how to update +your packages. + +\subsection{Installing from Source} + +If you want to use the development version of \themename, you can +install it manually. You only need a recent \LaTeX\ distribution +which includes \textbf{l3build}. Then simply follow the steps below. +\begin{description} + \item[Download the source] with a |git clone| of + \url{https://github.com/jolars/moloch} + + \item[Install the package] by running |l3build install| inside the downloaded + directory. +\end{description} + +\subsection{A Minimal Example} + +The following code shows a minimal example of a Beamer presentation using +\themename. + +\begin{lstlisting} +\documentclass{beamer} +\usetheme{moloch} +\title{A minimal example} +\date{\today} +\author{Johan Larsson} +\institute{Centre for Modern Beamer Themes} +\begin{document} + \maketitle + \section{First Section} + \begin{frame}{First Frame} + Hello, world! + \end{frame} +\end{document} +\end{lstlisting} + + +\subsection{Dependencies} + +\themename depends on the |beamer| class and the following standard packages: +\begin{multicols}{3} + \begin{itemize} + \item |tikz| + \item |pgfopts| + \item |calc| + \end{itemize} +\end{multicols} + +\subsection{Pandoc} + +To use this theme with \href{http://johnmacfarlane.net/pandoc/}{Pandoc}-based +presentations, you can run the following command + +\begin{lstlisting} +$ pandoc -t beamer -V theme:moloch -o output.pdf input.md +\end{lstlisting} + + +\section{Customization} + +\subsection{Package options} + +The theme provides a number of options, which can be set using a key=value +interface. The primary way to set options is to provide a comma-separated list +of option-value pairs when loading \themename in the preamble: +\begin{lstlisting} +\usetheme[option1=value1, option2=value2, ...]{moloch} +\end{lstlisting} + +Options can be changed at any time---even mid-presentation---with the +|\molochset| macro. +\begin{lstlisting} +\molochset{option1=newvalue1, option2=newvalue2, ...} +\end{lstlisting} + +The list of options is structured as shown in the following example. + +\DescribeOption{option key}{list of possible values}{default}{ + A short description of the option. +} + +\subsubsection{Inner theme} + +\DescribeOption{sectionpage}{none, simple, progressbar}{progressbar}{ + Adds a slide at the start of each section (|simple|) with an optional thin + progress bar below the section title (|progressbar|). The |none| option + disables the section page. +} + +\DescribeOption{subsectionpage}{none, simple, progressbar}{none}{ + Optionally adds a slide at the start of each subsection. If enabled with + the |simple| or |progressbar| options, the style of the |section page| will + be updated to match the style of the |subsection page|. Note that section + slides and subsection slides can appear consecutively if both are enabled; + you may want to use this option together with |sectionpage=none| depending + on the section structure of your presentation. +} + + +\subsubsection{Outer theme} + +\DescribeOption{progressbar}{none, head, frametitle, foot}{none}{ + Optionally adds a progress bar to the top of each frame (|head|), + the bottom of each frame (|foot|), or directly below each frame title + (|frametitle|). +} + +\subsubsection{Color theme} + +\DescribeOption{background}{dark, light}{light}{ + Provides the option to have a dark background and light foreground instead + of the reverse. +} + +\subsection{Color Customization} + +The included \themename color theme is used by default, but its colors can be +easily changed to suit your tastes. All of the theme's styles are defined in +terms of three beamer colors: +\begin{itemize} + \item |normal text| (dark fg, light bg) + \item |alerted text| (colored fg, should be visible against dark or light) + \item |example text| (colored fg, should be visible against dark or light) +\end{itemize} + +An easy way to customize the theme is to redefine these colors using + +\begin{lstlisting} +\setbeamercolor{ ... }{ fg= ... , bg= ... } +\end{lstlisting} +in your preamble. For greater customization, you can redefine any of the other +stock beamer colors. In addition to the stock colors the theme defines a number +of \themename specific colors, which can also be redefined to your liking. + +\begin{lstlisting} +\setbeamercolor{progress bar}{ ... } +\setbeamercolor{title separator}{ ... } +\setbeamercolor{progress bar in head/foot}{ ... } +\setbeamercolor{progress bar in section page}{ ... } +\end{lstlisting} + +For low-light situations \themename it might be helpful to use the +|moloch-highcontrast| color theme. It is enabled like any other color theme: + +\begin{lstlisting} +\usecolortheme{moloch-highcontrast} +\end{lstlisting} + + +\subsection{Commands} + +\subsubsection{Standout frames} + +The \themename inner theme offers a custom frame format with large, centered +text and an inverted background---perfect for focusing attention on +single sentence or image. To use it, add the key |standout| to the frame: + +\begin{lstlisting} +\begin{frame}[standout] + Thank you! +\end{frame} +\end{lstlisting} + +\section{Known Issues} + +\subsection{Interactions with other color themes} + +\themename can be used along with any other Beamer color theme, such as +|crane| or |seahorse|. If you wish to do this, it is usually best to include +the \themename subpackages individually so the \themename color theme is +never loaded. This will prevent conflicts between the \themename color theme +and your preferred theme. + +For example, overriding the color theme as follows may not work as expected because |\usetheme{moloch}| loads the \themename color theme, which +defines a relationship between the frametitle background and the primary +palette of the theme. Since |seahorse| assumes a different relationship +between its palettes, the result is a grey, rather than periwinkle, +frametitle background. + +\begin{lstlisting} +\usetheme{moloch} +\usecolortheme{seahorse} +\end{lstlisting} + +The correct colors are chosen if the \themename outer, inner, and font themes +are loaded seperately: + +\begin{lstlisting} +\useoutertheme{moloch} +\useinnertheme{moloch} +\usefonttheme{moloch} +\usecolortheme{seahorse} % or your preferred color theme +\end{lstlisting} + +Please note that \themename may not use all the colors defined in your +favourite Beamer color theme. In particular, \themename does not set a +background color for the title; this will cause issues when using color themes +like |whale| which set a white foreground for the title. + + +\subsection{Notes on second screen} + +If you use the \verb+[show notes on second screen]+ option built in to Beamer and +compile with \XeLaTeX, text on slides following the first section slide may +be rendered in white instead of the regular colour. This is due to +\href{http://tex.stackexchange.com/questions/288408/}{a bug} in Beamer +or \XeLaTeX\ itself. You can work around it either by compiling with \LuaTeX\ +or by adding the following code to your preamble to reset the text color +on each slide. + +\begin{lstlisting} +\makeatletter +\def\beamer@framenotesbegin{% at beginning of slide + \usebeamercolor[fg]{normal text} + \gdef\beamer@noteitems{}% + \gdef\beamer@notes{}% +} +\makeatother +\end{lstlisting} + + +\subsection{Standout frames with labels} + +Because the |standout| frame option creates a group to restrict the colour +change to a single slide, labels defined after calling |standout| will stay +local to the group. In other words, the following may result in a ``label undefined'' error. + +\begin{lstlisting} +\begin{frame}[standout, label=conclusion]{Conclusion} + Awesome slide +\end{frame} +\end{lstlisting} + +To fix this problem, change the order of the keys in the frame. + +\begin{lstlisting} +\begin{frame}[label=conclusion, standout]{Conclusion} + Awesome slide +\end{frame} +\end{lstlisting} + +This error can be unwittingly triggered if you export your slides from Emacs +Org mode, which automatically adds labels after frame options. Alex Branham +\href{https://github.com/matze/mtheme/issues/203}{offers} the following +solution for Org mode users, using |org-set-property|. + +\begin{lstlisting} +* Start of a frame + :PROPERTIES: + :BEAMER_opt: label=conclusion,standout + :END: +\end{lstlisting} + + +\subsection{Standout frames with Pandoc} + +With Pandoc versions prior 1.17.2 it was not possible to create standout frames +because Pandoc only supported a specific list of frame attributes thus ignoring +additional attributes such as |{.standout}|. + + +\section{License} + +\themename is licensed under a +\href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons + Attribution-ShareAlike 4.0 International License}. +This means that if you change the theme and re-distribute it, you must retain +the copyright notice header and license it under the same CC-BY-SA license. +This does not affect any presentations that you create with the theme. + + +\section{Implementation} + +\DocInput{beamerthememoloch.dtx} +\DocInput{beamerinnerthememoloch.dtx} +\DocInput{beamerouterthememoloch.dtx} +\DocInput{beamerfontthememoloch.dtx} +\DocInput{beamercolorthememoloch.dtx} + +\end{document} |