texlive[44959] Master: hackthefootline (5aug17)

commits+karl at tug.org commits+karl at tug.org
Sat Aug 5 22:55:42 CEST 2017


Revision: 44959
          http://tug.org/svn/texlive?view=revision&revision=44959
Author:   karl
Date:     2017-08-05 22:55:42 +0200 (Sat, 05 Aug 2017)
Log Message:
-----------
hackthefootline (5aug17)

Modified Paths:
--------------
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/hackthefootline/
    trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md
    trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
    trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex
    trunk/Master/texmf-dist/tex/latex/hackthefootline/
    trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
    trunk/Master/tlpkg/tlpsrc/hackthefootline.tlpsrc

Added: trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md	2017-08-05 20:55:42 UTC (rev 44959)
@@ -0,0 +1,6 @@
+# hackthefootline
+Version 2017/08/04
+
+Provides arbitrary footline selection for LaTeX beamer's standard themes.
+
+This work is licensed under the LPPL 1.3c or any later version.


Property changes on: trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf	2017-08-05 09:14:35 UTC (rev 44958)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf	2017-08-05 20:55:42 UTC (rev 44959)

Property changes on: trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex	2017-08-05 20:55:42 UTC (rev 44959)
@@ -0,0 +1,324 @@
+%%	This is file 'hackthefootline-doc.tex', Version 2017-08-04
+%%	Copyright 2017 Sebastian Friedl <sfr682k at 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 at 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 at t-online.de}{\ttfamily sfr682k at 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}


