texlive[46494] Master/texmf-dist: hackthefootline (30jan18)

commits+karl at tug.org commits+karl at tug.org
Tue Jan 30 22:04:41 CET 2018


Revision: 46494
          http://tug.org/svn/texlive?view=revision&revision=46494
Author:   karl
Date:     2018-01-30 22:04:41 +0100 (Tue, 30 Jan 2018)
Log Message:
-----------
hackthefootline (30jan18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md
    trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdf
    trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex
    trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdf
    trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex
    trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty

Modified: trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md	2018-01-30 21:04:29 UTC (rev 46493)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/README.md	2018-01-30 21:04:41 UTC (rev 46494)
@@ -1,17 +1,17 @@
 # hackthefootline
-## Arbitrary footline selection for LaTeX beamer's standard themes.
+## Arbitrary footline selection and configuration 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.
+`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 as it might distract your audience) to switch between different footline types during a presentation.
 
 
 
 ### Dependencies
-`hackthefootline` depends on the `pgfkeys` package and -- obviously -- on the `beamer` class.  
+`hackthefootline` depends on the packages `ifthen` and `pgfkeys` 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.
+Additional sophisticated features included also require `appendixnumberbeamer` (only when using beamer v3.48 and older), `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.

Modified: trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex	2018-01-30 21:04:29 UTC (rev 46493)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-doc.tex	2018-01-30 21:04:41 UTC (rev 46494)
@@ -1,5 +1,5 @@
-%%	This is file 'hackthefootline-doc.tex', Version 2018-01-16
-%%	Copyright 2017 Sebastian Friedl <sfr682k at t-online.de>
+%%	This is file 'hackthefootline-doc.tex', Version 2018-01-29
+%%	Copyright 2017-18 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.
@@ -16,7 +16,7 @@
 %%	-------------------------------------------------------------------------------------------
 %%
 %%	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)
+%%	configuration for LaTeX beamer's standard themes (it may work with other themes as well)
 %%
 %%	-------------------------------------------------------------------------------------------
 %%
@@ -77,7 +77,7 @@
 
 \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{2018/01/16}
+\date{2018/01/29}
 
 \hypersetup{pdftitle={The hackthefootline package},pdfauthor={Sebastian Friedl}}
 
@@ -97,9 +97,12 @@
 	
 	\medskip
 	\begin{abstract}
