Navigation Menu

Skip to content

Commit

Permalink
fix lastpage warning on macs
Browse files Browse the repository at this point in the history
  • Loading branch information
wrathematics committed Nov 14, 2017
1 parent fad1a67 commit 78b47c3
Show file tree
Hide file tree
Showing 2 changed files with 270 additions and 2 deletions.
268 changes: 268 additions & 0 deletions vignettes/include/lastpage.sty
@@ -0,0 +1,268 @@
%%
%% This is file `lastpage.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lastpage.dtx (with options: `package')
%%
%% This is a generated file.
%%
%% Project: lastpage
%% Version: 2011/09/01 v1.2k
%%
%% Copyright (C) 2010, 2011 by
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
%% Portions of code copyrighted by other people as marked.
%%
%% The usual disclaimer applys:
%% If it doesn't work right that's your problem.
%% (Nevertheless, send an e-mail to the maintainer
%% when you find an error in this package.)
%%
%% 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. This version of this license is in
%% http://www.latex-project.org/lppl/lppl-1-3c.txt
%% and the latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2005/12/01 or later.
%%
%% This work has the LPPL maintenance status "maintained".
%%
%% The Current Maintainer of this work is H.-Martin Muench.
%%
%% This package was invented by Jeffrey P. Goldberg.
%% I thought that a replacement was needed and therefore created the
%% pageslts package,
%% http://www.ctan.org/tex-archive/macros/latex/contrib/pageslts/pageslts.dtx
%% or
%% http://www.ctan.org/tex-archive/install/macros/latex/contrib/pageslts.tds.zip
%% . Nevertheless, for compatibility with existing documents/packages as well as
%% for the low amount of resources needed by the lastpage package (no new counter!),
%% I updated this package.
%% Thanks go to Jeffrey P. Goldberg for allowing me to do this.
%%
%% This work consists of the main source file lastpage.dtx
%% and the derived files
%% lastpage.sty, lastpage.pdf, lastpage.ins, lastpage.drv,
%% lastpage-example.tex.
%%
\NeedsTeXFormat{LaTeX2e}[2011/06/27]
\ProvidesPackage{lastpage}[2011/09/01 v1.2k
Refers to last page's name (HMM; JPG)]%

%% lastpage may work with earlier versions of LaTeX,
%% but this was not tested. Please consider updating
%% your LaTeX (and packages) to the most recent version
%% (if it is/they are not already the most recent version).

%% Allows for things like
%% Page \thepage\ of \pageref{LastPage}
%% to get
%% 'Page 7 of 9'.
%% For LaTeX 2.09 use lastpage209.sty.
%% For LaTeX 2e maybe consider upgrading to the pageslts package.
%% lastpage may work with earlier versions of LaTeX2e,
%% but this was not tested. Please consider updating your LaTeX
%% contribution to the most recent version (if it is not already
%% the most recent version).

%% The recent version of the endfloat package is v2.4i as of 1995/10/11.
%% The lastpage package is not fully compatible with version 2.0
%% (and earlier) of the endfloat package, because those versions
%% redefined the \enddocument command.

\def\lastpage@one{1}
\gdef\lastpage@hyper{0}
\gdef\lastpage@LTS{0}
\def\lastpage@firstpage{1}

\AtBeginDocument{%
\@ifpackageloaded{tikz}{\gdef\lastpage@tikz{1}}{}%
\@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}%
\@ifpackageloaded{pageslts}{%
\PackageWarning{lastpage}{Package pageslts found.\MessageBreak%
Therefore the lastpage package is no longer\MessageBreak%
necessary.%
}%
\gdef\lastpage@LTS{1}%
}{\PackageInfo{lastpage}{%
Please have a look at the pageslts package at\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
macros/latex/contrib/pageslts/ \MessageBreak%
or\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
install/macros/latex/contrib/pageslts.tds.zip\MessageBreak%
!}%
}%
\@ifpackageloaded{pagesLTS}{%
\PackageWarning{lastpage}{%
Outdated pagesLTS package found.\MessageBreak%
Please replace by a recent version of\MessageBreak%
pageslts package, see e.g. at\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
macros/latex/contrib/pageslts/ \MessageBreak%
or\MessageBreak%
http://www.ctan.org/tex-archive/ \MessageBreak%
install/macros/latex/contrib/pageslts.tds.zip\MessageBreak%
!\MessageBreak%
With pagesLTS as well as pageslts package\MessageBreak%
the lastpage package is no longer necessary.\MessageBreak%
}%
\gdef\lastpage@LTS{1}%
}{}%
\gdef\lastpage@putlabel{\relax}%
}

\newcommand{\lastpage@putl@bel}{%
\@ifundefined{Hy@Warning}{% hyperref not loaded
}{\gdef\lastpage@hyper{1}% hyperref loaded
}%
\ifx\lastpage@LTS\lastpage@one%
\else%
\ifx\lastpage@hyper\lastpage@one%
\lastpage@putlabelhyper%
\else%
\begingroup
\addtocounter{page}{-1}%
\immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}%
\immediate\write\@auxout{\string\xdef\string\lastpage@lastpage{\thepage}}%
\immediate\write\@auxout{\string\gdef\string\lastpage@lastpageHy{}}%
\addtocounter{page}{+1}%
\endgroup
\fi%
\fi%
}