Property changes on: trunk/Master/texmf-dist/doc/latex/hackthefootline/hackthefootline-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty	2017-08-05 20:55:42 UTC (rev 44959)
@@ -0,0 +1,414 @@
+%%	This is file 'hackthefootline.sty', Version 2017-08-04
+%%	Copyright 2017 Sebastian Friedl <sfr682k at 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 (it may work with other themes as well)
+%%
+%%	-------------------------------------------------------------------------------------------
+%%
+%%	Please report bugs and other problems as well as suggestions for improvements
+%%	to my email address (sfr682k at 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.
+%%
+%%	-------------------------------------------------------------------------------------------
+
+
+\ProvidesPackage{hackthefootline}[2017/08/04 hackthefootline: arbitrary footline selection for LaTeX beamer's standard themes]
+\mode<presentation>
+
+
+
+\newcommand{\htfprintmessage}{%
+	\typeout{}
+	\typeout{========================================}
+	\typeout{FOOTLINE HACK PERFORMED}
+	\typeout{}
+	\typeout{hackthefootline package}
+	\typeout{Version 2017/08/04}
+	\typeout{}
+	\typeout{(c) 2017 Sebastian Friedl}
+	\typeout{Licensed under LPPL 1.3c or later}
+	\typeout{========================================}
+	\typeout{}}
+
+
+
+% OPTION AND VARIABLES DECLARATION --------------------------------------------------------------------------------------------------------------
+
+\newif\ifbeamer at htfonecolfootline
+\beamer at htfonecolfootlinefalse
+\DeclareOptionBeamer{onecol}{\beamer at htfonecolfootlinetrue}
+
+\newif\ifbeamer at htftwocolsfootline
+\beamer at htftwocolsfootlinefalse
+\DeclareOptionBeamer{twocols}{\beamer at htftwocolsfootlinetrue}
+
+\newif\ifbeamer at htfthreecolsfootline
+\beamer at htfthreecolsfootlinefalse
+\DeclareOptionBeamer{threecols}{\beamer at htfthreecolsfootlinetrue}
+
+\newif\ifbeamer at htfcountappendixframes
+\beamer at htfcountappendixframesfalse
+\DeclareOptionBeamer{countappendixframes}{\beamer at htfcountappendixframestrue}
+
+\newif\ifbeamer at htffunnystuff
+\beamer at htffunnystufftrue
+\DeclareOptionBeamer{nofun}{\beamer at htffunnystufffalse}
+
+
+\ProcessOptionsBeamer
+
+
+% Show frame numbers?
+\newif\ifbeamer at htfshowframenrs
+\beamer at htfshowframenrstrue
+
+% Check for author and/or institute when inserting the separation symbol?
+\newif\ifbeamer at htfcheckauth
+\newif\ifbeamer at htfcheckinst
+\newif\ifbeamer at htfinsertsep
+\newcommand{\htfcheckauthor}{\beamer at htfcheckauthtrue	\beamer at htfcheckinstfalse}
+\newcommand{\htfcheckinstit}{\beamer at htfcheckauthfalse	\beamer at htfcheckinsttrue}
+\newcommand{\htfcheckboth}{	 \beamer at htfcheckauthtrue	\beamer at htfcheckinsttrue}
+\newcommand{\htfchecknone}{  \beamer at htfcheckauthfalse	\beamer at htfcheckinstfalse}
+
+% Has the navigation bar been removed by the package?
+\newif\ifbeamer at navigationremoved
+\beamer at navigationremovedfalse
+
+% Variables
+\newif\ifbeamer at htfnotitle			\newif\ifbeamer at htfshorttitle		\newif\ifbeamer at htflongtitle
+\newif\ifbeamer at htfnoauthinst		\newif\ifbeamer at htfonlyauthor		\newif\ifbeamer at htfonlyinstitute
+\newif\ifbeamer at htfinstitutepths	\newif\ifbeamer at htfauthorpths		\newif\ifbeamer at htfauthinst
+\newif\ifbeamer at htfnodate			\newif\ifbeamer at htfshortdate		\newif\ifbeamer at htflongdate
+\newif\ifbeamer at htfnoframenrs		\newif\ifbeamer at htfcounterframenrs	\newif\ifbeamer at htffractionframenrs
+\newif\ifbeamer at htfpercentframenrs
+\newif\ifbeamer at htfcolonsep			\newif\ifbeamer at htfcommasep			\newif\ifbeamer at htfsepspace
+\newif\ifbeamer at htfnofootline
+
+
+
+% DEFAULT VALUES --------------------------------------------------------------------------------------------------------------------------------
+
+\beamer at htfnofootlinefalse
+\ifbeamer at htfonecolfootline\else
+	\ifbeamer at htftwocolsfootline\else
+		\ifbeamer at htfthreecolsfootline\else
+			\beamer at htfnofootlinetrue
+\fi	\fi	\fi
+
+\newcommand{\htfnofootlinedefault}{%
+	\beamer at htfnoframenrstrue			\beamer at htfcounterframenrsfalse		\beamer at htffractionframenrsfalse
+	\beamer at htfpercentframenrsfalse		\beamer at htfshowframenrsfalse
+}
+
+\newcommand{\htfonecolfootlinedefault}{%
+	\beamer at htfnotitlefalse				\beamer at htfshorttitletrue			\beamer at htflongtitlefalse
+	\beamer at htfnoauthinstfalse			\beamer at htfonlyauthorfalse			\beamer at htfonlyinstitutefalse
+	\beamer at htfinstitutepthsfalse		\beamer at htfauthorpthsfalse			\beamer at htfauthinsttrue
+	\beamer at htfnodatetrue				\beamer at htfshortdatefalse			\beamer at htflongdatefalse
+	\beamer at htfnoframenrsfalse			\beamer at htfcounterframenrsfalse		\beamer at htffractionframenrstrue
+	\beamer at htfpercentframenrsfalse
+	\beamer at htfcolonseptrue				\beamer at htfcommasepfalse			\beamer at htfsepspacefalse
+}
+
+\newcommand{\htftwocolsfootlinedefault}{%
+	\beamer at htfnotitlefalse				\beamer at htfshorttitletrue			\beamer at htflongtitlefalse
+	\beamer at htfnoauthinstfalse			\beamer at htfonlyauthortrue			\beamer at htfonlyinstitutefalse
+	\beamer at htfinstitutepthsfalse		\beamer at htfauthorpthsfalse			\beamer at htfauthinstfalse
+	\beamer at htfnodatetrue				\beamer at htfshortdatefalse			\beamer at htflongdatefalse
+	\beamer at htfnoframenrstrue			\beamer at htfcounterframenrsfalse		\beamer at htffractionframenrsfalse
+	\beamer at htfpercentframenrsfalse
+}
+
+\newcommand{\htfthreecolsfootlinedefault}{%
+	\beamer at htfnotitlefalse				\beamer at htfshorttitletrue			\beamer at htflongtitlefalse
+	\beamer at htfnoauthinstfalse			\beamer at htfonlyauthorfalse			\beamer at htfonlyinstitutefalse
+	\beamer at htfinstitutepthstrue		\beamer at htfauthorpthsfalse			\beamer at htfauthinstfalse
+	\beamer at htfnodatefalse				\beamer at htfshortdatetrue			\beamer at htflongdatefalse
+	\beamer at htfnoframenrsfalse			\beamer at htfcounterframenrsfalse		\beamer at htffractionframenrstrue
+	\beamer at htfpercentframenrsfalse
+}
+
+
+
+% ACTIONS FOR NOT COUNTING APPENDIX FRAMES ------------------------------------------------------------------------------------------------------
+
+\ifbeamer at htfcountappendixframes\else
+	% Required packages
+	\RequirePackage{appendixnumberbeamer}
+	\RequirePackage{etoolbox}
+	
+	% Removes frame numbers for appendix slides
+	\apptocmd{\appendix}{%
+		\beamer at htfshowframenrsfalse
+	}{}{}
+\fi
+
+
+
+% REQUIREMENTS FOR SOME "FUNNY STUFF" -----------------------------------------------------------------------------------------------------------
+
+\ifbeamer at htffunnystuff
+	% Frame numbering in %: requirements, package settings, variables, commands
+	\RequirePackage{calc}
+	\RequirePackage[addmissingzero,autolanguage,nosepfour]{numprint}
+	\npdefunit{percent}{\%}{1}
+	\newlength{\progress}
+	\newcommand{\updateprogress}{\setlength{\progress}{100pt*\ratio{\insertframenumber pt}{\inserttotalframenumber pt}}}
+\fi
+
+
+
+% 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 at shortinstitute\@empty\else~~(\insertshortinstitute)\fi}
+\defbeamertemplate*{htf-authinst}{authpths}{\insertshortinstitute\ifx\beamer at shortauthor\@empty\else~~(\insertshortauthor)\fi}
+\defbeamertemplate*{htf-authinst}{bothcmma}{\insertshortauthor\ifx\beamer at shortinstitute\@empty\else,~\insertshortinstitute\fi}
+
+
+
+% TEMPLATES: 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}
+\ifbeamer at htffunnystuff
+	\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}{~~~~~~~~~~}
+
+
+
+% FOOTLINE DEFINITIONS --------------------------------------------------------------------------------------------------------------------------
+
+% No footline
+\defbeamertemplate*{footline}{htf-none}{}
+
+% One column
+\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}%
+		%
+		\beamer at htfinsertsepfalse
+		\ifbeamer at htfcheckauth\ifx\beamer at shortauthor\@empty\else\beamer at htfinsertseptrue\fi\fi
+		\ifbeamer at htfcheckinst\ifx\beamer at shortinstitute\@empty\else\beamer at htfinsertseptrue\fi\fi
+		%
+		\ifx\beamer at shorttitle\@empty \beamer at htfinsertsepfalse \fi
+		\ifbeamer at htfnotitle \beamer at htfinsertsepfalse \fi
+		%
+		\ifbeamer at htfinsertsep\usebeamertemplate{htf-atsep}\fi
+		%
+		\usebeamerfont{title in head/foot}
+		\usebeamertemplate{htf-title}
+		\hfill
+		\usebeamercolor{date in head/foot}
+		\usebeamertemplate{htf-date}
+		% Dummy space for frame numbers
+		\ifbeamer at htfshowframenrs \hspace{5.75em} \fi
+	\end{beamercolorbox}%
+	\ifbeamer at htfshowframenrs
+		\vspace{-3.25ex}
+		\hfill%
+		\begin{beamercolorbox}[wd=6.25em,ht=2.25ex,dp=1ex,right,rightskip=.3cm]{palette primary}
+			\usebeamertemplate{htf-framenrs}
+		\end{beamercolorbox}
+	\fi}
+
+% Two columns
+\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}
+		\end{beamercolorbox}%
+		\begin{beamercolorbox}[wd=.5\paperwidth,ht=2.5ex,dp=1.125ex,leftskip=.3cm,rightskip=.3cm]{title in head/foot}%
+			\usebeamerfont{title in head/foot}\usebeamertemplate{htf-title}\hfill
+			\ifbeamer at htfshowframenrs \usebeamertemplate{htf-framenrs} \fi
+	\end{beamercolorbox}}%
+	\vskip0pt}
+
+% Three columns
+\defbeamertemplate*{footline}{htf-threecols}{
+	\leavevmode%
+	\hbox{%
+		\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,left,leftskip=.3cm]{author in head/foot}%
+			\usebeamerfont{author in head/foot}\usebeamertemplate{htf-authinst}
+		\end{beamercolorbox}%
+		\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
+			\usebeamerfont{title in head/foot}\usebeamertemplate{htf-title}
+		\end{beamercolorbox}%
+		\begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right,rightskip=.3cm]{date in head/foot}%
+			\usebeamerfont{date in head/foot}\usebeamertemplate{htf-date}%
+			% Dummy space for frame numbers
+			\ifbeamer at htfshowframenrs \hspace{5.75em} \fi
+		\end{beamercolorbox}%
+		\ifbeamer at htfshowframenrs%
+			\hspace{-6.25em}%
+			\begin{beamercolorbox}[wd=6.25em,ht=2.25ex,dp=1ex,right,rightskip=.3cm]{date in head/foot}%
+				\usebeamertemplate{htf-framenrs}
+			\end{beamercolorbox}%
+		\fi}%
+	\vskip0pt}
+
+
+
+% CONFIGURATION COMMANDS ------------------------------------------------------------------------------------------------------------------------
+
+% Internal commands setting all variables of a certain template to "false"
+\newcommand{\htfcleartitle}{%
+	\beamer at htfnotitlefalse				\beamer at htfshorttitlefalse			\beamer at htflongtitlefalse}
+\newcommand{\htfclearauthinst}{%
+	\beamer at htfnoauthinstfalse			\beamer at htfonlyauthorfalse			\beamer at htfonlyinstitutefalse
+	\beamer at htfinstitutepthsfalse		\beamer at htfauthorpthsfalse			\beamer at htfauthinstfalse}
+\newcommand{\htfcleardate}{%
+	\beamer at htfnodatefalse				\beamer at htfshortdatefalse			\beamer at htflongdatefalse}
+\newcommand{\htfclearframenrs}{%
+	\beamer at htfnoframenrsfalse			\beamer at htfcounterframenrsfalse		\beamer at htffractionframenrsfalse
+	\beamer at htfpercentframenrsfalse		\beamer at htfshowframenrsfalse}
+\newcommand{\htfclearsep}{%
+	\beamer at htfcolonsepfalse			\beamer at htfcommasepfalse			\beamer at htfsepspacefalse}
+\newcommand{\htfclearfootline}{%
+	\beamer at htfonecolfootlinefalse		\beamer at htftwocolsfootlinefalse		\beamer at htfthreecolsfootlinefalse
+	\beamer at htfnofootlinefalse}
+
+% Commands switching the title template
+\newcommand{\htfnotitle}{			\htfcleartitle		\beamer at htfnotitletrue}
+\newcommand{\htfshorttitle}{		\htfcleartitle		\beamer at htfshorttitletrue}
+\newcommand{\htflongtitle}{			\htfcleartitle		\beamer at htflongtitletrue}
+
+% Commands switching the author/institute template
+\newcommand{\htfnoauthinst}{		\htfclearauthinst	\beamer at htfnoauthinsttrue}
+\newcommand{\htfonlyauthor}{		\htfclearauthinst	\beamer at htfonlyauthortrue}
+\newcommand{\htfonlyinstitute}{		\htfclearauthinst	\beamer at htfonlyinstitutetrue}
+\newcommand{\htfinstitutepths}{		\htfclearauthinst	\beamer at htfinstitutepthstrue}
+\newcommand{\htfauthorpths}{		\htfclearauthinst	\beamer at htfauthorpthstrue}
+\newcommand{\htfauthinst}{			\htfclearauthinst	\beamer at htfauthinsttrue}
+
+% Commands switching the date template
+\newcommand{\htfnodate}{			\htfcleardate		\beamer at htfnodatetrue}
+\newcommand{\htfshortdate}{			\htfcleardate		\beamer at htfshortdatetrue}
+\newcommand{\htflongdate}{			\htfcleardate		\beamer at htflongdatetrue}
+
+% Commands switching the frame numbering template
+\newcommand{\htfnoframenrs}{		\htfclearframenrs	\beamer at htfnoframenrstrue}
+\newcommand{\htfcounterframenrs}{	\htfclearframenrs	\beamer at htfcounterframenrstrue		\beamer at htfshowframenrstrue}
+\newcommand{\htffractionframenrs}{	\htfclearframenrs	\beamer at htffractionframenrstrue		\beamer at htfshowframenrstrue}
+\newcommand{\htfpercentframenrs}{	\htfclearframenrs	\beamer at htfpercentframenrstrue		\beamer at htfshowframenrstrue}
+
+% Commands switching the author/title separator template
+\newcommand{\htfcolonsep}{			\htfclearsep		\beamer at htfcolonseptrue}
+\newcommand{\htfcommasep}{			\htfclearsep		\beamer at htfcommaseptrue}
+\newcommand{\htfsepspace}{			\htfclearsep		\beamer at htfsepspacetrue}
+
+
+
+% HACKING COMMAND -------------------------------------------------------------------------------------------------------------------------------
+
+\newcommand{\hackthefootline}{%
+	\htfprintmessage
+	
+	% Selects footline layout
+	\ifbeamer at htfonecolfootline		\setbeamertemplate{footline}[htf-onecol]
+	\else	\ifbeamer at htftwocolsfootline	\setbeamertemplate{footline}[htf-twocols]
+			\else	\ifbeamer at htfthreecolsfootline	\setbeamertemplate{footline}[htf-threecols]
+					\else	\setbeamertemplate{footline}[htf-none]
+	\fi		\fi		\fi
+	
+	% Title
+	\ifbeamer at htfnotitle			\setbeamertemplate{htf-title}[none] \fi
+	\ifbeamer at htfshorttitle 		\setbeamertemplate{htf-title}[short] \fi
+	\ifbeamer at htflongtitle			\setbeamertemplate{htf-title}[long] \fi
+	
+	% Author/Institute
+	\ifbeamer at htfnoauthinst			\setbeamertemplate{htf-authinst}[none] \htfchecknone \fi
+	\ifbeamer at htfonlyauthor			\setbeamertemplate{htf-authinst}[onlyauth] \htfcheckauthor \fi
+	\ifbeamer at htfonlyinstitute		\setbeamertemplate{htf-authinst}[onlyinst] \htfcheckinstit \fi
+	\ifbeamer at htfinstitutepths		\setbeamertemplate{htf-authinst}[instpths] \htfcheckboth \fi
+	\ifbeamer at htfauthorpths			\setbeamertemplate{htf-authinst}[authpths] \htfcheckboth \fi
+	\ifbeamer at htfauthinst			\setbeamertemplate{htf-authinst}[bothcmma] \htfcheckboth \fi
+	
+	% Date
+	\ifbeamer at htfnodate				\setbeamertemplate{htf-date}[none] \fi
+	\ifbeamer at htfshortdate			\setbeamertemplate{htf-date}[short] \fi
+	\ifbeamer at htflongdate			\setbeamertemplate{htf-date}[long] \fi
+	
+	% Frame numbers
+	\ifbeamer at htfnoframenrs			\setbeamertemplate{htf-framenrs}[none] \fi
+	\ifbeamer at htfcounterframenrs	\setbeamertemplate{htf-framenrs}[counter] \fi
+	\ifbeamer at htffractionframenrs	\setbeamertemplate{htf-framenrs}[fraction] \fi
+	\ifbeamer at htfpercentframenrs	\ifbeamer at 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 at htfcolonsep			\setbeamertemplate{htf-atsep}[colon] \fi
+	\ifbeamer at htfcommasep 			\setbeamertemplate{htf-atsep}[comma] \fi
+	\ifbeamer at htfsepspace 			\setbeamertemplate{htf-atsep}[space] \fi
+}
+
+
+
+% PERFORMS THE "INITIAL HACK" AT BEGINNING A DOCUMENT -------------------------------------------------------------------------------------------
+
+\AtBeginDocument{
+	% Load default settings ...
+	\ifbeamer at htfonecolfootline \htfonecolfootlinedefault
+	\else	\ifbeamer at htftwocolsfootline \htftwocolsfootlinedefault
+	\else	\ifbeamer at htfthreecolsfootline \htfthreecolsfootlinedefault
+	\else	\htfnofootlinedefault
+	\fi		\fi		\fi
+	
+	% ... and perform the hack
+	\hackthefootline}
+
+
+
+% END OF FILE -----------------------------------------------------------------------------------------------------------------------------------
+
+\mode<all>
+\endinput


Property changes on: trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-08-05 09:14:35 UTC (rev 44958)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2017-08-05 20:55:42 UTC (rev 44959)
@@ -309,7 +309,8 @@
     grid grid-system gridset grotesq grundgesetze
     gsemthesis gtl gtrlib-largetrees gtrcrd
     gu guitar guitarchordschemes guitlogo gzt
-  h2020proposal hacm halloweenmath handout hands hang hanging hanoi
+  h2020proposal hackthefootline hacm halloweenmath
+    handout hands hang hanging hanoi
     happy4th har2nat hardwrap harmony harnon-cv harpoon
     harvard harveyballs harvmac hatching hausarbeit-jura havannah
     hc he-she hep hepnames

Modified: trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2017-08-05 09:14:35 UTC (rev 44958)
+++ trunk/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc	2017-08-05 20:55:42 UTC (rev 44959)
@@ -496,6 +496,7 @@
 depend gridset
 depend guitlogo
 depend halloweenmath
+depend hackthefootline
 depend handout
 depend hang
 depend hanging

Added: trunk/Master/tlpkg/tlpsrc/hackthefootline.tlpsrc
===================================================================


More information about the tex-live-commits mailing list