-		\noindent%
-		\textbf{Arbitrary footline selection and configuration for \LaTeX\ \texttt{beamer}'s standard themes.}
+		\parindent0pt\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.
+		
+		\medskip
+		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.
 	\end{abstract}
 	
 	
@@ -116,6 +119,10 @@
 	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{ifthen}
+	This package is required to compare the length of some boxes.
+	
+	\medskip
 	\DescribeMacro{pgfkeys}
 	"hackthefootline" heavily depends on the "pgfkeys" package for handling the whole key-value stuff.
 	
@@ -124,7 +131,8 @@
 	
 	\medskip
 	\DescribeMacro{appendixnumber-}\DescribeMacro{beamer}
-	The "appendixnumberbeamer" package implements a simple solution for appendix frames not being calculated into the total number of frames
+	\textit{\bfseries Only required when using \texttt{beamer} version 3.48 and older.}
+	This package is only required when using "beamer" version 3.48 or older. If you are using "beamer" version 3.49 or later\footnote{i. e. \TeX{}Live 2018 and later}, "hackthefootline" will rely on "beamer"'s internal appendix frame numbering mechanisms.
 	
 	\medskip
 	\DescribeMacro{etoolbox}
@@ -142,9 +150,18 @@
 	However, the four latter dependencies can be removed by using some package options. See section \ref{behavioropts} for further details.
 	
 	
+	\subsection*{Notice: Behavior inside the presentation's appendix}
+	\addcontentsline{toc}{subsection}{Notice: Behavior inside the presentation's appendix}
+	By default, appendix frames are \emph{not} counted into the total number of frames when using "hackthefootline". Appendix frame numbers will be counted from 1 when using fraction frame numbers. \\
+	Also, frame numbers won't be displayed on footlines inside the appendix until this is changed using the means of the "\htfconfig" command.
+	
+	\medskip
+	This behavior can be suppressed by passing the "countappendixframes" option.
+	
+	
 	\subsection*{License}
 	\addcontentsline{toc}{subsection}{License}
-	\textcopyright\ 2017 Sebastian Friedl
+	\textcopyright\ 2017-18 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.
@@ -162,22 +179,8 @@
 	\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
-	
 
 
 
@@ -263,9 +266,11 @@
 			\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.
+		
+		Although the "cols" key's value changes, the other keys' values stay the same. \textbf{If you change the number of columns of a footline, the other keys should be adjusted as well.}
+		
+		\medskip
+		\emph{Warning:} Changing this key's value too often might distract your audience.
 	}
 	
 	\DescribeOption{title}{short, long, none}{%
@@ -337,7 +342,7 @@
 	
 	
 	
-	\section{Default configurations} \label{defaultconfig}% TODO: Real pictures
+	\section{Default configurations} \label{defaultconfig}
 	Depending on the selected number of columns, the default configuration of the footlines is as follows:
 	
 	\subsection*{One--column footline}
@@ -360,7 +365,6 @@
 
 
 
-	% TODO: rewrite, more examples from "real" beamer documents
 	\section{Examples}
 	\subsection{Setting up \texttt{hackthefootline}}\label{examples-setup}
 	\paragraph{Example 1:}

Modified: trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex	2018-01-30 21:04:29 UTC (rev 46493)
+++ trunk/Master/texmf-dist/doc/latex/hackthefootline/doc/hackthefootline-examples.tex	2018-01-30 21:04:41 UTC (rev 46494)
@@ -1,5 +1,5 @@
-%%	This is file 'hackthefootline-examples.tex', Version 2018-01-16
-%%	Copyright 2017 Sebastian Friedl <sfr682k at t-online.de>
+%%	This is file 'hackthefootline-examples.tex', Version 2018-01-29
+%%	Copyright 2017-18 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.
@@ -16,7 +16,7 @@
 %%	-------------------------------------------------------------------------------------------
 %%
 %%	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)
+%%	configuration for LaTeX beamer's standard themes (it may work with other themes as well)
 %%
 %%	-------------------------------------------------------------------------------------------
 %%

Modified: trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty	2018-01-30 21:04:29 UTC (rev 46493)
+++ trunk/Master/texmf-dist/tex/latex/hackthefootline/hackthefootline.sty	2018-01-30 21:04:41 UTC (rev 46494)
@@ -1,5 +1,5 @@
-%%	This is file 'hackthefootline.sty', Version 2018-01-16
-%%	Copyright 2017 Sebastian Friedl <sfr682k at t-online.de>
+%%	This is file 'hackthefootline.sty', Version 2018-01-29
+%%	Copyright 2017-18 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.
@@ -32,9 +32,10 @@
 %%	-------------------------------------------------------------------------------------------
 
 
-\ProvidesPackage{hackthefootline}[2018/01/16 hackthefootline: Arbitrary footline selection and configuration for LaTeX beamer's standard themes]
+\ProvidesPackage{hackthefootline}[2018/01/29 hackthefootline: Arbitrary footline selection and configuration for LaTeX beamer's standard themes]
 \mode<presentation>
 
+\RequirePackage{ifthen}
 \RequirePackage{pgfkeys}
 
 \newcommand{\htfprintmessage}{%
@@ -42,9 +43,9 @@
 	\typeout{========================================}
 	\typeout{THE FOOTLINE HAS BEEN TAKEN OVER}
 	\typeout{by the hackthefootline package}
-	\typeout{Version 2018/01/16}
+	\typeout{Version 2018/01/29}
 	\typeout{}
-	\typeout{(c) 2017 Sebastian Friedl}
+	\typeout{(c) 2017-18 Sebastian Friedl}
 	\typeout{Licensed under LPPL 1.3c or later}
 	\typeout{========================================}
 	\typeout{}}
@@ -53,21 +54,14 @@
 
 % PACKAGE OPTIONS AND VARIABLES -- INCLUDES AUXILIARY STUFF -------------------------------------------------------------------------------------
 
-% Check whether a column package option has been specified
-\newif\ifbeamer at htfinitcolsetup
-\beamer at htfinitcolsetupfalse
-
 \DeclareOptionBeamer{onecol}{%
-	\beamer at htfinitcolsetuptrue%
 	\htfconfig{title=short, authinst=both, date=none, framenrs=fraction, atsep=colon}%
 	\AtBeginDocument{\htfconfig{cols=one}}\htfprintmessage}
 \DeclareOptionBeamer{twocols}{%
-	\beamer at htfinitcolsetuptrue%
-	\htfconfig{title=short, authinst=onlyauthor, date=none, framenrs=none}%
+	\htfconfig{title=short, authinst=onlyauthor, date=none, framenrs=none, atsep=colon}%
 	\AtBeginDocument{\htfconfig{cols=two}}\htfprintmessage}
 \DeclareOptionBeamer{threecols}{%
-	\beamer at htfinitcolsetuptrue%
-	\htfconfig{title=short, authinst=instpths, date=short, framenrs=fraction}%
+	\htfconfig{title=short, authinst=instpths, date=short, framenrs=fraction, atsep=colon}%
 	\AtBeginDocument{\htfconfig{cols=three}}\htfprintmessage}
 
 \newif\ifbeamer at htfcountappendixframes
@@ -93,42 +87,12 @@
 \newif\ifbeamer at htfnotitle
 \newif\ifbeamer at htfshowframenrs
 
-% Auxiliary command creating a warning when using a footline without according package option
-\newcommand{\htfcheckforinit}{%
-	\ifbeamer at htfinitcolsetup\else%
-		\PackageWarning{hackthefootline}{When using hacked footlines, please specify an according package option.}
-	\fi}
+% Own replacement for \beamer at inappendix; required for compatibility reasons
+\newif\ifbeamer at htfinsideappendix
+\beamer at htfinsideappendixfalse
 
 
 
-% ACTIONS FOR NOT COUNTING APPENDIX FRAMES ------------------------------------------------------------------------------------------------------
-
-\ifbeamer at htfcountappendixframes\else
-	% Required packages
-	\RequirePackage{appendixnumberbeamer}
-	\RequirePackage{etoolbox}
-	
-	% Removes frame numbers for appendix slides
-	\apptocmd{\appendix}{%
-		\htfconfig{framenrs=none}
-	}{}{}
-\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 -------------------------------------------------------------------------------------------------------------------------------------
 % Please **always** use \defbeamertemplate **without asterisk**!!
 
@@ -153,11 +117,22 @@
 % Frame Numbers
 \defbeamertemplate{htf-framenrs}{none}{}
 \defbeamertemplate{htf-framenrs}{counter}{\insertframenumber}
-\defbeamertemplate{htf-framenrs}{fraction}{\insertframenumber~/~\inserttotalframenumber}
+\defbeamertemplate{htf-framenrs}{fraction}{%
+	\ifbeamer at htfcountappendixframes{\insertframenumber~/~\inserttotalframenumber}%
+	\else%
+		\ifx\insertmainframenumber\@undefined{\insertframenumber~/~\inserttotalframenumber}%
+		\else%
+			% beamer v3.49 and later: detect whether appendix has been entered and use the required templates and use internal cmds
+			\ifbeamer at htfinsideappendix{\insertframenumberinappendix~/~\insertappendixframenumber}%
+			\else{\insertframenumber~/~\insertmainframenumber}%
+			\fi%
+		\fi%
+	\fi}
 \ifbeamer at htffunnystuff
-	\defbeamertemplate{htf-framenrs}{percent}{\updateprogress\nprounddigits{0}\lenprint[percent]{\progress}}
+	\defbeamertemplate{htf-framenrs}{percent}{\htfupdateprogress\nprounddigits{0}\lenprint[htfpercent]{\htfprogress}}
 \fi
 
+
 % Author-Title-Seperator
 \defbeamertemplate{htf-atsep}{colon}{:~~~~}
 \defbeamertemplate{htf-atsep}{comma}{,~}
@@ -167,6 +142,9 @@
 
 % FOOTLINE DEFINITIONS --------------------------------------------------------------------------------------------------------------------------
 
+% Auxiliary length
+\newlength{\htfframenrboxwidth}%
+
 % No footline
 \defbeamertemplate*{footline}{htf-none}{}
 
@@ -173,7 +151,7 @@
 % 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}
+		\usebeamerfont{author in head/foot}%
 		\usebeamertemplate{htf-authinst}%
 		%
 		\beamer at htfinsertsepfalse
@@ -190,15 +168,29 @@
 		\hfill
 		\usebeamercolor{date in head/foot}
 		\usebeamertemplate{htf-date}
-		% Dummy space for frame numbers
-		\ifbeamer at htfshowframenrs \hspace{5.75em} \fi
+		%
+		% Measure the largest required space when printing frame numbers
+		\newbox\htfpagenumbox%
+		\newbox\htfpercframenumbox%
+		\setbox\htfpagenumbox=\hbox{0\inserttotalframenumber~/~0\inserttotalframenumber}%
+		\setbox\htfpercframenumbox=\hbox{100\,\%}%
+		\ifthenelse{\lengthtest{\wd\htfpagenumbox > \wd\htfpercframenumbox}}%
+			{\setlength{\htfframenrboxwidth}{\wd\htfpagenumbox}}%
+			{\setlength{\htfframenrboxwidth}{\wd\htfpercframenumbox}}%
+		%
+		\ifbeamer at htfshowframenrs \hspace{\htfframenrboxwidth}\hspace{.2\htfframenrboxwidth}~\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}
+		\addtolength{\htfframenrboxwidth}{.3cm}%
+		\addtolength{\htfframenrboxwidth}{2em}%
+		\addtolength{\htfframenrboxwidth}{.5\htfframenrboxwidth}%
+		\hspace{-1.3\htfframenrboxwidth}%
+		\begin{beamercolorbox}[wd=1.3\htfframenrboxwidth,ht=2.25ex,dp=1ex,right,rightskip=.3cm]{bg}%
+			% The color *has* to be set here; otherwise, the page number box will cover parts of the date
+			\usebeamercolor[fg]{date in head/foot}\usebeamertemplate{htf-framenrs}
+		\end{beamercolorbox}%
 	\fi}
 
 % Two columns
@@ -225,13 +217,26 @@
 		\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
+			%
+			% Measure the largest required space when printing frame numbers
+			\newbox\htfpagenumbox%
+			\newbox\htfpercframenumbox%
+			\setbox\htfpagenumbox=\hbox{0\inserttotalframenumber~/~0\inserttotalframenumber}%
+			\setbox\htfpercframenumbox=\hbox{100\,\%}%
+			\ifthenelse{\lengthtest{\wd\htfpagenumbox > \wd\htfpercframenumbox}}%
+				{\setlength{\htfframenrboxwidth}{\wd\htfpagenumbox}}%
+				{\setlength{\htfframenrboxwidth}{\wd\htfpercframenumbox}}%
+			%
+			\ifbeamer at htfshowframenrs \hspace{\htfframenrboxwidth}\hspace{.2\htfframenrboxwidth}~\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}
+			\addtolength{\htfframenrboxwidth}{.3cm}%
+			\addtolength{\htfframenrboxwidth}{2em}%
+			\addtolength{\htfframenrboxwidth}{.5\htfframenrboxwidth}%
+			\hspace{-1.3\htfframenrboxwidth}%
+			\begin{beamercolorbox}[wd=1.3\htfframenrboxwidth,ht=2.25ex,dp=1ex,right,rightskip=.3cm]{bg}%
+				% The color *has* to be set here; otherwise, the page number box will cover parts of the date
+				\usebeamercolor[fg]{date in head/foot}\usebeamertemplate{htf-framenrs}
 			\end{beamercolorbox}%
 		\fi}%
 	\vskip0pt}
