diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/pageslts/pageslts.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/pageslts/pageslts.dtx | 630 |
1 files changed, 291 insertions, 339 deletions
diff --git a/Master/texmf-dist/source/latex/pageslts/pageslts.dtx b/Master/texmf-dist/source/latex/pageslts/pageslts.dtx index 325ac6f7f4b..e17ddf14f84 100644 --- a/Master/texmf-dist/source/latex/pageslts/pageslts.dtx +++ b/Master/texmf-dist/source/latex/pageslts/pageslts.dtx @@ -1,9 +1,9 @@ % \iffalse meta-comment % % File: pageslts.dtx -% Version: 2013/01/28 v1.2b +% Version: 2014/01/19 v1.2c % -% Copyright (C) 2010 - 2013 by +% Copyright (C) 2010 - 2014 by % H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> % Portions of code copyrighted by other people as marked. % @@ -84,7 +84,7 @@ \input docstrip.tex \Msg{*********************************************************************************} \Msg{* Installation} -\Msg{* Package: pageslts 2013/01/28 v1.2b Refers to special pages' numbers/names (HMM)} +\Msg{* Package: pageslts 2014/01/19 v1.2c Refers to special pages' numbers/names (HMM)} \Msg{*********************************************************************************} \keepsilent @@ -96,9 +96,9 @@ This is a generated file. Project: pageslts -Version: 2013/01/28 v1.2b +Version: 2014/01/19 v1.2c -Copyright (C) 2010 - 2013 by +Copyright (C) 2010 - 2014 by H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de> Portions of code copyrighted by other people as marked. @@ -147,6 +147,8 @@ and the derived files pageslts.sty, pageslts.pdf, pageslts.ins, pageslts.drv, pageslts-example.tex. +In memoriam Tommy Muench + 2014/01/02. + \endpreamble \let\MetaPrefix\DoubleperCent @@ -201,7 +203,7 @@ and the derived files % \begin{macrocode} %<*driver> \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesFile{pageslts.drv}[2013/01/28 v1.2b +\ProvidesFile{pageslts.drv}[2014/01/19 v1.2c Refers to special pages' numbers/names (HMM)] \documentclass[landscape]{ltxdoc}[2007/11/11]% v2.0u \usepackage{geometry}[2010/09/12]% v5.6 @@ -244,7 +246,7 @@ and the derived files % % \fi % -% \CheckSum{1786} +% \CheckSum{1706} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -294,7 +296,7 @@ and the derived files % \section,\subsection,\tableofcontents,\verb} % % \title{The \xpackage{pageslts} package} -% \date{2013/01/28 v1.2b} +% \date{2014/01/19 v1.2c} % \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} % % \maketitle @@ -340,16 +342,12 @@ and the derived files % but suppressing links, are supported. % \end{abstract} % -% \bigskip -% % \noindent \textbf{Please make sure to first deinstall the obsolete % \xpackage{pagesLTS} package before installing this \xpackage{pageslts} % package!}\\ % (There is at least one operating system which otherwise automatically % renames \xfile{pageslts} to \xfile{pagesLTS}.) % -% \bigskip -% % \noindent Right after |\begin{document}| a |\pagenumbering{|\ldots|}| should % be called -- with the appropriate argument out of e.\,g.\\ % arabic (Arabic numerals: 1, 2, 3, 4,\ldots),\\ @@ -359,22 +357,16 @@ and the derived files % Alph (Uppercase letters: A, B, C, D,\ldots),\\ % fnsymbol (Footnote symbols: $*$, $\dagger $, $\ddagger $, $\mathsection $,\ldots). % -% \bigskip -% % \noindent This package first started as a revision of the % \xpackage{lastpage} package of \textbf{Jeffrey P. Goldberg} (Thanks!), % but then it became obvious that a replacement was needed. % -% \bigskip -% % \noindent Disclaimer for web links: The author is not responsible for any contents % referred to in this work unless he has full knowledge of illegal contents. % If any damage occurs by the use of information presented there, only the % author of the respective pages might be liable, not the one who has referred % to these pages. % -% \bigskip -% % \noindent Save per page about $200\unit{ml}$ water, % $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood: % Therefore please print only if this is really necessary. @@ -454,7 +446,7 @@ and the derived files % \textbf{logical page numbers} together with \xpackage{hyperref}! % \label{logical page numbers} % \begin{description} -% \item [-] In Adobe Reader XI (11.0.1) enable:\\ +% \item [-] In Adobe Reader XI (11.0.6) enable:\\ % \underline{E}dit $>$ Prefere\underline{n}ces (Ctrl+k) % $>$ Page Display $>$ Page Content and Information % $>$ Use logical page \nolinebreak{\underline{n}umbers\ .} @@ -557,17 +549,17 @@ and the derived files % But thanks to the \xpackage{alphalph} package by \textsc{Heiko Oberdiek} % these limitation no longer hold. With his |\erroralph| command % now even negative or zero page -% \textquotedblleft numbers\textquotedblright\ are possible.\\ +% \textquotedblleft numbers\textquotedblright{} are possible.\\ % % \DescribeMacro{alphMult} % The string option \texttt{alphMult} takes three values: |ab|, |bb|, |0|: % \begin{description} % \item[ab] After page z, the page -% \textquotedblleft numbers\textquotedblright\ continue with +% \textquotedblleft numbers\textquotedblright{} continue with % aa, ab, ac, ad,\ldots, fxshrxw (the default), and before a with % 0, -a, -b,\ldots, -z, -aa, -ab,\ldots, -fxshrxw ($=-21\,474\,836\,47$). % \item[bb] After page z, the page -% \textquotedblleft numbers\textquotedblright\ continue with +% \textquotedblleft numbers\textquotedblright{} continue with % aa, bb, cc, dd,\ldots, and before a with % 0, -a, -b,\ldots, -z, -aa, -bb,\ldots\\ % (Internally up~to $\pm 55\,834\,558$ is allowed, but when printed will @@ -575,11 +567,11 @@ and the derived files % in the example file this happens at about $6\,500$.)\\ % (If you have a document with more than $6\,500$~pages, you might % think about splitting it in volumes. And page -% \textquotedblleft numbers\textquotedblright\ with about 100~digits +% \textquotedblleft numbers\textquotedblright{} with about 100~digits % are probably not easy to grasp for the reader, too.)\\ % \item[0] (zero) The \xpackage{pageslts} package does nothing, % thus the user is free to define the page -% \textquotedblleft numbers\textquotedblright\ after~z and before~a.\\ +% \textquotedblleft numbers\textquotedblright{} after~z and before~a.\\ % (But if the user does not do anything at all, the\\ % \ |LaTeX Error: Counter too large|\\ % will appear again.) @@ -589,17 +581,17 @@ and the derived files % The string option \texttt{AlphMulti} takes three values: |AB|, |BB|, |0|: % \begin{description} % \item[AB] After page Z, the page -% \textquotedblleft numbers\textquotedblright\ continue with +% \textquotedblleft numbers\textquotedblright{} continue with % AA, AB, AC, AD,\ldots, FXSHRXW (the default), and before A with % 0, -A, -B,\ldots, -Z, -AA, -AB,\ldots, -FXSHRXW. % \item[BB] After page Z, the page -% \textquotedblleft numbers\textquotedblright\ continue with +% \textquotedblleft numbers\textquotedblright{} continue with % AA, BB, CC, DD,\ldots, and before A with % 0, -A, -B,\ldots, -Z, -AA, -BB,\ldots \\ % (About the limits please see |alphMult| above.) % \item[0] (zero) The \xpackage{pageslts} package does nothing, % thus the user is free to define the page -% \textquotedblleft numbers\textquotedblright\ after~Z and before~A.\\ +% \textquotedblleft numbers\textquotedblright{} after~Z and before~A.\\ % (But if the user does not do anything at all, the\\ % \ |LaTeX Error: Counter too large|\\ % will appear again.) @@ -610,19 +602,19 @@ and the derived files % (i.\,e. \texttt{fnsymbolmult} or \texttt{fnsymbolmult=true} % or no \texttt{fnsymbolmult} option at all), % after 5 (\ensuremath {\mathparagraph }) the page -% \textquotedblleft number\textquotedblright\ is continued with -% the doubled \textquotedblleft number\textquotedblright\ of the +% \textquotedblleft number\textquotedblright{} is continued with +% the doubled \textquotedblleft number\textquotedblright{} of the % first, second, third,\ldots\ page (\ensuremath {**}, % \ensuremath {\dagger \dagger }, \ensuremath {\ddagger \ddagger }, % \ensuremath {\mathsection \mathsection }, % \ensuremath {\mathparagraph \mathparagraph }), % and after the tenth page the -% \textquotedblleft number\textquotedblright\ is tripled +% \textquotedblleft number\textquotedblright{} is tripled % (\ensuremath {***}, \ensuremath {\dagger \dagger \dagger },\ldots). % Compile the \textsf{pageslts-example.tex} with \pdfLaTeX\ and % see the resulting \xfile{pdf} file.\\ % Before \ensuremath {*} (page~1) the page -% \textquotedblleft numbers\textquotedblright\ are continued with +% \textquotedblleft numbers\textquotedblright{} are continued with % 0, \ensuremath {- * }, \ensuremath {- \dagger },\ldots, % \ensuremath {- \mathparagraph }, \ensuremath {- **}, % \ensuremath {- \dagger \dagger },\ldots \\ @@ -641,7 +633,7 @@ and the derived files % is exceeded, depending on the remaining file and its use of % \TeX\ capacity, of course. (If you have a document with more than % 11\,705~pages, you might think about splitting it in volumes. -% And page \textquotedblleft numbers\textquotedblright\ with +% And page \textquotedblleft numbers\textquotedblright{} with % 2\,341~digits are probably not easy to grasp for the reader, too.)\\ % % \subsubsection{romanMult, RomanMulti\label{sss:romanMult}} @@ -659,7 +651,7 @@ and the derived files % which would require either very small print or quite huge paper size.\\ % (If you have a document with so many pages, you might think % about splitting it in volumes. And page -% \textquotedblleft numbers\textquotedblright\ with +% \textquotedblleft numbers\textquotedblright{} with % thousands of digits are probably not easy to grasp for the reader, % too.)\\ % If the expansion below $1$ is not wanted, set options @@ -712,21 +704,21 @@ and the derived files % When more than one page numbering scheme is used, neither \texttt{LastPage} % nor \texttt{VeryLastPage} give the total \textbf{number} of pages. % For example, for a document with VI+36 pages, both give -% \textquotedblleft 36\textquotedblright\ as reference to the last page. +% \textquotedblleft 36\textquotedblright{} as reference to the last page. % While this is correct, the total number of pages is 42, and this is given % by the reference to \texttt{LastPage\underline{s}}: % \nolinebreak{|\lastpageref{LastPage|\underline{|s|}|}|} (note the -% \textquotedblleft s\textquotedblright\ at the end). When the +% \textquotedblleft s\textquotedblright{} at the end). When the % page number was manipulated by |\addtocounter{page}{...}| % or |\setcounter{page}{...}|, \texttt{LastPages} ignores this. % (At a page numbering change the page is reset to one (without option % |pagecontinue|). This is done by |\setcounter{page}{1}|, thus this is % ignored, too.)\\ % |\pageref{totpages}| of the \xpackage{totpages} package is similar to -% |\lastpageref{LastPages}|, but while the target for |\pageref{totpages}| -% is placed |\AtEndDocument|, the target for |\lastpageref{LastPages}| is -% placed |\AfterLastShipout|, therefore |\lastpageref{LastPages}| is safer -% to really get the total page number.\\ +% |\lastpageref{LastPages}|, but while the target for \linebreak[4] +% |\pageref{totpages}| is placed |\AtEndDocument|, the target for +% |\lastpageref{LastPages}| is placed |\AfterLastShipout|, therefore +% |\lastpageref{LastPages}| is safer to really get the total page number.\\ % % \pagebreak % @@ -736,7 +728,7 @@ and the derived files % numbering scheme. For example, when there are Roman VII pages in the % frontmatter and afterwards in the mainmatter you are at arabic page~9, % then |\theCurrentPage| is~16, whereas |\thepage| is~9. When the page -% \textquotedblleft number\textquotedblright\ (name) is manipulated by +% \textquotedblleft number\textquotedblright{} (name) is manipulated by % |\addtocounter{page}{...}| or |\setcounter{page}{...}|, |\theCurrentPage| % \nolinebreak{ignores} this. Because \texttt{CurrentPage} is a normal % counter, you can also say e.\,g.~|\Roman{CurrentPage}| to get the value @@ -826,8 +818,8 @@ and the derived files % \DescribeMacro{LastPages} % \indent For remediation the label % \nolinebreak{\texttt{LastPage}\textbf{\underline{s}}} -% (with \textquotedblleft s\textquotedblright\ at its end) is -% introduced. Please then refer to this label by +% (with \textquotedblleft s\textquotedblright{} at its end) is +% introduced. Please then refer to this label by \newline % |\lastpageref{LastPages}| instead of \texttt{LastPage} or % \texttt{VeryLastPage}.\\ % @@ -842,7 +834,7 @@ and the derived files % \texttt{<numbering scheme>} is e.\,g.\ arabic, roman, Roman, alph, % Alph,\ldots .\\ % For the \textbf{fnsymbol} page numbering scheme -% |\lastpageref{pagesLTS.fnsymbol}| is needed instead of +% |\lastpageref{pagesLTS.fnsymbol}| is needed instead of \newline % |\pageref{pagesLTS.fnsymbol}|. You can and should use % |\lastpageref{...}| also for the other page numbering schemes.\\ % @@ -899,12 +891,12 @@ and the derived files % \xpackage{pageslts} package, not the \xpackage{firstpage} one).\\ % % When you want to give the number of pages of each -% \textquotedblleft sector\textquotedblright\ of the page numbering +% \textquotedblleft sector\textquotedblright{} of the page numbering % scheme, you can use\\ % \DescribeMacro{pagesLTS. page numbering scheme . number .local.cnt} % |\lastpages{<page numbering scheme>}{<number>}|, \\ % where |<page numbering scheme>| is e.\,g. Roman, arabic,\ldots\ and -% |<number>| the \textquotedblleft sector\textquotedblright\ number, +% |<number>| the \textquotedblleft sector\textquotedblright{} number, % e.\,g.~|\lastpages{Roman}{2}|.\\ % (Internally, the counter has the format % |pagesLTS.<page numbering scheme>.<number>.local.cnt|.) @@ -959,7 +951,8 @@ and the derived files % % \noindent Code like % \begin{verbatim} -% This book has \lastpageref{pagesLTS.Roman}+\lastpageref{pagesLTS.arabic} pages (\lastpageref{LastPages} pages in total). +% This book has \lastpageref{pagesLTS.Roman}+\lastpageref{pagesLTS.arabic} pages % +% (\lastpageref{LastPages} pages in total). % \end{verbatim} % \noindent produces output like % \begin{quote} @@ -1010,9 +1003,9 @@ and the derived files % and it is tried to minimize any side effects the usage may have.\\ % % As now \textsc{Heiko Oberdiek}'s \texttt{atveryend} package is used, -% the references |\lastpageref{VeryLastPage}| and |\lastpageref{LastPages}| -% should work all right. About how to get the \texttt{atveryend} package, -% please see subsection~\ref{ss:Downloads}. +% the references |\lastpageref{VeryLastPage}| and \newline +% |\lastpageref{LastPages}| should work all right. About how to get the +% \texttt{atveryend} package, please see subsection~\ref{ss:Downloads}. % % \subsection{Interaction with very old versions of the \xpackage{endfloat} % % package\label{sec:endfloat}} @@ -1069,7 +1062,8 @@ and the derived files % but it became obvious that a replacement was needed to accomplish what this % 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}|,\\ +% |\usepackage[pagecontinue=false,%|\newline +% |alphMult=0,AlphMulti=0,fnsymbolmult=false,romanMult=false,RomanMulti=false]{pageslts}|,\\ % if the behaviour of the \xpackage{lastpage} package should be simulated. % Using \textbf{old}~(!) versions of the \xpackage{lastpage} before the \xpackage{pageslts} % before the \xpackage{hyperref} [2012/11/06 v6.83m] @@ -1119,7 +1113,7 @@ and the derived files % \end{tabular}\\[1ex] % \texttt{MAX} = \texttt{2147483647} % \end{quote} -% \textquotedblright\ (\textsc{Heiko Oberdiek}: +% \textquotedblright{} (\textsc{Heiko Oberdiek}: % The \xpackage{alphalph} package, 2010/04/18, v2.3, first table, p.~2).\\ % Please see subsubsections~\ref{sss:alphalph} and \ref{sss:romanMult} for % instructions how to overcome these limitations. @@ -1193,7 +1187,7 @@ and the derived files % package instead. % % \item[-] If \LaTeX2.09\ is still used, and if you are unable -% to switch to \LaTeXe{}, the \LaTeX2.09\ compatible +% to switch to \LaTeXe{}, the \LaTeX2.09{} compatible % \xpackage{lastpage209.sty} can be used (which is also contained % in the recent \xpackage{LastPage} package). % \end{description} @@ -1225,7 +1219,7 @@ and the derived files % \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.\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\\ % \url{ftp://tug.ctan.org/pub/tex-archive/obsolete/macros/latex209/contrib/misc/nofm.sty},\\ @@ -1268,10 +1262,10 @@ and the derived files %<*example> \documentclass[british]{article} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage{lipsum}[2011/04/14]% v1.2 +\usepackage{lipsum}[2011/04/14]% v1.2 \usepackage[draft]{showkeys}[2007/08/07]% v3.15 %% Use final instead of draft to hide the keys. %% -\usepackage{hyperref}[2012/11/06]% v6.83m +\usepackage{hyperref}[2012/11/06]% v6.83m \hypersetup{% extension=pdf,% plainpages=false,% @@ -1287,8 +1281,10 @@ and the derived files pdfpagelayout=SinglePage,% bookmarksopen=true% } -\usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB,fnsymbolmult=true,romanMult=true,RomanMulti=true]{pageslts}[2013/01/28]% v1.2b +\usepackage[pagecontinue=true,alphMult=ab,AlphMulti=AB,fnsymbolmult=true,% + romanMult=true,RomanMulti=true]{pageslts}[2014/01/19]% v1.2c %% These are the default options. %% + \makeatletter \renewcommand{\@evenfoot}% {Page \thepage\ (\theCurrentPage; local: \theCurrentPageLocal) of % @@ -1305,7 +1301,9 @@ and the derived files \def\pagesLTSexamplealph{23} \gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% \makeatother + \listfiles + \begin{document} \pagenumbering{roman} %% Note the first \pagenumbering immediately behind \begin{document}! %% @@ -1316,7 +1314,7 @@ and the derived files \markboth{Example for pageslts}{Example for pageslts} This example demonstrates the most common uses of package\\ -\textsf{pageslts}, v1.2b as of 2013/01/28 (HMM).\\ +\textsf{pageslts}, v1.2c as of 2014/01/19 (HMM).\\ The used options were \texttt{pagecontinue=true}, \texttt{alphMult=ab}, \texttt{AlphMulti=AB}, \linebreak \texttt{fnsymbolmult=true}, @@ -1352,6 +1350,7 @@ Page \thepage\ (\theCurrentPage; local: \theCurrentPageLocal) of % \lastpageref*{pagesLTS.Alph}(\lastpageref*{pagesLTS.Alph.local}) = % \lastpageref*{LastPages} pages.\\ + \textbf{Trademarks} appear throughout this example without any trademark symbol; they are the property of their respective trademark owner. There is no intention of infringement; the @@ -1359,7 +1358,7 @@ usage is to the benefit of the trademark owner.\\ \textbf{Tip}: Use \textit{logical page numbers} for the display of the pdf!\\ -(In Adobe Reader XI (11.0.1): \underline{E}dit $>$ +(In Adobe Reader XI (11.0.6): \underline{E}dit $>$ Prefere\underline{n}ces (Ctrl+k) $>$ Page Display $>$ Page Content and Information $>$ Use logical page \nolinebreak{\underline{n}umbers.)}\\ @@ -1595,7 +1594,7 @@ a package with output \linebreak \lipsum[1-4] \newpage -\subsection[Empty page style]{Also an empty page style is no problem\ % +\subsection[Empty page style]{Also an empty page style is no problem % for the current or total page count} \bigskip @@ -1655,9 +1654,9 @@ a package with output \linebreak \newpage -\subsection[addtocounter, setcounter]{Neither\ % -\texttt{\textbackslash addtocounter\{page\}} nor\ % -\texttt{\textbackslash setcounter\{page\}} is a problem for the\ % +\subsection[addtocounter, setcounter]{Neither % +\texttt{\textbackslash addtocounter\{page\}} nor % +\texttt{\textbackslash setcounter\{page\}} is a problem for the % current or total page numbers} (Here is an \verb|\addtocounter{page}{|\pagesLTSexampleArabic\verb|}| @@ -1728,12 +1727,12 @@ If that doesn't work, type X <return> to quit. \end{verbatim} \end{quote} Now the page numbers after 5 (\ensuremath {\mathparagraph }) are -continued with the doubled \textquotedblleft number\textquotedblright\ of +continued with the doubled \textquotedblleft number\textquotedblright{} of the first, second, third,\ldots\ page (\ensuremath {**}, \ensuremath {\dagger \dagger }, \ensuremath {\ddagger \ddagger }, \ensuremath {\mathsection \mathsection }, \ensuremath {\mathparagraph \mathparagraph }), -and after the tenth page the \textquotedblleft number\textquotedblright\ is +and after the tenth page the \textquotedblleft number\textquotedblright{} is tripled (\ensuremath {***}, \ensuremath {\dagger \dagger \dagger },\ldots). Page zero is named 0 and negative pages just named like the positive ones with addition of a minus sign~($-$). @@ -1797,16 +1796,16 @@ a package with output \linebreak \section{Roman - again!\label{Roman2}} -The page number would start with \textquotedblleft I\textquotedblright\ again -- +The page number would start with \textquotedblleft I\textquotedblright{} again -- but for the \textsf{pageslts} package (with option \texttt{pagecontinue=true}, or with option just \texttt{pagecontinue}, or even just \nolinebreak{with\textbf{out}} option \texttt{pagecontinue=false}). This package remembered the (\arabic{pagesLTS.double.Roman}-1)\footnote{% -OK, here you have to compute this value for yourself, but\ % +OK, here you have to compute this value for yourself, but % subtracting one should be manageable for \TeX{}nicians.} pages already done in Roman output, and therefore continues with page \textquotedblleft \thepage \textquotedblright .\\ -If you want to start with \textquotedblleft I\textquotedblright\ all +If you want to start with \textquotedblleft I\textquotedblright{} all over again, you will have two pages with the same name, but nevertheless you can do this by using option \texttt{pagecontinue=false} or a \verb|\setcounter{page}{1}|\ here (not demonstrated in this example file).\\ @@ -1937,7 +1936,7 @@ a package with output \linebreak Without option \texttt{alphMult=ab} of the \textsf{pageslts} (and the help of \textsc{Heiko Oberdiek's} \textsf{alphalph} package), after page -\textquotedblleft z\textquotedblright\ there would just appear a +\textquotedblleft z\textquotedblright{} there would just appear a \begin{quote} \begin{verbatim} LaTeX Error: Counter too large @@ -1965,17 +1964,17 @@ in the source code here. \section{Roman - third time!\label{Roman3}} The page number would start with -\textquotedblleft I\textquotedblright\ again -- but +\textquotedblleft I\textquotedblright{} again -- but for the \textsf{pageslts} package (with option \texttt{pagecontinue=true}, or with option just \texttt{pagecontinue}, or even just \nolinebreak{with\textbf{out}} option \texttt{pagecontinue=false}). This package remembered the -(\arabic{pagesLTS.double.Roman}-1)\footnote{OK, here\ % -you have to compute this value for yourself, but\ % +(\arabic{pagesLTS.double.Roman}-1)\footnote{OK, here % +you have to compute this value for yourself, but % subtracting one should be managable for \TeX nicians.} pages already done in Roman output, and therefore continues with page \textquotedblleft \thepage \textquotedblright .\\ -If you want to start with \textquotedblleft I\textquotedblright\ all +If you want to start with \textquotedblleft I\textquotedblright{} all over again, you will have (at least) two pages with the same name, but nevertheless you can do this by using option \texttt{pagecontinue=false} instead of \texttt{pagecontinue=true} @@ -2104,7 +2103,7 @@ a package with output \linebreak Without option \texttt{alphMulti=AB} of the \textsf{pageslts} (and the help of \textsc{Heiko Oberdiek's} \textsf{alphalph} package), after page -\textquotedblleft Z\textquotedblright\ there would just appear a +\textquotedblleft Z\textquotedblright{} there would just appear a \begin{quote} \begin{verbatim} LaTeX Error: Counter too large @@ -2203,7 +2202,7 @@ a package with output \linebreak % % \begin{macrocode} \NeedsTeXFormat{LaTeX2e}[2011/06/27] -\ProvidesPackage{pageslts}[2013/01/28 v1.2b +\ProvidesPackage{pageslts}[2014/01/19 v1.2c Refers to special pages' numbers/names (HMM)] % \end{macrocode} @@ -2282,6 +2281,13 @@ a package with output \linebreak \RequirePackage{letltxmacro}[2010/09/02]% v1.4 % \end{macrocode} % +% For |\ltx@ifpackageloaded| the \xpackage{ltxcmds} package is needed, +% also by \textsc{Heiko Oberdiek} (see subsection~\ref{ss:Downloads}): +% +% \begin{macrocode} +\RequirePackage{ltxcmds}[2011/11/09]% v1.22 +% \end{macrocode} +% % For the handling of the options we need the \xpackage{kvoptions} % package also by \textsc{Heiko Oberdiek} (see subsection~\ref{ss:Downloads}): % @@ -2333,7 +2339,7 @@ a package with output \linebreak % package actually redefined the |\enddocument| command, % and so interfered drastically with the \LaTeXe\ commands which % make use of |\AtEndDocument|. Newer versions of \xpackage{endfloat} -% exists (at the time of writing this documentation: v2.4i as of 1995/10/11) +% exists (at the time of writing this documentation: v2.5d as of 2011/12/25) % in modern documentation form, which are available from \CTAN{} % (see subsection~\ref{ss:Downloads}). % A~note is placed here, and later it is checked whether a (very) old @@ -2343,7 +2349,7 @@ a package with output \linebreak % a version date, of course. % % \begin{macrocode} -%% The recent version of the endfloat package is v2.4i as of 1995/10/11. +%% The recent version of the endfloat package is v2.5d as of 2011/12/25. %% The pageslts package is not fully compatible with version 2.0 %% (and earlier) of the endfloat package, because those versions %% redefined the \enddocument command. @@ -2405,15 +2411,15 @@ a package with output \linebreak please call pageslts with option pagecontinue=true,\MessageBreak% otherwise the page number is reset to one each time\MessageBreak% the page numbering scheme is changed.\MessageBreak% - For details please see the documentation!\MessageBreak% + For details please see the documentation% } \fi % \end{macrocode} % % The page number printed in \texttt{alph} or in \texttt{Alph} -% page numbering scheme had to be $>0$ and \nolinebreak{$<27$.}\ Now -% the \xpackage{alphalph} package allows to extend the +% page numbering scheme had to be $>0$ and \nolinebreak{$<27$.}\ % +% Now the \xpackage{alphalph} package allows to extend the % numbering scheme (not only for pages). Because some users % prefer aa, ab, ac, ad,\ldots\ and some aa, bb, cc, dd,\ldots, % both schemes can be chosen via the options. @@ -2433,24 +2439,8 @@ a package with output \linebreak \def\pagesLTS@BBi{BB} \ifx\pagesLTS@alphMult\pagesLTS@ab% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but not alphMult=0.\MessageBreak% - Now setting alphMult=0.\MessageBreak% - } - \setkeys{pagesLTS}{alphMult=0} - \fi \else \ifx\pagesLTS@alphMult\pagesLTS@bb% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but not alphMult=0.\MessageBreak% - Now setting alphMult=0.\MessageBreak% - } - \setkeys{pagesLTS}{alphMult=0} - \fi \else \ifx\pagesLTS@alphMult\pagesLTS@zero% \PackageWarningNoLine{pageslts}{% @@ -2463,7 +2453,7 @@ a package with output \linebreak alphalph package and call pageslts\MessageBreak% with option alphMult=ab (for aa, ab, ac, ad,...) or\MessageBreak% with option alphMult=bb (for aa, bb, cc, dd,...).\MessageBreak% - For details please see the documentation!\MessageBreak% + For details please see the documentation!% } \else \PackageError{pageslts}{Unknown option value}{% @@ -2471,7 +2461,7 @@ a package with output \linebreak alphMult= \pagesLTS@alphMult . Only values\MessageBreak% ab, bb, and 0 (zero) are valid.\MessageBreak% The default ab is set.\MessageBreak% - For details please see the documentation!\MessageBreak% + For details please see the documentation!% } \setkeys{pagesLTS}{alphMult=ab} \fi @@ -2479,30 +2469,9 @@ a package with output \linebreak \fi \ifx\pagesLTS@AlphMulti\pagesLTS@ABi% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but not AlphMulti=0.\MessageBreak% - Now setting AlphMulti=0.\MessageBreak% - } - \setkeys{pagesLTS}{AlphMulti=0} - \fi \else \ifx\pagesLTS@AlphMulti\pagesLTS@BBi% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but not AlphMulti=0.\MessageBreak% - Now setting AlphMulti=0.\MessageBreak% - } - \setkeys{pagesLTS}{AlphMulti=0} - \fi \else -% \end{macrocode} -% -% \pagebreak -% -% \begin{macrocode} \ifx\pagesLTS@AlphMulti\pagesLTS@zero% \PackageWarningNoLine{pageslts}{% Option AlphMulti=0 found:\MessageBreak% @@ -2514,7 +2483,7 @@ a package with output \linebreak alphalph package and call pageslts\MessageBreak% with option AlphMulti=AB (for AA, AB, AC, AD,...) or\MessageBreak% with option AlphMulti=BB (for AA, BB, CC, DD,...).\MessageBreak% - For details please see the documentation!\MessageBreak% + For details please see the documentation!% } \else \PackageError{pageslts}{Unknown option value}{% @@ -2522,7 +2491,7 @@ a package with output \linebreak AlphMulti= \pagesLTS@AlphMulti . Only values\MessageBreak% AB, BB, and 0 (zero) are valid.\MessageBreak% The default AB is set.\MessageBreak% - For details please see the documentation!\MessageBreak% + For details please see the documentation!% } \setkeys{pagesLTS}{AlphMulti=AB} \fi @@ -2554,16 +2523,6 @@ a package with output \linebreak % % \begin{macrocode} \ifpagesLTS@romanMult% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but also romanMult.\MessageBreak% - Now setting romanMult=false.\MessageBreak% - } - \setkeys{pagesLTS}{romanMult=false} - \fi -\fi -\ifpagesLTS@romanMult% \PackageInfo{pageslts}{Option romanMult enabled\MessageBreak% (maybe by default):\MessageBreak% The pageslts package will extend the page numbering\MessageBreak% @@ -2591,16 +2550,6 @@ a package with output \linebreak % % \begin{macrocode} \ifpagesLTS@RomanMulti% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but also RomanMulti.\MessageBreak% - Now setting RomanMulti=false.\MessageBreak% - } - \setkeys{pagesLTS}{RomanMulti=false} - \fi -\fi -\ifpagesLTS@RomanMulti% \PackageInfo{pageslts}{Option RomanMulti enabled\MessageBreak% (maybe by default):\MessageBreak% The pageslts package will extend the page numbering\MessageBreak% @@ -2629,16 +2578,6 @@ a package with output \linebreak % % \begin{macrocode} \ifpagesLTS@fnsymbolmult% - \ifpagesLTS@pagecontinue% \relax - \else - \PackageWarningNoLine{pageslts}{Option pagecontinue=false used,\MessageBreak% - but also fnsymbolmult.\MessageBreak% - Now setting fnsymbolmult=false.\MessageBreak% - } - \setkeys{pagesLTS}{fnsymbolmult=false} - \fi -\fi -\ifpagesLTS@fnsymbolmult% \PackageInfo{pageslts}{Option fnsymbolmult enabled\MessageBreak% (maybe by default):\MessageBreak% The pageslts package will extend the page numbering\MessageBreak% @@ -2671,9 +2610,6 @@ a package with output \linebreak \def\pagesLTS@fns{fnsymbol} \def\pagesLTS@alph{alph} \def\pagesLTS@Alph{Alph} -\def\pagesLTS@AlphAlph{0} -\def\pagesLTS@hyper{0} -\def\pagesLTS@nameref{0} \def\pagesLTS@rerun{0} \def\pagesLTS@eso{0} \def\pagesLTS@esov{0} @@ -2780,12 +2716,12 @@ a package with output \linebreak % % |\arabic{#1}| gives the arabic number of argument |#1|, % which is negative here (for example $-7$), -% \textquotedblleft |-|\textquotedblright\ puts another minus +% \textquotedblleft |-|\textquotedblright{} puts another minus % sign in front of it (for example $--7$), |\number| removes % all unnecessary preceding zeros, plus and minus signs % (for example $7$), |\romannumeral| turns it into a |roman| % number (for example vii), and -% \textquotedblleft |-|\textquotedblright\ puts the minus +% \textquotedblleft |-|\textquotedblright{} puts the minus % sign back in front of it (for example -vii). % % \begin{macrocode} @@ -2825,7 +2761,7 @@ a package with output \linebreak %} %\end{verbatim} % \end{quote} -% \textquotedblright\ (1998/05/16 Version v1.1g LaTeX Kernel File~m +% \textquotedblright{} (1998/05/16 Version v1.1g LaTeX Kernel File~m % ltcounts.dtx 105 Counters and Lengths). % % \begin{macrocode} @@ -2869,7 +2805,7 @@ a package with output \linebreak % for all page numbering schemes, even those not supported % by the current original |\pagenumbering| % (1994/05/19 v1.1a LaTeX Kernel File w ltpageno.dtx 52 Page Numbering), -% which is defined as\\ +% which is\\ % \begin{quote} %\begin{verbatim} %\countdef\c@page=0 \c@page=1 @@ -2939,7 +2875,7 @@ a package with output \linebreak % links to |page.8|. Here (and in the example file) it is not % \textquotedblleft print |8| and link to |page.8|\textquotedblright , % because |\addtocounter{page}{3}| has been used, thus the page with -% \textquotedblleft number\textquotedblright\ (name) |8| is the +% \textquotedblleft number\textquotedblright{} (name) |8| is the % \textbf{fifth} $(=8-3)$ page. % % \begin{macrocode} @@ -2952,12 +2888,12 @@ a package with output \linebreak % % \begin{macro}{\erroralphalph} % \indent |\erroralphalph| extends the -% \textquotedblleft numbers\textquotedblright\ of counters +% \textquotedblleft numbers\textquotedblright{} of counters % to zero and negative values for representations usually % not supporting this: |\alphalph|, |\AlphAlph|, and % |\fnsymbolmult| of the \xpackage{alphalph} package.\\ % |\alph|, |\Alph|, and |\fnsymbol| would not support -% \textquotedblleft numbers\textquotedblright\ below one.\\ +% \textquotedblleft numbers\textquotedblright{} below one.\\ % |\arabic| already supports negative numbers and zero.\\ % |\roman| and |\Roman| support neither negative numbers % nor zero, but are expanded in this package @@ -3035,8 +2971,8 @@ a package with output \linebreak % % |\alph| and |\Alph| page numberings are expanded to negative % and zero values, and to values greater than -% \textquotedblleft z\textquotedblright\ or -% \textquotedblleft Z\textquotedblright\ with the +% \textquotedblleft z\textquotedblright{} or +% \textquotedblleft Z\textquotedblright{} with the % \xpackage{alphalph} package.~-- % If |\pagesLTS@alphMult| was zero, nothing is done. % @@ -3274,7 +3210,7 @@ a package with output \linebreak % zero. % % \begin{macrocode} - \expandPagenumbering{#1} + \expandPagenumbering{#1}% % \end{macrocode} % % Counters like |pagesLTS.pnc.Roman| are introduced: @@ -3354,18 +3290,16 @@ a package with output \linebreak % but at the first page continuation does not make sense). % Well, nearly the original page numbering command: % |\OrigPagenumbering{\pagesLTS@pnc}| does not work, -% so we \textquotedblleft expand\textquotedblright\ the +% so we \textquotedblleft expand\textquotedblright{} the % |\OrigPagenumbering| command: % % \begin{macrocode} - \countdef\c@page=0 \c@page=1 - \def\cl@page{} - \global\c@page \@ne + \global\c@page \@ne\relax% \global\def\thepage{\csname \expandafter @\pagesLTS@pnc \endcsname \c@page}% % \end{macrocode} % % If a page numbering scheme is used, which is not known by -% \LaTeX , an error might arise here - but maybe without error message.\\ +% \LaTeX , an error might arise here -- but maybe without error message.\\ % % If page numbering scheme |\alph|, |\Alph|, or |\fnsymbol| is used, % \xpackage{pageslts} extends the page numbers according to @@ -3400,8 +3334,6 @@ a package with output \linebreak \fi% % \end{macrocode} % -% \pagebreak -% % We do not need the temporary definitions any more. % % \begin{macrocode} @@ -3459,7 +3391,7 @@ a package with output \linebreak \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% {\arabic{pagesLTS.fnsymbol.local}}% % \end{macrocode} @@ -3470,8 +3402,7 @@ a package with output \linebreak % no hyperlink anyway). % % \begin{macrocode} - \else \arabic{pagesLTS.fnsymbol.local}% - \fi% + }{\arabic{pagesLTS.fnsymbol.local}}% % \end{macrocode} % % Otherwise just the common |\pageref| is applied: @@ -3503,16 +3434,12 @@ a package with output \linebreak \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% \arabic{pagesLTS.fnsymbol.local}% \else% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{#1}% - \else% % \end{macrocode} % % There is no |\pageref*| without \xpackage{hyperref}. % % \begin{macrocode} - \pageref{#1}% - \fi% + \ltx@ifpackageloaded{hyperref}{\pageref*{#1}}{\pageref{#1}}% \fi% \let\pagesLTS@tmpA\undefined% \let\pagesLTS@tmpB\undefined% @@ -3557,43 +3484,38 @@ a package with output \linebreak \def\pagesLTS@tmpB{pagesLTS.fnsymbol.local}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% \pagesLTS@ifcounter{pagesLTS.fnsymbol.local}% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% {\arabic{pagesLTS.fnsymbol.local}}% - \else \arabic{pagesLTS.fnsymbol.local}% - \fi% + }{\arabic{pagesLTS.fnsymbol.local}}% \else% \def\pagesLTS@tmpB{pagesLTS.fnsymbol}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% {\pagesLTS.lastpage}% - \else \pageref{pagesLTS.fnsymbol}% - \fi% + }{\pageref{pagesLTS.fnsymbol}}% \else% \def\pagesLTS@tmpB{LastPage}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\pagesLTS@eso}% {\pagesLTS.lastpage}% - \else \pageref{LastPage}% - \fi% + }{\pageref{LastPage}}% \else% \def\pagesLTS@tmpB{VeryLastPage}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% {\pagesLTS.lastpage}% - \else \pageref{VeryLastPage}% - \fi% + }{\pageref{VeryLastPage}}% \else% \def\pagesLTS@tmpB{LastPages}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \href{\#pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.local}}% {\arabic{pagesLTS.pagenr}}% - \else \pageref{LastPages}% - \fi% + }{\pageref{LastPages}}% \else% \pageref{#1}% \fi% @@ -3613,6 +3535,8 @@ a package with output \linebreak % \end{macrocode} % \end{macro} % +% \pagebreak +% % \begin{macro}{\l@stpagerefendstar}% % And the starred form, without hyperlinks, even if \xpackage{hyperref} is loaded, % otherwise (i.\,e. without loaded \xpackage{hyperref}) this command is not called: @@ -3627,40 +3551,23 @@ a package with output \linebreak \else% \def\pagesLTS@tmpB{pagesLTS.fnsymbol}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{pagesLTS.fnsymbol}% - \else \pageref{pagesLTS.fnsymbol}% - \fi% + \ltx@ifpackageloaded{hyperref}{\pageref*{pagesLTS.fnsymbol}}{% + \pageref{pagesLTS.fnsymbol}}% \else% \def\pagesLTS@tmpB{LastPage}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{LastPage}% - \else \pageref{LastPage}% - \fi% + \ltx@ifpackageloaded{hyperref}{\pageref*{LastPage}}{\pageref{LastPage}}% \else% \def\pagesLTS@tmpB{VeryLastPage}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{VeryLastPage}% - \else \pageref{VeryLastPage}% - \fi% + \ltx@ifpackageloaded{hyperref}{\pageref*{VeryLastPage}}{% + \pageref{VeryLastPage}}% \else% -% \end{macrocode} -% -% \pagebreak -% -% \begin{macrocode} \def\pagesLTS@tmpB{LastPages}% \ifx\pagesLTS@tmpA\pagesLTS@tmpB% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{LastPages}% - \else \pageref{LastPages}% - \fi% + \ltx@ifpackageloaded{hyperref}{\pageref*{LastPages}}{\pageref{LastPages}}% \else% - \ifx\pagesLTS@hyper\pagesLTS@one% - \pageref*{#1}% - \else \pageref{#1}% + \ltx@ifpackageloaded{hyperref}{\pageref*{#1}}{\pageref{#1}}% \fi% \fi% \fi% @@ -3674,6 +3581,8 @@ a package with output \linebreak % \end{macrocode} % \end{macro} % +% \pagebreak +% % \begin{macro}{\overrideLTSlabel} % |\overridelabel| from the \xpackage{undolabl} package just |\undonewlabel|s % a~label and places a new |\label{#1}|, but we need to place a @@ -3688,7 +3597,7 @@ a package with output \linebreak \edef\pagesLTStmpA{#1}% \edef\pagesLTStmpB{pagesLTS.\pagesLTS@pnc.local}% \ifx\pagesLTStmpA\pagesLTStmpB% - \immediate\write\@auxout{\string\undonewlabel{#1}\string\relax}% + \immediate\write\@auxout{\string\undonewlabel{#1}}% \@overriddenmessage s{#1}% \fi% \fi% @@ -3699,11 +3608,9 @@ a package with output \linebreak % \end{macrocode} % \end{macro} % -% \pagebreak -% % \begin{macro}{\@pagesLTS@Prelim@EveryShipout} % \indent Because we cannot make references to pages with \xpackage{fnsymbol} -% page \textquotedblleft numbers\textquotedblright\ manually +% page \textquotedblleft numbers\textquotedblright{} manually % with \xpackage{hyperref}, we use \nolinebreak{|\phantomsection|\,s} and % refer to one of those. But because we do not know how many % \nolinebreak{|\phantomsection|\,s} and \nolinebreak{|\section*|\,s} @@ -3734,7 +3641,7 @@ a package with output \linebreak % \end{macrocode} % % Therefore each page with \xpackage{fnsymbol} page -% \textquotedblleft number\textquotedblright\ receives a +% \textquotedblleft number\textquotedblright{} receives a % |\phantomsection| and a label, which includes a number increased % by one for each page. This is done for % |pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.cont}| @@ -3748,19 +3655,17 @@ a package with output \linebreak \ifx\pagesLTS@pnc\pagesLTS@fns% \pagesLTS@ifcounter{pagesLTS.fnsymbol.cont}% \addtocounter{pagesLTS.fnsymbol.cont}{1}% - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \phantomsection% \hypertarget{pagesLTS.fnsymbol.local.\arabic{pagesLTS.fnsymbol.cont}}{}% - \fi% + }{}% \ifnum \pagesLTS@esov=\pagesLTS@zero% \label{pagesLTS.fnsymbol}% \else% \overridelabel{pagesLTS.fnsymbol}% \fi% \else% - \ifx\pagesLTS@hyper\pagesLTS@one% - \phantomsection% - \fi% + \ltx@ifpackageloaded{hyperref}{\phantomsection}{}% \if@filesw% \overridelabel{pagesLTS.\pagesLTS@pnc}% % \end{macrocode} @@ -3792,6 +3697,8 @@ a package with output \linebreak % \end{macrocode} % \end{macro} % +% \pagebreak +% % \begin{macro}{\EveryShipout} % \indent At the end of each shipout, the following commands are executed: % @@ -3835,32 +3742,6 @@ a package with output \linebreak \ifnum \value{CurrentPage}=1% This is the first shipout! % \end{macrocode} % -% |\AtBeginDocument| it is checked whether the \xpackage{hyperref} package is loaded,\\ -% |\@ifpackageloaded{hyperref}{\gdef\pagesLTS@hyper{1}}{}|.\\ -% |\@ifpackageloaded| cannot be used later than |\AtBeginDocument|.\\ -% \textsc{Sebastian Bank} found a~case, when this check is not sufficient. Using a class with\\ -% |\usepackage{lastpage}|\\ -% |\AtBeginDocument{\usepackage{hyperref}}|\\ -% 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, -% |\@ifpackageloaded| cannot be used later, so here we do not check for the -% \xpackage{hyperref} package again, but for its |\Hy@Warning| command. -% In version~1.1h of the \xpackage{pageslts} package, it was checked for -% the |\hyperref| command, but as it turned out, \xpackage{tcilatex} \textit{is} -% defining that. If some other package or user is defining |\Hy@Warning|, -% \xpackage{pageslts} will falsely assume, that \xpackage{hyperref} has been loaded, -% but by my humble opinion, defining |\Hy@Warning| does not make sense and -% is bad style (except definition by the \xpackage{hyperref} package itself, -% of course). -% -% \begin{macrocode} - \@ifundefined{Hy@Warning}{% hyperref not loaded - }{% hyperref loaded - \gdef\pagesLTS@hyper{1}% - }% -% \end{macrocode} -% % We check whether some page numbering scheme was defined by % |\pagenumbering{...}| (\textbf{as it schould be!}): % @@ -3887,8 +3768,6 @@ a package with output \linebreak \global\def\pncmissing{1}% % \end{macrocode} % -% \pagebreak -% % We save the current value of the page, % % \begin{macrocode} @@ -3948,7 +3827,7 @@ a package with output \linebreak % and |\pagesLTS@esov| is set to the (real) number (not the name) of % this page numbering scheme, |\arabic{pagesLTS.fnsymbol.cont}|.\\ % When no more pages with \xpackage{fnsymbol} page -% \textquotedblleft number\textquotedblright\ are shipped out, +% \textquotedblleft number\textquotedblright{} are shipped out, % the value remains fixed and we have our reference to the last page % of the \xpackage{fnsymbol} page numbering range. % (At least we will have that reference after some more work, @@ -4095,9 +3974,7 @@ a package with output \linebreak % If the \xpackage{hyperref} package is used, the format of the labels is somewhat longer. % % \begin{macrocode} - \ifx\pagesLTS@hyper\pagesLTS@one% - \pagesLTS@putlabelhyper{#1}{#2}% - \else% + \ltx@ifpackageloaded{hyperref}{\pagesLTS@putlabelhyper{#1}{#2}}{% else % \end{macrocode} % % \pagebreak @@ -4114,13 +3991,9 @@ a package with output \linebreak % When the \xpackage{nameref} package is used, |\newlabel| needs five instead of two arguments: % % \begin{macrocode} - \ifx\pagesLTS@nameref\pagesLTS@one% - \immediate\write\@auxout{\string - \newlabel{#1}{{}{#2}{}{}{}}}% - \else% - \immediate\write\@auxout{\string - \newlabel{#1}{{}{#2}}}% - \fi% + \ltx@ifpackageloaded{nameref}{% + \immediate\write\@auxout{\string\newlabel{#1}{{}{#2}{}{}{}}}}{% else + \immediate\write\@auxout{\string\newlabel{#1}{{}{#2}}}}% \else% \edef\pagesLTStmpA{#1}% \edef\pagesLTStmpB{pagesLTS.\pagesLTS@pnc.local}% @@ -4134,20 +4007,15 @@ a package with output \linebreak % undo, and the \xpackage{undolabl} package would give an error. % % \begin{macrocode} - \immediate\write\@auxout{\string - \undonewlabel{#1}}% + \immediate\write\@auxout{\string\undonewlabel{#1}}% \fi% \fi% - \ifx\pagesLTS@nameref\pagesLTS@one% - \immediate\write\@auxout{\string - \newlabel{#1}{{}{#2}{}{}{}}}% - \else% - \immediate\write\@auxout{\string - \newlabel{#1}{{}{#2}}}% - \fi% + \ltx@ifpackageloaded{nameref}{% + \immediate\write\@auxout{\string\newlabel{#1}{{}{#2}{}{}{}}}}{% else + \immediate\write\@auxout{\string\newlabel{#1}{{}{#2}}}}% \fi% \fi% - \fi% + }% % \end{macrocode} % % After the writeout we restore the page number again, @@ -4232,7 +4100,7 @@ a package with output \linebreak % \indent |\AtBeginDocument| we write into the \xfile{aux} file regarding % the double loading of the package. % Then it is checked whether the \texttt{endfloat} -% package is loaded, whether it is newer than March 1992 (i.\,e. at least +% package has been loaded, whether it is newer than March 1992 (i.\,e. at least % April 1992 v2.0), in which case it is compatible with this % \xpackage{pageslts} package.\\ % If it is even newer than 2011/12/24, it is the recent version @@ -4268,9 +4136,9 @@ a package with output \linebreak % \begin{macrocode} {\PackageError{pageslts}{Incompatible, very old endfloat package detected.}% {The very old version 2.0 (and earlier) of the\MessageBreak% - endfloat package actually redefined the \ enddocument,\MessageBreak% + endfloat package actually redefined the \string\enddocument ,\MessageBreak% and so interfered drastically with the LaTeX2e commands\MessageBreak% - which make use of \ AtEndDocument.\MessageBreak% + which make use of \string\AtEndDocument .\MessageBreak% Newer versions of the endfloat package exists\MessageBreak% (at least: v2.5d as of 2011/12/25)\MessageBreak% in modern documentation form,\MessageBreak% @@ -4285,8 +4153,8 @@ a package with output \linebreak % % \pagebreak % -% It is checked whether the old \xpackage{lastpage} package was loaded.\\ -% (If it was loaded indeed, the |\lastpage@putlabel| is +% It is checked whether the old \xpackage{lastpage} package has been loaded.\\ +% (If it has been loaded indeed, the |\lastpage@putlabel| is % \textquotedblleft killed\textquotedblright , % see subsection~\ref{ssec:lastpage}.) % @@ -4321,34 +4189,23 @@ a package with output \linebreak }{}% % \end{macrocode} % -% Further it is checked whether the \xpackage{alphalph} package is loaded.\\ -% Unfortunately, |\@ifpackageloaded| cannot be used any later -% (cf.~\LaTeX\ bug~2335, Synopsis: Proposal for |\@ifpackageloaded|, \linebreak -% \url{http://www.latex-project.org/cgi-bin/ltxbugs2html?category=LaTeX&responsible=anyone&state=open&keyword=&pr=latex%2F2335&search=}), -% therefore the result must be saved: -% -% \begin{macrocode} - \@ifpackageloaded{alphalph}% - {\global\def\pagesLTS@AlphAlph{1}% -% \end{macrocode} -% -% The commands are defined accordingly. +% Further it is checked whether the \xpackage{alphalph} package has been loaded. +% If that is the case, the commands are defined accordingly.\\ % % \begin{macrocode} - \newalphalph{\AlphMult}[mult]{\@Alph}{26}% + \ltx@ifpackageloaded{alphalph}% + {\newalphalph{\AlphMult}[mult]{\@Alph}{26}% \newalphalph{\alphMult}[mult]{\@alph}{26}% \newalphalph{\fnsymbolmult}[mult]{\@fnsymbol}{5}% - }{% \relax - } + }{}% % \end{macrocode} % % \pagebreak % -% Further it is checked whether the \xpackage{hyperref} package is loaded: +% Further it is checked whether the \xpackage{hyperref} package has been loaded: % % \begin{macrocode} - \@ifpackageloaded{hyperref}% - {\gdef\pagesLTS@hyper{1}% + \ltx@ifpackageloaded{hyperref}{% % \end{macrocode} % % and whether the \xpackage{pdfpages} package is loaded: @@ -4413,28 +4270,16 @@ a package with output \linebreak %% Heiko Oberdiek (hyperref version 2012/11/06 v6.83m). %% pageslts may work with earlier versions of this packages, %% but this was not tested. - }% + }{% % \end{macrocode} % % If no \xpackage{hyperref} package in use is detected, a warning is issued, too: % % \begin{macrocode} - {\PackageWarning{pageslts}{Package hyperref NOT detected.\MessageBreak% - pageslts would support hyperref. The page references\MessageBreak% - will NOT be hyperlinked!\MessageBreak }% - }% -% \end{macrocode} -% -% If the \xpackage{nameref} package has been loaded the check must be done here -% and the result remembered, because it cannot be checked after |\AtBeginDocument|. -% The check is needed because |\xpackage{nameref}| uses |\newlabel| with five -% instead of two arguments. -% -% \begin{macrocode} - \@ifpackageloaded{nameref}% - {\gdef\pagesLTS@nameref{1}% - }{% relax, \pagesLTS@nameref stays 0 - }% + \PackageWarning{pageslts}{Package hyperref NOT detected.\MessageBreak% + pageslts would support hyperref. The page references\MessageBreak% + will NOT be hyperlinked!\MessageBreak }% + }% % \end{macrocode} % % If the \xpackage{showkeys} package has been loaded in \texttt{draft} mode, @@ -4443,10 +4288,8 @@ a package with output \linebreak % the check must be done here and the result remembered. % % \begin{macrocode} - \@ifpackageloaded{showkeys}{% - \@ifpackagewith{showkeys}{final}{\relax}{\gdef\pagesLTS@SK{1}}% - }{% \relax - }% + \ltx@ifpackageloaded{showkeys}{% + \@ifpackagewith{showkeys}{final}{}{\gdef\pagesLTS@SK{1}}}{}% } % \end{macrocode} @@ -4534,12 +4377,12 @@ a package with output \linebreak % to the more difficult |\lastpagerefend|. % % \begin{macrocode} - \ifx\pagesLTS@hyper\pagesLTS@one% + \ltx@ifpackageloaded{hyperref}{% \ifx\pagesLTS@pnc\pagesLTS@fns% \immediate\write\@auxout{\string \gdef\string\lastpageref{\string\lastpagerefend}}% \fi% - \fi% + }{}% \fi% % \end{macrocode} % @@ -4563,9 +4406,14 @@ a package with output \linebreak \ifnum \value{pagesLTS.pnc.\pagesLTS@pnc}>1% \mathchardef\pagesLTS@tmpD=\arabic{pagesLTS.pnc.0}% \setcounter{pagesLTS.pnc.0}{\value{pagesLTS.pnc.\pagesLTS@pnc}}% - \addtocounter{pagesLTS.pnc.0}{-1}% - \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% - -\value{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.0}.local.count}}% + \@tempcnta=\value{pagesLTS.pnc.0}\relax% + \loop% + \ifnum\@tempcnta>1\relax% + \addtocounter{pagesLTS.pnc.0}{-1}% + \addtocounter{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.\pagesLTS@pnc}.local.count}{% + -\value{pagesLTS.\pagesLTS@pnc.\arabic{pagesLTS.pnc.0}.local.count}}% + \@tempcnta=\value{pagesLTS.pnc.0}\relax% + \repeat% \setcounter{pagesLTS.pnc.0}{\pagesLTS@tmpD}% \fi% \if@filesw% @@ -4668,6 +4516,91 @@ a package with output \linebreak % \end{macrocode} % \end{macro} % +% \pagebreak +% +% \begin{macro}{\frontmatter} +% \indent |\frontmatter| often contains |\pagenumbering|, but for some unknown reason +% there are problems when another |\pagenumbering| with different page numbering scheme +% has been used before on the same page. (This would not make any sense anyway, +% because one page can only have one page numbering scheme.) This problem does not +% occur when two |\pagenumbering| commands are used inside normal text. +% Thus we need to check whether |\frontmatter| has been defined, +% whether it changes the page numbering scheme, and whether the page numbering scheme +% before |\frontmatter| was initiated at the same page. +% \end{macro} +% +% First we need an |\ifundefined|, which neither requires \eTeX{} nor +% defines the command, which is to be tested, to |\relax| (in which case +% it would be no longer undefined for further tests).\\ +% The code of Markus Kohm from +% \url{http://de.comp.text.tex.narkive.com/uNza5NAA/ifundef-and-ifdef} +% is fine for this: +% +% \begin{macro}{\ifund@fined} +% \begin{macrocode} +\newcommand*{\ifund@fined}[1]{% + % from http://de.comp.text.tex.narkive.com/uNza5NAA/ifundef-and-ifdef + \begingroup\expandafter\expandafter\expandafter\endgroup + \expandafter\ifx\csname #1\endcsname\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi + } + +% \end{macrocode} +% \end{macro} +% +% \begin{macrocode} +\ifund@fined{frontmatter}{\relax}{% + \ltx@GlobalPrependToMacro{\frontmatter}{\pagesLTS@prefrontmatter}% + \ltx@GlobalAppendToMacro{\frontmatter}{\pagesLTS@postfrontmatter}% + } + +% \end{macrocode} +% +% \begin{macro}{\pagesLTS@prefrontmatter} +% +% At the beginning of the real (i.e. unchanged) |\frontmatter| (FMB), we remember the +% current (c) page numbering (pn) scheme: its name (n) and page number (p). +% |\pagesLTS@FMBpncp| would be |1| if the according |\pagenumbering| command +% was used on the same page at the |\frontmatter|. +% +% \begin{macrocode} +\newcommand{\pagesLTS@prefrontmatter}{% + \xdef\pagesLTS@FMBpncn{\pagesLTS@pnc}% + \xdef\pagesLTS@FMBpncp{\arabic{pagesLTS.current.local.\pagesLTS@pnc}}% + } + +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\pagesLTS@postfrontmatter} +% +% The named checks are performed and in case of the named problem an error message +% is given. Any idea how to automatically solve this issue? +% +% \begin{macrocode} +\newcommand{\pagesLTS@postfrontmatter}{% + \xdef\pagesLTS@FMEpncn{\pagesLTS@pnc}% + \ifx\pagesLTS@FMBpncn\pagesLTS@FMEpncn% + \else% + \ifx\pagesLTS@FMBpncn\pagesLTS@zero% + \else% + \ifx\pagesLTS@FMBpncp\pagesLTS@one% + \PackageError{pageslts}{\string\pagenumbering\space before \string\frontmatter}{% + Do not use \string\pagenumbering{\pagesLTS@FMBpncn} before \string\frontmatter \MessageBreak% + on the same page!\MessageBreak% + \string\frontmatter\space (re)defines the page numbering scheme to \pagesLTS@FMEpncn , \MessageBreak% + thus earlier use of \string\pagenumbering{\pagesLTS@FMBpncn} on the same page is useless anyway.}% + \fi% + \fi% + \fi% +} + +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} %</package> % \end{macrocode} @@ -4711,6 +4644,8 @@ a package with output \linebreak % % \item[-] package \xpackage{letltxmacro}, 2010/09/02, v1.4, \CTAN{macros/latex/contrib/oberdiek/letltxmacro.dtx} % +% \item[-] package \xpackage{ltxcmds}, 2011/11/09, v1.22, \CTAN{macros/latex/contrib/oberdiek/ltxcmds.dtx} +% % \item[-] package \xpackage{rerunfilecheck}, 2011/04/15, v1.7, \CTAN{macros/latex/contrib/oberdiek/rerunfilecheck.dtx} % % \item[-] package \xpackage{undolabl}, 2012/01/01, v1.0k, \CTAN{macros/latex/contrib/undolabl/undolabl.dtx}\\ @@ -4730,7 +4665,7 @@ a package with output \linebreak % % \item[-] package \xpackage{hyperref}, 2012/11/06, v6.83m, \CTAN{macros/latex/contrib/hyperref.zip} % -% \item[-] package \xpackage{pageslts}, 2013/01/28, v1.2b, \CTAN{macros/latex/contrib/pageslts/pageslts.dtx}\\ +% \item[-] package \xpackage{pageslts}, 2014/01/19, v1.2c, \CTAN{macros/latex/contrib/pageslts/pageslts.dtx}\\ % (Well, it is the example file for this package, and because you are reading the % documentation for the \xpackage{pageslts} package, it can be assumed that you already % have some version of it~-- is it the current one?) @@ -4800,12 +4735,13 @@ a package with output \linebreak % \DescribeMacro{atveryend} % \DescribeMacro{holtxdoc} % \DescribeMacro{letltxmacro} +% \DescribeMacro{ltxcmds} % \DescribeMacro{kvoptions} % \DescribeMacro{rerunfilecheck} % \DescribeMacro{zref} % All packages of \textsc{Heiko Oberdiek's} bundle `oberdiek' % (especially \xpackage{alphalph}, \xpackage{atveryend}, \xpackage{holtxdoc}, \xpackage{letltxmacro}, -% \xpackage{kvoptions}, \xpackage{rerunfilecheck}, and \xpackage{zref}) +% \xpackage{ltxcmds}, \xpackage{kvoptions}, \xpackage{rerunfilecheck}, and \xpackage{zref}) % are also available in a TDS compliant ZIP archive:\\ % \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\ % It is probably best to download and use this, because the packages in there @@ -4814,10 +4750,10 @@ a package with output \linebreak % \vspace{2cm} % % \DescribeMacro{M\"{u}nch} -% A list of my packages can be found at \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\ +% A hyperlinked list of my (other) packages can be found at +% \url{http://ctan.org/author/muench-hm}.\\ % % \subsection{Package, unpacking TDS} -% % \paragraph{Package.} This package is available on \CTAN{}. % \begin{description} % \item[\CTAN{macros/latex/contrib/pageslts/pageslts.dtx}]\hspace*{0.1cm} \\ @@ -4838,7 +4774,7 @@ a package with output \linebreak % \begin{tabular}{ll} % pageslts.ins & The installation file.\\ % pageslts.drv & The driver to generate the documentation.\\ -% pageslts.sty & The \xext{sty}le file.\\ +% pageslts.sty & The \xext{sty}le file.\\ % pageslts-example.tex & The example file.% % \end{tabular} % @@ -5003,6 +4939,7 @@ a package with output \linebreak % \textsc{Andres L\"{o}h} for the code to determine the current page % numbering scheme, and the \Newsgroup{comp.text.tex} and % \Newsgroup{de.comp.text.tex} newsgroups for their help in all things \TeX{}. +% For bug reports I thank Micha\l{} Herman and kwikwi. % % \phantomsection % \begin{History}\label{History} @@ -5167,8 +5104,8 @@ a package with output \linebreak % \item Added a new warning subsection about \xpackage{hyperref} and repeated page % numbers. % \item Bug fix: Missing \% after |-\romannumeral\number-\arabic{#1}| added. -% \item The \textquotedblleft new\textquotedblright\ version v2.4i of the -% \xpackage{endfloat} package is now even older than 15~years. +% \item The (then) new version v2.4i of the \xpackage{endfloat} package was then +% even older than 15~years. % \item Put a warning in the documentation as well as in the \xfile{log}-file and % at the screen during compilation about the \xpackage{showkeys} package. % (The labels of the \xpackage{pagesLTS} package cannot be shown by the @@ -5240,9 +5177,7 @@ a package with output \linebreak % |\verb|\textbar \textbackslash \ldots \textbar{} in the example (where possible). % \item When the \xpackage{alphalph} package is needed, it is loaded via |\RequirePackage| % instead of crashing with an error message. -% \item There is a new version of the \xpackage{papermas} package: 2011/08/08,~v1.0g. -% \item There is a new version of the \xpackage{undolabl} package: 2011/08/08,~v1.0j. -% \item There is a new version of the \xpackage{lastpage} package: 2011/08/08,~v1.2i. +% \item There are new version of the packages \xpackage{papermas}, \xpackage{undolabl}, and \xpackage{lastpage}. % \item A lot of details (also in the documentation). % \end{Version} % \begin{Version}{2013/01/28 v1.2b} @@ -5257,12 +5192,29 @@ a package with output \linebreak % \xpackage{papermas}, \xpackage{ulem}, \xpackage{undolabl}, and \xpackage{zref} % have become available. % \item The \xpackage{nameref} package redefines |\label| to have five arguments -% instead of two, therefore |\newlabel{LastPage}{{}{\thepage}{}{}{}}| instead of -% |\newlabel{LastPage}{{}{\thepage}}| must be used. -% (Bug reported at \url{http://tex.stackexchange.com/q/95541/6865}, -% thanks to Micha\l{} Herman!) Fixed. +% instead of two, therefore |\newlabel{LastPage}{{}{\thepage}{}{}{}}| instead of +% |\newlabel{LastPage}{{}{\thepage}}| must be used. +% (Bug reported at \url{http://tex.stackexchange.com/q/95541/6865}, +% thanks to Micha\l{} Herman!) Fixed. % \item Updates to a lot of details, also in the documentation. % \end{Version} +% \begin{Version}{2014/01/19 v1.2c} +% \item Bug: missing loop, fix: inserted. +% \item Bug: when option |pagecontinue=false| was set, the extension of the +% page numbering schemes was disabled by mistake, fixed. +% \item Now using |\ltx@ifpackageloaded| from the \xpackage{ltxcmds} package +% for checking (even \emph{after} |\AtBeginDocument|) +% whether a package has been loaded. +% \item Bug: incompatibility with \xpackage{lineno} because of a mistake +% in the redefined |\pagenumbering|, fixed. (Bug reported by kwikwi, thanks!) +% \item Bug: When |\pagenumbering| preceded |\frontmatter| on the same page +% but with different argument than the |\pagenumbering|, which was inside +% |\frontmatter|, then some labelling got mixed up. +% (Also this bug reported by kwikwi, thanks!) While this is not fixed automatically, +% now an appropriate error message is given. (Two different page numbering schemes +% on the same page make no sense anyway.) +% \item Updates of minor details. +% \end{Version} % \end{History} % % \bigskip |