\documentclass[10pt]{beamer}

\usetheme{moloch}

\usepackage[T1]{fontenc}

\usepackage{appendixnumberbeamer}

\usepackage{booktabs}
\usepackage[scale=2]{ccicons}

\usepackage[medium,light]{FiraSans}
\usepackage[medium]{FiraMono}

\usepackage{xspace}

\newcommand{\themename}{\textbf{moloch}\xspace}

\title{Moloch}
\subtitle{A Minimal Beamer Theme}
\date{\today}
\author{Johan Larsson}
\institute{The Department of Statistics, Lund University}

\begin{document}

\maketitle

\begin{frame}{Table of Contents}
  \setbeamertemplate{section in toc}[sections numbered]
  \tableofcontents[hideallsubsections]
\end{frame}

\section{Introduction}

\begin{frame}[fragile]{Moloch}

  The \themename theme is a Beamer theme with minimal visual noise. It is a fork of the
  \href{https://github.com/matze/mtheme}{metropolis theme} by Matthias Vogelgesang, which in turn was inspired by
  by the \href{https://github.com/hsrmbeamertheme/hsrmbeamertheme}{hsrm theme} by Benjamin Weiss.

  Enable the theme by calling
  \begin{verbatim}\documentclass{beamer}
\usetheme{moloch}\end{verbatim}
\end{frame}
\begin{frame}[fragile]{Sections}
  Sections group slides of the same topic by introducing a section page between them. A progress bar is shown which indicates how far along in the presentation you are.

  \begin{verbatim}\section{Title Formats}\end{verbatim}
\end{frame}

\section{Title Formats}

\begin{frame}[fragile]{Moloch Title Formats}
  \themename supports four different title formats:
  \begin{itemize}
    \item Regular
    \item \textsc{Small Caps}
    \item \textsc{All Small Caps}
    \item ALL CAPS
  \end{itemize}

  They can either be set globally for every frame or used locally just for the current frame and onwards by using
  \begin{verbatim}\molochset{titleformat frame=<option>}\end{verbatim}
\end{frame}

{
\molochset{titleformat frame=smallcaps}
\begin{frame}{Small Caps}
  This frame uses the \texttt{smallcaps} title format.

  \begin{alertblock}{Potential Problems}
    Be aware that not every font supports small caps. If for example you typeset your presentation with pdfTeX and the Computer Modern Sans Serif font, every text in small caps will be typeset with the Computer Modern Serif font instead.
  \end{alertblock}
\end{frame}
}

{
\molochset{titleformat frame=allsmallcaps}
\begin{frame}{All Small Caps}
  This frame uses the \texttt{allsmallcaps} title format.

  \begin{alertblock}{Potential Problems}
    As this title format also uses small caps you face the same problems as with the \texttt{smallcaps} title format. Additionally this format can cause some other problems. Please refer to the documentation if you consider using it.

    \medskip

    As a rule of thumb: just use it for plaintext-only titles.
  \end{alertblock}
\end{frame}
}

{
\molochset{titleformat frame=allcaps}
\begin{frame}{All Caps}
  This frame uses the \texttt{allcaps} title format.

  \begin{alertblock}{Potential Problems}
    This title format is not as problematic as the \texttt{allsmallcaps} format, but basically suffers from the same deficiencies. So please have a look at the documentation if you want to use it.
  \end{alertblock}
\end{frame}
}

\section{Elements}

\begin{frame}[fragile]{Typography}
  \begin{verbatim}The theme provides sensible defaults to
\emph{emphasize} text, \alert{accent} parts or show
\textbf{bold} results.\end{verbatim}
  \begin{center}
    becomes
  \end{center}
  The theme provides sensible defaults to \emph{emphasize} text,
  \alert{accent} parts or show \textbf{bold} results.
\end{frame}

\begin{frame}{Font Features Test}
  \begin{itemize}
    \item Regular
    \item \textit{Italic}
    \item \textbf{Bold}
    \item \textbf{\textit{Bold Italic}}
    \item \texttt{Monospace}
    \item \texttt{\textit{Monospace Italic}}
    \item \texttt{\textbf{Monospace Bold}}
    \item \texttt{\textbf{\textit{Monospace Bold Italic}}}
    \item \textsc{Small Caps}
    \item \textbf{\textsc{Bold Small Caps}}
  \end{itemize}
\end{frame}

\begin{frame}{Lists}
  \begin{columns}[T,onlytextwidth]
    \column{0.3\textwidth}
    Items
    \begin{itemize}
      \item Milk \item Eggs \item Potatoes
    \end{itemize}

    \column{0.33\textwidth}
    Enumerations
    \begin{enumerate}
      \item First, \item Second and \item Last.
    \end{enumerate}

    \column{0.33\textwidth}
    Descriptions
    \begin{description}
      \item[PowerPoint] Meeh. \item[Beamer] Yeeeha.
    \end{description}
  \end{columns}
\end{frame}
\begin{frame}{Animation}
  \begin{itemize}[<+- | alert@+>]
    \item \alert<4>{This is\only<4>{ really} important}
    \item Now this
    \item And now this
  \end{itemize}
\end{frame}
\begin{frame}{Figures}
  \begin{figure}
    \newcounter{density}
    \setcounter{density}{20}
    \begin{tikzpicture}
      \def\couleur{alerted text.fg}
      \path[coordinate] (0,0)  coordinate(A)
      ++( 90:5cm) coordinate(B)
      ++(0:5cm) coordinate(C)
      ++(-90:5cm) coordinate(D);
      \draw[fill=\couleur!\thedensity] (A) -- (B) -- (C) --(D) -- cycle;
      \foreach \x in {1,...,40}{%
          \pgfmathsetcounter{density}{\thedensity+20}
          \setcounter{density}{\thedensity}
          \path[coordinate] coordinate(X) at (A){};
          \path[coordinate] (A) -- (B) coordinate[pos=.10](A)
          -- (C) coordinate[pos=.10](B)
          -- (D) coordinate[pos=.10](C)
          -- (X) coordinate[pos=.10](D);
          \draw[fill=\couleur!\thedensity] (A)--(B)--(C)-- (D) -- cycle;
        }
    \end{tikzpicture}
    \caption{Rotated square from
      \href{http://www.texample.net/tikz/examples/rotated-polygons/}{texample.net}.}
  \end{figure}
\end{frame}
\begin{frame}{Tables}
  \begin{table}
    \caption{Largest cities in the world (source: Wikipedia)}
    \begin{tabular}{@{} lr @{}}
      \toprule
      City        & Population \\
      \midrule
      Mexico City & 20,116,842 \\
      Shanghai    & 19,210,000 \\
      Peking      & 15,796,450 \\
      Istanbul    & 14,160,467 \\
      \bottomrule
    \end{tabular}
  \end{table}
\end{frame}
\begin{frame}{Blocks}
  Three different block environments are pre-defined.

  \begin{block}{Default}
    Block content.
  \end{block}

  \begin{alertblock}{Alert}
    Block content.
  \end{alertblock}

  \begin{exampleblock}{Example}
    Block content.
  \end{exampleblock}

\end{frame}

\begin{frame}{Math}
  \begin{equation*}
    e = \lim_{n\to \infty} \left(1 + \frac{1}{n}\right)^n
  \end{equation*}
\end{frame}

\begin{frame}{Quotes}
  \begin{quote}
    Verily, I say unto you, the days spoken of in the Apocalypse are nigh!
  \end{quote}
\end{frame}

{%
\setbeamertemplate{frame footer}{My custom footer}
\begin{frame}[fragile]{Frame Footer}
  \themename defines a custom beamer template to add a text to the footer. It can be set via
  \begin{verbatim}\setbeamertemplate{frame footer}{My custom footer}\end{verbatim}
\end{frame}
}

\begin{frame}[fragile]{References}
  Here are some references~\cite{Knuth92,ConcreteMath,Simpson,Er01,greenwade93} to showcase \verb+[allowframebreaks]+.
\end{frame}

\section{Conclusion}

\begin{frame}{Summary}

  Get the source of this theme and the demo presentation from
  \begin{center}
    \url{github.com/jolars/moloch}
  \end{center}

  The theme is licensed under the
  \href{http://creativecommons.org/licenses/by-sa/4.0/}{Creative Commons Attribution-ShareAlike 4.0 International License}.

  \begin{center}
    \ccbysa
  \end{center}

\end{frame}

\begin{frame}[standout]
  Questions?
\end{frame}

\appendix

\begin{frame}[fragile]{Backup Slides}
  To add slides at the end of your presentation for reference during audience questions, you just need to
  \begin{enumerate}
    \item include the "appendixnumberbeamer" package in your preamble, and
    \item call \verb+\appendix+ command before your backup slides.
  \end{enumerate}

  By doing this, the \themename theme will automatically disable slide numbering and progress bars for the slides in the appendix.
\end{frame}

\begin{frame}[allowframebreaks]{References}

  \bibliography{demo}
  \bibliographystyle{abbrv}

\end{frame}

\end{document}
