mirror of https://github.com/matze/mtheme.git
250 lines
5.2 KiB
TeX
250 lines
5.2 KiB
TeX
% \iffalse meta-comment -------------------------------------------------------
|
|
% 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/).
|
|
% ------------------------------------------------------------------------- \fi
|
|
% \iffalse
|
|
%<driver> \ProvidesFile{beamerthemem.dtx}
|
|
%<*package>
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesPackage{beamerthemem}
|
|
[2015/06/12 A Modern Beamer Theme]
|
|
%</package>
|
|
%<driver> \documentclass{ltxdoc}
|
|
%<driver> \usepackage{beamerthemem}
|
|
%<driver> \begin{document}
|
|
%<driver> \DocInput{beamerthemem.dtx}
|
|
%<driver> \end{document}
|
|
% \fi
|
|
% \CheckSum{0}
|
|
% \StopEventually{}
|
|
% \iffalse
|
|
%<*package>
|
|
% ------------------------------------------------------------------------- \fi
|
|
%
|
|
%
|
|
%
|
|
% Options
|
|
%
|
|
% \begin{macrocode}
|
|
\newif\if@useTitleProgressBar
|
|
\@useTitleProgressBarfalse
|
|
\DeclareOptionBeamer{usetitleprogressbar}{
|
|
\@useTitleProgressBartrue
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% usetotalslideindicator
|
|
%
|
|
% \begin{macrocode}
|
|
\newif\if@useTotalSlideIndicator
|
|
\@useTotalSlideIndicatorfalse
|
|
\DeclareOptionBeamer{usetotalslideindicator}{
|
|
\@useTotalSlideIndicatortrue
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% noslidenumbers
|
|
%
|
|
% \begin{macrocode}
|
|
\newif\if@noSlideNumbers
|
|
\@noSlideNumbersfalse
|
|
\DeclareOptionBeamer{noslidenumbers}{
|
|
\@noSlideNumberstrue
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% nosectionslide
|
|
%
|
|
% \begin{macrocode}
|
|
\newif\if@noSectionSlide
|
|
\@noSectionSlidefalse
|
|
\DeclareOptionBeamer{nosectionslide}{
|
|
\@noSectionSlidetrue
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% protectframetitle
|
|
%
|
|
% \begin{macrocode}
|
|
\newif\if@protectFrameTitle
|
|
\@protectFrameTitlefalse
|
|
\DeclareOptionBeamer{protectframetitle}{
|
|
\@protectFrameTitletrue
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% nooffset
|
|
%
|
|
% \begin{macrocode}
|
|
\newlength{\@mtheme@voffset}
|
|
\setlength{\@mtheme@voffset}{2em}
|
|
\DeclareOptionBeamer{nooffset}{
|
|
\setlength{\@mtheme@voffset}{0em}
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% blockbg
|
|
%
|
|
% \begin{macrocode}
|
|
\DeclareOptionBeamer{blockbg}{
|
|
\PassOptionsToPackage{blockbg}{beamercolorthememetropolis}%
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% darkcolors
|
|
%
|
|
% \begin{macrocode}
|
|
\DeclareOptionBeamer{darkcolors}{
|
|
\PassOptionsToPackage{darkcolors}{beamercolorthememetropolis}%
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% Unknown option error handling
|
|
%
|
|
% \begin{macrocode}
|
|
\DeclareOptionBeamer*{
|
|
\PackageWarning{beamerthemem}{Unknown option `\CurrentOption'}%
|
|
}
|
|
\ProcessOptionsBeamer
|
|
% \end{macrocode}
|
|
%
|
|
% mthemetitleformat
|
|
%
|
|
% \begin{macro}{\mthemetitleformat}
|
|
% \begin{macrocode}
|
|
\def\mthemetitleformat#1{\scshape #1}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \begin{macrocode}
|
|
\mode<presentation>
|
|
% \end{macrocode}
|
|
%
|
|
% Packages
|
|
%
|
|
% \begin{macrocode}
|
|
\RequirePackage{etoolbox}
|
|
\RequirePackage{tikz}
|
|
\RequirePackage{pgfplots}
|
|
\RequirePackage{ifxetex,ifluatex}
|
|
\newif\ifxetexorluatex
|
|
\ifxetex
|
|
\xetexorluatextrue
|
|
\else
|
|
\ifluatex
|
|
\xetexorluatextrue
|
|
\else
|
|
\xetexorluatexfalse
|
|
\fi
|
|
\fi
|
|
\usetikzlibrary{backgrounds}
|
|
\usetikzlibrary{calc}
|
|
\usecolortheme{metropolis}
|
|
\ifxetexorluatex
|
|
\usefonttheme{metropolis}
|
|
\else
|
|
\PackageWarning{beamerthemem}{You need to compile with XeLaTeX or LuaLaTeX for the Fira fonts.}
|
|
\fi
|
|
|
|
\useinnertheme{metropolis}%
|
|
|
|
\AtEndPreamble{%
|
|
\@ifpackageloaded{pgfplots}{%
|
|
\RequirePackage{pgfplotsthemetol}
|
|
}{}
|
|
}
|
|
|
|
% \end{macrocode}
|
|
%
|
|
% Create a plain frame with dark background
|
|
%
|
|
% \begin{macro}{\plain}
|
|
% \begin{macrocode}
|
|
\newcommand{\plain}[2][]{%
|
|
\begingroup
|
|
\setbeamercolor{background canvas}{use=palette primary,parent=palette primary}
|
|
\begin{frame}{#1}
|
|
\centering
|
|
\vfill
|
|
\vspace{1em}
|
|
\usebeamercolor[fg]{palette primary}
|
|
\usebeamerfont{section title}
|
|
\mthemetitleformat{#2}
|
|
\vfill
|
|
\end{frame}
|
|
\endgroup
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
%
|
|
%
|
|
%
|
|
% Footline/footnote
|
|
%
|
|
% \begin{macrocode}
|
|
\usenavigationsymbolstemplate{}
|
|
\setbeamertemplate{footline}
|
|
{%
|
|
\begin{beamercolorbox}[wd=\textwidth,ht=3ex,dp=3ex,leftskip=0.3cm,rightskip=0.3cm]{footline}%
|
|
\hfill\usebeamerfont{page number in head/foot}%
|
|
\if@noSlideNumbers%
|
|
%Purposefully left blank to display no slide number.%
|
|
\else%
|
|
\if@useTotalSlideIndicator%
|
|
\insertframenumber/\inserttotalframenumber%
|
|
\else%
|
|
\insertframenumber%
|
|
\fi%
|
|
\fi%
|
|
\end{beamercolorbox}%
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
% Frametitle
|
|
%
|
|
% \begin{macrocode}
|
|
\setbeamertemplate{frametitle}{%
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\paperwidth,leftskip=0.3cm,rightskip=0.3cm,ht=2.5ex,dp=1.5ex]{frametitle}
|
|
\usebeamerfont{frametitle}%
|
|
\if@protectFrameTitle%
|
|
\mthemetitleformat{\protect\insertframetitle}%
|
|
\else%
|
|
\mthemetitleformat{\insertframetitle}%
|
|
\fi%
|
|
\end{beamercolorbox}%
|
|
\if@useTitleProgressBar
|
|
\nointerlineskip
|
|
\begin{beamercolorbox}[wd=\paperwidth,ht=0.4pt,dp=0pt]{frametitle}
|
|
\progressbar{\paperwidth}
|
|
\end{beamercolorbox}
|
|
\fi
|
|
\vspace{\@mtheme@voffset}
|
|
}
|
|
% \end{macrocode}
|
|
%
|
|
%
|
|
%
|
|
% misc
|
|
%
|
|
%
|
|
% \begin{macro}{\mreducelistspacing}
|
|
% \begin{macrocode}
|
|
\newcommand{\mreducelistspacing}{\vspace{-\topsep}}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \iffalse
|
|
%</package>
|
|
% \fi
|
|
% \Finale
|
|
\endinput
|