@@ -242,12 +247,13 @@
 
 \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]},
+	one/.code={\setbeamertemplate{footline}[htf-onecol]\beamer at calculateheadfoot},
+	two/.code={\setbeamertemplate{footline}[htf-twocols]\beamer at calculateheadfoot},
+	three/.code={\setbeamertemplate{footline}[htf-threecols]\beamer at calculateheadfoot},
 	none/.code={%
 		\htfconfig{framenrs=none}%
-		\setbeamertemplate{footline}[htf-none]},
+		\setbeamertemplate{footline}[htf-none]%
+		\beamer at calculateheadfoot},
 }
 
 \pgfkeys{/hackthefootline/title/.cd,
@@ -339,8 +345,53 @@
 
 
 
+% PROCESS OPTIONS -------------------------------------------------------------------------------------------------------------------------------
+% This *has* to be done here, otherwise mysterious things will happen ...
+% and too many packages will be required ...
+
+\ProcessOptionsBeamer
+
+
+
+% ACTIONS FOR NOT COUNTING APPENDIX FRAMES ------------------------------------------------------------------------------------------------------
+
+\ifbeamer at htfcountappendixframes\else
+	% Required packages
+	\ifx\insertmainframenumber\@undefined\RequirePackage{appendixnumberbeamer}\fi % only beamer v3.48 and earlier
+	\RequirePackage{etoolbox}
+	
+	% Removes frame numbers for appendix slides
+	\apptocmd{\appendix}{%
+		\htfconfig{framenrs=none}
+		\beamer at htfinsideappendixtrue
+	}{}{}
+\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{htfpercent}{\%}{1}
+	\newlength{\htfprogress}
+	\def\htfupdateprogress{%
+		\ifbeamer at htfcountappendixframes\setlength{\htfprogress}{100pt*\ratio{\insertframenumber pt}{\inserttotalframenumber pt}}%
+		\else%
+			\ifx\insertmainframenumber\@undefined\setlength{\htfprogress}{100pt*\ratio{\insertframenumber pt}{\inserttotalframenumber pt}}%
+			\else%
+				\ifbeamer at htfinsideappendix\setlength{\htfprogress}{100pt*\ratio{\insertframenumberinappendix pt}{\insertappendixframenumber pt}}%
+				\else\setlength{\htfprogress}{100pt*\ratio{\insertframenumber pt}{\insertmainframenumber pt}}%
+				\fi%
+			\fi%
+		\fi}
+\fi
+
+
+
 % END OF FILE -----------------------------------------------------------------------------------------------------------------------------------
 
-\ProcessOptionsBeamer
 \mode<all>
 \endinput
\ No newline at end of file



More information about the tex-live-commits mailing list