diff options
author | Karl Berry <karl@freefriends.org> | 2023-07-24 20:22:07 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-07-24 20:22:07 +0000 |
commit | 3055b80d02fddbad245f27ee4e49c90e801ceea7 (patch) | |
tree | 6dea9e30861a820ae5f1e129276927b830829ce6 /Master/texmf-dist/source/latex/lastpage | |
parent | b0cc1f5978aadab4a408401714ccb10ca46c7766 (diff) |
lastpage (24jul23)
git-svn-id: svn://tug.org/texlive/trunk@67722 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/lastpage')
-rw-r--r-- | Master/texmf-dist/source/latex/lastpage/lastpage.drv | 6 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/lastpage/lastpage.dtx | 658 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/lastpage/lastpage.ins | 6 |
3 files changed, 292 insertions, 378 deletions
diff --git a/Master/texmf-dist/source/latex/lastpage/lastpage.drv b/Master/texmf-dist/source/latex/lastpage/lastpage.drv index 45cb9b6c473..e513f8d6ada 100644 --- a/Master/texmf-dist/source/latex/lastpage/lastpage.drv +++ b/Master/texmf-dist/source/latex/lastpage/lastpage.drv @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: lastpage -%% Version: 2023-04-12 v2.0b +%% Version: 2023-07-24 v2.0c %% Info: Refers to last page's name %% %% Copyright (C) 2010 - 2023 by @@ -58,8 +58,8 @@ %% \NeedsTeXFormat{LaTeX2e}[2022-11-01] \ProvidesFile{lastpage.drv}% - [2023-04-12 v2.0b Refers to last page's name (HMM)] -\documentclass{ltxdoc}[2022/06/22]% v2.1i Standard LaTeX documentation class + [2023-07-24 v2.0c Refers to last page's name (HMM)] +\documentclass{ltxdoc}[2023/03/28]% v2.1j Standard LaTeX documentation class \usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO) \hypersetup{% pdfsubject={Refers to last page's name (HMM; JPG)},% diff --git a/Master/texmf-dist/source/latex/lastpage/lastpage.dtx b/Master/texmf-dist/source/latex/lastpage/lastpage.dtx index cff28740209..ce1a71ad79d 100644 --- a/Master/texmf-dist/source/latex/lastpage/lastpage.dtx +++ b/Master/texmf-dist/source/latex/lastpage/lastpage.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % % File: lastpage.dtx -% Version: 2023-04-12 v2.0b +% Version: 2023-07-24 v2.0c % Info: Refers to last page's name % % Copyright © 2010 - 2023 by @@ -65,7 +65,7 @@ \input docstrip.tex \Msg{**********************************************************************} \Msg{* Installation *} -\Msg{* Package: lastpage 2023-04-12 v2.0b Refers to last page's name (HMM)*} +\Msg{* Package: lastpage 2023-07-24 v2.0c Refers to last page's name (HMM)*} \Msg{**********************************************************************} \keepsilent @@ -77,7 +77,7 @@ This is a generated file. Project: lastpage -Version: 2023-04-12 v2.0b +Version: 2023-07-24 v2.0c Info: Refers to last page's name Copyright (C) 2010 - 2023 by @@ -184,8 +184,8 @@ In memoriam %<*driver> \NeedsTeXFormat{LaTeX2e}[2022-11-01] \ProvidesFile{lastpage.drv}% - [2023-04-12 v2.0b Refers to last page's name (HMM)] -\documentclass{ltxdoc}[2022/06/22]% v2.1i Standard LaTeX documentation class + [2023-07-24 v2.0c Refers to last page's name (HMM)] +\documentclass{ltxdoc}[2023/03/28]% v2.1j Standard LaTeX documentation class \usepackage{holtxdoc}[2019/12/09]% v0.30 Private additional ltxdoc support (HO) \hypersetup{% pdfsubject={Refers to last page's name (HMM; JPG)},% @@ -230,26 +230,26 @@ In memoriam % }%^^A % \expandafter\endgroup\x % -% \DoNotIndex{\@auxout,\@evenfoot,\@firstofone,\@ifl@t@r,\@ifpackagelater,\@ifpackageloaded} -% \DoNotIndex{\@ifundefined,\@mainaux,\@number,\@oddfoot} +% \DoNotIndex{\@auxout,\@evenfoot,\@firstofone,\@firstoftwo,\@ifl@t@r,\@ifpackagelater,\@ifpackageloaded} +% \DoNotIndex{\@ifundefined,\@kernel@reserved@label@data,\@mainaux,\@number,\@oddfoot} % \DoNotIndex{\addtocounter,\AddToHook,\arabic,\begin} -% \DoNotIndex{\bigskip,\clearpage,\csname,\documentclass,\empty,\end,\endcsname} +% \DoNotIndex{\bigskip,\clearpage,\csname,\documentclass,\EdefUnescapeString,\empty,\end,\endcsname} % \DoNotIndex{\enddocument,\ExplSyntaxOff,\ExplSyntaxOn,\fmtversion} % \DoNotIndex{\g,\gdef,\here,\hfil,\Hy@temp,\Hy@unicodefalse} -% \DoNotIndex{\hypersetup,\if@filesw,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages} -% \DoNotIndex{\ifnum,\IfPackageAtLeastTF,\IfPackageLoadedTF,\ifx,\immediate,\input} +% \DoNotIndex{\hypersetup,\if@filesw,\if@nobreak,\ifHy@hypertexnames,\ifHy@pageanchor,\ifHy@plainpages} +% \DoNotIndex{\ifnum,\IfPackageAtLeastTF,\IfPackageLoadedTF,\ifvmode,\ifx,\immediate,\input} % \DoNotIndex{\label,\lastpage,\lastpage-example.tex,\lastpage.dtx,\lastpage.sty,\lastpagee.sty} % \DoNotIndex{\lastpageclassic.sty,\lastpagemodern.sty,\LaTeX,\listfiles} -% \DoNotIndex{\makeatletter,\makeatother,\markboth,\message,\MessageBreak} -% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newline,\newpage} +% \DoNotIndex{\makeatletter,\makeatother,\markboth,\mbox,\message,\MessageBreak} +% \DoNotIndex{\NeedsTeXFormat,\newcommand,\newline,\newpage,\nobreak} % \DoNotIndex{\noindent,\normalsize,\numexpr,\origenddocument,\PackageError} -% \DoNotIndex{\PackageWarning,\pagenumbering,\pageref,\pdfstringdef,\ProvidesPackage} +% \DoNotIndex{\PackageWarning,\pagenumbering,\pageref,\pdfstringdef,\protect,\ProvidesPackage} % \DoNotIndex{\qquad,\RequirePackage,\section,\slshape,\smallskip,\space,\test,\textbf} % \DoNotIndex{\textit,\textquotedblleft,\textquotedblright,\textsf,\texttt,\the,\thepage} % \DoNotIndex{\today,\upshape,\url,\usepackage,\value,\verb,\write} % % \title{The \xpackage{lastpage} package} -% \date{2023-04-12 v2.0b} +% \date{2023-07-24 v2.0c} % \author{H.-Martin Münch\\\xemail{Martin.Muench at Uni-Bonn.de}\\ % invented by Jeffrey P. Goldberg\\\xemail{jeffrey+news at goldmark.org}} % @@ -259,18 +259,18 @@ In memoriam % \noindent This \LaTeX{} package puts the label \texttt{LastPage} % at the end of the document into the \xfile{.aux} file, % allowing the user to refer to the last page of a document. -% This might be particularly useful in places like headers or footers.~--\\ -% While this package allows for things like\\ +% This might be particularly useful in places like headers or footers.~--\newline +% While this package allows for things like\newline % \hbox{\textquotedblleft Page} \hbox{|\thepage{}|} of |\pageref{LastPage}|\textquotedblright{} % to get \textquotedblleft Page 7 of 9\textquotedblright{} or % \textquotedblleft Page VII of IX\textquotedblright, % the \emph{number} of pages is nowadays available via |\@abspage@last| from the kernel, % but when more than one page numbering scheme is used -% (for example pages I~to X and then 1~to 10, thus number of pages -% \hbox{\textquotedblleft 20\textquotedblright ,} but name of the last page -% \hbox{\textquotedblleft 10\textquotedblright ),} -% or when or the fnsymbol page numbering scheme is used, or another package -% has output after this package, or the page numbers exceed a certain range, +% (for example pages I~to X and then 1~to 10, +% thus number of pages \hbox{\textquotedblleft 20\textquotedblright ,} +% but name of the last page \hbox{\textquotedblleft 10\textquotedblright ),} +% or another package has output after this package, +% or the page numbers exceed a certain range, % there might be problems, which can be solved by using the % \xpackage{pageslts} package instead. % \end{abstract} @@ -289,9 +289,9 @@ In memoriam % package is \textquotedblleft advertised\textquotedblright. The current version % 2015/12/21 v1.2f of that package has not yet been updated to the new hook mechanism. % In special cases (for example }|\pagenumbering{fnsymbol}|\textbf{) the current version -% of that package combined with a current \LaTeX-format fails. Together with about -% 80~other packages (small to large, public as well as private, some probably obsolete) -% it is in the update queue.} +% of that package combined with a current \LaTeX-format fails. Together with a lot of +% other packages (small to large, public as well as private, some probably obsolete) +% it is in my update queue.} % % \newpage % @@ -322,7 +322,7 @@ In memoriam % |\usepackage{lastpage}| % \end{quote} % \noindent in the preamble of your source file -% (or |\input{lastpage.sty}| if |\usepackage| is unknown).\\ +% (or |\input{lastpage.sty}| if |\usepackage| is unknown). % % \indent For example for various draft forms it is desirable to have a % page reference to the last page, so that e.\,g. page footers can @@ -342,14 +342,12 @@ In memoriam % \renewcommand{\@oddfoot}{\@evenfoot} % \makeatother %\end{verbatim} -% \noindent creates footers like\\ -% -% \textquotedblleft\mbox{\textsl{DRAFT \today}\hspace{1cm}page 7 of 9}\textquotedblright\\ -% -% \noindent in the compiled document (cf.~the \texttt{lastpage-example} file).\\ +% \noindent creates footers like\smallbreak +% \textquotedblleft\mbox{\textsl{DRAFT \today}\hspace{1cm}page 7 of 9}\textquotedblright\smallbreak +% \noindent in the compiled document (cf.~the \texttt{lastpage-example} file).\newline % If the \xpackage{hyperref} package is used, the references are hyperlinked % to their aims. If these hyperlinks shall be suppressed, |\pageref*{...}| -% instead of |\pageref{...}| can be used.\\ +% instead of |\pageref{...}| can be used.\bigbreak % % The \xpackage{lastpage} package does not provide the words % \textquotedblleft page\textquotedblright{} or \textquotedblleft of\textquotedblright{}, @@ -359,11 +357,12 @@ In memoriam % redefining this.) If you want to change \textquotedblleft page\textquotedblright{} or % \textquotedblleft of\textquotedblright{} (e.\,g. to another language), you therefore % have got to look in the used class/package(s)/preamble instead of in the -% \xpackage{lastpage} package.\\ +% \xpackage{lastpage} package.\bigbreak % % If the total \emph{number} of pages of a document is needed, % the kernel already gives this by |\makeatletter\@abspage@last\makeatother| % (needs at least two compiler runs). +% \newpage % % \section{Some \textsc{Warnings}\label{sec:warn}} % \subsection{\texttt{\textbackslash AtEndDocument}\label{ssec:aed}} @@ -371,12 +370,11 @@ In memoriam % version of the lastpage package, requiring \LaTeX -format 2022-11-01 % or newer. Instead |\AddToHook{enddocument/afterlastpage}| is used % and the problem does not arise.} -% % \bigskip % % \pkg{lastpageclassic.sty} uses |\AtEndDocument| and % \pkg{lastpage209.sty} redefines \linebreak |\enddocument|. -% The last two cases are problematic:\\ +% The last two cases are problematic:\newline % The output of a \LaTeXe{} run is not independent of the order % in which the packages are loaded. It is often the case that the same % formats for which one must put tables and figure at the end, @@ -388,9 +386,9 @@ In memoriam % to assume that no material will follow what they put into % |\AtEndDocument|. Therefore a message, which begins with % \texttt{AED}, is included in every usage of |\AtEndDocument|. -% \xpackage{lastpage} uses |\AtEndDocument{|\ldots|\clearpage|\ldots|}|, thus\\ +% \xpackage{lastpage} uses |\AtEndDocument{|\ldots|\clearpage|\ldots|}|, thus\newline %|\usepackage{lastpage}|\ldots|\AtEndDocument{|\textit{something}|}| -% will place \textit{something} after the |\clearpage|. To place it earlier, use\\ +% will place \textit{something} after the |\clearpage|. To place it earlier, use\newline % |\AtEndDocument{|\textit{something}|}|\ldots|\usepackage{lastpage}|. % If the \textit{something} is not known before |\usepackage{lastpage}|, % you can use for example @@ -429,7 +427,7 @@ In memoriam % to the (not so) last page, exclusive of the floats at the end, % then load in the reverse order. Independent from the order of % \xpackage{lastpage} and \xpackage{endfloat}, you will still need -% a version of \xpackage{endfloat} later than 2.0 from 1992.\\ +% a version of \xpackage{endfloat} later than 2.0 from 1992. % % Other \LaTeX2.09{} (!) packages also seem to like to redefine % |\enddocument|. In addition to the old \xpackage{endfloat}, @@ -442,7 +440,7 @@ In memoriam % and not the \textit{number} of the page is given. For example, % \texttt{Alph} page numbering scheme and $10$ pages will give \texttt{J} instead of 10, % \texttt{Roman} page numbering scheme and $10$ pages will give \texttt{X} instead of 10, -% and so on.\\ +% and so on.\newline % \indent (The \xpackage{pageslts} package puts |\lastpageref{LastPages}| % (with \textbf{s} at the end) at your disposal for remediation.) % @@ -459,7 +457,7 @@ In memoriam % (even if \texttt{arabic} is the page numbering scheme of that page). % For example, for a document with VI+36 pages, it gives % \textquotedblleft 36\textquotedblright{} as reference to the last page. -% While this is correct, the total number of pages is $42$.\\ +% While this is correct, the total number of pages is $42$.\newline % If the total \emph{number} of pages of a document is needed, % the kernel already gives this by |\makeatletter\@abspage@last\makeatother|. % The \xpackage{pageslts} package puts |\lastpageref{LastPages}| @@ -472,7 +470,7 @@ In memoriam % When the page number was manipulated by |\addtocounter{page}{...}| or % |\setcounter{page}{...}|, \texttt{LastPage} does not give the total % \textbf{number} of pages (even if \texttt{arabic} is the page numbering -% scheme of that page).\\ +% scheme of that page).\newline % The \xpackage{pageslts} package puts |\lastpageref{LastPages}| % (with \textbf{s} at the end) at your disposal for remediation: % \texttt{LastPages} ignores page number manipulation. Also |\@abspage@last| @@ -482,7 +480,7 @@ In memoriam % At a page numbering change the page number is reset to one. % Therefore \texttt{LastPage} does not give the total \textbf{number} of pages % (even if \texttt{arabic} is the page numbering scheme of that page). -% Furthermore, now two pages have the same name.\\ +% Furthermore, now two pages have the same name.\newline % The \xpackage{pageslts} package does not only put % |\lastpageref{LastPages}| (with \textbf{s} at the end) at your disposal % for remediation: \texttt{LastPages} also ignores page number manipulation. @@ -492,11 +490,11 @@ In memoriam % \subsection{Last pages of different page numbering schemes} % |\pageref{LastPage}| refers to the (maybe not so) last page of the last % page numbering scheme. References to the respective last page of the other -% page numbering schemes are not provided.\\ +% page numbering schemes are not provided.\newline % The \xpackage{pageslts} package does this with labels % \texttt{pagesLTS.<numbering scheme>}, where \texttt{<numbering scheme>} is % e.\,g. arabic, roman, Roman, alph, or Alph.\linebreak -% For fnsymbol please use |\lastpageref{pagesLTS.fnsymbol}| instead of\\ +% For fnsymbol please use |\lastpageref{pagesLTS.fnsymbol}| instead of\newline % |\pageref{pagesLTS.fnsymbol}|. % % \subsection{Current page} @@ -505,31 +503,20 @@ In memoriam % current total/absolute page number e.\,g. with a second % page numbering scheme, |\addtocounter{page}{...}|, or |\setcounter{page}{...}|, % and it will not be an arabic number at all, -% if the current page numbering scheme is not arabic.\\ +% if the current page numbering scheme is not arabic.\newline % The \xpackage{pageslts} package provides the command % |\theCurrentPage| and for the current number of pages in the current -% page numbering scheme\\ +% page numbering scheme\newline % |\theCurrentPageLocal|. The kernel already provides the % number of pages, which have been shipped out, as |\the\ReadonlyShipoutCounter|. % The current page is always |ReadonlyShipoutCounter +1|. % % \subsection{First page} % There is no special label at the first page. -% (This is the \textbf{last}\textsf{page} package, after all.)\\ +% (This is the \textbf{last}\textsf{page} package, after all.)\newline % The \xpackage{pageslts} package creates a label \texttt{pagesLTS.0} % at the first page of the document. % -% \subsection{Using the \xpackage{fnsymbol} page numbering scheme\label{ss:fnsymbol}} -% \indent Using the \texttt{fnsymbol} page numbering scheme can result in problems!\\ -% When the page, where |\pageref{lastpage}| points at, is in \texttt{fnsymbol} -% page numbering scheme, this package might screw up -- -% and quite totally for that, especially when used together with \emph{very old} -% versions of the \xpackage{hyperref} package (e.\,g. \xpackage{hyperref} v6.80x -% as of 2010/04/17). When testing with version v6.83m as of 2012/11/06 everything -% seemed to worked fine, but this might not always be the case.\\ -% The \xpackage{pageslts} package with |\lastpageref{lastpage}| and -% appropriate package options should cope even with this case. -% % \subsection{Page counter overflow\label{ss:overflow}} % \indent \textquotedblleft The ranges of supported counter values are more or less % restricted. Only \cs{arabic} can be used with any counter value \TeX{} supports. @@ -552,31 +539,32 @@ In memoriam % \texttt{MAX} = \texttt{2147483647} % \end{quote} % \textquotedblright{} (\textsc{Heiko Oberdiek}: -% The \xpackage{alphalph} package, 2010/04/18, v2.3, first table, p.~2).\\ +% The \xpackage{alphalph} package, 2010/04/18, v2.3, first table, p.~2). % -% \noindent When \textit{any} page is out of that range, there will be a counter overflow.\\ +% \noindent When \textit{any} page is out of that range, there will be a counter overflow.\newline % \xpackage{lastpage} probably is not the right package to be asked % to correct this anyway, but the \xpackage{pageslts} package % (with appropriate options) can do this. % % \subsection{Other packages manipulating \texttt{\textbackslash lastpage@putlabel}} -% The \xpackage{hyperref} package redefines the |\lastpage@putlabel| command, -% and the \xpackage{revtex4} class redefines the |\lastpage@putlabel| command, -% and the \xpackage{hyperref} package redefines the |\lastpage@putlabel| command, -% if the \xpackage{revtex4} class is used, and the \xpackage{pageslts} package +% The \xpackage{hyperref} package redefined the |\lastpage@putlabel| command, +% and the \xpackage{revtex4} class still redefines the |\lastpage@putlabel| command, +% and the \xpackage{hyperref} package redefined the |\lastpage@putlabel| command, +% if the \xpackage{revtex4} class was used, and the \xpackage{pageslts} package % \textquotedblleft kills\textquotedblright{} the |\lastpage@putlabel| command, -% because that package uses more advanced labels.\\ +% because that package uses more advanced labels.\newline % In my humble opinion it would be preferably if one package (the original one, % i.\,e. \xpackage{lastpage}) would do the job right, all others packages would % check for the version of that package, and if an old version is found, % an error (or at least a warning) message about the use of an outdated % package is given, and \textit{then} as % \textquotedblleft last aid\textquotedblright{} the command of the outdated -% package is redefined.\\ +% package is redefined.\newline % Therefore here none of the definitions or commands of the other packages % is altered, but |\lastpage@putlabel| was replaced by |\lastpage@putl@bel|. % Because |\lastpage@putlabel| is no longer called, now there should not be any % double definitions of the \texttt{lastpage} label. +% \newpage % % \section{Alternatives\label{sec:Alternatives}} % There are similar packages, which do (or do not) similar things (or even more). @@ -598,26 +586,24 @@ In memoriam % \xpackage{lastpage} package, but it became obvious that a replacement was % needed to accomplish what the \xpackage{pageslts} package does. For backward % compatibility, a label named |LastPage| is provided. -% Thus |\usepackage{lastpage}| can be replaced by\\ -% |\usepackage[pagecontinue=false,alphMult=0,AlphMulti=0,|\\ -% | fnsymbolmult=false,romanMult=false,RomanMulti=false]{pageslts}|,\\ +% Thus |\usepackage{lastpage}| can be replaced by\newline +% |\usepackage[pagecontinue=false,alphMult=0,AlphMulti=0,|\newline +% | fnsymbolmult=false,romanMult=false,RomanMulti=false]{pageslts}|,\newline % if the behaviour of the \xpackage{lastpage} package should be simulated. -% The default options are\\ -% |\usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB,|\\ -% |fnsymbolmult=true,romanMult=true,RomanMulti=true]{pageslts}|.\\ +% The default options are\newline +% |\usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB,|\newline +% |fnsymbolmult=true,romanMult=true,RomanMulti=true]{pageslts}|.\newline % Benefits of \xpackage{pageslts} package (with appropriate options) are: % \begin{description} -% \item[+] Labels \texttt{LastPage} (|\AtEndDocument|) and\\ -% \texttt{VeryLastPage} (|\AfterLastShipout|),\\ +% \item[+] Labels \texttt{LastPage} (|\AtEndDocument|) and\newline +% \texttt{VeryLastPage} (|\AfterLastShipout|),\newline % allowing the user to refer to the (very) last page of a document. % \item[+] For example, when more than one page numbering scheme is used, % the label \texttt{LastPage}\textbf{s} gives the total \textit{number} of pages. -% \item[+] At the last page of each page numbering -% scheme a label\\ -% \texttt{pagesLTS.<numbering scheme>} is -% placed, where \texttt{<numbering scheme>} is e.\,g. -% arabic, roman, Roman, alph, or Alph. For fnsymbol -% please use |\lastpageref{pagesLTS.fnsymbol}| instead of\\ +% \item[+] At the last page of each page numbering scheme a label\newline +% \texttt{pagesLTS.<numbering scheme>} is placed, where +% \texttt{<numbering scheme>} is e.\,g. arabic, roman, Roman, alph, or Alph. +% For fnsymbol please use |\lastpageref{pagesLTS.fnsymbol}| instead of\newline % |\pageref{pagesLTS.fnsymbol}|. % \item[+] When the same numbering scheme is used twice, the page numbers % are either reset to one or continued automatically, depending on the option @@ -646,7 +632,7 @@ In memoriam % \DescribeMacro{totpages}\vspace{-\baselineskip} % \begin{description} % \item[-] The \xpackage{totpages} package provides a \texttt{totpages} label similar to -% \texttt{LastPages}\\ +% \texttt{LastPages}\newline % |\AtEndDocument| (instead of |\AfterLastShipout|, as done by \xpackage{pageslts}). % The \xpackage{totpages} package additionally computes the number of paper sheets % needed to (double) print the document (with one, two, three,\ldots{} pages on @@ -661,12 +647,12 @@ In memoriam % \item[-] \textquotedblleft There is a package \xpackage{nofm.sty} available, % but some versions of it are defective, and most don't work with \xpackage{fancyhdr} % because they take over the complete page layout.\textquotedblright (\textsc{Piet van % -% Oostrum}: Page layout in \LaTeX{}, March~2, 2004, section~16; fancyhdr.pdf)\\ -% \xpackage{nofm} as of 1991/02/25 (without version number), available at\\ +% Oostrum}: Page layout in \LaTeX{}, March~2, 2004, section~16; fancyhdr.pdf)\newline +% \xpackage{nofm} as of 1991/02/25 (without version number), available at\newline % \href{https://mirror.ctan.org/obsolete/macros/latex209/contrib/misc/nofm.sty}{% % https://mirror.ctan.org/obsolete/macros/latex209/contrib/misc/nofm.sty}, \linebreak % does not work with e.\,g. \xpackage{hyperref}, redefines |\enddocument| -% as well as |\@oddhead|, |\@evenhead|, |\@oddfoot|, and |\@evenfoot|.\\ +% as well as |\@oddhead|, |\@evenhead|, |\@oddfoot|, and |\@evenfoot|.\newline % If you know the (CTAN) location of a \textbf{working}~(!) version, % please send an e-mail to the \xpackage{lastpage} maintainer, thanks! % \end{description} @@ -729,10 +715,9 @@ In memoriam % \bigskip % % \noindent (You programmed or found another alternative, -% which is available at \url{CTAN.org}?\\ +% which is available at \url{CTAN.org}?\newline % OK, send an e-mail to me with the name, location at \url{CTAN.org}, -% and a short notice, and I will probably include it in the list above.)\\ -% +% and a short notice, and I will probably include it in the list above.) % \smallskip % % \noindent About how to get those packages, please see subsection~\ref{ss:Downloads}. @@ -741,21 +726,19 @@ In memoriam % % \begin{macrocode} %<*example> -\documentclass[british]{article}[2022/07/02]% v1.4n Standard LaTeX document class +\documentclass[british]{article}[2023/05/17]% v1.4n Standard LaTeX document class \makeatletter \@ifl@t@r\fmtversion{2022/11/01}{% \AddToHook{enddocument/afterlastpage}[lastpage]{% \message{^^JLaTeX Info: Executing hook `enddocument/afterlastpage'.}}% }{\AtEndDocument{\message{^^JLaTeX Info: Executing hook `AtEndDocument'.}}% } -\makeatother -\usepackage[draft]{showkeys}[2022/04/12]% v3.18 Show cite and label keys (DPC, MH) +\usepackage[draft]{showkeys}[2023/05/11]% v3.19 Show cite and label keys (DPC, MH) %% Use final instead of draft to hide the keys. %% -\usepackage{hyperref}[2023-02-07]% v7.00v Hypertext links for LaTeX +\usepackage[pdfpagelabels=true,hyperindex=false]{hyperref}[2023-07-08]% v7.01b +%% Hypertext links for LaTeX \hypersetup{extension=pdf,% plainpages=false,% - pdfpagelabels=true,% - hyperindex=false,% pdflang={en},% pdftitle={lastpage package example},% pdfauthor={H.-Martin Muench},% @@ -765,13 +748,8 @@ In memoriam pdfstartview=Fit,% pdfpagelayout=SinglePage% } -%% If hyperref is not used, the url package -%% https://ctan.org/pkg/url -%% must be loaded for the \url used in this example: -%% \usepackage{url} -%% or just use \let\url\texttt for the one used url. -\usepackage{lastpage}[2023-04-12]% v2.0b -\makeatletter +\@ifpackageloaded{hyperref}{}{\usepackage{url}[2013/09/16]}% v3.4 +\usepackage{lastpage}[2023-07-24]% v2.0c \renewcommand{\@evenfoot}{% \normalsize\slshape \today\hfil \upshape % page \thepage{} of \pageref{LastPage}} @@ -783,7 +761,7 @@ In memoriam \section*{Example for lastpage} \markboth{Example for lastpage}{Example for lastpage} This example demonstrates the use of package\newline -\textsf{lastpage}, v2.0b as of 2023-04-12 (HMM; JPG).\newline +\textsf{lastpage}, v2.0c as of 2023-07-24 (HMM; JPG).\newline The package takes no options.\newline For more details please see the documentation!\newline @@ -808,7 +786,7 @@ trademark owner. There is no intention of infringement; the usage is to the benefit of the trademark owner.\newline \textbf{Tip}: Use \textit{logical page numbers} -for the display of the pdf (in Adobe Acrobat Reader 2022.003.20322: +for the display of the pdf (in Adobe Acrobat Reader 2023.003.20244: Edit $>$ Preferences $>$ Page Display $>$ Page Content and Information: Use logical page numbers)!\newline @@ -863,16 +841,17 @@ The code does not generally work even without hyperref. \end{quote} \noindent does work, because \verb|\lastpage@lastpage| contains the name -of the page, example:\newline -\verb|Page \thepage{} is page \makeatletter\lastpage@lastpage\makeatother.|% -\newline +of the page, \mbox{example:} +\begin{verbatim} +Page \thepage{} is (not) page \makeatletter\lastpage@lastpage\makeatother. +\end{verbatim} prints:\newline -Page \thepage{} is page \makeatletter\lastpage@lastpage\makeatother.% +Page \thepage{} is (not) page \makeatletter\lastpage@lastpage\makeatother. \newline This can be broken for example by \verb|\pagenumbering{fnsymbol}|. \newpage -\noindent The page (\verb|\thepage|): \thepage \newline +\noindent The page (\verb|\thepage|): \thepage\newline Last page's name (LastPage): \pageref{LastPage} \bigskip @@ -907,8 +886,8 @@ Last page's name (LastPage): \pageref{LastPage} \bigskip To see the content of the \texttt{enddocument/afterlastpage}-hook -(for a recent \LaTeX-format!) use -\verb|\ShowHook{enddocument/afterlastpage}|.% without the \verb||, of course! +(for a recent \LaTeX-format!) use % without the \verb||, of course! +\verb|\ShowHook{enddocument/afterlastpage}|. \end{document} %</example> % \end{macrocode} @@ -919,7 +898,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \DescribeMacro{lastpage.sty} % We first need to determine whether we are on \TeX~2.09 or \LaTeX2e.\newline % (That line, which is too long for the documentation, reads:\newline -% |\def\loadlastpage{\ProvidesPackage{lastpage}[2023/04/12 v2.0b lastpage:|\linebreak +% |\def\loadlastpage{\ProvidesPackage{lastpage}[2023/07/24 v2.0c lastpage:|\linebreak % | 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}}|.) % % \begin{macrocode} @@ -927,7 +906,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook %% Part of the "lastpage" package %% loads either lastpage2.09.sty for TeX 2.09 or lastpage2e.sty for LaTeX 2e %% with code from https://groups.google.com/g/comp.text.tex/c/-Qmhj1ZI4xM -\def\loadlastpage{\ProvidesPackage{lastpage}[2023/04/12 v2.0b lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}} +\def\loadlastpage{\ProvidesPackage{lastpage}[2023/07/24 v2.0c lastpage: 2.09 or 2e? (HMM)]\relax\RequirePackage{lastpage2e}} \begingroup \expandafter \ifx \csname documentclass\endcsname\relax \endgroup \expandafter \input{lastpage209.sty} \else \endgroup \expandafter \loadlastpage @@ -943,8 +922,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook %% Part of the "lastpage" package %% FOR LaTeX 2.09 ONLY - FOR LaTeX 2e USE lastpage2e.sty %% This is lastpage209.sty invented by Jeffrey P. Goldberg, -%% after Piet van Oostrum: Page layout in LaTeX, March 2, 2004, section 16; fancyhdr.pdf; -%% lastpage209.sty maintained by H.-Martin Muench. +%% after Piet van Oostrum: Page layout in LaTeX, March 2, 2004, section 16; +%% fancyhdr.pdf; lastpage209.sty maintained by H.-Martin Muench. \let\origenddocument=\enddocument% \def\enddocument{\clearpage% {\addtocounter{page}{-1}% @@ -957,7 +936,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % % \DescribeMacro{lastpage2e.sty} -% If |\documentclass| is known, we are in \LaTeXe{} - but which one? +% If |\documentclass| is known, we are in \LaTeXe{} -- but which one? % For modern versions with \eTeX{} and hook management etc. % we load version \pkg{lastpagemodern.sty}, otherwise % \pkg{lastpageclassic.sty}. We start off by checking that we are @@ -967,7 +946,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook %<*lastpage2e> %% Part of the "lastpage" package \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{lastpage2e}[2023/04/12 v2.0b Decide which 2e lastpage version to use (HMM)] +\ProvidesPackage{lastpage2e}[2023/07/24 v2.0c % + Decide which 2e lastpage version to use (HMM)] \@ifl@t@r\fmtversion{2022/11/01}{\RequirePackage{lastpagemodern}}{% \RequirePackage{lastpageclassic}} \message{^^J} @@ -981,8 +961,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook %<*lastpageclassic> %% Part of the "lastpage" package \NeedsTeXFormat{LaTeX2e}[1994/12/01] -\ProvidesPackage{lastpageclassic}[2023/04/12 v2.0b Refers to last page's name (HMM; JPG)] -%% allows for things like "Page \thepage{} of \pageref{LastPage}" to get "Page 7 of 9" +\ProvidesPackage{lastpageclassic}[2023/07/24 v2.0c % + Refers to last page's name (HMM; JPG)] +%% allows for things like "Page \thepage{} of \pageref{LastPage}" +%% to get "Page 7 of 9" % \end{macrocode} % @@ -1018,7 +1000,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \indent |\AtBeginDocument| we give a waring about ancient versions of the \pkg{endfloat} package. % Then it is checked whether various packages are loaded. % (|\@ifpackageloaded| cannot be used later than |\AtBeginDocument|.) -% If this is the case,\\ +% If this is the case,\newline % |\lastpage@<package abbreviation>| is defined as \texttt{1} % (otherwise it stays~\texttt{0}). % @@ -1043,24 +1025,22 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % % |\lastpage@putlabel|, used by older versions of this package, -% is redefined e.\,g. by \xpackage{revtex}, \xpackage{hyperref}, -% \xpackage{frenchle}, and \xpackage{PPRcorners}. +% is redefined e.\,g. by \xpackage{revtex}, \xpackage{frenchle}, +% \xpackage{PPRcorners}, and old versions of \xpackage{hyperref}. % While now |\lastpage@putl@bel| is used instead, \xpackage{revtex} -% or \xpackage{hyperref} could also define a label \texttt{LastPage}, +% could also define a label \texttt{LastPage}, % which then would be multiply defined. (Which is no big issue, % if it is associated with the same page.) Therefore we define % % \begin{macrocode} \gdef\lastpage@putlabel{\relax}% -% \end{macrocode} -% -% Because |\lastpage@putlabel| might be (re)defined later, depending on the order -% in which the packages are loaded, we will do this again |\AtEndDocument|. -% -% \begin{macrocode} } % \end{macrocode} +% +% \noindent Because |\lastpage@putlabel| might be (re)defined later, +% depending on the order in which the packages are loaded, +% we will do this again |\AtEndDocument|. % \end{macro} % % \begin{macro}{\lastpage@putl@bel} @@ -1070,13 +1050,13 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \newcommand{\lastpage@putl@bel}{% % \end{macrocode} % -% |\AtBeginDocument| it is checked whether the \xpackage{hyperref} package is loaded,\\ -% |\@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}|.\\ -% |\@ifpackageloaded| cannot be used later than |\AtBeginDocument|.\\ +% |\AtBeginDocument| it is checked whether the \xpackage{hyperref} package is loaded,\newline +% |\@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}|.\newline +% |\@ifpackageloaded| cannot be used later than |\AtBeginDocument|.\newline % User \textsc{Sebastian Bank} found and reported (Thanks!) a~case, when this check is not -% sufficient. Using a class with\\ -% |\usepackage{lastpage}|\\ -% |\AtBeginDocument{\usepackage{hyperref}}|\\ +% sufficient. Using a class with\newline +% |\usepackage{lastpage}|\newline +% |\AtBeginDocument{\usepackage{hyperref}}|\newline % leads to failed detection of the \xpackage{hyperref} package, because % |\AtBeginDocument| \textit{first} the check for \xpackage{hyperref} is performed, % and \textit{then} \xpackage{hyperref} is loaded. As mentioned above, @@ -1105,7 +1085,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \else% % \end{macrocode} % -% Otherwise the label is set:\\ +% Otherwise the label is set:\newline % We have got to distinguish whether \xpackage{hyperref} has been loaded or not: % % \begin{macrocode} @@ -1173,8 +1153,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % the write out, we need to do an |\immediate| write into the \xfile{aux} file. % % \begin{macrocode} -%% The following code is from the hyperref package %% -%% 2010/04/17 v6.80x; newer versions are available. %% +%% with code from \Hy@EveryPageAnchor of the hyperref package, +%% 2010/04/17 v6.80x; newer versions are available \let\@number\@firstofone% \ifHy@pageanchor% \ifHy@hypertexnames% @@ -1182,23 +1162,16 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \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\relax% % \end{macrocode} % % We do not count the pages ourselves, and so they could have been changed by -% e.\,g. |\pagenumbering{...}|, |\addtocounter{page}{...}|,\\ +% e.\,g. |\pagenumbering{...}|, |\addtocounter{page}{...}|,\newline % |\setcounter{page}{...}|. Thus the page might have the number one % while not being the first page at all. Using the \xpackage{everyshi} % package would help, but this package should not require other packages. % The \xpackage{pageslts} package does a better handling, but requires -% some other packages.\\ +% some other packages.\newline % We will make a mistake here at most once: % % \begin{macrocode} @@ -1206,18 +1179,11 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \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}% @@ -1227,7 +1193,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \string\newlabel{LastPage}{{}{\thepage}{}{% \ifHy@pageanchor page.\Hy@temp\fi}{}}% }% -%% End of code from the hyperref package. %% % \end{macrocode} % % We also save the values, so that we can later (next rerun) check, @@ -1241,7 +1206,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \immediate\write\@auxout{\string\gdef\string\lastpage@lastpageHy{}}% \fi% % \end{macrocode} -% \pagebreak % % After the writeout we restore the page number again, % since there might be other things still to be done. @@ -1253,6 +1217,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % \end{macro} +% \newpage % % \begin{macro}{\lastpage@putlabelNR} % \indent The \xpackage{nameref} package redefines |\label| to have five arguments @@ -1317,7 +1282,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % \end{macro} -% \pagebreak % % \begin{macro}{\lastpage@fileswtestHy} % \indent When the \xpackage{hyperref} package has been loaded, @@ -1333,7 +1297,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \lastpage@fileswtest{\empty}{\lastpage@lastpageHy}% \fi% } - % \end{macrocode} % \end{macro} % @@ -1343,6 +1306,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % whether it is still unchanged, which is OK for the first run only. % % \begin{macrocode} + \AtEndDocument{% \ifx\lastpage@LTS\lastpage@one% \else% @@ -1411,7 +1375,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook %<*lastpagemodern> %% Part of the "lastpage" package \NeedsTeXFormat{LaTeX2e}[2022-11-01] -\ProvidesPackage{lastpagemodern}[2023-04-12 v2.0b Refers to last page's name (HMM; JPG)] +\ProvidesPackage{lastpagemodern}[2023-07-24 v2.0c % + Refers to last page's name (HMM; JPG)] %% allows for things like "Page \thepage{} of \pageref{LastPage}" %% to get "Page 7 of 9" or "Page VII of IX"; %% the NUMBER of pages is available via \@abspage@last, but with pages @@ -1439,46 +1404,47 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % % \DescribeMacro{\AddToHook\{begindocument/end\}} -% \indent At |begindocument/end| we give a warning about ancient versions -% of the \pkg{endfloat} package. -% -% \begin{macrocode} -\AddToHook{begindocument/end}{% - \IfPackageLoadedTF{endfloat}{% - \IfPackageAtLeastTF{endfloat}{1994/06/01}{\relax}{% - \PackageError{lastpage}{% - Incompatibility with outdated version of endfloat package}{% - lastpage is not fully compatible with a version\MessageBreak% - before 2.1 of the endfloat package,\MessageBreak% - because those versions redefined\MessageBreak% - the \string\enddocument\space command.}% - }}{}% -% \end{macrocode} -% -% |\lastpage@putlabel|, used by older versions of this package, -% is redefined e.\,g. by \xpackage{revtex}, \xpackage{hyperref}, -% \xpackage{frenchle}, and \xpackage{PPRcorners}. +% \indent |\lastpage@putlabel|, used by older versions of this package, +% is redefined e.\,g. by \xpackage{revtex}, \xpackage{frenchle}, +% \xpackage{PPRcorners}, and old versions of \xpackage{hyperref}. % While now |\lastpage@putl@bel| is used instead, \xpackage{revtex} -% or \xpackage{hyperref} could also define a label \texttt{LastPage}, +% could also define a label \texttt{LastPage}, % which then would be multiply defined. (Which is no big issue, % if it is associated with the same page.) Therefore we define % % \begin{macrocode} - \gdef\lastpage@putlabel{\relax}% +\AddToHook{begindocument/end}{\gdef\lastpage@putlabel{\relax}} + % \end{macrocode} % % Because |\lastpage@putlabel| might be (re)defined later, depending on the order % in which the packages are loaded, we will do this again at the end of the document. % +% \begin{macro}{\protected@iwrite} +% \indent We need an |\immediate\protected@write|. Just |\immediate\write| had led to errors, +% for example when pakets like \pkg{babel-greek} re-defined |\roman|\ % +% (thanks to Ulrike Fischer for the report). +% % \begin{macrocode} +%% From https://tex.stackexchange.com/a/542425 with thanks to +%% Prof. Enrico Gregorio +\long\def\protected@iwrite#1#2#3{% + \begingroup% + #2% + \let\protect\@unexpandable@protect% + \edef\reserved@a{\immediate\write#1{#3}}% + \reserved@a% + \endgroup% + \if@nobreak\ifvmode\nobreak\fi\fi% } % \end{macrocode} +% \end{macro} % % \begin{macro}{\lastpage@putl@bel} % \indent This command does the writing of the label. -% If the \xpackage{pageslts} package is used, this \xpackage{lastpage} package is -% not needed at all. The \xpackage{LastPage} label would even be defined twice. +% If the \xpackage{pageslts} package is used, this \xpackage{lastpage} package +% is not needed at all. The \xpackage{LastPage} label would even be defined twice. % Thus, if \xpackage{pageslts} is used, here nothing is done. % % \begin{macrocode} @@ -1486,175 +1452,117 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \IfPackageLoadedTF{pageslts}{\relax}{% % \end{macrocode} % -% Otherwise the label is set:\\ -% We have got to distinguish whether \xpackage{hyperref} has been loaded or not: -% -% \begin{macrocode} - \IfPackageLoadedTF{hyperref}{\lastpage@putlabelhyper}{% -% \end{macrocode} -% -% and also need to treat documents with \xpackage{nameref} differently: -% -% \begin{macrocode} - \IfPackageLoadedTF{nameref}{\lastpage@putlabelNR}{% -% \end{macrocode} +% \noindent Otherwise the label is set:\newpage % -% When those packages have not been loaded, we just write the -% simple label into the \xfile{aux} file (and store the value of the page): +% \noindent If the \xpackage{hyperref} package is used, but page-anchors are disabled, +% the hyperlinking will not work. % % \begin{macrocode} - \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% - }% - }% - }% - } - -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\lastpage@putlabelhyper}% -% \indent When \xpackage{hyperref} has been loaded, the label is set with the -% |\lastpage@putlabelhyper| command. If the \xpackage{hyperref} package is used, -% but page-anchors are disabled, the hyperlinking will not work. -% -% \begin{macrocode} -\newcommand{\lastpage@putlabelhyper}{% - \ifHy@pageanchor% - \else% - \PackageError{lastpage}{hyperref option pageanchor disabled}{% - The \string\pageref{LastPage} link does not work\MessageBreak% - using hyperref with disabled option `pageanchor'.\MessageBreak% - }% - \fi% + \IfPackageLoadedTF{hyperref}{\ifHy@pageanchor\else% + \PackageError{lastpage}{hyperref option pageanchor disabled}{% + The \string\pageref{LastPage} link does not work\MessageBreak% + using hyperref with disabled option `pageanchor'.\MessageBreak% + }\fi}{}% + \begingroup% % \end{macrocode} % -% Since the page has been put out, we are on the page \textit{after} that page. +% \noindent Since the page has been put out, we are on the page \textit{after} that page. % We therefore subtract one from the page counter. (For the compiler, % this is equal to |\advance\c@page\m@ne|, but for human readers of the code % it is probably easier to understand.) % % \begin{macrocode} - \begingroup% - \addtocounter{page}{-1}% + \addtocounter{page}{-1}% % \end{macrocode} % -% Simply using |\label| for \texttt{LastPage} would not work, +% \noindent Simply using |\label| for \texttt{LastPage} would not work, % because labels wait for the output routines to work, and there -% may be no more invocations of the output routines. To force -% the write out, we need to do an |\immediate| write into the \xfile{aux} file. -% -% \begin{macrocode} -%% The following code is from the hyperref package %% -%% 2010/04/17 v6.80x; newer versions are available. %% - \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\relax% -% \end{macrocode} -% -% We do not count the pages ourselves, and so they could have been changed by -% e.\,g. |\pagenumbering{...}|, |\addtocounter{page}{...}|,\\ -% |\setcounter{page}{...}|. Thus the page might have the number one -% while not being the first page at all. Using the (obsolete) \xpackage{everyshi} -% package would help, but this package should not require other packages. -% The \xpackage{pageslts} package does a better handling, but requires -% some other packages.\\ -% We will make a mistake here at most once: +% may be no more invocations of the output routines. +% To force the write out, we need to do an |\immediate| protected write +% into the \xfile{aux} file. % % \begin{macrocode} - \ifx \lastpage@firstpage\lastpage@one\relax% - \def\Hy@temp{\thepage}% - \gdef\lastpage@firstpage{0}% + \IfPackageLoadedTF{hyperref}{% + % with code from \Hy@EveryPageAnchor of the hyperref package, + % 2023-07-08 v7.01b + \ifHy@pageanchor% + \ifHy@hypertexnames% + \ifHy@plainpages% + \def\Hy@temp{\the\c@page}% + \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\c@page}}% + \Hy@PageAnchorSlidesPlain% \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. %% + % No \begingroup, because we are in a group anyway. + \let\@number\@firstofone% + \Hy@unicodefalse% + \Hy@PageAnchorSlide% + \pdfstringdef\@the@H@page{\thepage}% + % No \endgroup, because we are in a group anyway. + \EdefUnescapeString\@the@H@page{\@the@H@page}% + \def\Hy@TempPageAnchor{\hyper@@anchor{page.\@the@H@page}}% + \def\Hy@temp{\@the@H@page}% + \fi% \else% -%% Code from hyperref package again: %% - \pdfstringdef\Hy@temp{\thepage}% -%% Code from pageslts package again: %% + % NOT! \Hy@GlobalStepCount\Hy@pagecounter + \def\Hy@TempPageAnchor{\hyper@@anchor{page.\the\Hy@pagecounter}}% + \def\Hy@temp{\the\Hy@pagecounter}% \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. %% + }{}% + \IfFormatAtLeastTF{2023/06/01}{% % \end{macrocode} % -% We also save the values, so that we can later (next rerun) check, -% whether they have been saved in the \xfile{aux} file. +% \noindent The |\label| command has been extended, see \LaTeX{} News Issue~37, +% June~2023 (\LaTeX{} release 2023-06-01), +% \url{https://www.latex-project.org/news/latex2e-news/ltnews37.pdf}. % % \begin{macrocode} - \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% + \protected@iwrite\@auxout{}{\string\newlabel{LastPage}{% + {\@currentlabel}% + {\IfPackageLoadedTF{hyperref}{\string\begingroup% + \string\pdfstringdefDisableCommands{\string\let% + \string\TextOrMath\string\@firstoftwo}\thepage% + \string\endgroup% + }{\thepage}}% + {\@currentlabelname}% + {\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor page.\Hy@temp\fi% + }{\@currentHref}}% + {\@kernel@reserved@label@data}}}% + }{\IfPackageLoadedTF{hyperref}{\protected@iwrite\@auxout{}{% + \string\newlabel{LastPage}{{}{\thepage}{}{% + \ifHy@pageanchor page.\Hy@temp\fi}{}}}% + }{\IfPackageLoadedTF{nameref}{\protected@iwrite\@auxout{}{% + \string\newlabel{LastPage}{{}{\thepage}{}{}{}}}% + }{\protected@iwrite\@auxout{}{\string\newlabel{LastPage}{% + {}{\thepage}}}% + }% + }% + }% % \end{macrocode} % -% After the writeout we restore the page number again, -% since there might be other things still to be done. +% \noindent We also save the values, so that we can later (next rerun) check, +% whether they have been saved in the \xfile{aux} file. % % \begin{macrocode} - \addtocounter{page}{+1}% - \endgroup% - } - + \protected@iwrite\@auxout{}{\string\gdef\string\lastpage@lastpage{\thepage}}% + \gdef\lastpage@Hy{\IfPackageLoadedTF{hyperref}{\ifHy@pageanchor\Hy@temp\fi}{}}% + \protected@iwrite\@auxout{}{\string\gdef\string\lastpage@lastpageHy{\lastpage@Hy}}% % \end{macrocode} -% \end{macro} % -% \begin{macro}{\lastpage@putlabelNR} -% \indent The \xpackage{nameref} package redefines |\label| to have five arguments -% instead of two, therefore -% \newline -% |\newlabel{LastPage}{{}{\thepage}{}{}{}}| -% instead of\newline -% |\newlabel{LastPage}{{}{\thepage}}| must be used: +% \noindent After the writeout we restore the page number again, +% since there might be other things still to be done. % % \begin{macrocode} -\newcommand{\lastpage@putlabelNR}{% - \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% + \addtocounter{page}{+1}% + \endgroup% + }% } % \end{macrocode} % \end{macro} -% \pagebreak % % \begin{macro}{\lastpage@fileswtest} -% \indent Later it will be determined whether it is allowed to write +% \indent \hspace*{2em}Later it will be determined whether it is allowed to write % to the \xfile{aux} file. If it was \emph{not} allowed, it is checked % whether the label was already set via the \xfile{aux} file in some % earlier compilation run. (There are packages where the document @@ -1694,9 +1602,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{macrocode} % \end{macro} +% \newpage % % \begin{macro}{\lastpage@fileswtestHy} -% \indent When the \xpackage{hyperref} package has been loaded, +% \indent \hspace*{2em}When the \xpackage{hyperref} package has been loaded, % |\lastpage@lastpageHy| must be tested additionally. (And a % |\newcommand| is needed, because |\ifHy@pageanchor| is not even % defined when \xpackage{hyperref} has not been loaded.) @@ -1730,7 +1639,6 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook }% \gdef\lastpage@putlabel{\relax}% % \end{macrocode} -% \pagebreak % % It is checked whether writing to files is allowed % (otherwise, only an error message is issued and nothing is done). @@ -1739,8 +1647,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook \if@filesw% % \end{macrocode} % -% We put in a |\message| to show, in what order things (which were called) -% are done. +% We put in a |\message| to show, in what order things (which were called) are done. % % \begin{macrocode} \message{^^Jenddocument/afterlastpage: lastpage setting LastPage.^^J}% @@ -1768,19 +1675,19 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook } %</lastpagemodern> % \end{macrocode} -% \pagebreak +% \newpage % % \section{Installation} % \subsection{Downloads\label{ss:Downloads}} % Everything is available at \url{https://www.ctan.org}, -% but may need additional packages themselves.\\ +% but may need additional packages themselves. % % \DescribeMacro{lastpage.dtx} % For unpacking the |lastpage.dtx| file and constructing the documentation it is required: % \begin{description} % \item[-] \TeX Format \LaTeXe{}: \url{https://www.CTAN.org} % -% \item[-] document class \xclass{ltxdoc}, 2022/06/22, v2.1i, +% \item[-] document class \xclass{ltxdoc}, 2023/03/28, v2.1j, % \url{https://ctan.org/pkg/ltxdoc} % % \item[-] package \xpackage{holtxdoc}, 2019/12/09, v0.30, @@ -1793,7 +1700,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \begin{description} % \item[-] \TeX, \url{https://www.CTAN.org} % -% \item[-] package \xpackage{lastpage}, 2023-04-12, v2.0b, +% \item[-] package \xpackage{lastpage}, 2023-07-24, v2.0c, % \url{https://ctan.org/pkg/lastpage} % \end{description} % @@ -1803,10 +1710,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \begin{description} % \item[-] \TeX-format \LaTeX{}, v2.09 % -% \item[-] package \xpackage{lastpage209}, 2023-04-12, v2.0b, +% \item[-] package \xpackage{lastpage209}, 2023-07-24, v2.0c, % \url{https://ctan.org/pkg/lastpage} % \end{description} -% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}.\\ +% and does not work with \xpackage{hyperref}, which needs \LaTeX2e{}. % % \DescribeMacro{lastpage2e.sty} % The |lastpage2e.sty| for \LaTeXe{} (i.\,e. each document using @@ -1815,7 +1722,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item[-] \TeX-format \LaTeXe{} 1994/12/01 or newer, % \url{https://www.CTAN.org} % -% \item[-] package \xpackage{lastpage}, 2023-04-12, v2.0b, +% \item[-] package \xpackage{lastpage}, 2023-07-24, v2.0c, % \url{https://ctan.org/pkg/lastpage} % \end{description} % @@ -1823,15 +1730,15 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % The |lastpageclassic.sty| for \LaTeXe{} (i.\,e. each document using % the \xpackage{lastpageclassic} package) requires: % \begin{description} -% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2022/11/01,\\ +% \item[-] \TeX-format \LaTeXe{} between 1994/12/01 and 2022/11/01,\newline % \url{https://www.CTAN.org} % -% \item[-] package \xpackage{lastpage}, 2023-04-12, v2.0b, +% \item[-] package \xpackage{lastpage}, 2023-07-24, v2.0c, % \url{https://ctan.org/pkg/lastpage} % \end{description} % and can use % \begin{description} -% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v, +% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b, % \url{https://ctan.org/pkg/hyperref} % \end{description} % @@ -1839,15 +1746,15 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % The |lastpagemodern.sty| for \LaTeXe{} (i.\,e. each document using % the \xpackage{lastpagemodern} package) requires: % \begin{description} -% \item[-] \TeX-format \LaTeXe{} 2022-11-01 or newer, +% \item[-] \TeX-format \LaTeXe{} 2022-11-01, better yet 2023-06-01 or newer, % \url{https://www.CTAN.org} % -% \item[-] package \xpackage{lastpage}, 2023-04-12, v2.0b, +% \item[-] package \xpackage{lastpage}, 2023-07-24, v2.0c, % \url{https://ctan.org/pkg/lastpage} % \end{description} % and can use % \begin{description} -% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v, +% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b, % \url{https://ctan.org/pkg/hyperref} % \end{description} % @@ -1855,21 +1762,21 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % The |lastpage-example.tex| requires the same file as all % documents using the \xpackage{lastpage} package, i.\,e. % \begin{description} -% \item[-] package \xpackage{lastpage}, 2023-04-12, v2.0b, -% \url{https://ctan.org/pkg/lastpage}\\ +% \item[-] package \xpackage{lastpage}, 2023-07-24, v2.0c, +% \url{https://ctan.org/pkg/lastpage}\newline % (Well, it is the example file for this package, and because you are reading the % documentation for the \xpackage{lastpage} package, it can be assumed that you already % have some version of it -- is it the current one?) % \end{description} % and additionally: % \begin{description} -% \item[-] class \xpackage{article}, 2022/07/02, v1.4n, from \xpackage{classes}: +% \item[-] class \xpackage{article}, 2023-05-17, v1.4n, from \xpackage{classes}: % \url{https://ctan.org/pkg/classes} % -% \item[-] package \xpackage{showkeys}, 2022/04/12, v3.18, +% \item[-] package \xpackage{showkeys}, 2023-05-11, v3.19, % \url{https://ctan.org/pkg/showkeys} % -% \item[-] package \xpackage{hyperref}, 2023-02-07, v7.00v, +% \item[-] package \xpackage{hyperref}, 2023-07-08, v7.01b, % \url{https://ctan.org/pkg/hyperref} % \end{description} % @@ -1890,7 +1797,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \xpackage{fancyheadings}), but because they were mentioned, also they are listed % here: % \begin{description} -% \item[-] package \xpackage{fancyhdr}, 2022/11/09, v4.1, +% \item[-] package \xpackage{fancyhdr}, 2022-11-09, v4.1, % \url{https://ctan.org/pkg/fancyhdr} % % \item[-] package \xpackage{nccfancyhdr}, 2004/12/07, v1.1, @@ -1910,8 +1817,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item[-] package \xpackage{pageslts}, 2015/12/21, v1.2f, % \url{https://ctan.org/pkg/pageslts} % -% \item[-] package \xpackage{papermas}, 2011/08/22, v1.0h; the \xpackage{papermas} -% package can be considered as kind of add-on to the \xpackage{pageslts} package.\\ +% \item[-] package \xpackage{papermas}, 2023-04-12, v1.1a; the \xpackage{papermas} +% package can be considered as kind of add-on to the \xpackage{pageslts} package.\newline % \url{https://ctan.org/pkg/papermas} % % \item[-] package \xpackage{count1to}, 2009/05/24, v2.1, @@ -1933,7 +1840,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item[-] package \xpackage{zref}, 2022-04-07, v2.34, % \url{https://ctan.org/pkg/zref} % -% \item[-] class \xpackage{memoir}, 2022-11-17, 3.7.19, +% \item[-] class \xpackage{memoir}, 2022-11-17, v3.7.19, % \url{https://ctan.org/pkg/memoir}. % \end{description} % @@ -1942,25 +1849,24 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \DescribeMacro{zref} % All packages of the `oberdiek' bundle % (especially \xpackage{holtxdoc} and \xpackage{zref}) -% are also available in a TDS compliant ZIP archive:\\ -% \url{https://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\\ +% are also available in a TDS compliant ZIP archive:\newline +% \url{https://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\newline % It is probably best to download and use this, because the packages in there -% are quite probably both recent and compatible among themselves.\\ +% are quite probably both recent and compatible among themselves.\par % % \DescribeMacro{hyperref} % \noindent \xpackage{hyperref} is not included in that bundle and needs to be -% downloaded separately,\\ -% \url{https://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\\ +% downloaded separately,\newline +% \url{https://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\par % % \DescribeMacro{Münch} -% A hyperlinked list of my (other) packages can be found at\\ +% A hyperlinked list of my (other) packages can be found at\newline % \url{https://ctan.org/author/muench-hm}. -% \pagebreak % % \subsection{Package, unpacking TDS} % \paragraph{Package.} This package is available on \url{https://www.CTAN.org}. % \begin{description} -% \item[\url{https://mirror.ctan.org/macros/latex/contrib/lastpage/lastpage.dtx}]\hspace*{0.1cm} \\ +% \item[\url{https://mirror.ctan.org/macros/latex/contrib/lastpage/lastpage.dtx}]\hspace*{0.1cm} \newline % The source file. % \item[\url{https://mirror.ctan.org/macros/latex/contrib/lastpage/lastpage.pdf}]\hspace*{0.1cm} \\ % The documentation. @@ -1997,7 +1903,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \verb|tex lastpage.dtx| % \end{quote} % -% About generating the documentation see paragraph~\ref{GenDoc} below.\\ +% \noindent About generating the documentation see paragraph~\ref{GenDoc} below.\par % % \paragraph{TDS.} Now the different files must be moved into % the different directories in your installation TDS tree @@ -2123,10 +2029,10 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \end{quote} % % \subsection{Compiling the example} -% The example file, \textsf{lastpage-example.tex}, can be compiled via\\ -% \indent |latex lastpage-example.tex|\\ -% or (recommended)\\ -% \indent |pdflatex lastpage-example.tex|\\ +% The example file, \textsf{lastpage-example.tex}, can be compiled via\newline +% \indent |latex lastpage-example.tex|\newline +% or (recommended)\newline +% \indent |pdflatex lastpage-example.tex|\newline % and will need at least two compiler runs to get all references right. % % \section{Acknowledgements} @@ -2139,13 +2045,11 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % I know about creating a file in \xfile{dtx} format, OK, say it: copying), % and the \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} % newsgroups for their help in all things \TeX{}. Thanks for bug reports -% to \textsc{Ulrike Fischer}, \textsc{Sebastian Bank}, \textsc{James Hedges}, +% to \textsc{Ulrike Fischer} (twice), \textsc{Sebastian Bank}, \textsc{James Hedges}, % \textsc{Mikhail Titov}, \textsc{Micha\l{} Herman}, and \textsc{Matteo Gamboz}. % Thanks to \textsc{Sven Siegmund} for pointing out a necessary further % explanation in the documentation. % -% \pagebreak -% % \phantomsection % \begin{History}\label{History} % \begin{Version}{1994/06/17 v0.99a} @@ -2155,9 +2059,9 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item Last version number created by \textsc{Jeffrey P. Goldberg}. % \end{Version} % \begin{Version}{1994/07/20 v0.1b (again)} -% \item Documentation updated by \textsc{Jeffrey P. Goldberg}.\\ +% \item Documentation updated by \textsc{Jeffrey P. Goldberg}.\newline % The main source code of the \xpackage{lastpage} package 1994/07/20, -% v0.1b, was:\\ +% v0.1b, was: % \begin{verbatim} % \NeedsTeXFormat{LaTeX2e}[1994/06/01] % \ProvidesPackage{lastpage}[1994/07/20 v0.1b @@ -2171,11 +2075,9 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \clearpage\lastpage@putlabel}% % \endinput % \end{verbatim} -% and then the \xpackage{hyperref} package and the \xpackage{revtex4} -% class even redefine\\ -% |\lastpage@putlabel| (at least \xpackage{hyperref} version -% 2012/11/06, v6.83m, and -% REV\TeX{}4 version 2010/07/25, v4.1r, still did this). +% and then the \xpackage{hyperref} package (2012/11/06, v6.83m) +% even redefined |\lastpage@putlabel|; the \xpackage{REV\TeX{}4} +% class 2022-06-05, v4.2f, still does this. % \end{Version} % \begin{Version}{2010/02/18 v1.1} % \item Proposed |LastPages| label by \textsc{H.-Martin Münch} @@ -2189,8 +2091,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \xpackage{fancyhdr} package at all. % \item Included \textsf{lastpage209.sty} for \LaTeX2.09{}. % \item Replacement of |\filedate|, |-version|, |-name|,\ldots{} because -% of \LaTeX{}~bug 2705:\\ -% Synopsis: Possible problem with |\fileversion| and |\filedate|\\ +% of \LaTeX{}~bug 2705:\newline +% Synopsis: Possible problem with |\fileversion| and |\filedate|\newline % \url{https://www.latex-project.org/cgi-bin/ltxbugs2html?category=LaTeX&responsible=anyone&state=anything&keyword=lastpage&pr=latex/2705} % \item Example |lastpage-example.tex|. % \item Alternatives listing (section \ref{sec:Alternatives}). @@ -2218,7 +2120,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % |\AtBeginDocument|, when placing the \texttt{lastpage} label it is also % checked for the |\hyperref| command, in case \xpackage{hyperref} was not % loaded at |\begin{document}| yet. (Bug reported by \textsc{Sebastian Bank}, -% thanks!) [lastpagemodern.sty just uses |\IfPackageLoadedTF{hyperref}|.] +% thanks!)\newline +% [\pkg{lastpagemodern.sty} just uses |\IfPackageLoadedTF{hyperref}|.] % \item Changed the |\unit| definition (got rid of an old |\rm|). [Removed in v2.0a.] % \item Changed |\lastpage@puthyperlabel| to |\lastpage@putlabelhyper| analogous to % |\pagesLTS@putlabelhyper| of the \xpackage{pageslts} package. @@ -2229,8 +2132,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \begin{Version}{2010/08/25 v1.2d} % \item Bug fix: also \xpackage{tcilatex} defines the |\hyperref| command, % therefore for \xpackage{hyperref} package detection this had to be -% changed to |\Hy@Warning|. -% [lastpagemodern just uses |\IfPackageLoadedTF{hyperref}|.] +% changed to |\Hy@Warning|.\newline +% [\pkg{lastpagemodern.sty} just uses |\IfPackageLoadedTF{hyperref}|.] % \end{Version} % \begin{Version}{2010/09/12 v1.2e} % \item \textsc{James Hedges} pointed out, that there was no instruction in the @@ -2241,7 +2144,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item Updated to version 2010/09/13 v6.81n of the \xpackage{hyperref} package. % \item New version of REV\TeX{}4\ 2010/07/25, v4.1r, old problem. % \item New version of \xpackage{pagesLTS} package, 2010/09/22, v1.1k. -% \item Moved the package from \texttt{.../latex/muench/lastpage/...} to\\ +% \item Moved the package from \texttt{.../latex/muench/lastpage/...} to\newline % \texttt{.../latex/lastpage/...}. % \end{Version} % \begin{Version}{2011/02/01 v1.2g} @@ -2270,11 +2173,12 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % to the \xfile{aux} file. (Bug reported by \textsc{Mikhail Titov}.) % \end{Version} % \begin{Version}{2011/09/01 v1.2k} -% \item Fixed |\thepage{}| to |\thepage{} |, where there should be a space. -% \item New version of the \xpackage{hyperref} package, 2011/08/19, v6.82h, but -% still problem with links to pages with +% \item Fixed |\thepage{}| to \mbox{|\thepage{}|\textvisiblespace,} +% where there should be a space. +% \item New version of the \xpackage{hyperref} package, 2011/08/19, v6.82h, +% but still problem with links to pages with % page-\textquotedblleft number\textquotedblright{} in \texttt{fnsymbol} -% pagenumbering scheme. [Seems to be fixed since v6.83m as of 2012/11/06.] +% pagenumbering scheme. [Fixed since v6.83m as of 2012/11/06.] % \item Documentation update about \textquotedblleft No write access to the % \xfile{aux} file\textquotedblright . % \item New version of \xpackage{regstats} package available. @@ -2289,7 +2193,8 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % instead of two, therefore |\newlabel{LastPage}{{}{\thepage}{}{}{}}| instead of % |\newlabel{LastPage}{{}{\thepage}}| must be used. % (Bug reported at \url{https://tex.stackexchange.com/q/95541}, -% thanks to \textsc{Micha\l{} Herman}!) Fixed. +% thanks to \textsc{Micha\l{} Herman}!) Fixed.\newline +% [Since \LaTeX{} release 2023-06-01 five arguments are standard.] % \end{Version} % \begin{Version}{2015/03/29 v1.2m} % \item Updated to \TeX{} Live 2014 (for compiling the documentation and example). @@ -2306,7 +2211,7 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \item Removed |\unit|. % \item \pkg{lastpage} should now determine automatically, whether to load % its \TeX~2.09 version, classic \LaTeX2e-version, or modern version -% with \eTeX, hook-management etc. +% with \eTeX, hook{-}man\-age\-ment etc. % \item Converted to UTF-8. % \item Updated to \LaTeX{} format 2022-11-01. % \item Extensive updates to the documentation (manual \& README) and to the example. @@ -2314,6 +2219,15 @@ To see the content of the \texttt{enddocument/afterlastpage}-hook % \begin{Version}{2023-04-12 v2.0b} % \item Bug fix: What should have been |}}{}| was |}{}}|. Thanks to \textsc{Matteo Gamboz}! % \end{Version} +% \begin{Version}{2023-07-24 v2.0c} +% \item Since \LaTeX{} release 2023-06-01 labels have always five arguments. +% \item Removed the incompatibility warning regarding \pkg{endfloat} +% before 1994-06-01~(!) from \pkg{lastpagemodern.sty}. +% \item Replaced |\immediate\write| by a form of (pseudo-code!) |\immediate\protected@write|. +% (Thanks to \textsc{Ulrike Fischer} for the error report and solution!) +% \item Update of the |\lastpage@putl@bel| code to \pkg{hyperref} 2023-07-08, v7.01b, +% which now allows fnsymbol as page numbering scheme. +% \end{Version} % \end{History} % \bigskip % diff --git a/Master/texmf-dist/source/latex/lastpage/lastpage.ins b/Master/texmf-dist/source/latex/lastpage/lastpage.ins index 21f3b5b8866..31de85ab392 100644 --- a/Master/texmf-dist/source/latex/lastpage/lastpage.ins +++ b/Master/texmf-dist/source/latex/lastpage/lastpage.ins @@ -9,7 +9,7 @@ %% This is a generated file. %% %% Project: lastpage -%% Version: 2023-04-12 v2.0b +%% Version: 2023-07-24 v2.0c %% Info: Refers to last page's name %% %% Copyright (C) 2010 - 2023 by @@ -59,7 +59,7 @@ \input docstrip.tex \Msg{**********************************************************************} \Msg{* Installation *} -\Msg{* Package: lastpage 2023-04-12 v2.0b Refers to last page's name (HMM)*} +\Msg{* Package: lastpage 2023-07-24 v2.0c Refers to last page's name (HMM)*} \Msg{**********************************************************************} \keepsilent @@ -71,7 +71,7 @@ This is a generated file. Project: lastpage -Version: 2023-04-12 v2.0b +Version: 2023-07-24 v2.0c Info: Refers to last page's name Copyright (C) 2010 - 2023 by |