diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/lastpage')
-rw-r--r-- | Master/texmf-dist/tex/latex/lastpage/lastpage.sty | 277 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lastpage/lastpage209.sty | 52 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty | 67 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty | 254 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty | 237 |
5 files changed, 613 insertions, 274 deletions
diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage.sty index 909e3f88771..573ace14169 100644 --- a/Master/texmf-dist/tex/latex/lastpage/lastpage.sty +++ b/Master/texmf-dist/tex/latex/lastpage/lastpage.sty @@ -9,17 +9,13 @@ %% This is a generated file. %% %% Project: lastpage -%% Version: 2021/09/03 v1.2n +%% Version: 2023-03-07 v2.0a +%% Info: Refers to last page's name %% -%% Copyright (C) 2010 - 2021 by -%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% Copyright (C) 2010 - 2023 by +%% H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% -%% The usual disclaimer applies: -%% 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 @@ -28,265 +24,46 @@ %% and the latest version of this license is in %% https://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. +%% 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 (jeffrey+news at goldmark dot org). +%% This package was invented by Jeffrey P. Goldberg. %% I thought that a replacement was needed and therefore created the pageslts package, -%% https://www.ctan.org/pkg/pageslts +%% https://ctan.org/pkg/pageslts %% . 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. %% +%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" +%% to get "Page 7 of 9" or "Page VII of IX", +%% the NUMBER of pages is nowadays available via slash @abspage@last from the kernel, +%% but with pages for example I to X and then 1 to 10, the number of pages would be "20", +%% while the name of the last page is "10". Decide what you need/want! +%% %% This work consists of the main source file lastpage.dtx, %% the README, and the derived files -%% lastpage.sty, lastpage.pdf, -%% lastpage.ins, lastpage.drv, +%% lastpage.sty, lastpage209.sty, lastpage2e.sty, +%% lastpageclassic.sty, lastpagemodern.sty, +%% lastpage.pdf, lastpage.ins, lastpage.drv, %% lastpage-example.tex, lastpage-example.pdf. %% %% In memoriam -%% Claudia Simone Barth + 1996/01/30 -%% Tommy Muench + 2014/01/02 -%% Hans-Klaus Muench + 2014/08/24 +%% Claudia Simone Barth + 1996-01-30 +%% Tommy Muench + 2014-01-02 +%% Hans-Klaus Muench + 2014-08-24 %% -\NeedsTeXFormat{LaTeX2e}[2014/05/01] -\ProvidesPackage{lastpage}% - [2021/09/03 v1.2n 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.5d as of 2011/12/25. -%% 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@nameref{0} -\gdef\lastpage@french{0} -\gdef\lastpage@LTS{0} -\def\lastpage@firstpage{1} - -\AtBeginDocument{% - \@ifpackageloaded{tikz}{\gdef\lastpage@tikz{1}}{}% - \@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}% - \@ifpackageloaded{nameref}{\gdef\lastpage@nameref{1}}{}% - \@ifpackageloaded{french}{\gdef\lastpage@french{1}}{}% - \@ifpackageloaded{frenchle}{\gdef\lastpage@french{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% - https://www.ctan.org/pkg/pageslts\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% - https://www.ctan.org/pkg/pageslts\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% - \ifx\lastpage@nameref\lastpage@one% - \lastpage@putlabelNR% - \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% - \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@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% - } - -\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% - It is OK if the .aux file was already updated\MessageBreak% - by a previouse compiler run\MessageBreak% - and would not have changed anyway.\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% - But it is OK if the .aux file was already updated\MessageBreak% - by a previouse compiler run\MessageBreak% - and would not have changed anyway.\MessageBreak% - }% - \fi% - \fi% - } -\newcommand{\lastpage@fileswtestHy}{% - \ifHy@pageanchor% - \lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}% - \else% - \lastpage@fileswtest{\empty}{\lastpage@lastpageHy}% - \fi% - } - -\gdef\lastpage@lastpage{\relax}% -\gdef\lastpage@lastpageHy{\relax}% - -\AtEndDocument{% - \gdef\lastpage@putlabel{\relax}% - \ifx\lastpage@LTS\lastpage@one% - \else% - \ifx\lastpage@lastpage\relax% - \PackageWarning{lastpage}{Rerun to get the references right}% - \fi% - \ifx\lastpage@lastpageHy\relax% - \PackageWarning{lastpage}{Rerun to get the references right}% - \fi% - \fi% - \if@filesw% - \message{^^JAED: lastpage setting LastPage^^J}% - \@ifundefined{clearpage}{\relax}{\clearpage}% - \ifx\lastpage@french\lastpage@one% french or frenchle loaded - \addtocounter{page}{+1}\lastpage@putl@bel\addtocounter{page}{-1}% - \else% neither one loaded - \lastpage@putl@bel% - \fi% - \else% - \ifx\lastpage@LTS\lastpage@one% - \else% - \lastpage@fileswtest{\thepage}{\lastpage@lastpage}% - \ifx\lastpage@hyper\lastpage@one% - \lastpage@fileswtestHy% - \fi% - \fi% - \fi% - } - +%% 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/03/07 v2.0a 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 +\fi \endinput %% %% End of file `lastpage.sty'. diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty index 909ef009ca6..7ac6efce5df 100644 --- a/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty +++ b/Master/texmf-dist/tex/latex/lastpage/lastpage209.sty @@ -9,17 +9,13 @@ %% This is a generated file. %% %% Project: lastpage -%% Version: 2021/09/03 v1.2n +%% Version: 2023-03-07 v2.0a +%% Info: Refers to last page's name %% -%% Copyright (C) 2010 - 2021 by -%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> +%% Copyright (C) 2010 - 2023 by +%% H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de> %% Portions of code copyrighted by other people as marked. %% -%% The usual disclaimer applies: -%% 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 @@ -28,43 +24,51 @@ %% and the latest version of this license is in %% https://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. +%% 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 (jeffrey+news at goldmark dot org). +%% This package was invented by Jeffrey P. Goldberg. %% I thought that a replacement was needed and therefore created the pageslts package, -%% https://www.ctan.org/pkg/pageslts +%% https://ctan.org/pkg/pageslts %% . 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. %% +%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" +%% to get "Page 7 of 9" or "Page VII of IX", +%% the NUMBER of pages is nowadays available via slash @abspage@last from the kernel, +%% but with pages for example I to X and then 1 to 10, the number of pages would be "20", +%% while the name of the last page is "10". Decide what you need/want! +%% %% This work consists of the main source file lastpage.dtx, %% the README, and the derived files -%% lastpage.sty, lastpage.pdf, -%% lastpage.ins, lastpage.drv, +%% lastpage.sty, lastpage209.sty, lastpage2e.sty, +%% lastpageclassic.sty, lastpagemodern.sty, +%% lastpage.pdf, lastpage.ins, lastpage.drv, %% lastpage-example.tex, lastpage-example.pdf. %% %% In memoriam -%% Claudia Simone Barth + 1996/01/30 -%% Tommy Muench + 2014/01/02 -%% Hans-Klaus Muench + 2014/08/24 +%% Claudia Simone Barth + 1996-01-30 +%% Tommy Muench + 2014-01-02 +%% Hans-Klaus Muench + 2014-08-24 %% - % FOR LaTeX 2.09 ONLY - FOR LaTeX 2e USE lastpage.sty OR pageslts.sty! - % This is lastpage209.sty invented by Jeffrey P. Goldberg - % (jeffrey+news at goldmark dot org), maintained by - % H.-Martin M\"{u}ench (Martin dot Muench at Uni-Bonn dot de). +%% 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. \let\origenddocument=\enddocument% \def\enddocument{\clearpage% {\addtocounter{page}{-1}% - \immediate\write\@mainaux{\string\newlabel{LastPage}{{}{\thepage}}}}% - \addtocounter{page}{+1}% - \origenddocument% + \immediate\write\@mainaux{\string\newlabel{LastPage}{{}{\thepage}}}% }% + \addtocounter{page}{+1}% + \origenddocument% + } \endinput %% %% End of file `lastpage209.sty'. diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty b/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty new file mode 100644 index 00000000000..7f8808a1db1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lastpage/lastpage2e.sty @@ -0,0 +1,67 @@ +%% +%% This is file `lastpage2e.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lastpage.dtx (with options: `lastpage2e') +%% +%% This is a generated file. +%% +%% Project: lastpage +%% Version: 2023-03-07 v2.0a +%% Info: Refers to last page's name +%% +%% Copyright (C) 2010 - 2023 by +%% H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de> +%% Portions of code copyrighted by other people as marked. +%% +%% 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 +%% https://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% https://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, +%% https://ctan.org/pkg/pageslts +%% . 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. +%% +%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" +%% to get "Page 7 of 9" or "Page VII of IX", +%% the NUMBER of pages is nowadays available via slash @abspage@last from the kernel, +%% but with pages for example I to X and then 1 to 10, the number of pages would be "20", +%% while the name of the last page is "10". Decide what you need/want! +%% +%% This work consists of the main source file lastpage.dtx, +%% the README, and the derived files +%% lastpage.sty, lastpage209.sty, lastpage2e.sty, +%% lastpageclassic.sty, lastpagemodern.sty, +%% lastpage.pdf, lastpage.ins, lastpage.drv, +%% lastpage-example.tex, lastpage-example.pdf. +%% +%% In memoriam +%% Claudia Simone Barth + 1996-01-30 +%% Tommy Muench + 2014-01-02 +%% Hans-Klaus Muench + 2014-08-24 +%% +%% Part of the "lastpage" package +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{lastpage2e}[2023/03/07 v2.0a Decide which 2e lastpage version to use (HMM)] +\@ifl@t@r\fmtversion{2022/11/01}{\RequirePackage{lastpagemodern}}{% + \RequirePackage{lastpageclassic}} +\message{^^J} +\endinput +%% +%% End of file `lastpage2e.sty'. diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty b/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty new file mode 100644 index 00000000000..8b4a63cadcd --- /dev/null +++ b/Master/texmf-dist/tex/latex/lastpage/lastpageclassic.sty @@ -0,0 +1,254 @@ +%% +%% This is file `lastpageclassic.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lastpage.dtx (with options: `lastpageclassic') +%% +%% This is a generated file. +%% +%% Project: lastpage +%% Version: 2023-03-07 v2.0a +%% Info: Refers to last page's name +%% +%% Copyright (C) 2010 - 2023 by +%% H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de> +%% Portions of code copyrighted by other people as marked. +%% +%% 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 +%% https://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% https://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, +%% https://ctan.org/pkg/pageslts +%% . 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. +%% +%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" +%% to get "Page 7 of 9" or "Page VII of IX", +%% the NUMBER of pages is nowadays available via slash @abspage@last from the kernel, +%% but with pages for example I to X and then 1 to 10, the number of pages would be "20", +%% while the name of the last page is "10". Decide what you need/want! +%% +%% This work consists of the main source file lastpage.dtx, +%% the README, and the derived files +%% lastpage.sty, lastpage209.sty, lastpage2e.sty, +%% lastpageclassic.sty, lastpagemodern.sty, +%% lastpage.pdf, lastpage.ins, lastpage.drv, +%% lastpage-example.tex, lastpage-example.pdf. +%% +%% In memoriam +%% Claudia Simone Barth + 1996-01-30 +%% Tommy Muench + 2014-01-02 +%% Hans-Klaus Muench + 2014-08-24 +%% +%% Part of the "lastpage" package +\NeedsTeXFormat{LaTeX2e}[1994/12/01] +\ProvidesPackage{lastpageclassic}[2023/03/07 v2.0a Refers to last page's name (HMM; JPG)] +%% allows for things like "Page \thepage{} of \pageref{LastPage}" to get "Page 7 of 9" + +\gdef\lastpage@one{1} +\gdef\lastpage@hyper{0} +\gdef\lastpage@nameref{0} +\gdef\lastpage@french{0} +\gdef\lastpage@LTS{0} +\gdef\lastpage@firstpage{1} +\gdef\lastpage@lastpage{??} +\gdef\lastpage@lastpageHy{??} + +\AtBeginDocument{% + \@ifpackageloaded{endfloat}{% + \@ifpackagelater{endfloat}{1993/04/30}{\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.}% + }{}}% + \@ifpackageloaded{tikz}{\gdef\lastpage@tikz{1}}{}% + \@ifpackageloaded{hyperref}{\gdef\lastpage@hyper{1}}{}% + \@ifpackageloaded{nameref}{\gdef\lastpage@nameref{1}}{}% + \@ifpackageloaded{french}{\gdef\lastpage@french{1}}{}% + \@ifpackageloaded{frenchle}{\gdef\lastpage@french{1}}{}% + \@ifpackageloaded{pagesLTS}{\gdef\lastpage@LTS{1}}{}% + \@ifpackageloaded{pageslts}{\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% + \ifx\lastpage@nameref\lastpage@one% + \lastpage@putlabelNR% + \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% + \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. %% + \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% + \ifx \lastpage@firstpage\lastpage@one\relax% + \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@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% + } + +\newcommand{\lastpage@fileswtest}[2]{% + \edef\lastpage@testa{#1}% + \edef\lastpage@testb{#2}% + \ifx\lastpage@testa\lastpage@testb% + \else% + \ifx\lastpage@tikz\lastpage@one\relax% + \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% + It is OK if the .aux file was already updated\MessageBreak% + by a previous compiler run\MessageBreak% + and would not have changed anyway.\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% + But it is OK if the .aux file was already updated\MessageBreak% + by a previous compiler run\MessageBreak% + and would not have changed anyway.\MessageBreak% + }% + \fi% + \fi% + } + +\newcommand{\lastpage@fileswtestHy}{% + \ifHy@pageanchor% + \lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}% + \else% + \lastpage@fileswtest{\empty}{\lastpage@lastpageHy}% + \fi% + } + +\AtEndDocument{% + \ifx\lastpage@LTS\lastpage@one% + \else% + \gdef\lastpage@putlabel{??}% + \ifx\lastpage@lastpage\lastpage@putlabel\relax% + \PackageWarning{lastpage}{Rerun to get the references right}% + \fi% + \fi% + \gdef\lastpage@putlabel{\relax}% + \if@filesw% + \message{^^JAED: lastpage setting LastPage^^J}% + \@ifundefined{clearpage}{\relax}{\clearpage}% + \ifx\lastpage@french\lastpage@one% french or frenchle loaded + \addtocounter{page}{+1}\lastpage@putl@bel\addtocounter{page}{-1}% + \else% neither one loaded + \lastpage@putl@bel% + \fi% + \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 `lastpageclassic.sty'. diff --git a/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty b/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty new file mode 100644 index 00000000000..482c7209e7a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lastpage/lastpagemodern.sty @@ -0,0 +1,237 @@ +%% +%% This is file `lastpagemodern.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lastpage.dtx (with options: `lastpagemodern') +%% +%% This is a generated file. +%% +%% Project: lastpage +%% Version: 2023-03-07 v2.0a +%% Info: Refers to last page's name +%% +%% Copyright (C) 2010 - 2023 by +%% H.-Martin Muench <Martin dot Muench at Uni-Bonn dot de> +%% Portions of code copyrighted by other people as marked. +%% +%% 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 +%% https://www.latex-project.org/lppl/lppl-1-3c.txt +%% and the latest version of this license is in +%% https://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, +%% https://ctan.org/pkg/pageslts +%% . 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. +%% +%% While this package allows for things like "Page slash thepage{} of slash pageref{LastPage}" +%% to get "Page 7 of 9" or "Page VII of IX", +%% the NUMBER of pages is nowadays available via slash @abspage@last from the kernel, +%% but with pages for example I to X and then 1 to 10, the number of pages would be "20", +%% while the name of the last page is "10". Decide what you need/want! +%% +%% This work consists of the main source file lastpage.dtx, +%% the README, and the derived files +%% lastpage.sty, lastpage209.sty, lastpage2e.sty, +%% lastpageclassic.sty, lastpagemodern.sty, +%% lastpage.pdf, lastpage.ins, lastpage.drv, +%% lastpage-example.tex, lastpage-example.pdf. +%% +%% In memoriam +%% Claudia Simone Barth + 1996-01-30 +%% Tommy Muench + 2014-01-02 +%% Hans-Klaus Muench + 2014-08-24 +%% +%% Part of the "lastpage" package +\NeedsTeXFormat{LaTeX2e}[2022-11-01] +\ProvidesPackage{lastpagemodern}[2023-03-07 v2.0a 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 +%% for example I to X and then 1 to 10, the number of pages woud be "20", +%% while the name of the last page is "10". Decide what you need/want! + +\gdef\lastpage@one{1} +\gdef\lastpage@firstpage{1} +\gdef\lastpage@lastpage{??} +\gdef\lastpage@lastpageHy{??} + +\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.}% + }{}}% + \gdef\lastpage@putlabel{\relax}% + } + +\newcommand{\lastpage@putl@bel}{% + \IfPackageLoadedTF{pageslts}{\relax}{% + \IfPackageLoadedTF{hyperref}{\lastpage@putlabelhyper}{% + \IfPackageLoadedTF{nameref}{\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% + }% + }% + }% + } + +\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% + \begingroup% + \addtocounter{page}{-1}% +%% 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% + \ifx \lastpage@firstpage\lastpage@one\relax% + \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@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% + } + +\newcommand{\lastpage@fileswtest}[2]{% + \edef\lastpage@testa{#1}% + \edef\lastpage@testb{#2}% + \ifx\lastpage@testa\lastpage@testb% + \else% + \IfPackageLoadedTF{tikz}{% + \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% + It is OK if the .aux file was already updated\MessageBreak% + by a previous compiler run\MessageBreak% + and would not have changed anyway.\MessageBreak% + }% + }{\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% + But it is OK if the .aux file was already updated\MessageBreak% + by a previous compiler run\MessageBreak% + and would not have changed anyway.\MessageBreak% + }% + }% + \fi% + } + +\newcommand{\lastpage@fileswtestHy}{% + \ifHy@pageanchor% + \lastpage@fileswtest{\Hy@temp}{\lastpage@lastpageHy}% + \else% + \lastpage@fileswtest{\empty}{\lastpage@lastpageHy}% + \fi% + } + +\AddToHook{enddocument/afterlastpage}{% + \IfPackageLoadedTF{pageslts}{\relax}{% + \gdef\lastpage@putlabel{??}% + \ifx\lastpage@lastpage\lastpage@putlabel\relax% + \AddToHook{enddocument/info}{% + \PackageWarning{lastpage}{Rerun to get the references right}% + }% + \fi% + }% + \gdef\lastpage@putlabel{\relax}% + \if@filesw% + \message{^^Jenddocument/afterlastpage: lastpage setting LastPage.^^J}% + \IfPackageLoadedTF{french}{% + \addtocounter{page}{+1}\lastpage@putl@bel\addtocounter{page}{-1}% + }{\IfPackageLoadedTF{frenchle}{% + \addtocounter{page}{+1}\lastpage@putl@bel\addtocounter{page}{-1}% + }{\lastpage@putl@bel% + }% + }% + \else% + \IfPackageLoadedTF{pageslts}{\relax}{% + \lastpage@fileswtest{\thepage}{\lastpage@lastpage}% + \IfPackageLoadedTF{hyperref}{\lastpage@fileswtestHy}{\relax}% + }% + \fi% + } +\endinput +%% +%% End of file `lastpagemodern.sty'. |