summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-17 23:44:38 +0000
committerKarl Berry <karl@freefriends.org>2018-01-17 23:44:38 +0000
commitd6d84ed40c140f134854ce9a196ed27274c186e5 (patch)
tree2a44c9ef7516005f79cc1bc01641d256c9e46d61
parent7d93b091389b4c4aeaebfd17107d1ab7eb497dc6 (diff)
hackthefootline (17jan18)
git-svn-id: svn://tug.org/texlive/trunk@46356 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/README.md15
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdfbin0 -> 165479 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex435
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdfbin0 -> 86505 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex101
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdfbin72902 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex324
-rw-r--r--Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty388
8 files changed, 709 insertions, 554 deletions
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/README.md b/Master/texmf-dist/doc/latex/hackthefootline/README.md
index 12a04ec2b32..5ca0a825fcc 100644
--- a/Master/texmf-dist/doc/latex/hackthefootline/README.md
+++ b/Master/texmf-dist/doc/latex/hackthefootline/README.md
@@ -1,6 +1,17 @@
# hackthefootline
-Version 2017/08/04
+## Arbitrary footline selection for LaTeX beamer's standard themes.
-Provides arbitrary footline selection for LaTeX beamer's standard themes.
+Some `beamer` themes provide footlines -- and some do not.
+Now, if one wants to have a footline, he is restricted to the (outer) themes providing them or loads multiple themes. On top of that, these provided footlines are only configurable by redefining them as a whole, which is quite uncomfortable and yields many lines of additional code.
+`hackthefootline` is a package taking over, defining and redefining different footlines, so they can be configured using key-value syntax. Also, it is possible (but *not* recommended) to switch between different footline types during a presentation.
+
+
+
+### Dependencies
+`hackthefootline` depends on the `pgfkeys` package and -- obviously -- on the `beamer` class.
+
+Additional sophisticated features included also require `appendixnumberbeamer`, `etoolbox`, `calc` and `numprint`, but these four dependencies can be resolved by passing some options to the `hackthefootline` package.
+
+### License
This work is licensed under the LPPL 1.3c or any later version.
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdf b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdf
new file mode 100644
index 00000000000..6fe185b639a
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex
new file mode 100644
index 00000000000..14f5ed168f5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex
@@ -0,0 +1,435 @@
+%% This is file 'hackthefootline-doc.tex', Version 2018-01-16
+%% Copyright 2017 Sebastian Friedl <sfr682k@t-online.de>
+%%
+%% This work may be distributed and/or modified under the conditions of the LaTeX Project
+%% Public License, either version 1.3c of this license or (at your option) any later version.
+%% The latest version of this license is available at
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX version 2008-05-04 or later
+%%
+%% This work has the LPPL maintenace status 'maintained'.
+%% The current maintainer of this work is Sebastian Friedl.
+%%
+%% This work consists of the files hackthefootline.sty, hackthefootline-examples.tex and
+%% hackthefootline-doc.tex
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% The hackthefootline package is a tool providing arbitrary footline selection and
+%% configuration for LaTeX beamer's standard themes (other themes may also work, of course)
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% Please report bugs and other problems as well as suggestions for improvements
+%% to my email address (sfr682k@t-online.de).
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% Acknowledgement:
+%% The basic layout of the two- and three-column footline is based on the original LaTeX
+%% beamer split and infolines outer themes written by Till Tantau.
+%%
+%% -------------------------------------------------------------------------------------------
+
+% !TeX spellcheck = en_GB
+
+% !TeX document-id = {681db40e-7a84-4428-b4f4-84e230e3ba79}
+% !TeX program=lualatex
+% !TeX TXS-program:compile=txs:///lualatex/[--shell-escape]
+
+
+\documentclass[11pt]{ltxdoc}
+
+\usepackage[erewhon]{newtxmath}
+\usepackage[no-math]{fontspec}
+\usepackage{polyglossia}
+\setdefaultlanguage{english}
+
+\usepackage{csquotes}
+\usepackage{hologo}
+\usepackage[pdfborder={0 0 0}, unicode]{hyperref}
+\usepackage[english]{selnolig}
+\usepackage{tikz}
+
+\newcommand{\DescribeOption}[3]{
+ \DescribeMacro{#1}
+ \begin{minipage}[t]{\textwidth}
+ \textit{\textbf{#2}}\dotfill~\par
+ \begingroup
+ \vspace{0.5em}#3\par
+ \endgroup
+ \end{minipage}%
+ \bigskip\medskip%
+}
+
+
+\parindent 0pt
+
+\setmainfont{erewhon}
+\setsansfont[Scale=MatchLowercase]{Source Sans Pro}
+\setmonofont[Scale=MatchLowercase]{Hack}
+
+\usepackage[left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry}
+
+\hyphenation{coun-ted}
+\MakeShortVerb{"}
+
+
+\title{The \texttt{\bfseries hackthefootline} package \\ {\large\url{https://github.com/SFr682k/hackthefootline}}}
+\author{Sebastian Friedl \\ \href{mailto:sfr682k@t-online.de}{\ttfamily sfr682k@t-online.de}}
+\date{2018/01/16}
+
+\hypersetup{pdftitle={The hackthefootline package},pdfauthor={Sebastian Friedl}}
+
+\begin{document}
+ \maketitle
+ \thispagestyle{empty}
+
+ \begin{center} \itshape
+ Dedicated to all the \LaTeX\ beamer users \dots
+
+ \medskip
+ \dots who load two different themes in the same presentation \\ or redefine commands to obtain the desired footline \dots
+
+ \medskip
+ \dots and the other guys just using "\setbeamertemplate"
+ \end{center}
+
+ \medskip
+ \begin{abstract}
+ \noindent%
+ \textbf{Arbitrary footline selection and configuration for \LaTeX\ \texttt{beamer}'s standard themes.}
+ "hackthefootline" is a package taking over, defining and redefining different footlines, so they can be configured using key-value syntax.
+ \end{abstract}
+
+
+ \tableofcontents
+
+ \clearpage
+
+
+
+ \subsection*{Dependencies and other requirements}
+ \addcontentsline{toc}{subsection}{Dependencies and other requirements}
+ %
+ \DescribeMacro{beamer}
+ Since "hackthefootline" is designed to modify "beamer"'s footlines, it is incompatible to any other document class. Therefore, load this package only in "beamer" documents!
+
+ \medskip
+ \DescribeMacro{pgfkeys}
+ "hackthefootline" heavily depends on the "pgfkeys" package for handling the whole key-value stuff.
+
+ \bigskip
+ Also, additional sophisticated features require the following packages:
+
+ \medskip
+ \DescribeMacro{appendixnumber-}\DescribeMacro{beamer}
+ The "appendixnumberbeamer" package implements a simple solution for appendix frames not being calculated into the total number of frames
+
+ \medskip
+ \DescribeMacro{etoolbox}
+ Provides access on \hologo{eTeX} primitives
+
+ \medskip
+ \DescribeMacro{calc}
+ Required for basic calculations
+
+ \medskip
+ \DescribeMacro{numprint}
+ Prints out numbers, counters and lengths
+
+ \bigskip
+ However, the four latter dependencies can be removed by using some package options. See section \ref{behavioropts} for further details.
+
+
+ \subsection*{License}
+ \addcontentsline{toc}{subsection}{License}
+ \textcopyright\ 2017 Sebastian Friedl
+
+ \smallskip
+ This work may be distributed and/or modified under the conditions of the \LaTeX\ Project Public License, either version 1.3c of this license or (at your option) any later version.
+
+ \smallskip
+ The latest version of this license is available at \url{http://www.latex-project.org/lppl.txt} and version 1.3c or later is part of all distributions of \LaTeX\ version 2008-05-04 or later.
+
+ \smallskip
+ This work has the LPPL maintenace status \enquote*{maintained}. The current maintainer of this work is Sebastian Friedl. \\
+ This work consists of the following files:
+ \begin{itemize} \itemsep 0pt
+ \item "hackthefootline.sty"
+ \item "hackthefootline-examples.tex" and
+ \item "hackthefootline-doc.tex"
+ \end{itemize}
+
+
+ \subsection*{Acknowledgement}
+ \addcontentsline{toc}{subsection}{Acknowledgement}
+ The basic layout of the two-- and three--column footline is based on the original \LaTeX\ beamer split and infolines outer themes written by Till Tantau.
+
+
+ \subsection*{Notice: Behavior inside the presentation's appendix}
+ \addcontentsline{toc}{subsection}{Notice: Behavior inside the presentation's appendix}
+ By default, this package \emph{does not count appendix frames} into the total number of frames and resets the counter for frame numbers to 1 as soon as the "\appendix" command is used. Also, frame numbers won't be displayed on footlines inside the appendix.
+
+ \medskip
+ This behavior can be suppressed by passing the \texttt{countappendixframes} option.
+
+
+
+ \clearpage
+
+
+
+
+ % DOCUMENTATION PART ------------------------------------------------------------------------------------------------------------------------
+
+ \section{Using the package}
+ The "\usepackage[<Options>]{hackthefootline}" command loads the package\footnote{To do so, the package has to be installed in a location where \LaTeX\ is able to find it}. A list of all available options can be found in section \ref{packageoptions}.
+
+ \medskip
+ \textbf{Important note:} You \emph{have} to pass the \emph{footline's number of columns} as an option to the package (available: "onecol", "twocols" or "threecols"). If you don't do so, the footline gets removed completely. \\
+ See section \ref{examples-setup} for some examples.
+
+
+
+ \section{Package options} \label{packageoptions}
+ \subsection{Options influencing the footline's configuration}
+ These options determine the number of columns being used for the footline. \\
+ You \emph{have} to pass one of these options when loading "hackthefootline"; otherwise the footline will be removed completely.
+
+ \medskip
+ \DescribeMacro{onecol}
+ The \enquote{initial footline hack} produces a one--column footline
+
+ \medskip
+ \DescribeMacro{twocols}
+ The \enquote{initial footline hack} produces a two--column footline
+
+ \medskip
+ \DescribeMacro{threecols}
+ The \enquote{initial footline hack} produces a three--column footline
+
+ \subsection{Options influencing the package's behavior} \label{behavioropts}
+ These options can be passed to disable additional features and remove dependencies on other packages.
+
+ \medskip
+ \DescribeMacro{countappendix-}\DescribeMacro{frames}
+ If the "countappendixframes" option is passed to the package, appendix frames are counted into the total number of frames. \\
+ \textit{Removes the following dependencies:} "appendixnumberbeamer", "etoolbox"
+
+ \medskip
+ \DescribeMacro{nofun}
+ Doesn't support frame numbers being shown as \enquote{percent of presentation} \\
+ \textit{Removes the following dependencies:} "calc", "numprint"
+
+
+
+ \section{Configuring the footline}
+ The internal mechanisms of "hackthefootline" are using templates for displaying the provided information.
+ Each template is available in different styles, which can be switched using the provided key value syntax:
+
+ \medskip
+ \DescribeMacro{\htfconfig}
+ Use "\htfconfig{key1=value1, key2=value2, …}" to modify the current configuration of the footline. Changes apply instantly. \\
+ See section \ref{examples-switchtemplates} for examples.
+
+ \bigskip
+ All available keys and values are listed below being depicted as follows:
+
+ \medskip
+ \DescribeOption{key}{possible values}{Description of the values' effects}
+
+ \medskip
+ \textbf{Annotations:}
+ \begin{itemize}
+ \item
+ The default values of the keys depend on the number of columns chosen when loading the package. See section \ref{defaultconfig} for further details.
+ \item
+ \textit{Templates not visible} in the default configuration have been hidden by setting the value of the according key to "none". Apply another value to this key and the template will show up. \\
+ \textit{Templates visible} in the default configuration can be hidden by setting the value of the according key to "none" (there's only one exception: "atsep"). \\
+ See section \ref{examples-switchtemplates} for examples.
+ \end{itemize}
+
+ \bigskip
+ \DescribeOption{cols}{one, two, three, none}{%
+ The number of colums used for the footline:
+ \begin{description}\itemsep0pt
+ \item[one]
+ Use a footline consisting of a single column
+ \item[two]
+ Use a footline consisting of two columns
+ \item[three]
+ Use a footline consisting of three columns
+ \item[none]
+ Remove the footline completely
+ \end{description}
+ This key is provided although it is \emph{not} recommended to change its value within a document.
+ When initializing "hackthefootline" using a column option and switching to the "none" style, there will be a whitespace \enquote{reserved} for the footline left. \\
+ The other way round, when initializing "hackthefootline" without a column option and switching to a footline, the footline will be cut off at half of its height.
+ }
+
+ \DescribeOption{title}{short, long, none}{%
+ Sets the title type displayed in the footline:
+ \begin{description}\itemsep0pt
+ \item[short]
+ Show the short title given in the square braces of the \texttt{\textbackslash title} command. \\
+ When no short title is given, the long title will be used.
+ \item[long]
+ Show the long title given in the curly braces of the \texttt{\textbackslash title} command.
+ \item[none]
+ Don't show any title inside the footline
+ \end{description}}
+
+ \DescribeOption{authinst}{onlyauthor, onlyinst, instpths, authpths, both, none}{%
+ Influences the way author and institute are displayed:
+ \begin{description}\itemsep0pt
+ \item[onlyauthor]
+ Show only the author's name
+ \item[onlyinst]
+ Show only the institute's name
+ \item[instpths]
+ Show both, author and institute, but put the institute into parentheses
+ \item[authpths]
+ Show both, author and institute, but put the author into parentheses
+ \item[both]
+ Show both and separate them using a comma
+ \item[none]
+ Show neither author, nor institute
+ \end{description}
+ All templates use the values specified for short author / short institute.
+ }
+
+ \DescribeOption{date}{short, long, none}{%
+ The date displayed in the footline:
+ \begin{description}\itemsep0pt
+ \item[short]
+ Show the short date
+ \item[long]
+ Show the long date
+ \item[none]
+ Do not show any date
+ \end{description}}
+
+ \DescribeOption{framenrs}{counter, fraction, percent, none}{%
+ Controls the type of frame number shown in the footline:
+ \begin{description}\itemsep0pt
+ \item[counter]
+ Only show the number of the current frame
+ \item[fraction]
+ Show the number of the current frame as well as the total number of frames
+ \item[percent]
+ Display the current progress of the presentation displayed as a percent value \\
+ When setting this value, make sure that you didn't pass the "nofun" option when loading the package, otherwise an error message will be thrown.
+ \item[none]
+ Do not show frame numbers
+ \end{description}}
+
+ \DescribeOption{atsep}{colon, comma, space}{%
+ Sets the character used to separate author and title when using the "onecol" footline:
+ \begin{description}\itemsep0pt
+ \item[colon]
+ Use a colon as separator
+ \item[comma]
+ Use a comma as separator
+ \item[space]
+ Use a space as separator
+ \end{description}}
+
+
+
+ \section{Default configurations} \label{defaultconfig}% TODO: Real pictures
+ Depending on the selected number of columns, the default configuration of the footlines is as follows:
+
+ \subsection*{One--column footline}
+ "\htfconfig{%" \\
+ " title=short, authinst=both," \\
+ " date=none, framenrs=fraction, atsep=colon}" \\[\smallskipamount]
+ \includegraphics[page=1,width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \subsection*{Two--column footline}
+ "\htfconfig{%" \\
+ " title=short, authinst=onlyauthor," \\
+ " date=none, framenrs=none}" \\[\smallskipamount]
+ \includegraphics[page=2,width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \subsection*{Three-column footline}
+ "\htfconfig{%" \\
+ " title=short, authinst=instpths," \\
+ " date=short, framenrs=fraction}" \\[\smallskipamount]
+ \includegraphics[page=3,width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+
+
+ % TODO: rewrite, more examples from "real" beamer documents
+ \section{Examples}
+ \subsection{Setting up \texttt{hackthefootline}}\label{examples-setup}
+ \paragraph{Example 1:}
+ "\usepackage[onecol]{hackthefootline}" \\
+ \textit{Effect:} A one-column footline \\
+ \includegraphics[page=1, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+
+ \paragraph{Example 2:}
+ "\usepackage[twocols]{hackthefootline}" \\
+ \textit{Effect:} A two-column footline \\
+ \includegraphics[page=2, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Example 3:}
+ "\usepackage[threecols]{hackthefootline}" \\
+ \textit{Effect:} A three-column footline \\
+ \includegraphics[page=3, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Example 4:}
+ "\usepackage{hackthefootline}" \\
+ \textit{Effect:} The footline gets removed
+
+
+ \subsection{Switching templates}\label{examples-switchtemplates}
+ This section assumes, that the "\usepackage[twocols]{hackthefootline}" command was used to load the "hackthefootline" package. \\[\medskipamount]
+ The preamble contains the following commands for setting the information about title, author, institute and date: \\[\smallskipamount]
+ "\title[Short Introduction]{%" \\
+ " A short introduction on \texttt{hackthefootline}'s facilities}" \\
+ "\author[S. Friedl]{Sebastian Friedl}" \\
+ "\institute[Some Institute]{Some Institute far, far away}" \\
+ "\date[2018/01/15]{January 15, 2018}"
+
+ \medskip
+ We will start with step 1 and continue further on, each step is changing the result of the last one.
+
+ \paragraph{Initial style:}~ \\
+ \includegraphics[page=4, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 1:} Show fraction frame numbers \\
+ \textit{Command:} "\htfconfig{framenrs=fraction}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=5, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 2:} Show the short version of the date \\
+ \textit{Command:} "\htfconfig{date=short}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=6, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 3:} In addition to the author, show the insitute in parentheses \\
+ \textit{Command:} "\htfconfig{authinst=instpths}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=7, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 4:} Show the long, full title \\
+ \textit{Command:} "\htfconfig{title=long}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=8, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 5:} The right column is too full now. Remove the frame numbers \\
+ \textit{Command:} "\htfconfig{framenrs=none}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=9, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 6:} Switch to a one-column footline and remove the date \\
+ \textit{Command:} "\htfconfig{cols=one, date=none}" \\
+ \textit{Effect:} \\
+ \includegraphics[page=10, width=\textwidth, trim=0 0 0 15, clip]{hackthefootline-examples}
+
+ \paragraph{Step 7:} Remove the footline \\
+ \textit{Command:} "\htfconfig{cols=none}" \\
+ \textit{Effect:} No footline will be shown (but a space above the frame's bottom …)
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdf b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdf
new file mode 100644
index 00000000000..178db6caf8f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex
new file mode 100644
index 00000000000..6536301c1bb
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex
@@ -0,0 +1,101 @@
+%% This is file 'hackthefootline-examples.tex', Version 2018-01-16
+%% Copyright 2017 Sebastian Friedl <sfr682k@t-online.de>
+%%
+%% This work may be distributed and/or modified under the conditions of the LaTeX Project
+%% Public License, either version 1.3c of this license or (at your option) any later version.
+%% The latest version of this license is available at
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX version 2008-05-04 or later
+%%
+%% This work has the LPPL maintenace status 'maintained'.
+%% The current maintainer of this work is Sebastian Friedl.
+%%
+%% This work consists of the files hackthefootline.sty, hackthefootline-examples.tex and
+%% hackthefootline-doc.tex
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% The hackthefootline package is a tool providing arbitrary footline selection and
+%% configuration for LaTeX beamer's standard themes (other themes may also work, of course)
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% Please report bugs and other problems as well as suggestions for improvements
+%% to my email address (sfr682k@t-online.de).
+%%
+%% -------------------------------------------------------------------------------------------
+%%
+%% Acknowledgement:
+%% The basic layout of the two- and three-column footline is based on the original LaTeX
+%% beamer split and infolines outer themes written by Till Tantau.
+%%
+%% -------------------------------------------------------------------------------------------
+
+
+\documentclass[12pt]{beamer}
+
+\usepackage[utf8]{inputenc}
+\usepackage[tabular]{sourcesanspro}
+\usepackage{sourcecodepro}
+
+\usepackage[twocols]{hackthefootline}
+\geometry{paperheight=1cm}
+
+\usecolortheme{whale}
+\usefonttheme[onlysmall]{structurebold}
+\setbeamertemplate{headline}{}
+\setbeamertemplate{navigation symbols}{}
+
+\title{Examples for using the hackthefootline package}
+\author{Sebastian Friedl <sfr682k@t-online.de>}
+
+\begin{document}
+ \title[Short title]{Title}
+ \author[Short author]{Author}
+ \institute[Short institute]{Institute}
+ \date[Short date]{Date}
+
+ \htfconfig{cols=one, title=short, authinst=both, date=none, framenrs=fraction, atsep=colon}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{cols=two, title=short, authinst=onlyauthor, date=none, framenrs=none}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{cols=three, title=short, authinst=instpths, date=short, framenrs=fraction}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+
+ \title[Short Introduction]{A short introduction on \texttt{hackthefootline}'s facilities}
+ \author[S. Friedl]{Sebastian Friedl}
+ \institute[Some Institute]{Some Institute far, far away}
+ \date[2018/01/15]{January 15, 2018}
+ \htfconfig{cols=two, title=short, authinst=onlyauthor, date=none, framenrs=none}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{framenrs=fraction}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{date=short}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{authinst=instpths}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{title=long}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{framenrs=none}
+ \frame{}
+ \addtocounter{framenumber}{-1}
+
+ \htfconfig{cols=one, date=none}
+ \frame{}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf b/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
deleted file mode 100644
index 7eb6d60c843..00000000000
--- a/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex b/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex
deleted file mode 100644
index 2af404db4cf..00000000000
--- a/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex
+++ /dev/null
@@ -1,324 +0,0 @@
-%% This is file 'hackthefootline-doc.tex', Version 2017-08-04
-%% Copyright 2017 Sebastian Friedl <sfr682k@t-online.de>
-%%
-%% This work may be distributed and/or modified under the conditions of the LaTeX Project
-%% Public License, either version 1.3c of this license or (at your option) any later version.
-%% The latest version of this license is available at
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX version 2008-05-04 or later
-%%
-%% This work has the LPPL maintenace status 'maintained'.
-%% The current maintainer of this work is Sebastian Friedl.
-%%
-%% This work consists of the files hackthefootline.sty and hackthefootline-doc.tex
-%%
-%% -------------------------------------------------------------------------------------------
-%%
-%% The hackthefootline package is a tool providing arbitrary footline selection for
-%% LaTeX beamer's standard themes (other themes may also work, of course)
-%%
-%% -------------------------------------------------------------------------------------------
-%%
-%% Please report bugs and other problems as well as suggestions for improvements
-%% to my email address (sfr682k@t-online.de).
-%%
-%% -------------------------------------------------------------------------------------------
-%%
-%% Acknowledgement:
-%% The basic layout of the two- and three-column footline is based on the original LaTeX
-%% beamer split and infolines outer themes written by Till Tantau.
-%%
-%% -------------------------------------------------------------------------------------------
-
-% !TeX spellcheck = en_GB
-
-% !TeX document-id = {681db40e-7a84-4428-b4f4-84e230e3ba79}
-% !TeX program=lualatex
-% !TeX TXS-program:compile=txs:///lualatex/[--shell-escape]
-
-
-\documentclass[11pt]{ltxdoc}
-
-\usepackage[charter]{mathdesign}
-\usepackage[no-math]{fontspec}
-\usepackage{polyglossia}
-\setdefaultlanguage{english}
-
-\usepackage{csquotes}
-\usepackage{hologo}
-\usepackage{hyperref}
-\usepackage{minted}
- \newcommand{\ltxcmd}[1]{\mintinline{LaTeX}{#1}}
-\usepackage[english]{selnolig}
-\usepackage{tikz}
-
-\parindent 0pt
-
-\setmainfont{Noto Serif}
-\setsansfont[Scale=MatchLowercase]{Source Sans Pro}
-\setmonofont[Scale=MatchLowercase]{OCR A Extended}[AutoFakeBold=1.75,AutoFakeSlant=0.225]
-
-\usepackage[left=4.50cm,right=2.75cm,top=3.25cm,bottom=2.75cm,nohead]{geometry}
-
-\hyphenation{}
-
-
-\title{The \texttt{\bfseries hackthefootline} package \\ {\large\url{https://github.com/SFr682k/hackthefootline}}}
-\author{Sebastian Friedl \\ \href{mailto:sfr682k@t-online.de}{\ttfamily sfr682k@t-online.de}}
-\date{2017/08/04}
-
-\hypersetup{pdftitle={The hackthefootline package},pdfauthor={Sebastian Friedl}}
-
-\begin{document}
- \maketitle
- \thispagestyle{empty}
-
- \begin{center} \itshape
- Dedicated to all the \LaTeX\ beamer users \dots
-
- \medskip
- \dots who load two different themes in the same presentation \\ or redefine commands to obtain the desired footline \dots
-
- \medskip
- \dots and the other guys just using \mintinline{LaTeX}{\setbeamertemplate{footline}}
- \end{center}
-
- \medskip
- \begin{abstract}
- \hspace{-1.5em}%
- Provides arbitrary footline selection for \LaTeX\ beamer's standard themes (and maybe other themes) by \enquote{hacking} it. \\
- In this content, \enquote{hacking} means to redefine the footline provided by theme with one of the footline templates provided by this package.
- \end{abstract}
-
-
- \tableofcontents
-
- \clearpage
-
-
-
- \subsection*{Dependencies and other requirements}
- \addcontentsline{toc}{subsection}{Dependencies and other requirements}
- \emph{Load the \texttt{hackthefootline} package only in \LaTeX\ beamer documents!} \\
- The package itself depends on the following other packages:
-
- \medskip
- \DescribeMacro{appendixnumber-}\DescribeMacro{beamer}
- The \texttt{appendixnumberbeamer} package implements a simple solution for appendix frames not being calculated into the total number of frames
-
- \medskip
- \DescribeMacro{etoolbox}
- Provides access on \hologo{eTeX} primitives
-
- \medskip
- \DescribeMacro{calc}
- Required for basic calculations
-
- \medskip
- \DescribeMacro{numprint}
- Prints out numbers, counters and lengths
-
- \bigskip
- The dependencies can be removed completely by passing some options to the package. See section \ref{packageoptions} for further details.
-
-
- \subsection*{License}
- \begin{small}
- \addcontentsline{toc}{subsection}{License}
- \textcopyright\ 2017 Sebastian Friedl
-
- \smallskip
- This work may be distributed and/or modified under the conditions of the \LaTeX\ Project Public License, either version 1.3c of this license or (at your option) any later version.
-
- \smallskip
- The latest version of this license is available at \url{http://www.latex-project.org/lppl.txt} and version 1.3c or later is part of all distributions of \LaTeX\ version 2008-05-04 or later.
-
- \smallskip
- This work has the LPPL maintenace status \enquote*{maintained}. The current maintainer of this work is Sebastian Friedl. \\
- This work consists of the following files:
- \begin{itemize} \itemsep 0pt
- \item \texttt{hackthefootline.sty} and
- \item \texttt{hackthefootline-doc.tex}
- \end{itemize}
- \end{small}
-
-
- \subsection*{Acknowledgement}
- \addcontentsline{toc}{subsection}{Acknowledgement}
- The basic layout of the two-- and three--column footline is based on the original \LaTeX\ beamer split and infolines outer themes written by Till Tantau.
-
-
- \subsection*{Notice: Behaviour inside the presentation's appendix}
- \addcontentsline{toc}{subsection}{Notice: Behaviour inside the presentation's appendix}
- By default, this package \emph{does not count appendix frames} into the total number of frames and resets the counter for frame numbers to 1 as soon as the \ltxcmd{\appendix} command is used. \\
- Also, frame numbers won't be displayed on frames inside the appendix.
-
- \medskip
- This behaviour can be avoided by passing the \texttt{countappendixframes} option to the package.
-
-
-
- \clearpage
-
-
- % DOCUMENTATION PART ------------------------------------------------------------------------------------------------------------------------
-
- \section{Using the package}
- The \mintinline{LaTeX}{\usepackage[<Options>]{hackthefootline}} command loads the package\footnote{To do so, the package has to be installed in a way \LaTeX\ is able to find it}. The complete list of options can be found in section \ref{packageoptions}.
-
- \medskip
- At least, you have to pass the \emph{footline's number of columns} as an option to the package \textit{(available: \texttt{onecol}, \texttt{twocols} or \texttt{threecols})}. If you don't do so, the footline gets removed.
-
-
- \section{Package options} \label{packageoptions}
- The \texttt{hackthefootline} package provides the following options:
-
- \medskip
- \DescribeMacro{onecol}
- The \enquote{initial footline hack} produces a one--column footline
-
- \medskip
- \DescribeMacro{twocols}
- The \enquote{initial footline hack} produces a two--column footline
-
- \medskip
- \DescribeMacro{threecols}
- The \enquote{initial footline hack} produces a three--column footline
-
- \medskip
- \DescribeMacro{countappendix-}\DescribeMacro{frames}
- If the \texttt{countappendixframes} option is passed to the package, appendix frames are counted into the total number of frames. \\
- \textit{Removes following dependencies: \texttt{appendixnumberbeamer}, \texttt{etoolbox}}
-
- \medskip
- \DescribeMacro{nofun}
- Doesn't support frame numbers being shown as \enquote{percent of presentation} \\
- \textit{Removes following dependencies: \texttt{calc}, \texttt{numprint}}
-
-
- \section{Default configurations}
- \subsection*{One--column footline}
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (.5\textwidth,-1.25ex);
- \node[right] at (-.5\textwidth,0) {Short author, short institute:~~~~Short title};
- \node[left] at ( .5\textwidth,0) {1 / 1};
- \end{tikzpicture}
-
- \subsection*{Two--column footline}
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \draw ( .5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \node[left] at (0,0) {Short author};
- \node[right] at (0,0) {Short title};
- \end{tikzpicture}
-
- \subsection*{Three-column footline}
- \begin{tikzpicture}
- \draw (-.5000\textwidth,1.25ex) rectangle (-.1667\textwidth,-1.25ex);
- \draw (-.1667\textwidth,1.25ex) rectangle ( .1667\textwidth,-1.25ex);
- \draw ( .1667\textwidth,1.25ex) rectangle ( .5000\textwidth,-1.25ex);
- \node[right] at (-.5\textwidth,0) {Short auth. (short inst.)};
- \node at (0, 0) {Short title};
- \node[left] at ( .5\textwidth,0) {Short date~~~~1/1};
- \end{tikzpicture}
-
-
- \section{Defined templates}
- The \texttt{hackthefootline} package defines templates with a variety of styles to provide easy personalisation. All defined templates are listed in table \ref{deftemplates}. Switching between different styles of a template is described in section \ref{switchingtemplates}.
-
- \begin{table} \centering\renewcommand{\arraystretch}{1.25}
- \begin{tabular}{lll}
- Template & Style & Switching command \\ \hline\hline
- \textbf{Title} & \textit{Short title} & \ltxcmd{\htfshorttitle} \\
- & \textit{Long presentation title} & \ltxcmd{\htflongtitle} \\
- & \texttt{no title} & \ltxcmd{\htfnotitle} \\ \hline
- \textbf{Author/Inst.} & \textit{Short author} & \ltxcmd{\htfonlyauthor} \\
- & \textit{Short institute} & \ltxcmd{\htfonlyinstitute} \\
- & \textit{Short author (short inst.)} & \ltxcmd{\htfinstitutepths} \\
- & \textit{Short inst. (short author)} & \ltxcmd{\htfauthorpths} \\
- & \textit{Short author, short inst.} & \ltxcmd{\htfauthinst} \\
- & \texttt{no author/inst.} & \ltxcmd{\htfnoauthinst} \\ \hline
- \textbf{Date} & \textit{Short date} & \ltxcmd{\htfshortdate} \\
- & \textit{Long date} & \ltxcmd{\htflongdate} \\
- & \texttt{no date} & \ltxcmd{\htfnodate} \\ \hline
- \textbf{Frame nr.} & \textit{1} & \ltxcmd{\htfcounterframenrs} \\
- & \textit{1 / 5} & \ltxcmd{\htffractionframenrs} \\
- & \textit{42\,\%} & \ltxcmd{\htfpercentframenrs} \\
- & \texttt{no frame numbers} & \ltxcmd{\htfnoframenrs} \\ \hline
- \textbf{Separators:} & \textit{Author: Title} & \ltxcmd{\htfcolonsep} \\
- & \textit{Author, Title} & \ltxcmd{\htfcommasep} \\
- & \textit{Author~~~~Title} & \ltxcmd{\htfsepspace}
- \end{tabular}
-
- \caption{Defined templates and styles}
- \label{deftemplates}
- \end{table}
-
- \section{Switching styles} \label{switchingtemplates}
- The styles of the templates at the initial hack are selected depending on the footline's default settings. \\
- You are able to switch styles inside the \texttt{document} environment by \dots
- \begin{enumerate}
- \item changing the current settings using the commands listed in table~\ref{deftemplates} \textit{\textbf{and}}
- %
- \item applying the settings with the \ltxcmd{\hackthefootline} command. \par
- \textbf{Your changes to the footline's settings only apply when executing this command.}
- \end{enumerate}
-
- \textit{Example:} \vspace{-.75em}
- \begin{minted}[gobble=2,tabsize=4]{LaTeX}
- \htflongdate % Changes current settings ...
- \htfauthinst
- \hackthefootline % ... and applies the changes
- \end{minted}
-
- \bigskip
- If a template is not shown in the current configuration (e.~g. the frame number in the two--column footline), just switch the style:
-
- \medskip
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \draw ( .5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \node[left] at (0,0) {Short author};
- \node[right] at (0,0) {Short title};
- \end{tikzpicture}
- \vspace{-1.5em}
- \begin{minted}[gobble=2,tabsize=4]{LaTeX}
- \htfcounterframenrs
- \hackthefootline
- \end{minted}
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \draw ( .5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \node[left] at (0, 0) {Short author};
- \node[right] at (0, 0) {Short title};
- \node[left] at ( .5\textwidth,0) {1};
- \end{tikzpicture}
-
-
- \bigskip\bigskip
- Also, a template shown in the current configuration can be \enquote{removed} by switching the style:
-
- \medskip
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \draw ( .5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \node[left] at (0, 0) {Short author};
- \node[right] at (0, 0) {Short title};
- \node[left] at ( .5\textwidth,0) {1};
- \end{tikzpicture}
- \vspace{-1.5em}
- \begin{minted}[gobble=2,tabsize=4]{LaTeX}
- \htfnoauthinst
- \hackthefootline
- \end{minted}
- \begin{tikzpicture}
- \draw (-.5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \draw ( .5\textwidth,1.25ex) rectangle (0,-1.25ex);
- \node[right] at (0, 0) {Short title};
- \node[left] at ( .5\textwidth,0) {1};
- \end{tikzpicture}
-
- \vfill
- \thispagestyle{empty}
- \listoftables
-\end{document}
diff --git a/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty b/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
index 3b59d32441a..0882f0fbf07 100644
--- a/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
+++ b/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
@@ -1,4 +1,4 @@
-%% This is file 'hackthefootline.sty', Version 2017-08-04
+%% This is file 'hackthefootline.sty', Version 2018-01-16
%% Copyright 2017 Sebastian Friedl <sfr682k@t-online.de>
%%
%% This work may be distributed and/or modified under the conditions of the LaTeX Project
@@ -10,12 +10,13 @@
%% This work has the LPPL maintenace status 'maintained'.
%% The current maintainer of this work is Sebastian Friedl.
%%
-%% This work consists of the files hackthefootline.sty and hackthefootline-doc.tex
+%% This work consists of the files hackthefootline.sty, hackthefootline-examples.tex and
+%% hackthefootline-doc.tex
%%
%% -------------------------------------------------------------------------------------------
%%
-%% The hackthefootline package is a tool providing arbitrary footline selection for
-%% LaTeX beamer's standard themes (it may work with other themes as well)
+%% The hackthefootline package is a tool providing arbitrary footline selection and
+%% configuration for LaTeX beamer's standard themes (it may work with other themes as well)
%%
%% -------------------------------------------------------------------------------------------
%%
@@ -31,18 +32,17 @@
%% -------------------------------------------------------------------------------------------
-\ProvidesPackage{hackthefootline}[2017/08/04 hackthefootline: arbitrary footline selection for LaTeX beamer's standard themes]
+\ProvidesPackage{hackthefootline}[2018/01/16 hackthefootline: Arbitrary footline selection and configuration for LaTeX beamer's standard themes]
\mode<presentation>
-
+\RequirePackage{pgfkeys}
\newcommand{\htfprintmessage}{%
\typeout{}
\typeout{========================================}
- \typeout{FOOTLINE HACK PERFORMED}
- \typeout{}
- \typeout{hackthefootline package}
- \typeout{Version 2017/08/04}
+ \typeout{THE FOOTLINE HAS BEEN TAKEN OVER}
+ \typeout{by the hackthefootline package}
+ \typeout{Version 2018/01/16}
\typeout{}
\typeout{(c) 2017 Sebastian Friedl}
\typeout{Licensed under LPPL 1.3c or later}
@@ -51,19 +51,24 @@
-% OPTION AND VARIABLES DECLARATION --------------------------------------------------------------------------------------------------------------
+% PACKAGE OPTIONS AND VARIABLES -- INCLUDES AUXILIARY STUFF -------------------------------------------------------------------------------------
-\newif\ifbeamer@htfonecolfootline
-\beamer@htfonecolfootlinefalse
-\DeclareOptionBeamer{onecol}{\beamer@htfonecolfootlinetrue}
+% Check whether a column package option has been specified
+\newif\ifbeamer@htfinitcolsetup
+\beamer@htfinitcolsetupfalse
-\newif\ifbeamer@htftwocolsfootline
-\beamer@htftwocolsfootlinefalse
-\DeclareOptionBeamer{twocols}{\beamer@htftwocolsfootlinetrue}
-
-\newif\ifbeamer@htfthreecolsfootline
-\beamer@htfthreecolsfootlinefalse
-\DeclareOptionBeamer{threecols}{\beamer@htfthreecolsfootlinetrue}
+\DeclareOptionBeamer{onecol}{%
+ \beamer@htfinitcolsetuptrue%
+ \htfconfig{title=short, authinst=both, date=none, framenrs=fraction, atsep=colon}%
+ \AtBeginDocument{\htfconfig{cols=one}}\htfprintmessage}
+\DeclareOptionBeamer{twocols}{%
+ \beamer@htfinitcolsetuptrue%
+ \htfconfig{title=short, authinst=onlyauthor, date=none, framenrs=none}%
+ \AtBeginDocument{\htfconfig{cols=two}}\htfprintmessage}
+\DeclareOptionBeamer{threecols}{%
+ \beamer@htfinitcolsetuptrue%
+ \htfconfig{title=short, authinst=instpths, date=short, framenrs=fraction}%
+ \AtBeginDocument{\htfconfig{cols=three}}\htfprintmessage}
\newif\ifbeamer@htfcountappendixframes
\beamer@htfcountappendixframesfalse
@@ -74,79 +79,25 @@
\DeclareOptionBeamer{nofun}{\beamer@htffunnystufffalse}
-\ProcessOptionsBeamer
-
-
-% Show frame numbers?
-\newif\ifbeamer@htfshowframenrs
-\beamer@htfshowframenrstrue
% Check for author and/or institute when inserting the separation symbol?
\newif\ifbeamer@htfcheckauth
\newif\ifbeamer@htfcheckinst
\newif\ifbeamer@htfinsertsep
-\newcommand{\htfcheckauthor}{\beamer@htfcheckauthtrue \beamer@htfcheckinstfalse}
-\newcommand{\htfcheckinstit}{\beamer@htfcheckauthfalse \beamer@htfcheckinsttrue}
-\newcommand{\htfcheckboth}{ \beamer@htfcheckauthtrue \beamer@htfcheckinsttrue}
-\newcommand{\htfchecknone}{ \beamer@htfcheckauthfalse \beamer@htfcheckinstfalse}
-
-% Has the navigation bar been removed by the package?
-\newif\ifbeamer@navigationremoved
-\beamer@navigationremovedfalse
+\newcommand{\htfcheckauthor}{\beamer@htfcheckauthtrue\beamer@htfcheckinstfalse}
+\newcommand{\htfcheckinstit}{\beamer@htfcheckauthfalse\beamer@htfcheckinsttrue}
+\newcommand{\htfcheckboth}{\beamer@htfcheckauthtrue\beamer@htfcheckinsttrue}
+\newcommand{\htfchecknone}{\beamer@htfcheckauthfalse\beamer@htfcheckinstfalse}
% Variables
-\newif\ifbeamer@htfnotitle \newif\ifbeamer@htfshorttitle \newif\ifbeamer@htflongtitle
-\newif\ifbeamer@htfnoauthinst \newif\ifbeamer@htfonlyauthor \newif\ifbeamer@htfonlyinstitute
-\newif\ifbeamer@htfinstitutepths \newif\ifbeamer@htfauthorpths \newif\ifbeamer@htfauthinst
-\newif\ifbeamer@htfnodate \newif\ifbeamer@htfshortdate \newif\ifbeamer@htflongdate
-\newif\ifbeamer@htfnoframenrs \newif\ifbeamer@htfcounterframenrs \newif\ifbeamer@htffractionframenrs
-\newif\ifbeamer@htfpercentframenrs
-\newif\ifbeamer@htfcolonsep \newif\ifbeamer@htfcommasep \newif\ifbeamer@htfsepspace
-\newif\ifbeamer@htfnofootline
-
-
-
-% DEFAULT VALUES --------------------------------------------------------------------------------------------------------------------------------
-
-\beamer@htfnofootlinefalse
-\ifbeamer@htfonecolfootline\else
- \ifbeamer@htftwocolsfootline\else
- \ifbeamer@htfthreecolsfootline\else
- \beamer@htfnofootlinetrue
-\fi \fi \fi
-
-\newcommand{\htfnofootlinedefault}{%
- \beamer@htfnoframenrstrue \beamer@htfcounterframenrsfalse \beamer@htffractionframenrsfalse
- \beamer@htfpercentframenrsfalse \beamer@htfshowframenrsfalse
-}
-
-\newcommand{\htfonecolfootlinedefault}{%
- \beamer@htfnotitlefalse \beamer@htfshorttitletrue \beamer@htflongtitlefalse
- \beamer@htfnoauthinstfalse \beamer@htfonlyauthorfalse \beamer@htfonlyinstitutefalse
- \beamer@htfinstitutepthsfalse \beamer@htfauthorpthsfalse \beamer@htfauthinsttrue
- \beamer@htfnodatetrue \beamer@htfshortdatefalse \beamer@htflongdatefalse
- \beamer@htfnoframenrsfalse \beamer@htfcounterframenrsfalse \beamer@htffractionframenrstrue
- \beamer@htfpercentframenrsfalse
- \beamer@htfcolonseptrue \beamer@htfcommasepfalse \beamer@htfsepspacefalse
-}
-
-\newcommand{\htftwocolsfootlinedefault}{%
- \beamer@htfnotitlefalse \beamer@htfshorttitletrue \beamer@htflongtitlefalse
- \beamer@htfnoauthinstfalse \beamer@htfonlyauthortrue \beamer@htfonlyinstitutefalse
- \beamer@htfinstitutepthsfalse \beamer@htfauthorpthsfalse \beamer@htfauthinstfalse
- \beamer@htfnodatetrue \beamer@htfshortdatefalse \beamer@htflongdatefalse
- \beamer@htfnoframenrstrue \beamer@htfcounterframenrsfalse \beamer@htffractionframenrsfalse
- \beamer@htfpercentframenrsfalse
-}
+\newif\ifbeamer@htfnotitle
+\newif\ifbeamer@htfshowframenrs
-\newcommand{\htfthreecolsfootlinedefault}{%
- \beamer@htfnotitlefalse \beamer@htfshorttitletrue \beamer@htflongtitlefalse
- \beamer@htfnoauthinstfalse \beamer@htfonlyauthorfalse \beamer@htfonlyinstitutefalse
- \beamer@htfinstitutepthstrue \beamer@htfauthorpthsfalse \beamer@htfauthinstfalse
- \beamer@htfnodatefalse \beamer@htfshortdatetrue \beamer@htflongdatefalse
- \beamer@htfnoframenrsfalse \beamer@htfcounterframenrsfalse \beamer@htffractionframenrstrue
- \beamer@htfpercentframenrsfalse
-}
+% Auxiliary command creating a warning when using a footline without according package option
+\newcommand{\htfcheckforinit}{%
+ \ifbeamer@htfinitcolsetup\else%
+ \PackageWarning{hackthefootline}{When using hacked footlines, please specify an according package option.}
+ \fi}
@@ -159,7 +110,7 @@
% Removes frame numbers for appendix slides
\apptocmd{\appendix}{%
- \beamer@htfshowframenrsfalse
+ \htfconfig{framenrs=none}
}{}{}
\fi
@@ -178,49 +129,39 @@
-% TEMPLATES: TITLE ------------------------------------------------------------------------------------------------------------------------------
-
-\defbeamertemplate*{htf-title}{none}{}
-\defbeamertemplate*{htf-title}{short}{\insertshorttitle}
-\defbeamertemplate*{htf-title}{long}{\inserttitle}
-
-
-
-% TEMPLATES: AUTHOR / INSTITUTE -----------------------------------------------------------------------------------------------------------------
-
-\defbeamertemplate*{htf-authinst}{none}{}
-\defbeamertemplate*{htf-authinst}{onlyauth}{\insertshortauthor}
-\defbeamertemplate*{htf-authinst}{onlyinst}{\insertshortinstitute}
-\defbeamertemplate*{htf-authinst}{instpths}{\insertshortauthor\ifx\beamer@shortinstitute\@empty\else~~(\insertshortinstitute)\fi}
-\defbeamertemplate*{htf-authinst}{authpths}{\insertshortinstitute\ifx\beamer@shortauthor\@empty\else~~(\insertshortauthor)\fi}
-\defbeamertemplate*{htf-authinst}{bothcmma}{\insertshortauthor\ifx\beamer@shortinstitute\@empty\else,~\insertshortinstitute\fi}
-
-
+% TEMPLATES -------------------------------------------------------------------------------------------------------------------------------------
+% Please **always** use \defbeamertemplate **without asterisk**!!
-% TEMPLATES: DATE -------------------------------------------------------------------------------------------------------------------------------
+% Title
+\defbeamertemplate{htf-title}{none}{}
+\defbeamertemplate{htf-title}{short}{\insertshorttitle}
+\defbeamertemplate{htf-title}{long}{\inserttitle}
-\defbeamertemplate*{htf-date}{none}{}
-\defbeamertemplate*{htf-date}{short}{\insertshortdate}
-\defbeamertemplate*{htf-date}{long}{\insertdate}
+% Author/Institute
+\defbeamertemplate{htf-authinst}{none}{}
+\defbeamertemplate{htf-authinst}{onlyauth}{\insertshortauthor}
+\defbeamertemplate{htf-authinst}{onlyinst}{\insertshortinstitute}
+\defbeamertemplate{htf-authinst}{instpths}{\insertshortauthor\ifx\beamer@shortinstitute\@empty\else~~(\insertshortinstitute)\fi}
+\defbeamertemplate{htf-authinst}{authpths}{\insertshortinstitute\ifx\beamer@shortauthor\@empty\else~~(\insertshortauthor)\fi}
+\defbeamertemplate{htf-authinst}{bothcmma}{\insertshortauthor\ifx\beamer@shortinstitute\@empty\else,~\insertshortinstitute\fi}
+% Date
+\defbeamertemplate{htf-date}{none}{}
+\defbeamertemplate{htf-date}{short}{\insertshortdate}
+\defbeamertemplate{htf-date}{long}{\insertdate}
-
-% TEMPLATES: FRAME NUMBERS ----------------------------------------------------------------------------------------------------------------------
-
-\defbeamertemplate*{htf-framenrs}{none}{}
-\defbeamertemplate*{htf-framenrs}{counter}{\insertframenumber}
-\defbeamertemplate*{htf-framenrs}{fraction}{\insertframenumber~/~\inserttotalframenumber}
+% Frame Numbers
+\defbeamertemplate{htf-framenrs}{none}{}
+\defbeamertemplate{htf-framenrs}{counter}{\insertframenumber}
+\defbeamertemplate{htf-framenrs}{fraction}{\insertframenumber~/~\inserttotalframenumber}
\ifbeamer@htffunnystuff
- \defbeamertemplate*{htf-framenrs}{percent}{\updateprogress\nprounddigits{0}\lenprint[percent]{\progress}}
+ \defbeamertemplate{htf-framenrs}{percent}{\updateprogress\nprounddigits{0}\lenprint[percent]{\progress}}
\fi
-
-
-% TEMPLATES: AUTHOR-TITLE-SEPERATOR -------------------------------------------------------------------------------------------------------------
-
-\defbeamertemplate*{htf-atsep}{colon}{:~~~~}
-\defbeamertemplate*{htf-atsep}{comma}{,~}
-\defbeamertemplate*{htf-atsep}{space}{~~~~~~~~~~}
+% Author-Title-Seperator
+\defbeamertemplate{htf-atsep}{colon}{:~~~~}
+\defbeamertemplate{htf-atsep}{comma}{,~}
+\defbeamertemplate{htf-atsep}{space}{~~~~~~~~~~}
@@ -230,7 +171,7 @@
\defbeamertemplate*{footline}{htf-none}{}
% One column
-\defbeamertemplate*{footline}{htf-onecol}{%
+\defbeamertemplate{footline}{htf-onecol}{%
\begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,leftskip=.3cm,rightskip=.3cm]{palette primary}%
\usebeamerfont{author in head/foot}
\usebeamertemplate{htf-authinst}%
@@ -239,8 +180,8 @@
\ifbeamer@htfcheckauth\ifx\beamer@shortauthor\@empty\else\beamer@htfinsertseptrue\fi\fi
\ifbeamer@htfcheckinst\ifx\beamer@shortinstitute\@empty\else\beamer@htfinsertseptrue\fi\fi
%
- \ifx\beamer@shorttitle\@empty \beamer@htfinsertsepfalse \fi
- \ifbeamer@htfnotitle \beamer@htfinsertsepfalse \fi
+ \ifx\beamer@shorttitle\@empty\beamer@htfinsertsepfalse\fi
+ \ifbeamer@htfnotitle\beamer@htfinsertsepfalse\fi
%
\ifbeamer@htfinsertsep\usebeamertemplate{htf-atsep}\fi
%
@@ -261,7 +202,7 @@
\fi}
% Two columns
-\defbeamertemplate*{footline}{htf-twocols}{%
+\defbeamertemplate{footline}{htf-twocols}{%
\leavevmode%
\hbox{\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm]{author in head/foot}%
\usebeamerfont{author in head/foot}\usebeamertemplate{htf-date}\hfill\usebeamertemplate{htf-authinst}
@@ -273,7 +214,7 @@
\vskip0pt}
% Three columns
-\defbeamertemplate*{footline}{htf-threecols}{
+\defbeamertemplate{footline}{htf-threecols}{
\leavevmode%
\hbox{%
\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,left,leftskip=.3cm]{author in head/foot}%
@@ -297,118 +238,109 @@
-% CONFIGURATION COMMANDS ------------------------------------------------------------------------------------------------------------------------
-
-% Internal commands setting all variables of a certain template to "false"
-\newcommand{\htfcleartitle}{%
- \beamer@htfnotitlefalse \beamer@htfshorttitlefalse \beamer@htflongtitlefalse}
-\newcommand{\htfclearauthinst}{%
- \beamer@htfnoauthinstfalse \beamer@htfonlyauthorfalse \beamer@htfonlyinstitutefalse
- \beamer@htfinstitutepthsfalse \beamer@htfauthorpthsfalse \beamer@htfauthinstfalse}
-\newcommand{\htfcleardate}{%
- \beamer@htfnodatefalse \beamer@htfshortdatefalse \beamer@htflongdatefalse}
-\newcommand{\htfclearframenrs}{%
- \beamer@htfnoframenrsfalse \beamer@htfcounterframenrsfalse \beamer@htffractionframenrsfalse
- \beamer@htfpercentframenrsfalse \beamer@htfshowframenrsfalse}
-\newcommand{\htfclearsep}{%
- \beamer@htfcolonsepfalse \beamer@htfcommasepfalse \beamer@htfsepspacefalse}
-\newcommand{\htfclearfootline}{%
- \beamer@htfonecolfootlinefalse \beamer@htftwocolsfootlinefalse \beamer@htfthreecolsfootlinefalse
- \beamer@htfnofootlinefalse}
-
-% Commands switching the title template
-\newcommand{\htfnotitle}{ \htfcleartitle \beamer@htfnotitletrue}
-\newcommand{\htfshorttitle}{ \htfcleartitle \beamer@htfshorttitletrue}
-\newcommand{\htflongtitle}{ \htfcleartitle \beamer@htflongtitletrue}
-
-% Commands switching the author/institute template
-\newcommand{\htfnoauthinst}{ \htfclearauthinst \beamer@htfnoauthinsttrue}
-\newcommand{\htfonlyauthor}{ \htfclearauthinst \beamer@htfonlyauthortrue}
-\newcommand{\htfonlyinstitute}{ \htfclearauthinst \beamer@htfonlyinstitutetrue}
-\newcommand{\htfinstitutepths}{ \htfclearauthinst \beamer@htfinstitutepthstrue}
-\newcommand{\htfauthorpths}{ \htfclearauthinst \beamer@htfauthorpthstrue}
-\newcommand{\htfauthinst}{ \htfclearauthinst \beamer@htfauthinsttrue}
-
-% Commands switching the date template
-\newcommand{\htfnodate}{ \htfcleardate \beamer@htfnodatetrue}
-\newcommand{\htfshortdate}{ \htfcleardate \beamer@htfshortdatetrue}
-\newcommand{\htflongdate}{ \htfcleardate \beamer@htflongdatetrue}
-
-% Commands switching the frame numbering template
-\newcommand{\htfnoframenrs}{ \htfclearframenrs \beamer@htfnoframenrstrue}
-\newcommand{\htfcounterframenrs}{ \htfclearframenrs \beamer@htfcounterframenrstrue \beamer@htfshowframenrstrue}
-\newcommand{\htffractionframenrs}{ \htfclearframenrs \beamer@htffractionframenrstrue \beamer@htfshowframenrstrue}
-\newcommand{\htfpercentframenrs}{ \htfclearframenrs \beamer@htfpercentframenrstrue \beamer@htfshowframenrstrue}
-
-% Commands switching the author/title separator template
-\newcommand{\htfcolonsep}{ \htfclearsep \beamer@htfcolonseptrue}
-\newcommand{\htfcommasep}{ \htfclearsep \beamer@htfcommaseptrue}
-\newcommand{\htfsepspace}{ \htfclearsep \beamer@htfsepspacetrue}
+% PGF KEYS STORING THE CURRENT FOOTLINE CONFIGURATION -------------------------------------------------------------------------------------------
+\pgfkeys{/hackthefootline/cols/.cd,
+ .is choice, .default=none,
+ one/.code={\setbeamertemplate{footline}[htf-onecol]},
+ two/.code={\setbeamertemplate{footline}[htf-twocols]},
+ three/.code={\setbeamertemplate{footline}[htf-threecols]},
+ none/.code={%
+ \htfconfig{framenrs=none}%
+ \setbeamertemplate{footline}[htf-none]},
+}
+\pgfkeys{/hackthefootline/title/.cd,
+ .is choice, .default=none,
+ short/.code={\setbeamertemplate{htf-title}[short]\beamer@htfnotitlefalse},
+ long/.code={\setbeamertemplate{htf-title}[long]\beamer@htfnotitlefalse},
+ none/.code={\setbeamertemplate{htf-title}[none]\beamer@htfnotitletrue},
+}
-% HACKING COMMAND -------------------------------------------------------------------------------------------------------------------------------
+\pgfkeys{/hackthefootline/authinst/.cd,
+ .is choice, .default=none,
+ onlyauthor/.code={\setbeamertemplate{htf-authinst}[onlyauth]\htfcheckauthor},
+ onlyinst/.code={\setbeamertemplate{htf-authinst}[onlyinst]\htfcheckinstit},
+ instpths/.code={\setbeamertemplate{htf-authinst}[instpths]\htfcheckboth},
+ authpths/.code={\setbeamertemplate{htf-authinst}[authpths]\htfcheckboth},
+ both/.code={\setbeamertemplate{htf-authinst}[bothcmma]\htfcheckboth},
+ none/.code={\setbeamertemplate{htf-authinst}[none]\htfchecknone},
+}
-\newcommand{\hackthefootline}{%
- \htfprintmessage
-
- % Selects footline layout
- \ifbeamer@htfonecolfootline \setbeamertemplate{footline}[htf-onecol]
- \else \ifbeamer@htftwocolsfootline \setbeamertemplate{footline}[htf-twocols]
- \else \ifbeamer@htfthreecolsfootline \setbeamertemplate{footline}[htf-threecols]
- \else \setbeamertemplate{footline}[htf-none]
- \fi \fi \fi
-
- % Title
- \ifbeamer@htfnotitle \setbeamertemplate{htf-title}[none] \fi
- \ifbeamer@htfshorttitle \setbeamertemplate{htf-title}[short] \fi
- \ifbeamer@htflongtitle \setbeamertemplate{htf-title}[long] \fi
-
- % Author/Institute
- \ifbeamer@htfnoauthinst \setbeamertemplate{htf-authinst}[none] \htfchecknone \fi
- \ifbeamer@htfonlyauthor \setbeamertemplate{htf-authinst}[onlyauth] \htfcheckauthor \fi
- \ifbeamer@htfonlyinstitute \setbeamertemplate{htf-authinst}[onlyinst] \htfcheckinstit \fi
- \ifbeamer@htfinstitutepths \setbeamertemplate{htf-authinst}[instpths] \htfcheckboth \fi
- \ifbeamer@htfauthorpths \setbeamertemplate{htf-authinst}[authpths] \htfcheckboth \fi
- \ifbeamer@htfauthinst \setbeamertemplate{htf-authinst}[bothcmma] \htfcheckboth \fi
-
- % Date
- \ifbeamer@htfnodate \setbeamertemplate{htf-date}[none] \fi
- \ifbeamer@htfshortdate \setbeamertemplate{htf-date}[short] \fi
- \ifbeamer@htflongdate \setbeamertemplate{htf-date}[long] \fi
-
- % Frame numbers
- \ifbeamer@htfnoframenrs \setbeamertemplate{htf-framenrs}[none] \fi
- \ifbeamer@htfcounterframenrs \setbeamertemplate{htf-framenrs}[counter] \fi
- \ifbeamer@htffractionframenrs \setbeamertemplate{htf-framenrs}[fraction] \fi
- \ifbeamer@htfpercentframenrs \ifbeamer@htffunnystuff \setbeamertemplate{htf-framenrs}[percent]
- \else \PackageError{hackthefootline}{For using percent frame numbers don't pass the nofun option}{}
- \fi \fi
-
- % Author--Title--separators
- \ifbeamer@htfcolonsep \setbeamertemplate{htf-atsep}[colon] \fi
- \ifbeamer@htfcommasep \setbeamertemplate{htf-atsep}[comma] \fi
- \ifbeamer@htfsepspace \setbeamertemplate{htf-atsep}[space] \fi
+\pgfkeys{/hackthefootline/date/.cd,
+ .is choice, .default=none,
+ short/.code={\setbeamertemplate{htf-date}[short]},
+ long/.code={\setbeamertemplate{htf-date}[long]},
+ none/.code={\setbeamertemplate{htf-date}[none]}
}
+\pgfkeys{/hackthefootline/framenrs/.cd,
+ .is choice, .default=none,
+ counter/.code={\setbeamertemplate{htf-framenrs}[counter]\beamer@htfshowframenrstrue},
+ fraction/.code={\setbeamertemplate{htf-framenrs}[fraction]\beamer@htfshowframenrstrue},
+ percent/.code={%
+ \ifbeamer@htffunnystuff \setbeamertemplate{htf-framenrs}[percent]%
+ \else \PackageError{hackthefootline}{Do not pass the nofun option when using percent frame numbers!}{}%
+ \fi
+ \beamer@htfshowframenrstrue%
+ },
+ none/.code={\setbeamertemplate{htf-framenrs}[none]\beamer@htfshowframenrsfalse},
+}
+\pgfkeys{/hackthefootline/atsep/.cd,
+ .is choice, .default=colon,
+ colon/.code={\setbeamertemplate{htf-atsep}[colon]},
+ comma/.code={\setbeamertemplate{htf-atsep}[comma]},
+ space/.code={\setbeamertemplate{htf-atsep}[space]},
+}
-% PERFORMS THE "INITIAL HACK" AT BEGINNING A DOCUMENT -------------------------------------------------------------------------------------------
+% Configruation Command
+\newcommand{\htfconfig}[1]{\pgfkeys{/hackthefootline/.cd,#1}}
+
+
+
+% FORMER CONFIGURATION COMMANDS (OBSOLETE!!) ----------------------------------------------------------------------------------------------------
+
+% These configuration commands have been introduced in the initial release of this package and were implemented very ineffective.
+% Since using pgfkeys for switching the templates, the \htfconfig command has been introduced for easier footline configuration.
+% All commands defined in this section obsolete now and should be replaced by \htfconfig, since they may be removed soon.
+
+% Obsolete commands for switching templates
+\newcommand{\htfnotitle}{\htfObsoleteCMD\htfconfig{title=none}}
+\newcommand{\htfshorttitle}{\htfObsoleteCMD\htfconfig{title=short}}
+\newcommand{\htflongtitle}{\htfObsoleteCMD\htfconfig{title=none}}
+\newcommand{\htfnoauthinst}{\htfObsoleteCMD\htfconfig{authinst=none}}
+\newcommand{\htfonlyauthor}{\htfObsoleteCMD\htfconfig{authinst=onlyauthor}}
+\newcommand{\htfonlyinstitute}{\htfObsoleteCMD\htfconfig{authinst=onlyinst}}
+\newcommand{\htfinstitutepths}{\htfObsoleteCMD\htfconfig{authinst=instpths}}
+\newcommand{\htfauthorpths}{\htfObsoleteCMD\htfconfig{authinst=authpths}}
+\newcommand{\htfauthinst}{\htfObsoleteCMD\htfconfig{authinst=both}}
+\newcommand{\htfnodate}{\htfObsoleteCMD\htfconfig{date=none}}
+\newcommand{\htfshortdate}{\htfObsoleteCMD\htfconfig{date=short}}
+\newcommand{\htflongdate}{\htfObsoleteCMD\htfconfig{date=long}}
+\newcommand{\htfnoframenrs}{\htfObsoleteCMD\htfconfig{framenrs=none}}
+\newcommand{\htfcounterframenrs}{\htfObsoleteCMD\htfconfig{framenrs=counter}}
+\newcommand{\htffractionframenrs}{\htfObsoleteCMD\htfconfig{framenrs=fraction}}
+\newcommand{\htfpercentframenrs}{\htfObsoleteCMD\htfconfig{framenrs=percent}}
+\newcommand{\htfcolonsep}{\htfObsoleteCMD\htfconfig{atsep=colon}}
+\newcommand{\htfcommasep}{\htfObsoleteCMD\htfconfig{atsep=comma}}
+\newcommand{\htfsepspace}{\htfObsoleteCMD\htfconfig{atsep=space}}
+
+% This command was used to apply changes, but is useless now.
+\newcommand{\hackthefootline}{%
+ \PackageWarning{hackthefootline}{%
+ The \protect\hackthefootline command is obsolete and may be removed soon. Consider using \noexpand\htfconfig instead}}
-\AtBeginDocument{
- % Load default settings ...
- \ifbeamer@htfonecolfootline \htfonecolfootlinedefault
- \else \ifbeamer@htftwocolsfootline \htftwocolsfootlinedefault
- \else \ifbeamer@htfthreecolsfootline \htfthreecolsfootlinedefault
- \else \htfnofootlinedefault
- \fi \fi \fi
-
- % ... and perform the hack
- \hackthefootline}
+% A shorthand for printing an "this command is obsolete" warning
+\newcommand{\htfObsoleteCMD}{%
+ \PackageWarning{hackthefootline}{%
+ The old \noexpand\htf... commands are obsolete and may be removed soon. Consider using \noexpand\htfconfig instead}
+}
% END OF FILE -----------------------------------------------------------------------------------------------------------------------------------
+\ProcessOptionsBeamer
\mode<all>
-\endinput
+\endinput \ No newline at end of file