summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/pagerange
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-02-05 01:24:29 +0000
committerKarl Berry <karl@freefriends.org>2010-02-05 01:24:29 +0000
commit205f178e5bd86f9fd729a2df7d01b0562b11cffe (patch)
tree4f4e287ce3718319369f4e30a4e390f4deff1d4c /Master/texmf-dist/tex/latex/pagerange
parent981cab55c6e13da401f41e77d2a80b5286736404 (diff)
pagerange update (4feb10)
git-svn-id: svn://tug.org/texlive/trunk@16915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/pagerange')
-rw-r--r--Master/texmf-dist/tex/latex/pagerange/pagerange-guide.cfg36
-rw-r--r--Master/texmf-dist/tex/latex/pagerange/pagerange.sty183
2 files changed, 146 insertions, 73 deletions
diff --git a/Master/texmf-dist/tex/latex/pagerange/pagerange-guide.cfg b/Master/texmf-dist/tex/latex/pagerange/pagerange-guide.cfg
index 1647320f8b5..959799e6989 100644
--- a/Master/texmf-dist/tex/latex/pagerange/pagerange-guide.cfg
+++ b/Master/texmf-dist/tex/latex/pagerange/pagerange-guide.cfg
@@ -1,6 +1,6 @@
\ProvidesFile{pagerange-guide.cfg}%
- [2009/12/10 v0.3 Configuration file for pagerange-guide.tex (A.Musa)]
-\usepackage{mathpazo}
+ [2010/02/03 v0.5 Configuration file for pagerange-guide.tex (A.Musa)]
+\makeatletter
\usepackage[scaled=0.9]{helvet}
\usepackage{xspace}
\usepackage{xcolor}
@@ -10,11 +10,13 @@
\usepackage{paralist}
\usepackage{fancyhdr}
\usepackage{tabularx}
+\usepackage{ltablex}
+\keepXColumns
\usepackage[draft,allpages]{draftmark}
-\draftmarksetup{mark={\color{red}\framebox[22.3cm][c]{}\\[15.4cm]
- \color{red}\framebox[22.3cm][c]{}},angle=90,scale=1,
- xcoord=-.5,ycoord=-1.5}
-\ifx\pagerange\relax\usepackage[acceptempty,hyperlink]{pagerange}\fi
+\draftmarksetup{mark={\color{red}\framebox[22.2cm][c]{}\\[15.4cm]
+ \color{red}\framebox[22.2cm][c]{}},angle=90,scale=1,
+ xcoord=-.2,ycoord=-1.5}
+\ifx\pagerange\relax\usepackage[acceptempty]{pagerange}\fi
\ifx\lastpage\relax\usepackage{lastpage}\fi
\usepackage{hyperref}
\hypersetup{colorlinks=true,linkcolor=red,pdfpagemode=UseThumbs,
@@ -23,10 +25,11 @@
\CustomVerbatimEnvironment{pverbatim}{Verbatim}{numbers=left,
numberblanklines=false,firstnumber=last,frame=single,rulecolor=\color{yellow},
framerule=2pt,framesep=2pt, fillcolor=\color{magenta},formatcom=\color{blue},
- xrightmargin=-0pc,commandchars=\|\(\),commentchar=W}
-\providecommand*\eg{e.g.\xspace}
-\providecommand*\ie{i.e.\xspace}
-\newcommand*\email[1]{\href{mailto:#1}{#1}}
+ xrightmargin=-0pc,commandchars=\|\(\),commentchar=\&}
+\def\ie{\@ifnextchar.{i.e}{i.e.}\xspace}
+\def\eg{\@ifnextchar.{e.g}{e.g.}\xspace}
+\def\etc{\@ifnextchar.{etc}{etc.}\xspace}
+\providecommand*\email[1]{\href{mailto:#1}{#1}}
\newcommand*\pgtxtt{\fontfamily{txtt}\selectfont\scshape\color{brown}}
\fancyhf{}
\fancyhfoffset[R,L]{\dimexpr\marginparsep+\marginparwidth\relax}
@@ -42,10 +45,15 @@
\refstepcounter{examplecnt}%
\endgraf\vspace*{0.5\baselineskip}%
\textbf{\textcolor{purple}{Example~\thesection.\theexamplecnt\enspace}#1}%
- \endgraf\nobreak
+ \endgraf\nobreak\@nobreakfalse
}
-\providecommand\space{ }
+\providecommand*\space{ }
\definecolor{xgreen}{rgb}{0.00,0.59,0.00}
-\newcommand*\result[1]{\textcolor{xgreen}{#1}}
+\@ifdefinable\pgresult{\def\pgresult#1{\textcolor{xgreen}{#1}}}
+\newcommand*\La{\leavevmode L\raise.42ex\hbox{\footnotesize\kern-.35em A}}
+\newcommand*\TeXorLaTeX{\hbox{(\/\La\kern-.15em\/)\kern-.1em\TeX}}
+\newcommand*\texorlatex{\TeXorLaTeX\xspace}
-\endinput \ No newline at end of file
+\endinput
+
+%%% End of file pagerange-guide.cfg %%% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/pagerange/pagerange.sty b/Master/texmf-dist/tex/latex/pagerange/pagerange.sty
index 97d2b9361c7..c6be8784aec 100644
--- a/Master/texmf-dist/tex/latex/pagerange/pagerange.sty
+++ b/Master/texmf-dist/tex/latex/pagerange/pagerange.sty
@@ -1,5 +1,5 @@
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-% This is file 'pagerange.sty', version 0.3. %
+% This is file 'pagerange.sty', version 0.5. %
% %
% This work may be distributed and/or modified under the conditions %
% of the LaTeX Project Public License, either version 1.3 of this %
@@ -14,85 +14,147 @@
% implied warranties of merchantability and fitness for a particular %
% purpose. %
% %
-% Copyright (c) 2009 Ahmed Musa (a.musa@rocketmail.com). %
+% Copyright (c) 2010 Ahmed Musa (a.musa@rocketmail.com). %
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%
-
+\begingroup
+\catcode064 11\relax% @
+\catcode123 01\relax% {
+\catcode125 02\relax% }
+\def\prg@tempa{\endgroup
+ \edef\prg@restorecodes{%
+ \catcode035 \the\catcode035\relax% #
+ \catcode064 \the\catcode064\relax% @
+ \catcode123 \the\catcode123\relax% {
+ \catcode125 \the\catcode125\relax% }
+ \catcode061 \the\catcode061\relax% =
+ \catcode038 \the\catcode038\relax% &
+ }%
+}
+\prg@tempa
+\catcode061 12\relax% =
+\catcode035 06\relax% #
+\catcode064 11\relax% @
+\catcode123 01\relax% {
+\catcode125 02\relax% }
+\catcode038 03\relax% &
+\AtEndOfPackage{\prg@restorecodes}
\ProvidesPackage{pagerange}%
- [2009/11/10 v0.3 Split page ranges intelligently (Ahmed Musa)]
+ [2010/02/04 v0.5 Split page ranges intelligently (Ahmed Musa)]
\NeedsTeXFormat{LaTeX2e}[1996/12/01]
-\def\prg@warn#1{\PackageWarningNoLine{pagerange}{#1}}
-\def\prg@err#1{\PackageError{pagerange}{#1}{\@ehc}}
\@ifpackageloaded{lastpage}{}{\RequirePackage{lastpage}[1994/06/25]}
\@ifpackageloaded{xkeyval}{}{\RequirePackage{xkeyval}[2008/08/13]}
\ifcase0%
\ifx\eTeXversion\@undefined 1\else\ifnum\eTeXversion<\tw@ 1\fi\fi
\else
- \prg@err{eTeX not loaded or old version.\MessageBreak
- This package requires eTeX version 2 or later.}
+ \@latex@error{eTeX not loaded or old version.\MessageBreak
+ This package requires eTeX version 2 or later.}\@ehc
\fi
-\def\prg@ifdef#1{\csname @\ifdefined#1\expandafter first\else
- \expandafter second\fi oftwo\endcsname
+\newcommand*\prg@ifdefinable[1]{%
+ \edef\reserved@a{\expandafter\@gobble\string#1}%
+ \begingroup
+ \ifdefined#1%
+ \aftergroup\@notdefinable
+ \else
+ \edef\reserved@b{\expandafter\@carcube\reserved@a xxx\@nil}%
+ \ifx\reserved@b\@qend
+ \aftergroup\@notdefinable
+ \else
+ \ifx\reserved@a\@qrelax
+ \aftergroup\@notdefinable
+ \else
+ \aftergroup\@firstofone
+ \fi
+ \fi
+ \fi
+ \endgroup
}
+\prg@ifdefinable\prg@protect@relax\relax
+\prg@ifdefinable\prg@star@or@long\relax
+\prg@ifdefinable\prg@pdef\relax
+\prg@ifdefinable\prg@@def\relax
+\def\prg@star@or@long#1{%
+ \@ifstar{\let\prg@protect@relax\protected#1}%
+ {\def\prg@protect@relax{\protected\long}#1}%
+}
+\let\prg@protect@relax\protected
+\protected\def\prg@pdef{\prg@star@or@long\prg@@def}
+\def\prg@@def#1{\prg@ifdefinable#1{\prg@protect@relax\def#1}}
+\prg@pdef\prg@warn#1{\PackageWarningNoLine{pagerange}{#1}}
+\prg@pdef\prg@err#1{\PackageError{pagerange}{#1}\@ehc}
+\prg@ifdefinable\prg@tempcnta{\newcount\prg@tempcnta}
+\prg@ifdefinable\prg@tempcntb{\newcount\prg@tempcntb}
+\prg@ifdefinable\prg@tempcntc{\newcount\prg@tempcntc}
+\def\prg@c@r#1#2{%
+ \unless\ifx#2\null
+ \prg@err{Inadmissible multiple arguments '\string#1\string#2'
+ \MessageBreak for '\string\prg@ifdef' test}%
+ \fi
+}
+\prg@ifdefinable\prg@ifdef\relax
+\def\prg@ifdef#1{%
+ \prg@c@r#1\null
+ \csname @\ifdefined#1\expandafter first\else
+ \expandafter second\fi oftwo\endcsname
+}
+\prg@ifdefinable\prg@ifundef\relax
\def\prg@ifundef#1{%
\prg@ifdef{#1}{\csname @\ifx#1\relax\expandafter first\else
\expandafter second\fi oftwo\endcsname}{\@firstoftwo}%
}
\def\prg@ifcsundef#1{\expandafter\prg@ifundef\csname#1\endcsname}
-\def\prg@check@ifdef#1{%
+\prg@pdef*\prg@check@ifdef#1{%
\prg@ifcsundef{#1}{}{%
- \prg@err{\expandafter\noexpand\csname#1\endcsname already defined}}%
+ \prg@err{\expandafter\noexpand\csname#1\endcsname already defined}%
+ }%
\prg@check@ifdef
}
\prg@check@ifdef{pagerange}{pagestart}{pageend}{getpagenumber}%
- \iffalse\fi\fi\endcsname{}{}
-\edef\prg@restorecodes{%
- \catcode45=\the\catcode45\relax % -
- \catcode38=\the\catcode38\relax % &
+ {pagerangeoptions}\iffalse\fi\fi\endcsname{}{}
+\prg@pdef\prg@ifblank#1{\prg@ifbl@nk#1&&\@secondoftwo\@firstoftwo:}
+\long\def\prg@ifbl@nk#1#2&#3#4#5:{#4}
+\prg@pdef\prg@xifblank#1{\begingroup
+ \protected@edef\prg@tempa{\endgroup\noexpand\prg@ifblank{#1}}%
+ \prg@tempa
}
-\AtEndOfPackage{\prg@restorecodes}
-\catcode38=3\relax
-\@makeother\-%
-\long\gdef\prg@ifblank#1{% macro credit: ifmtarg.sty
- \prg@ifblank@aux#1&&\@secondoftwo\@firstoftwo:}
-\long\gdef\prg@ifblank@aux#1#2&#3#4#5:{#4}
-\long\def\prg@xifblank#1{\begingroup
- \protected@edef\x{\endgroup\noexpand\prg@ifblank{#1}}\x%
-}
-\chardef\active=13\relax
-\def\prg@ifmacro#1{%
- \prg@ifdef{#1}\relax{\prg@err{\string#1 undefined}}%
+\prg@pdef\prg@ifmacro#1{%
\begingroup
- \edef\x{\endgroup
- \noexpand\def\noexpand\getparameter####1\detokenize{macro}:####2&{%
+ \edef\prg@tempa{\endgroup
+ \def\noexpand\getparameter####1\detokenize{macro}:####2&{%
\noexpand\prg@ifblank{####2}{\noexpand\@secondoftwo}%
{\noexpand\@firstoftwo}%
}%
- \noexpand\expandafter\noexpand\getparameter%
+ \noexpand\expandafter\noexpand\getparameter%
\noexpand\meaning\noexpand#1\detokenize{macro}:&%
- }\x
+ }\prg@tempa
}
\def\prg@ismacro@err#1{%
\prg@err{%
Illegal tie '#1'.\MessageBreak
- Note that the 'tie' has been fully expanded \MessageBreak
+ Note that the 'tie' has been expanded once\MessageBreak
and may be different from what you submitted.\MessageBreak
Perhaps you've used an active character as 'tie'
}%
}
-\define@boolkeys[KV]{pagerange}[prg@]{acceptempty}[true]
\define@cmdkey[KV]{pagerange}[prg@]{tie}[-]{%
+ \edef\@tempa{\expandafter\noexpand\prg@tie}%
\edef\prg@tie{\prg@tie}%
- \expandafter\prg@ifmacro\prg@tie{\prg@ismacro@err\prg@tie}{}
+ \let\@@protect\protect\let\protect\@empty
+ \expandafter\prg@ifmacro\expandafter{\prg@tie}{%
+ \restore@protect\prg@ismacro@err\@tempa
+ }{}%
+ \restore@protect
}
+\define@boolkey[KV]{pagerange}[prg@]{acceptempty}[true]{}
\define@cmdkey[KV]{pagerange}[prg@]{defaultfirstpage}[1]{}
-\define@cmdkey[KV]{pagerange}[prg@]{defaultlastpage}[\getpagenumber{LastPage}]{}
+\define@cmdkey[KV]{pagerange}[prg@]{defaultlastpage}%
+ [\getpagenumber{LastPage}]{}
\DeclareOptionX*{\prg@warn{Unknown option '\CurrentOption' ignored}}
\ExecuteOptionsX<pagerange>{tie,defaultfirstpage,defaultlastpage}
\ProcessOptionsX*<pagerange>\relax
-\gdef\pagerangeoptions#1{\setkeys[KV]{pagerange}{#1}}
-\long\def\prg@forall#1#2\do#3{%
+\long\def\pagerangeoptions#1{\setkeys[KV]{pagerange}{#1}}
+\prg@pdef\prg@forall#1#2\do#3{%
#3{#1}%
- \ifx\\#2\\%
+ \expandafter\ifx\expandafter\@empty\detokenize{#2}\@empty%
\relax
\else
\prg@forall#2\do{#3}%
@@ -100,29 +162,28 @@
}
\let\pagestart\@empty
\let\pageend\@empty
-\newcount\prg@cntx\prg@cntx=\z@\relax
-\long\def\prg@split@pagerange#1{%
+\prg@tempcntc=\z@
+\prg@pdef*\prg@split@pagerange#1{%
\def\reserved@a{#1}%
\ifx\reserved@a\prg@tie
- \advance\prg@cntx\@ne\relax
+ \advance\prg@tempcntc\@ne
\fi
- \ifnum\prg@cntx=\z@
+ \ifnum\prg@tempcntc=\z@
\g@addto@macro\pagestart{#1}%
- \else\ifnum\prg@cntx=\@ne
+ \else\ifnum\prg@tempcntc=\@ne
\ifx\reserved@a\prg@tie\else
\g@addto@macro\pageend{#1}%
\fi
- \else\ifnum\prg@cntx>\@ne
+ \else\ifnum\prg@tempcntc>\@ne
\prg@err{Multiple ties in page range.\MessageBreak
Please use only one tie}%
\fi\fi\fi
}
-\newcount\prg@cnta\prg@cnta=\z@\relax
-\newcount\prg@cntb\prg@cntb=\z@\relax
+\prg@tempcnta=\z@\prg@tempcntb=\z@
\def\pagerange#1{%
\let\pagestart\@empty
\let\pageend\@empty
- \prg@cntx=\z@\relax
+ \prg@tempcntc=\z@
\prg@xifblank{#1}{%
\ifprg@acceptempty
\prg@warn{Blank page range supplied:\MessageBreak
@@ -136,30 +197,32 @@
}%
\fi
}{%
- \begingroup\edef\@tempa{\endgroup%
- \noexpand\prg@forall#1\noexpand\do{\noexpand\prg@split@pagerange}}%
- \@tempa
+ \begingroup\edef\prg@tempa{\endgroup%
+ \prg@forall#1\noexpand\do{\prg@split@pagerange}}%
+ \prg@tempa
}%
\ifx\@empty\pagestart
- \ifnum\prg@cntx=\@ne
+ \ifnum\prg@tempcntc=\@ne
\let\pagestart\prg@defaultfirstpage
\fi
\fi
- \prg@cnta=\number\pagestart\relax
+ \prg@tempcnta=\number\pagestart\relax
\ifx\@empty\pageend
- \prg@cntb=\@M\relax
- \ifnum\prg@cntx=\@ne
+ \prg@tempcntb=\@M
+ \ifnum\prg@tempcntc=\@ne
\let\pageend\prg@defaultlastpage
\fi
\else
- \prg@cntb=\number\pageend\relax
+ \prg@tempcntb=\number\pageend\relax
\fi
- \ifnum\prg@cnta>\prg@cntb
+ \ifnum\prg@tempcnta>\prg@tempcntb
\prg@err{Inconsistent page range: Page \pageend\space > \pagestart}%
\fi
}
\def\prg@carr#1#2#3\@nil{%
- \ifx\relax#3\relax\prg@err{Problem with page reference}\fi
+ \expandafter\ifx\expandafter\relax\detokenize{#3}\relax
+ \prg@err{Problem with page reference}
+ \fi
#2%
}
\def\getpagenumber#1{%
@@ -169,4 +232,6 @@
}%
}
-\endinput \ No newline at end of file
+\endinput
+
+%%% End of file pagerange.sty %%% \ No newline at end of file