summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-03-04 00:12:44 +0000
committerKarl Berry <karl@freefriends.org>2015-03-04 00:12:44 +0000
commit47d688b3f0de132c50103bd25fbd617dc7e213f0 (patch)
tree35245a2185e64f02b8dbe82c95ef444b5fba7aac
parent54e0055672245bb7a9d7875052b7c2b47038ba76 (diff)
cite (3mar15)
git-svn-id: svn://tug.org/texlive/trunk@36428 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/cite/README2
-rw-r--r--Master/texmf-dist/doc/latex/cite/chapterbib.ltx2
-rw-r--r--Master/texmf-dist/doc/latex/cite/cite.ltx236
-rw-r--r--Master/texmf-dist/doc/latex/cite/cite.pdfbin141446 -> 84426 bytes
-rw-r--r--Master/texmf-dist/tex/latex/cite/cite.sty379
-rw-r--r--Master/texmf-dist/tex/latex/cite/overcite.sty423
6 files changed, 255 insertions, 787 deletions
diff --git a/Master/texmf-dist/doc/latex/cite/README b/Master/texmf-dist/doc/latex/cite/README
index 02ad1217160..83b82d135e9 100644
--- a/Master/texmf-dist/doc/latex/cite/README
+++ b/Master/texmf-dist/doc/latex/cite/README
@@ -15,7 +15,7 @@ and chapterbib.ltx, and already typeset pdf versions.
They are all released under a very simple permissive license in
the MIT/BSD style: They may be freely used, transmitted, reproduced,
-or modified provided that [the copyright and permission] notice is
+or modified provided that the copyright and permission notice is
left intact.
diff --git a/Master/texmf-dist/doc/latex/cite/chapterbib.ltx b/Master/texmf-dist/doc/latex/cite/chapterbib.ltx
index d0ac5dcf98a..b134ac1b173 100644
--- a/Master/texmf-dist/doc/latex/cite/chapterbib.ltx
+++ b/Master/texmf-dist/doc/latex/cite/chapterbib.ltx
@@ -240,4 +240,4 @@ Put \cs{bibliographystyle} and \cs{bibliography} commands in
The \cs{citepunct} command gives the punctuation (comma-penalty-space)
between items in the \cs{cite} list, and you can redefine it.
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/cite/cite.ltx b/Master/texmf-dist/doc/latex/cite/cite.ltx
index 285569ad6f4..663603c3691 100644
--- a/Master/texmf-dist/doc/latex/cite/cite.ltx
+++ b/Master/texmf-dist/doc/latex/cite/cite.ltx
@@ -2,12 +2,12 @@
% cite.ltx Manual for cite.sty
%
%
-% Copyright (c) 1989-2010 by Donald Arseneau
+% Copyright (c) 1989-2015 by Donald Arseneau
%
-% Version date (Sep 2010)
+% Version date (Feb 2015)
%
\documentclass[12pt,a4paper]{ltxdoc}
-%\overfullrule=1pt
+\overfullrule=1pt
\addtolength{\textwidth}{1cm}
\MakeShortVerb{\"}
\hyphenpenalty=600
@@ -18,7 +18,7 @@
\title{The cite package:\\ well formed numeric citations}
\author{Donald Arseneau\\ asnd@triumf.ca}
-\date{2010/09/10}
+\date{2015/02/27}
\begin{document}
\maketitle
@@ -26,15 +26,15 @@
The cite package modifies \LaTeX's normal citation mechanism for
improved handling of numeric citations. It provides compressed, sorted
lists of numerical or partly-numerical citations, as regular text or
-superscripts. Generally, no changes to the usage of \cs{cite} commands
-is required.
+as superscripts. Generally, no changes to the usage of \cs{cite} commands
+in the input are required.
\end{abstract}
\begin{footnotesize}
-\noindent The cite package is Copyright \copyright\ 1989--2010 by
+\noindent The cite package is Copyright \copyright\ 1989--2015 by
Donald Arseneau (Vancouver, Canada).\\
-The package (cite.sty) and this documentation (cite.ltx,cite.pdf) may be
+The package (cite.sty) and this documentation (cite.ltx, cite.pdf) may be
freely transmitted, reproduced, or modified for any purpose provided that the
copyright notice is left intact.
(Small excerpts may of course be taken and used without any restriction.)
@@ -45,112 +45,58 @@ copyright notice is left intact.
Insert "\usepackage{cite}" in the document's preamble for improved handling
of numeric citations, behaving as follows:
-\snugger\paragraph*{Spacing} Put a comma and a small space between
- each citation number. The option [nospace] removes that space, and
+\snugger\paragraph*{Spacing} A small space is typeset after commas
+ in the citation list. The option [nospace] removes that space, and
the option [space] replaces it with an ordinary inter-word space.
-\snugger\paragraph*{Compress groups} Compress lists of three or more
- consecutive numbers to one number range which can be split, with
- difficulty, after the dash. All numbers should be greater than zero.
- E.g., if you used to get the (nonsense) list
- [7,5,6,?,4,9,8,Einstein,6], then this style will give [?,Einstein,4--6,6--9].
+\snugger\paragraph*{Sorting} Citations in a list are sorted into ascending
+ order. The [nosort] package option turns off sorting.
+ Sortable citations must be numeric or mostly-numeric (see below).
+ Non-sortable entries are printed before all sortable ones.
+
+\snugger\paragraph*{Compression} Groups of three or more consecutive numbers
+ are compressed into a range using an en-dash. For example, the (poor) list
+ [7,5,6,?,4,9,8,Einstein,6] would display as [?,Einstein,4--6,6--9].
Compression of ranges is disabled by the [nocompress] package option.
-\snugger\paragraph*{Sorting} Sort citations into ascending order
- (this is the default, but may also be declared with the package
- option [sort]). The [nosort] package option turns off sorting.
- Sortable citations must fit one of these forms:
- \begin{enumerate}\itemsep=-\parsep
- \item \meta{number}
- \item \meta{optional-char}\meta{number}\meta{optional-char}
- \item \meta{number}\meta{separator-char}\meta{number}
- \end{enumerate}
- Forms 1 and 2 are really the same, and they mix well, but form 3 is
- different, so it can't be mixed with the other forms (not that you
- would want to).
- Non-sortable forms (those not listed) are printed before
- all sortable forms. Here \meta{number} means a positive integer (natural
- number) less than some limit (different for each form), \meta{optional-char}
- is a single printable character (or nothing), and \meta{separator-char}
- is also a single printable character.
-
-\snugger\paragraph*{Prefix/suffix letters} Sort citations with prefix
- and/or suffix characters (form~2) such that
- different prefixes are grouped separately, and suffixes form sub-lists
- for the same number. Compression knows about suffixes, so you can get
- lists like [18a--18c,19] or [A2,Q1,Q3--Q5].
+\snugger\paragraph*{Non-numbers} Sorting and compression work with (positive)
+ numbers ("8,6,7,9" gives [6--9]) as well as numbers with prefix or suffix
+ characters ([5a--5c] or [T1--T4]), and also dual numbers with a separator
+ character ([1.11--1.15]). Dual numbers don't mix well with single numbers.
+ Other forms of entry are printed before all sortable forms.
+
+\snugger\paragraph*{Superscript} With package option [superscript]
+ (or [super] for short), citations are displayed as superscripts,
+ except those with an optional note, which are printed on-line
+ with brackets.
+
+ Superscript citations use \emph{the same input format} as ordinary
+ citations to produce different output. Blank space before the "\cite"
+ command is discarded, and trailing punctuation is moved to come before
+ the superscript citation. For example, `"information \cite{source};"'
+ ignores the space before "\cite" and puts the semicolon before the number
+ to give `information;$^{12}$\,', just as if you typed `"information;$^{12}$"'.
+ Doubling of periods (.., ?., !.) is checked for and suppressed. You may
+ disable movement with the [nomove] package option.
+
+\snugger\paragraph*{Line Breaks} Line breaks before and within the citation
+ (after dashes, and after punctuation) are permitted, but discouraged by
+ `penalties' (given by "\citeprepenalty", "\citemidpenalty", and
+ "\citepunctpenalty"; see Customization). The option [nobreak] prohibits
+ these breaks. No breaks are permitted with superscript cites.
+
+\snugger\paragraph*{Space before} Regular-text citations have the preceding space
+ adjusted to be a normal inter-word space, even if there is no space in the
+ input. The [noadjust] option disables this. Superscript citations
+ have all preceding space removed.
\snugger\paragraph*{Numbers alone} The command "\citen" is provided to give
- just the citation numbers without the brackets or superscript
+ just the citation number(s) without the brackets or superscript
and other formatting. Aliases are "\citenum" and "\citeonline" for easy
conversion to other citation packages.
-\snugger\paragraph*{Breaks} Allow, but discourage, line breaks within
- the group of citations (after dashes, and after punctuation).
- Penalties are "\citepunctpenalty" and "\citemidpenalty".
-\snugger\paragraph*{Breaks and spaces before} Allow but strongly discourage
- line-breaks before the entire citation, provided it is a regular text
- cite (not superscript) and no different penalty was specified there
- (thus, "~\cite{X}" will not permit a line break). Also, adjust the
- spacing: if there is no space or if there is extra space due to some
- punctuation, then change to one inter-word space; e.g.,
- "A space will be inserted here\cite{Larry,Curly,Moe}".
-
-\snugger\paragraph*{Prohibiting breaks} All breaks can be forbidden
- with the [nobreak] package option. Allowance of any type of line break can
- be adjusted independently by setting the parameters "\citeprepenalty",
- "\citemidpenalty", and "\citepunctpenalty" (see Customization below).
-
-\snugger\paragraph*{Superscript} With package option [superscript]
- (or [super] for short), display citation numbers as superscripts.
- But if the citation has an optional note, it is printed on-line
- with brackets. Superscripted citations follow these additional rules:
- \begin{itemize}
- \setlength\itemsep{0pt}
-
-\item Superscript citations use \emph{the same input format} as ordinary
- citations to produce different output. Blank space before the |\cite|
- command is discarded, and trailing punctuation is moved to come before
- the superscript citation. For example, `"information \cite{source};"'
- ignores the space before "\cite" and puts the semicolon before the number
- to give `information;$^{12}$\,', just as if you typed `"information;$^{12}$"'.
- You may disable movement with the [nomove] package option.
-
-\item The punctuation characters that will migrate before the superscript are
- listed in the macro "\CiteMoveChars", which you can redefine (using
- "\renewcommand"). The default set of characters is ".,;:"; Perhaps
- "!"~and~"?" should be included too, but
- they weren't listed in the APS style manual I looked at, and I agree with
- that design choice because they put too much visual separation between the
- cite and what it applies to. Feel free to redefine "\CiteMoveChars". Quotes
- were listed as coming before the cite notation, but they should be typed
- before the "\cite" command in any case because both on-line and superscript
- cites come after what is quoted (when citing a quotation). This gives one
- difficulty~-- punctuation following quotes won't migrate inside the
- quotation: e.g., "``Transition State Theory''\cite{Eyring}." gives out
- ``Transition State Theory''.$^8$, but you may want the period inside the
- quotes, thus: ``Transition State Theory.''$^8$.
-
-\item Doubling of periods (.., ?., !.) is checked for and suppressed.
- The spacing after the citation is set according to the final punctuation
- mark moved. There is a problem with double periods after a capitalized
- abbreviation or directly after "\@" : Both of `"N.S.A. \cite{space}."' and
- `"et al.\@ \cite{many}."' will give doubled periods. Type `"\ "' (backslash
- space) after abbreviations like `et al.' ("et al.\ \cite{many}.")
- to get the right spacing within a sentence whether or not a citation follows,
- and prevent double periods with the superscript cite. You could use "\@" to
- fix the N.S.A. example ("N.S.A\@. \cite{space}.") but that gives the wrong
- spacing when there is no citation, so it should be inserted only where a
- cite follows.
-
-\item Remember, these rules regarding punctuation only apply when the [super]
- or [superscript] option was given (or overcite.sty used) and the [nomove]
- option was \emph{not} given.
-
-\end{itemize}
-
-\section*{Customization}
+\section*{Options}
There are several options for "\usepackage{cite}", some already mentioned.
\begin{center}
@@ -162,15 +108,15 @@ There are several options for "\usepackage{cite}", some already mentioned.
[nospace] & eliminates the spaces after commas in the number list\\\relax
[space] & uses a full inter-word space after the commas\\\relax
[nobreak] & eliminate all line-breaks\\\relax
- [nosort] & prevents sorting of the numbers (default is to sort, and the\dots\\\relax
- [sort] & option is provided for completeness).\\\relax
+ [nosort] & prevents sorting of the numbers (default is to sort, \dots\\\relax
+ [sort] & \dots and this option is provided for completeness).\\\relax
[nomove] & prevents moving the superscript cite after punctuation\\\relax
- [move] & is the default\\\relax
+ [move] & moving punctuation is the default\\\relax
[noadjust] & disables `smart' handling of space before a cite\\\relax
[adjust] & is the default\\\relax
[nocompress] & inhibit compression of consecutive numbers into ranges\\\relax
[compress] & is the default\\\relax
- [biblabel] & define the bibliography label as a superscript
+ [biblabel] & define the bibliography label to match "\cite"
\end{tabular}
\end{center}
@@ -178,39 +124,67 @@ If your citations are not numeric, and not of any near-numeric sortable form,
then you should probably not use cite.sty; but if you must, then at least
use the [nosort,nocompress] options.
+
+
+\section*{More Customization}
+
+The punctuation characters that will migrate before superscript cites are
+listed in the macro "\CiteMoveChars", which you can redefine (using
+"\renewcommand"). The default set of characters is ".,;:". Perhaps
+"!"~and~"?" should be included too, but they weren't listed in the
+(APS) style manual, and they do put too much visual separation between
+the cite and what it applies to. Feel free to redefine "\CiteMoveChars".
+Quote marks should be typed before the "\cite", so do not need to move.
+This gives one difficulty~-- punctuation following quotes won't migrate
+inside the quotation: e.g., "``Transition State Theory''\cite{Eyring}."
+gives out ``Transition State Theory''.$^8$, but you may want the period
+inside the quotes, thus: ``Transition State Theory.''$^8$
+
+When moving punctuation before a superscript cite, the spacing after the
+citation is set according to the final punctuation mark moved, and doubling
+of periods (.., ?., !.) is checked for and suppressed. There is a problem
+with double periods after a capitalized abbreviation or directly after "\@" :
+Both of `"N.S.A. \cite{space}."' and `"et al.\@ \cite{many}."' will give
+doubled periods. Type `"\ "' (backslash space) after abbreviations like `et
+al.' ("et al.\ \cite{many}.") to get the right spacing within a sentence
+whether or not a citation follows, and prevent double periods with the
+superscript cite. You could use "\@" to fix the N.S.A. example
+("N.S.A\@. \cite{space}.") but that gives the wrong spacing when there is no
+citation, so it should be inserted only where a cite follows.
+
There are several commands that you may redefine to change the
formatting of citation lists:
-
\begin{center}
\begin{tabular}{@{}lll@{}}
command & function & default\\
\hline
\cs{citeform} & reformats each number & nothing\\
-\cs{citepunct} & printed between numbers & comma, penalty, thin space\\
+\cs{citepunct} & printed between numbers & comma, penalty, thinspace\\
\cs{citeleft} & left delimiter of list & [\\
\cs{citeright} & right delimeter of list & ]\\
\cs{citemid} & printed before note & comma, penalty, space\\
\cs{citedash} & used in compressed range & endash, penalty\\
-\cs{CiteMoveChars} & characters that move & \texttt{.,:;}\\
+\cs{CiteMoveChars} & characters that get moved & \texttt{.,:;}\\
\cs{OverciteFont} & font sel. for superscripts & \relax"\fontsize{\sf@size}"\dots\\
\end{tabular}
\end{center}
-The left/mid/right commands don't affect the formatting of superscript
-citations. You may use "\renewcommand" to change any of these. Remember,
-these commands are extensions made by this package; they are not regular
+The left/mid/right commands apply to regular test citations, and don't affect the
+formatting of superscript citations. You may use "\renewcommand" to change any
+of these. Remember, these commands are extensions made by this package; they are not regular
LaTeX. Some examples of changes:
\begin{flushleft}
"\renewcommand\citeform[1]{\romannumeral 0#1}}" $\to$ roman i,vi\\
-"\renewcommand\citeform[1]{(#1)}" $\to$ parentheses (1)--(5),(9)\\
+"\renewcommand\citeform[1]{[#1]}" $\to$ individual brackets [1]--[5],[9]\\
"\renewcommand\citeform{\thechapter.}" $\to$ by chapter: \textsuperscript{2.18--2.21}\\
"\renewcommand\citepunct{,}" $\to$ no space and no breaks at commas\\
"\renewcommand\citemid{; }" $\to$ semicolon before optional note\\
-"\renewcommand\citeleft{(}" $\to$ parentheses around whole\\
+"\renewcommand\citeleft{(}" $\to$ parentheses around whole list\\
"\renewcommand\citeright{)}" $\to$ parentheses around whole list\\
\end{flushleft}
+
The appearance of the whole citation list is governed by "\@cite", (for
full-sized cites) and "\@citess" (for superscripts). For more extensive changes
to the formatting, redefine these. For example, to get brackets around the
@@ -218,31 +192,29 @@ list of superscript numbers you can do:\\[2pt]
\indent "\renewcommand\@citess[1]{\textsuperscript{[#1]}}"\\[2pt]
(after "\makeatletter").
-Related Note: The superscript option does not affect the numbering format
-of the bibliography; the "[12]" style is still the default. To get
-superscripts in the bibliography (at any time) you can define\\[2pt]
-\indent
- "\renewcommand\@biblabel[1]{\textsuperscript{#1}}"\\[2pt]
-Aw, OK, for your convenience, there is the [biblabel] package option that
-just performs this definition (sort of).
+The superscript option does not normally affect the numbering
+format of the bibliography, which is controlled by the "\@biblabel" command.
+Just for convenience, the cite package now understands a [biblabel] option
+that redefines "\@biblabel" to match the format of "\cite".
-Line breaking can be turned off using the [nobreak] option. It can be
+Line breaking can be turned off using the [nobreak] option, but it can be
controlled more precisely by changing three numeric values for the
line-break penalties:
\begin{center}
\begin{tabular}{lll}
Command & Location & Default \\
\hline
-\cs{citeprepenalty} & before entire cite & "\@highpenalty"\\
-\cs{citemidpenalty} & used in "\citemid" & "\@medpenalty"\\
-\cs{citepunctpenalty}& used in "\citepunct" & 1000
+\cs{citeprepenalty} & before entire citation & "\@highpenalty"\\
+\cs{citemidpenalty} & in "\citemid", before note & "\@medpenalty"\\
+\cs{citepunctpenalty}& in "\citepunct" and "\citedash" & 1000
\end{tabular}
\end{center}
-Use "\mathchardef" to change these penalty values! E.g., \\
+Use "\mathchardef" (!)~to change these penalty values, as in \\
\indent "\mathchardef\citeprepenalty=9999"\\
-(Yes, that is obscure but I don't want to use up counters or to
-pretend they are counters.) Alternatively, the commands "\citemid",
-"\citedash", and "\citepunct" can be redefined to use different
-penalty parameters, or none at all.
+(Yes, that is obscure but I don't want to use up counter registers
+or to pretend the parameters are counters to be incremented.)
+
+Alternatively, the commands "\citemid", "\citedash", and "\citepunct"
+can be redefined to use different penalty parameters, or none at all.
\end{document}
diff --git a/Master/texmf-dist/doc/latex/cite/cite.pdf b/Master/texmf-dist/doc/latex/cite/cite.pdf
index 4702476963f..f6ae188d330 100644
--- a/Master/texmf-dist/doc/latex/cite/cite.pdf
+++ b/Master/texmf-dist/doc/latex/cite/cite.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/latex/cite/cite.sty b/Master/texmf-dist/tex/latex/cite/cite.sty
index e8187781788..44c37a841df 100644
--- a/Master/texmf-dist/tex/latex/cite/cite.sty
+++ b/Master/texmf-dist/tex/latex/cite/cite.sty
@@ -1,27 +1,30 @@
% C I T E . S T Y
%
-% version 5.3 (Sep 2010)
+% version 5.5 (Feb 2015)
%
% Compressed, sorted lists of on-line or superscript numerical citations.
% see also drftcite.sty (And the stub overcite.sty)
%
-% Copyright (C) 1989-2010 by Donald Arseneau
+% Copyright (C) 1989-2015 by Donald Arseneau
% These macros may be freely used, transmitted, reproduced, or modified
% provided that this notice is left intact.
%
-% Instructions follow \endinput.
+% Instructions in cite.pdf and follow \endinput.
% ------------------------------------
% First, ensure that some catcodes have the expected values
-\edef\citenum{% to restore funny codes
+\edef\citenum{% temporary def to restore funny codes later
\catcode\string`\string ` \the\catcode\string`\`
\catcode\string`\string ' \the\catcode\string`\'
+ \catcode\string`\string . \the\catcode\string`\.
\catcode\string`\string = \the\catcode\string`\=
\catcode\string`\string _ \the\catcode\string`\_
\catcode\string`\string : \the\catcode\string`\:}
+% set codes:
\catcode\string`\` 12
\catcode`\' 12
+\catcode`\. 12
\catcode`\= 12
-\catcode`\_ 8
+\catcode`\_ 8 % This is UNusual
\catcode`\: 12
% Prepare for optional variations:
@@ -62,11 +65,8 @@
\providecommand\OverciteFont{\fontsize\sf@size\baselineskip\selectfont}
-% Do not repeat warnings. [verbose] reverses
-\let\oc@verbo\relax
-
-% Default is to move punctuation:
-\def\oc@movep#1{\futurelet\@tempb\@citey}
+% [verbose] is no-op. Default is to repeat warnings anyway.
+%\let\oc@verbo\relax
%----------------------
% \citen uses \@nocite to ignore spaces after commas, and write the aux file
@@ -108,8 +108,8 @@
\endcsname\relax % undefined: output ? and warning
\@citea {\bfseries ?}\let\@citea\citepunct \G@refundefinedtrue
\@warning {Citation `\@citeb' on page \thepage\space undefined}%
- %% \oc@verbo \global\@namedef{b@\@citeb\@extra@b@citeb}{?}% ???
- \else % defined % remove previous line to repeat warnings
+ %% always verbose \oc@verbo \global\@namedef{b@\@citeb\@extra@b@citeb}{?}%
+ \else % defined
\@cite@nonhyper@sanitize
\@addto@cite@list
\fi}
@@ -164,7 +164,7 @@
%
\def\@cite@add@letnumC#1{\@if@printable@char%
{\@cite@add@letnumD{#1}}% continue with prefix (perhaps zero)
- {\@cite@gobbledump@now}% else abandon fancy processing
+ {\@cite@gobbledump@now}% else abandon fancy processing and output citation
}
% Save prefix (if any) numerically in \@tempcnta, test next character for being
@@ -174,7 +174,7 @@
\@tempcnta=#1\multiply\@tempcnta 16384 %
\@cite@posnumtest{#2}% if next char is a digit, continue with number:
{\afterassignment\@cite@add@letnumE \advance\@tempcnta #2}%
- {\@cite@gobbledump@now}% No number so output citation
+ {\@cite@gobbledump@now}% No number so just output citation
}
% Have collected number. Now look for a non-number suffix or separator.
@@ -192,7 +192,7 @@
}}
% Have everything up to a suffix or separator character. Check
-% following to see which. Three possibilites are (1) noting =>
+% following to see which. Three possibilites are (1) nothing =>
% a suffix; (2) number => separator-number; (3) other => garbage.
%
\def\@cite@add@letnumF#1#2\delimiter{% #1 = suffix/separator #2=rest
@@ -297,7 +297,7 @@
\@tempcnta#1\let\@citea\citepunct
}
-% Make \cite choose superscript or normal
+% Ordinary on-line \cite command
\DeclareRobustCommand{\cite}{%
\@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
@@ -323,49 +323,8 @@
\ifnum\spacefactor>\@m \ \else \hskip\@tempskipa \fi
\endgroup}
-
\edef\@zero@skip{\the\z@skip}
-% Superscript cite, with no optional note. Check for punctuation first.
-%
-\def\@citew#1{\begingroup \leavevmode
- \@if@fillglue \lastskip \relax \unskip
- \def\@tempa{\@tempcnta\spacefactor
- \/% this allows the last word to be hyphenated, and it looks better.
- \@citess{\@cite@n{#1}}\spacefactor\@tempcnta
- \endgroup \@restore@auxhandle}%
- \oc@movep\relax}% check for following punctuation (depending on options)
-
-% Move trailing punctuation before the citation:
-%
-\def\@citey{\let\@tempc\@tempa
- % Watch for double periods and suppress them
- \ifx\@tempb.\ifnum\spacefactor<\@bigSfactor\else
- \@citeundouble
- \fi\fi
- % Move other punctuation
- \expandafter\@citepc\CiteMoveChars\delimiter
- \@tempc}%
-
-% This is in a separate macro in case the next "character" (token)
-% is \if or \fi, etc.
-\def\@citeundouble{% Suppress doubling of periods
- \let\@tempb\relax \let\@tempc\oc@movep
-}
-
-\def\@citepc#1{%
- \ifx\@tempb#1\@empty #1\let\@tempc\oc@movep \fi
- \ifx\delimiter#1\else \expandafter\@citepc\fi}
-
-% Replacement for \@cite which defines the formatting normally done
-% around the citation list. This uses superscripts with no brackets.
-% HOWEVER, trailing punctuation has already been moved over. The
-% format for cites with note is given by \@cite. Redefine \@cite and/
-% or \@citex to get different appearance. I don't use \textsuperscript
-% because it is defined BADLY in compatibility mode.
-
-\def\@citess#1{\mbox{$\m@th^{\hbox{\OverciteFont{#1}}}$}}
-
% \nocite: This is changed to ignore *ALL* spaces and be robust. The
% parameter list, with spaces removed, is `returned' in \@no@sparg, which
% is used by \@cite@n (\citen).
@@ -379,16 +338,21 @@
\@esphack}
\def\@nocite#1{\begingroup\let\protect\string% normalize active chars
- \xdef\@no@sparg{\expandafter\@ignsp#1 \: }\endgroup% and remove ALL spaces
+ \xdef\@no@sparg{\expandafter\@cite@ignsp#1,\: ,\:}% remove spaces
\if@filesw \immediate\write\@newciteauxhandle % =\@auxout, except with multibib
{\string\citation {\@no@sparg}}\fi
- }
+ \endgroup}
-% for ignoring *ALL* spaces in the input. This presumes there are no
-% \outer tokens and no \if-\fi constructs in the parameter. Spaces inside
-% braces are retained.
+% remove spaces before and after commas. One level of braces is also
+% stripped, so an item {a,b} is changed to two a and b.
%
-\def\@ignsp#1 {\ifx\:#1\@empty\else #1\expandafter\@ignsp\fi}
+\def\@cite@ignsp#1 ,#2{\ifx\:#2\@empty
+ \expandafter\@cite@ignsp@\romannumeral-`\:\else
+ \expandafter\@cite@ignsp \fi #1,#2}
+\def\@cite@ignsp@#1,#2{#1\ifx\:#2\@empty\expandafter\@gobblethree
+ \else,\expandafter\@cite@ignsp@\fi #2}
+
+\long\def\@gobblethree #1#2#3{}
% \@if@fillglue{glue}{true}{false}
\begingroup
@@ -432,8 +396,9 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% option processing
-
-\DeclareOption{verbose}{\def\oc@verbo#1#2#3#4{}}
+\def\oc@movep{YY}% default Yes move
+%
+\DeclareOption{verbose}{}% Unused now. Was \def\oc@verbo#1#2#3#4{}
\DeclareOption{nospace}{\def\citepunct{,\penalty\citepunctpenalty}}
\DeclareOption{space}{\def\citepunct{,\penalty\citepunctpenalty\ }}
\DeclareOption{nobreak}{% no line-breaks
@@ -449,27 +414,90 @@
% Likewise set flag for [nocompress]
\DeclareOption{nocompress}{\let\@compress@cite\@empty}
\DeclareOption{compress}{}% default
-\DeclareOption{nomove}{\def\oc@movep{\@tempa}\let\@citey\oc@movep}
-\DeclareOption{move}{}% default
+\DeclareOption{nomove}{\def\oc@movep{no}}% Flag for later definition
+\DeclareOption{move}{\def\oc@movep{YY}}% default
\DeclareOption{super}{\ExecuteOptions{superscript}}
-\DeclareOption{superscript}{%
- \DeclareRobustCommand{\cite}{%
- \@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citew}}
-}
+\DeclareOption{superscript}{\let\@citess\cite}% Just a flag redefined below
\DeclareOption{noadjust}{\let\cite@adjust\@empty}% Don't change spaces
\DeclareOption{adjust}{}% adjust space before [ ]
-\DeclareOption{biblabel}{\def\@biblabel#1{\@citess{#1}\kern-\labelsep\,}}
-\ProvidesPackage{cite}[2010/09/10 \space v 5.3]
+\DeclareOption{biblabel}{\let\@biblabel\def}% see below
+\ProvidesPackage{cite}[2015/02/27 \space v 5.5]
\ProcessOptions
-\ifx\@citey\oc@movep\else % we are moving punctuation; must ensure sfcodes
- \mathchardef\@bigSfactor3000
- \expandafter\def\expandafter\frenchspacing\expandafter{\frenchspacing
- \mathchardef\@bigSfactor1001
- \sfcode`\.\@bigSfactor \sfcode`\?\@bigSfactor \sfcode`\!\@bigSfactor }%
- \ifnum\sfcode`\.=\@m \frenchspacing \fi
+\ifx\@biblabel\def % [biblabel] option
+ \ifx\@citess\cite % [superscript] option
+ \def\@biblabel#1{\@citess{#1}\kern-\labelsep\,}
+ \else % normal
+ \def\@biblabel#1{\citeleft{#1}\citeright}
+ \fi
\fi
+% Process [superscript] option, and [nomove].
+
+\ifx\@citess\cite
+
+% Superscript cite, \cite chooses superscript or on-line-with-note
+%
+\DeclareRobustCommand{\cite}{%
+ \@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citew}}
+
+% Superscript cite, with no optional note. Check for punctuation first.
+\def\@citew#1{\begingroup \leavevmode
+ \@if@fillglue \lastskip \relax \unskip
+ \def\@tempa{\@tempcnta\spacefactor
+ \/% this allows the last word to be hyphenated, and it looks better.
+ \@citess{\@cite@n{#1}}\spacefactor\@tempcnta
+ \endgroup \@restore@auxhandle}%
+ \oc@movep\relax}% check for following punctuation (depending on options)
+
+% \@citess defines the formatting with superscripts and no brackets.
+% HOWEVER, trailing punctuation has already been moved over. The
+% format for cites with note is given by \@cite. Redefine \@cite and/
+% or \@citex to get different appearance. I don't use \textsuperscript
+% because it is defined BADLY in compatibility mode.
+
+\def\@citess#1{\mbox{$\m@th^{\hbox{\OverciteFont{#1}}}$}}
+
+\if \oc@movep % Move citation past trailing punctuation; [move] is default
+
+\def\oc@movep#1{\futurelet\@tempb\@citey}
+%
+\def\@citey{\let\@tempc\@tempa
+ % Watch for double periods and suppress them
+ \ifx\@tempb.\ifnum\spacefactor<\sfcode`.\else
+ \@citeundouble
+ \fi\fi
+ % Move other punctuation
+ \expandafter\@citepc\CiteMoveChars\delimiter
+ \@tempc}%
+
+% This is in a separate macro in case the next "character" (token)
+% is \if or \fi, etc.
+\def\@citeundouble{% Suppress doubling of periods
+ \let\@tempb\relax \let\@tempc\oc@movep
+}
+
+\def\@citepc#1{%
+ \ifx\@tempb#1\@empty #1\let\@tempc\oc@movep \fi
+ \ifx\delimiter#1\else \expandafter\@citepc\fi}
+
+% Set detectable sfcodes when \frenchspacing
+\mathchardef\cite@mi1001 %
+\g@addto@macro\frenchspacing
+ {\sfcode`\.\cite@mi \sfcode`\?\cite@mi \sfcode`\!\cite@mi }%
+\AtBeginDocument {%
+ \ifnum\sfcode`\.<1002 \frenchspacing \let\normalsfcodes\frenchspacing \fi
+}% performed after \normalsfcodes defined
+
+\else % [nomove] option:
+
+ \def\oc@movep{\@tempa}
+ \let\@citey\relax
+
+\fi % end of move/nomove options
+%
+\fi % end [superscript] option processing
+%
% make redefinitions to handle [nosort] [nocompress] and their combination
\ifx\@compress@cite\@empty
\ifx\@citeaddcnta\@empty
@@ -516,9 +544,6 @@
\gdef\@nocite#1{\@citeorg@nocite{#1}\Hy@backout{#1}}%
}}
-% compatability with ooold LaTeX
-\@ifundefined{G@refundefinedtrue}{\let\G@refundefinedtrue\relax}{}
-
% compatability with babel: Prevent it from redefining \@citex
\@ifundefined{@safe@activesfalse}{\let\@safe@activesfalse\relax}{}
\@ifundefined{bbl@cite@choice}{}{\@ifundefined{org@@citex}{}%
@@ -539,112 +564,39 @@
Modify LaTeX's normal citation mechanism for improved handling of numeric
citations, behaving as follows:
-o Put a comma and a small space between each citation number. The option
- [nospace] removes that space, and the option [space] replaces it with
- an ordinary inter-word space.
-
-o Compress lists of three or more consecutive numbers to one number range
- which can be split, with difficulty, after the dash. All numbers should
- be greater than zero. E.g., if you used to get the (nonsense) list
- [7,5,6,?,4,9,8,Einstein,6], then this style will give [?,Einstein,4-6,6-9].
- Compression of ranges is disabled by the [nocompress] package option.
-
-o Sort citations into ascending order (this is the default, but may also
- be declared with the package option [sort]). The [nosort] package option
- turns off sorting. Sortable citations must fit one of these forms:
- 1. <number>
- 2. <optional-char><number><optional-char>
- 3. <number><separator-char><number>
- Forms 1 and 2 are really the same, and they mix well, but form 3 is
- separate and if used simultaneously with form 1 the citations become,
- ummm, mixed. Non-sortable forms (those not listed) are printed before
- all sortable forms. Here <number> means a positive integer (natural
- number) less than some limit (different for each form), <optional-char>
- is a single printable character (or nothing), and <separator-char> is also
- a single printable character.
-
-o Sorting of citations with prefix and/or suffix characters is done so so
- different prefixes are grouped separately, and suffixes form sub-lists
- for the same number. Compression knows about suffixes, so you can get
- lists like [18a-18c,19] or [A2,Q1,Q3-Q5].
+o Put a comma and a small space between each citation number, allowing
+ line breaks with penalty.
+
+o Compress lists of three or more consecutive numbers, or similar, to a
+ range which can be split, with difficulty, after the dash.
+
+o Sort citations into ascending order.
+
+o Sortable and compressible citations are numeric like [5-8]; or numbers
+ with prefix and/or suffix characters like [18a-18c,19] or [A2,Q1,Q3-Q5];
+ or two numbers with separator like [1.9-1.12,2.2].
o Allow, but discourage, line breaks within the group of citations (after
- dashes, and after punctuation). Penalties are \citepunctpenalty and
- \citemidpenalty.
-
-o Put a high-penalty breakpoint (value \citeprepenalty) before the citation
- (unless there is a different penalty specified there). Also, adjust the
- spacing: if there is no space or if there is extra space due to some
- punctuation, then change to one inter-word space. E.g.,
- A space will be inserted here\cite{Larry,Curly,Moe}.
-
-o All breaks can be forbidden with the [nobreak] package option. They can
- be adjusted independently by setting the parameters \citeprepenalty,
- \citemidpenalty, and \citepunctpenalty. Use \mathchardef to change these
- penalty values! E.g., \mathchardef\citeprepenalty=9999 (Yes, that is
- obscure but I don't want to use up counters or to pretend they are counters.)
-
-o With package option [superscript] (or [super] for short), display citation
- numbers as superscripts (unless they have optional notes, causing them to
- be printed on-line with brackets). Superscripted citations follow these
- additional rules:
-
--> Superscript citations use THE SAME INPUT FORMAT as ordinary citations; this
- style will ignore spaces before the citation, and move trailing punctuation
- before the superscript citation. For example, "information \cite{source};"
- ignores the space before \cite and puts the semicolon before the number,
- just as if you had typed "information;$^{12}$". You may switch off movement
- with the [nomove] package option (only relevant with [superscript]).
-
--> The punctuation characters that will migrate before the superscript are
- listed in the macro \CiteMoveChars, which you can redefine. The default
- set of characters is ".,;:"; Perhaps ! and ? should be included too, but
- they weren't listed in the APS style manual I looked at, and I agree with
- that design choice because they put too much visual separation between the
- cite and what it applies to. Feel free to redefine \CiteMoveChars. Quotes
- were listed as coming before the cite notation, but they should be typed
- before the \cite command in any case because both on-line and superscript
- cites come after what is quoted (when citing a quotation). This gives one
- difficulty -- punctuation following quotes won't migrate inside the
- quotation: e.g., "``Transition State Theory''\cite{Eyring}." gives out
- ``Transition State Theory''.$^8$, but you may want the period inside the
- quotes, thus: ``Transition State Theory.''$^8$.
-
--> Doubling of periods (.., ?., !.) is checked for and suppressed. The spacing
- after the citation is set according to the final punctuation mark moved.
- There is a problem with double periods after a capitalized abbreviation
- or directly after \@ : Both of "N.A.S.A. \cite{space}." and "et al.\@
- \cite{many}." will give doubled periods. These can be fixed as follows:
- "N.S.A\@. \cite{space}." and "et al.\ \cite{many}.". The NSA example
- gives the wrong spacing when there is no citation. Sorry. Use "\ " after
- abbreviations like et al. to get the right spacing within a sentence whether
- or not a citation follows.
-
--> Remember, these rules regarding punctuation only apply when the [super]
- or [superscript] option was given (or overcite.sty used) and the [nomove]
- option was NOT given.
+ dashes, and after punctuation).
-o Define \citen to get just the numbers without the brackets or superscript
- and extra formatting. Aliases are \citenum and \citeonline for easy
- conversion to other citation packages.
+o Adjust spacing before citation.
+
+o All breaks can be forbidden with the [nobreak] package option.
-o All of \nocite, \cite, and \citen ignore spaces in the input tags.
+o With package option [superscript] (or [super] for short), display citations
+ as superscripts (unless they have optional notes, causing them to be printed
+ on-line with brackets). Superscripted citations use THE SAME INPUT FORMAT
+ as ordinary citations; this style will ignore spaces before the \cite command
+ and move trailing punctuation before the superscript citation. Doubling of
+ periods (.., ?., !.) is checked for and suppressed.
-Although each \cite command sorts its numbers, better compression into
-ranges can usually be achieved by carefully selecting the order of the
-\bibitem entries or the order of initial citations when using BibTeX.
-Having the entries pre-sorted will also save processing time, especially
-for long lists of numbers.
+o Define \citen to get just the numbers without the brackets or superscript
+ and extra formatting. Aliases are \citenum and \citeonline.
-Customization:
-~~~~~~~~~~~~~~
-There are several options for \usepackage{cite}, some already mentioned.
+There are several package options for \usepackage{cite}.
[superscript] use superscrpts for cites without optional notes
[super] alias for [superscript] (like natbib)
- [verbose] UNUSED NOW! (do repeat duplicate warnings)
- [ref] uses the format "[Ref.~12, given note]" (useful with
- the superscript option)
[nospace] eliminates the spaces after commas in the number list
[space] uses a full inter-word space after the commas
[nobreak] eliminate all line-breaks
@@ -656,71 +608,14 @@ There are several options for \usepackage{cite}, some already mentioned.
[adjust] is the default
[nocompress] inhibit compression of consecutive numbers into ranges
[compress] is the default
- [biblabel] define the bibliography label as a superscript
+ [ref] uses the format "[Ref.~12, given note]" (useful with [super])
+ [biblabel] define the bibliography label to match \cite
If your citations are not numeric, then you should probably not use
cite.sty, but if you must, then at least use the [nosort,nocompress]
options.
-There are several commands that you may redefine (using \renewcommand
-or \def) to change the formatting of citation lists:
-
-command function default
----------- ----------------------- ----------------------------
-\citeform reformats each number nothing
-\citepunct printed between numbers comma + penalty + thin space
-\citeleft left delimiter of list [
-\citeright right delimeter of list ]
-\citemid printed before note comma + penalty + space
-\citedash used in a compressed range endash + penalty
-\CiteMoveChars charcters that move .,:;
-\OverciteFont font sel. for superscripts \fontsize{\sf@size}...
-
-The left/mid/right commands don't affect the formatting of superscript
-citations. You may use \renewcommand to change any of these. Remember,
-these commands are extensions made by this package; they are not regular
-LaTeX. Some examples of changes:
-
-1: \renewcommand\citeform[1]{\romannumeral 0#1}} % roman numerals i,vi
-2: \renewcommand\citeform[1]{(#1)} % parenthesized numbers (1)-(5),(9)
-3: \renewcommand\citeform{\thechapter.} % by chapter: ^{2.18-2.21}
-4: \renewcommand\citepunct{,} % no space and no breaks at commas
-5: \renewcommand\citemid{; } % semicolon before optional note
-6: \renewcommand\citeleft{(} % parentheses around list with note
- \renewcommand\citeright{)} % parentheses around list with note
-
-The appearance of the whole citation list is governed by \@cite, (for full-
-sized cites) and \@citess (for superscripts). For more extensive changes
-to the formatting, redefine these. For example, to get brackets around the
-list of superscript numbers you can do:
-
- \def\@citess#1{\textsuperscript{[#1]}}
-
-after \makeatletter.
-
-Related Note: The superscript option does not affect the numbering format
-of the bibliography; the "[12]" style is still the default. To get
-superscripts in the bibliography (at any time) you can define
-
- \renewcommand\@biblabel[1]{\textsuperscript{#1}}
-
-Aw, OK, for your convenience, there is the [biblabel] package option that
-just performs this definition (sort of).
-
-Line breaking can be turned off using the [nobreak] option. It can be
-controlled more precisely by changing three numeric values, assigned
-with \mathchardef, for controlling the line-break penalties:
-
-\citeprepenalty penalty before cite default \@highpenalty
-\citemidpenalty penalty used in \citemid default \@medpenalty
-\citepunctpenalty penalty used in \citepunct default 1000
-
-(Use \mathchardef assignments like \mathchardef\citemidpenalty=900.
-These were chosen so as to not waste registers.) Alternatively, the
-commands \citemid, \citedash, and \citepunct can be redefined to use
-different penalty parameters, or none at all.
-
-
+See more detailed instructions in cite.pdf (cite.ltx).
% Version 1991: Ignore spaces after commas in the parameter list. Move most of
@@ -751,12 +646,14 @@ different penalty parameters, or none at all.
% 4.01 \bf -> \bfseries
% 4.02 Bury undouble action in a separate macro to avoid extra \fi error.
% 5.0 Hyperref and backref compatability! Penalty parameters and [nobreak].
-% Letter prefix and suffix sorting. Stop suppressing multiple warnings.
+% Letter prefix and suffix sorting! Stop suppressing multiple warnings.
% 5.1 Fix a missing "b@" (disappearing named cites), fix nosort
% 5.2 More robust treatment of non-numbers
% 5.3 Handle sort/compress of compound citation numbers (number by chapter)
% such as 3.18 or 5-3. Note that these compounds cannot have prefix or
% suffix letters (not enough bits in the maximum TeX number).
+% 5.4 Only ignore spaces at begin and end of tag (LaTeX ignores at begin)
+% 5.5 Improve handling of \frenchspacing. Option rearrangements.
%
% TODO: other sorting, like dictionary or roman numeral
% TODO: create special "final punct" that could be ", and " and likewise
@@ -765,4 +662,4 @@ different penalty parameters, or none at all.
% Send problem reports to asnd@triumf.ca
Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789
-:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ \ No newline at end of file
+:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
diff --git a/Master/texmf-dist/tex/latex/cite/overcite.sty b/Master/texmf-dist/tex/latex/cite/overcite.sty
index 565ac4cd3aa..ccec9ccdde4 100644
--- a/Master/texmf-dist/tex/latex/cite/overcite.sty
+++ b/Master/texmf-dist/tex/latex/cite/overcite.sty
@@ -1,422 +1,21 @@
% O V E R C I T E . S T Y
%
-% version 3.8 (Apr 1999)
+% version 4.0 (May 2003)
%
% Compressed, sorted lists of superscript numerical citations.
-% see also CITE.STY and DRFTCITE.STY
%
-% Copyright (C) 1989-1999 by Donald Arseneau
+% Copyright (C) 2003 by Donald Arseneau
% These macros may be freely transmitted, reproduced, or modified
% provided that this notice is left intact.
%
-% Instructions follow \endinput.
-% ------------------------------------
-% First, ensure that some catcodes have the expected values
-\edef\citenum{% to restore funny codes
- \catcode\string`\string ` \the\catcode\string`\`
- \catcode\string`\string ' \the\catcode\string`\'
- \catcode\string`\string = \the\catcode\string`\=
- \catcode\string`\string _ \the\catcode\string`\_
- \catcode\string`\string : \the\catcode\string`\:}
-\catcode\string`\` 12
-\catcode`\' 12
-\catcode`\= 12
-\catcode`\_ 8
-\catcode`\: 12
-
-% Handle optional variations:
-% [ verbose, nospace, space, ref, nosort, nomove, noadjust],
-% \citeform,\citeleft,\citeright,\citemid,\citepunct,\citedash
-%
-% Set defaults:
-
-% [ on the left. Option [ref] does: [Ref. 12, note]
-\@ifundefined{citeleft}{\let\citeleft=[}{}
-
-% ] on the right:
-\@ifundefined{citeright}{\let\citeright=]}{}
-
-% , (comma space) before note
-\@ifundefined{citemid}{\def\citemid{,\penalty\@medpenalty\ }}{}
-
-% , (comma thin-space) between entries; [nospace] eliminates the space
-\@ifundefined{citepunct}{
- \def\citepunct{,\penalty\@m\hskip.13emplus.1emminus.1em}%
- }{}
-
-% -- (endash) designating range of numbers:
-% (using \hbox avoids easy \exhyphenpenalty breaks)
-\@ifundefined{citedash}{\def\citedash{\hbox{--}\penalty\@m }}{}
-
-% Each number left as-is:
-\@ifundefined{citeform}{\def\citeform{}}{}
-
-% Do not repeat warnings. [verbose] reverses
-\let\oc@verbo\relax
-
-% Default is to move punctuation:
-\def\oc@movep#1{\futurelet\@tempb\@citey}
-\let\@citey\oc@movep % Temporary
-
-\@ifundefined{DeclareOption}{}%
-{ \toks@={\def\oc@verbo#1#2#3#4{}}
- \DeclareOption{verbose}{\the\toks@}
- \DeclareOption{nospace}{\def\citepunct{,\penalty\@m}}
- \DeclareOption{space}{\def\citepunct{,\penalty\@highpenalty\ }}
- \DeclareOption{ref}{\def\citeleft{[Ref.\penalty\@M\ }}
- \DeclareOption{nosort}{\def\@addto@cite@list
- {\edef\@cite@list{\@cite@list \@celt{\@B@citeB}}}}
- \DeclareOption{sort}{\let\@cite@list\relax}% default!
- \DeclareOption{nomove}{\def\oc@movep{\@tempa}}% Don't move punctuation
- \DeclareOption{move}{\let\oc@movep\@citey}% default definition
- \DeclareOption{noadjust}{\let\cite@adjust\@empty}% Don't change spaces
- \DeclareOption{adjust}{\let\cite@adjust\relax}% adjust space before [ ]
- \ProvidesPackage{overcite}[1999/04/23 \space v 3.8]
- \ProcessOptions
-}
-
-%----------------------
-% \citen uses \nocite to ignore spaces after commas, and write the aux file
-% \citation. \citen then loops over the citation tags, using \@make@cite@list
-% to make a sorted list of numbers. Finally, \citen executes \@citelist to
-% compress ranges of numbers and print the list. \citen can be used by itself
-% to give citation numbers without the brackets and other formatting; e.g.,
-% "See also ref.~\citen{junk}."
-%
-\edef\citen{\noexpand\protect \expandafter\noexpand\csname citen \endcsname}
-
-\@namedef{citen }#1{%
-\begingroup
-\let\@safe@activesfalse\@empty
-\@nocite{#1}% ignores spaces, writes to .aux file, returns #1 in \@no@sparg
-\@tempcntb\m@ne % \@tempcntb tracks highest number
-\let\@h@ld\relax % nothing held from list yet
-\let\@citea\@empty % no punctuation preceding first
-\let\@celt\delimiter % an unexpandable, but identifiable, token
-\def\@cite@list{}% % empty list to start
-\@for \@citeb:=\@no@sparg\do{\@make@cite@list}% make a sorted list of numbers
-% After sorted citelist is made, execute it to compress citation ranges.
-\@tempcnta\m@ne % no previous number
-\let\@celt\@compress@cite \@cite@list % output number list with compression
-\@h@ld % output anything held over
-\endgroup}
-
-% For each citation, check if it is defined and if it is a number.
-% if a number: insert it in the sorted \@cite@list
-% otherwise: output it immediately.
-%
-\def\@make@cite@list{%
- \expandafter\let \expandafter\@B@citeB
- \csname b@\@citeb\@extra@b@citeb \endcsname
- \ifx\@B@citeB\relax % undefined: output ? and warning
- \@citea {\bf{?}}\let\@citea\citepunct \G@refundefinedtrue
- \@warning {Citation `\@citeb' on page \thepage\space undefined}%
- \oc@verbo \global\@namedef{b@\@citeb\@extra@b@citeb}{?}%
- \else % defined % remove previous line to repeat warnings
- \ifcat _\ifnum\z@<0\@B@citeB _\else A\fi % a positive number, put in list
- \@addto@cite@list
- \else % citation is not a number, output immediately
- \@citea \citeform{\@B@citeB}%
- \let\@citea\citepunct
- \fi\fi}
-
-% Regular definition for adding entry to cite list, with sorting
-
-\@ifundefined{@addto@cite@list}{% sort option either declared or defaulted
- \def\@addto@cite@list{\@tempcnta\@B@citeB \relax
- \ifnum \@tempcnta>\@tempcntb % new highest, add to end (efficiently)
- \edef\@cite@list{\@cite@list \@celt{\@B@citeB}}%
- \@tempcntb\@tempcnta
- \else % arbitrary number: insert appropriately
- \edef\@cite@list{\expandafter\@sort@celt \@cite@list \@gobble @}%
- \fi}
-%
-% \@sort@celt inserts number (\@tempcnta) into list of \@celt{num} (#1{#2})
-% \@celt must not be expandable; list should end with two vanishing tokens.
-%
- \def\@sort@celt#1#2{\ifx \@celt #1% parameters are \@celt {num}
- \ifnum #2<\@tempcnta % number goes later in list
- \@celt{#2}%
- \expandafter\expandafter\expandafter\@sort@celt % continue
- \else % number goes here
- \@celt{\number\@tempcnta}\@celt{#2}% stop comparing
- \fi\fi}
-}% end sort option definitions
-{}% nosort definition is done in options processing
-
-% Check if each number follows previous and can be put in a range
-%
-\def\@compress@cite#1{% % This is executed for each number
- \advance\@tempcnta\@ne % Now \@tempcnta is one more than the previous number
- \ifnum #1=\@tempcnta % Number follows previous--hold on to it
- \ifx\@h@ld\relax % first pair of successives
- \edef\@h@ld{\@citea \noexpand\citeform{#1}}%
- \else % compressible list of successives
- \def\@h@ld{\citedash \citeform{#1}}%
- \fi
- \else % non-successor -- dump what's held and do this one
- \@h@ld \@citea \citeform{#1}\let\@h@ld\relax
- \fi \@tempcnta#1\let\@citea\citepunct
-}
-
-% Make \cite robust and choose superscript or normal
-%
-\edef\cite{\noexpand\protect\expandafter\noexpand\csname cite \endcsname}
-
-\@namedef{cite }{\@ifnextchar[{\@tempswatrue\@citex}{\@tempswafalse\@citew}}
-
-% \cite command has optional note, so do on line.
+% This package is provided for compatibility with the original
+% overcite.sty. All it does is invoke cite.sty with the option
+% [superscript].
%
-\def\@citex[#1]#2{\leavevmode
- \cite@adjust
- \citeleft{\citen{#2}\citemid{#1}%
- \spacefactor\@m % punctuation in note doesn't affect outside
- }\citeright}
-
-% Put a penalty before the citation, and adjust the spacing: if no space
-% already or if there is extra space due to some punctuation, then change
-% to one inter-word space.
+% It would be a shame to lose this pun.
%
-\@ifundefined{cite@adjust}{\def\cite@adjust{%
- \@tempskipa\lastskip \edef\@tempa{\the\@tempskipa}\unskip
- \ifnum\lastpenalty=\z@ \penalty\@highpenalty \fi
- \ifx\@tempa\@zero@skip \spacefactor1001 \fi % if no space before, set flag
- \ifnum\spacefactor>\@m \ \else \hskip\@tempskipa \fi}}{}
-
-% No note, so superscript, but check for punctuation first.
-%
-\def\@citew#1{\begingroup \leavevmode \unskip
- \def\@tempa{\@tempcnta\spacefactor
- \/% this allows the last word to be hyphenated, and it looks better.
- \@cite{\citen{#1}}\spacefactor\@tempcnta\endgroup}%
- \oc@movep\relax}% check for following punctuation (depending on options)
-
-% Move trailing punctuation before the citation:
-%
-\def\@citey{\let\@tempc\oc@movep
- % Watch for double periods and suppress them
- \ifx\@tempb.\ifnum\spacefactor<3000 .\fi
- % Move other punctuation
- \else\ifx\@tempb,,%
- \else\ifx\@tempb::% add other punctuation as necessary,
- \else\ifx\@tempb;;% with balancing \fi s
- \else\let\@tempc\@tempa
- \fi\fi\fi\fi
- \@tempc}%
-%
-% Replacement for \@cite which defines the formatting normally done
-% around the citation list. This uses superscripts with no brackets.
-% HOWEVER, trailing punctuation has already been moved over. The
-% format for cites with note is given by \@citex. Redefine \@cite and/
-% or \@citex to get different appearance. I don't use \textsuperscript
-% because it is defined badly in compatibility mode.
-
-\def\@cite#1{\mbox{$\m@th^{\hbox{\@ove@rcfont#1}}$}}
-
-\@ifundefined{selectfont}{% original LaTeX 2.09
- \def\@ove@rcfont{\the\scriptfont\z@ \def\bf{\the\scriptfont\bffam}}
- }{% NFSS
- \@ifundefined{fontsize}{% \fontsize undefined: strange NFSS
- \def\@ove@rcfont{\the\scriptfont\z@}\let\bf\relax % hope this works
- }{% `normal' NFSS LaTeX2e, including compatibility mode
- \def\@ove@rcfont{% not needed: \csname S@\f@size\endcsname
- \fontsize\sf@size\baselineskip\selectfont}
- }}
-
-\edef\@zero@skip{\the\z@skip}
-
-% \nocite: This is changed to ignore *ALL* spaces and be robust. The
-% parameter list, with spaces removed, is `returned' in \@no@sparg, which
-% is used by \citen.
-%
-\edef\nocite{\noexpand\protect\expandafter\noexpand\csname nocite \endcsname}
-
-\@namedef{nocite }#1{\@bsphack \@nocite{#1}%
- \@for \@citeb:=\@no@sparg\do{\@ifundefined{b@\@citeb\@extra@b@citeb}%
- {\G@refundefinedtrue\@warning{Citation `\@citeb' undefined}%
- \oc@verbo \global\@namedef{b@\@citeb\@extra@b@citeb}{?}}{}}%
- \@esphack}
-
-\def\@nocite#1{\xdef\@no@sparg{\@ignsp#1 \! }% remove *ALL* spaces
- \if@filesw \immediate\write\@auxout {\string\citation {\@no@sparg}}\fi}
-
-% for ignoring *ALL* spaces in the input. This presumes there are no
-% \outer tokens and no \if-\fi constructs in the parameter. Spaces inside
-% braces are retained.
-%
-\def\@ignsp#1 {\ifx\!#1\@empty\else #1\expandafter\@ignsp\fi}
-
-\let\nocitecount\relax % in case \nocitecount was used for drftcite
-
-\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{}
-% in case no fancy bib package (chapterbib) defines this
-
-\@ifundefined{G@refundefinedtrue}{\let\G@refundefinedtrue\relax}{}
-
-\citenum % execute restore-catcodes
-
-% Aliases:
-\let\citenum\citen
-\let\citeonline\citen
-
-\endinput
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
- OVERCITE.STY
-
-Modify LaTeX's normal citation mechanism to:
-
-o Display citations as superscript numbers, with a comma and a small space
- between each number, and with three or more consecutive numbers compressed
- into a range like 3-7.
-
-o By default, sort citation numbers into ascending order; print non-numbers
- before numbers. All numbers should be greater than zero. (The [nosort]
- package option turns off sorting.)
-
-o If an optional note is given, typeset the whole list of citations at regular
- size as if cite.sty was in effect. (See cite.sty).
-
-o Use THE SAME INPUT FORMAT as for ordinary citations; this style will ignore
- spaces before the citation, and move trailing punctuation to before the
- citation. For example, "...information \cite{source};" ignores the space
- before \cite and puts the semicolon before the number, just as if you typed
- "...information;$^{12}$".
-
-o The punctuation that will migrate before the superscript is .,;:. Perhaps
- ! and ? should too, but they weren't listed in the APS style manual I looked
- at. Quotes were listed, but they should never have to migrate because both
- on-line and superscript versions put quotes before the citation. This gives
- one difficulty --- punctuation following quotes won't migrate inside the
- quotation. For example, "``Transition State Theory''\cite{Eyring}." gives
- "``Transition State Theory''.$^8$", but you may want the period inside the
- quotes, thus: ``Transition State Theory.''$^8$.
-
-o Doubling of periods (.., ?., !.) is checked for and suppressed. The spacing
- after the citation is set according to the final punctuation mark moved.
- There is a problem with double periods after a capitalized abbreviation
- or directly after \@ : Both of "N.A.S.A. \cite{space}." and "et al.\@
- \cite{many}." will give doubled periods. These can be fixed as follows:
- "N.A.S.A\@. \cite{space}." and "et al.\ \cite{many}.". These work properly
- for both cite.sty and overcite.sty, but the NASA example gives the wrong
- spacing when there is no citation. Sorry. Use \ after abbreviations like
- et al. to get the right spacing within a sentence whether or not a citation
- follows.
-
-o All the special handling of punctuation can be disabled by specifying the
- [nomove] option.
-
-o Define \citen to get just the numbers without the brackets or superscript
- and extra formatting. Aliases are \citenum and \citeonline for easy
- conversion to other citation packages.
-
-o `Citation...undefined' warnings are only given once per undefined citation
- tag. In the text, missing numbers are represented with a bold `?' at the
- first occurrence, and with a normal `?' thenceforth. The package option
- [verbose] restores the usual repeated warnings.
-
-o Make \nocite, \cite, and \citen all ignore spaces in the input tags.
-
-Although each \cite command sorts its numbers, better compression into
-ranges can usually be achieved by carefully selecting the order of the
-\bibitem entries or the order of initial citations when using BibTeX.
-Having the entries pre-sorted will also save processing time, especially
-for long lists of numbers.
-
-Customization:
-~~~~~~~~~~~~~~
-Under LaTeX2e, there are six options for \usepackage{overcite}:
-
- [verbose] causes warnings for undefined citations to be repeated each time
- they are used.
- [ref] uses the format `[Ref.~12, optional note]' when \cite[]{} appears.
- [nospace] eliminates the spaces after commas in the number list.
- [space] uses a full inter-word space with no penalty after the commas
- [nosort] prevents sorting of the numbers (default is to sort, and a
- [sort] option is provided for completeness).
- [nomove] prevents moving the superscript cite after punctuation.
- [noadjust] disables `smart' handling of space before a cite with note.
-
-There are several commands that you may redefine to change the formatting
-of citation lists:
-
-command function default
----------- ----------------------- ----------------------------
-\citeform reformats each number nothing
-\citepunct printed between numbers comma + penalty + thin space
-\citeleft left delimiter of list [
-\citeright right delimeter of list ]
-\citemid printed before note comma + space
-\citedash used in a compressed range endash + penalty
-
-The left/mid/right commands only affect the formatting of citations with
-optional notes: \cite[xxx]{yyy}. You may use \renewcommand to change any
-of these. Remember, these commands are extensions made by this package;
-they are not regular LaTeX. Some examples of changes:
-
-1: \renewcommand\citeform[1]{\romannumeral 0#1}} % roman numerals ^{i,vi}
-2: \renewcommand\citeform[1]{(#1)} % parenthesized numbers ^{(1)-(5)}
-3: \renewcommand\citeform{\thechapter.} % by chapter: ^{2.18-2.21}
-4: \renewcommand\citepunct{,} % no space and no breaks at commas
-5: \renewcommand\citemid{; } % semicolon before optional note
-6: \renewcommand\citeleft{(} % parentheses around list with note
- \renewcommand\citeright{)} % parentheses around list with note
-
-The appearance of the whole citation list is governed by \@cite, (for no
-note) and \@citex (when a note is given). For more extensive changes to the
-formatting, redefine \@cite and/or \@citex. For example, to get brackets
-around the list of superscript numbers you can do:
-
- \def\@cite#1{\mbox{$\m@th^{\hbox{\@ove@rcfont[#1]}}$}}
-or
- \def\@cite#1{\textsuperscript{[#1]}}
-
-after \makeatletter.
-
-Related Note: overcite.sty does not affect the numbering format of
-the bibliography; the "[12]" style is still the default. To get
-superscripts in the bibliography (at any time) you can include
-
- \renewcommand\@biblabel[1]{$^{#1}$}
-
-in your personal style file, or include
-
- \makeatletter \renewcommand\@biblabel[1]{$^{#1}$} \makeatother
-
-directly in your document. If this does not work, your LaTeX and/or
-document style are very outdated.
-
-\@extra@b@citeb is a hook for other style files to further specify
-citations; for example, to number by chapter (see chapterbib.sty).
-
-See also cite.sty for enhanced [5-9] type citations, and drftcite.sty
-for draft mode citations.
-
-% Version 1991: Ignore spaces after commas in the parameter list. Move most of
-% \citen into \@cmpresscites for speed. Give the proper \spacefactor afterwards.
-% Version 1992: make \citepunct hold the punctuation between numbers (for ease
-% of changing). Add \/ to allow hyphenation of previous word, and look better
-% in italics.
-% 1992a: Make it work with NFSS. (Thank you C. Hamlin and Rainer Schoepf)
-%
-% Version 3.0 (1992): Rewrite, including sorting. Make entries like "4th"
-% be treated properly as text.
-% 3.1: Bug fixes (and Joerg-Martin Schwarz also convinced me to use \ifcat)
-% 3.2: NFSS support was wrong--added \reset@font. Suppress repetitions of
-% warnings. Include \@extra@b@citeb hook.
-% 3.3: Handle LaTeX2e options. Introduce various customization hooks.
-% 3.4: Heuristics to avoid removing \hspace glue before on-line \cite.
-% Make \nocite ignore spaces in list, simplify. Aliases for \citen.
-% Compatability with amsmath (which defines \over).
-% 3.5: Replace \reset@font with \selectfont so italics are preserved
-% Include \G@refundefinedtrue. Fix cite-with-note bug (Lars Engebretsen).
-% 3.6: Add nosort option.
-% 3.7: Add nomove option; catcode preservation and global \@no@sparg for
-% french.sty; warnings in \nocite.
-% 3.8: \citedash hook, fix token look-ahead (Heiko Selber), noadjust, babel.
-%
-% Send problem reports to asnd@Reg.triumf.ca
-
-Test file integrity: ASCII 32-57, 58-126: !"#$%&'()*+,-./0123456789
-:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
+% ------------------------------------
+ \ProvidesPackage{overcite}[2003/05/27 \space v 4.0]
+ \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{cite}}
+ \ProcessOptions
+ \RequirePackage[superscript]{cite}