\newcommand{\lastpage@putlabelhyper}{%
\ifHy@pageanchor%
\else%
\PackageError{lastpage}{hyperref option pageanchor disabled}{%
The \string\pageref{LastPage} link doesn't work\MessageBreak%
using hyperref with disabled option `pageanchor'.\MessageBreak%
}%
\fi%
\begingroup%
\addtocounter{page}{-1}%
%% The following code is from the hyperref package %%
%% [2010/04/17 v6.80x; newer versions are available] %%
%% by Heiko Oberdiek (Big Thanks!). %%
\let\@number\@firstofone
\ifHy@pageanchor
\ifHy@hypertexnames
\ifHy@plainpages
\def\Hy@temp{\arabic{page}}%
\else
\Hy@unicodefalse
%% Code not from hyperref package: %%
%% The following lines are taken from the pageslts package, %%
%% which in turn got them from the hyperref package and %%
%% modified them. %%
%% Without the modification, after the first shipout "PD1" %%
%% is inserted each time |\pdfstringdef\Hy@temp{\thepage}| %%
%% is executed. %%
\ifnum \value{page}=1%
\ifx \lastpage@firstpage\lastpage@one
\def\Hy@temp{\thepage}%
\gdef\lastpage@firstpage{0}%
\else%
%% Code from hyperref package again: %%
\pdfstringdef\Hy@temp{\thepage}%
%% End of code from the hyperref package. %%
\fi%
%% The pageslts package would even check for fnsymbol page %%
%% numbering scheme and adapt the code correspondingly. %%
\else%
%% Code from hyperref package again: %%
\pdfstringdef\Hy@temp{\thepage}%
%% Code from pageslts package again: %%
\fi%
%% Code from hyperref package again: %%
\fi
\else
\def\Hy@temp{\the\Hy@pagecounter}%
\fi
\fi
\immediate\write\@auxout{%
\string\newlabel
{LastPage}{{}{\thepage}{}{%
\ifHy@pageanchor page.\Hy@temp\fi}{}}%
}%
%% End of code from the hyperref package. %%
\immediate\write\@auxout{%
\string\xdef\string\lastpage@lastpage{\thepage}}%
\ifHy@pageanchor%
\immediate\write\@auxout{%
\string\xdef\string\lastpage@lastpageHy{\Hy@temp}}%
\else%
\immediate\write\@auxout{%
\string\gdef\string\lastpage@lastpageHy{}}%
\fi%
\addtocounter{page}{+1}%
\endgroup
}

\newcommand{\lastpage@fileswtest}[2]{%
\edef\lastpage@testa{#1}%
\edef\lastpage@testb{#2}%
\ifx\lastpage@testa\lastpage@testb% OK
\else%
\ifx\lastpage@tikz\lastpage@one%
\PackageWarning{lastpage}%
{The lastpage package was not allowed to write to an\MessageBreak%
.aux file. This package does not work without access\MessageBreak%
to an .aux file.\MessageBreak%
}%
\else%
\PackageError{lastpage}{No auxiliary file allowed}%
{The lastpage package was not allowed to write to an .aux file.\MessageBreak%
This package does not work without access to an .aux file.\MessageBreak%
Press Ctrl+Z to exit.\MessageBreak%
}%
\fi%
\fi%
}
\newcommand{\lastpage@fileswtestHy}{%
\ifHy@pageanchor%
\lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}%
\else%
\lastpage@fileswtest{\empty}{\lastpage@lastpageHy}%
\fi%
}

\AtEndDocument{%
\gdef\lastpage@putlabel{\relax}
\ifx\lastpage@LTS\lastpage@one%
\else%
\@ifundefined{lastpage@lastpage}%
{\gdef\lastpage@lastpage{LastpagePackageError}%
% If there really is a page numbered (!) "LastpagePackageError",
% you will get the rerun warning whether it is necessary or not.
\PackageWarning{lastpage}{Rerun to get the references right}%
}{% already defined, nothing to be done.
}%
\@ifundefined{lastpage@lastpageHy}%
{\gdef\lastpage@lastpageHy{LastpagePackageError}%
}{% already defined, nothing to be done.
}%
\fi%
\if@filesw%
\message{^^JAED: lastpage setting LastPage^^J}%
\clearpage\lastpage@putl@bel%
\else%
\ifx\lastpage@LTS\lastpage@one%
\else%
\lastpage@fileswtest{\thepage}{\lastpage@lastpage}%
\ifx\lastpage@hyper\lastpage@one%
\lastpage@fileswtestHy%
\fi%
\fi%
\fi%
}

\endinput
%%
%% End of file `lastpage.sty'.
4 changes: 2 additions & 2 deletions vignettes/include/settings.tex
Expand Up @@ -124,7 +124,7 @@
% first few
%-------------------------------------------------------------------------------

\usepackage{lastpage}
\usepackage{./include/lastpage}
\usepackage{fancyhdr}

\pagestyle{fancy}
Expand Down Expand Up @@ -182,4 +182,4 @@
\pagenumbering{arabic}
\setcounter{page}{1}
\pagestyle{fancy}
}
}

0 comments on commit 78b47c3

Please sign in to comment.