summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cite
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 /Master/texmf-dist/tex/latex/cite
parent54e0055672245bb7a9d7875052b7c2b47038ba76 (diff)
cite (3mar15)
git-svn-id: svn://tug.org/texlive/trunk@36428 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/cite')
-rw-r--r--Master/texmf-dist/tex/latex/cite/cite.sty379
-rw-r--r--Master/texmf-dist/tex/latex/cite/overcite.sty423
2 files changed, 149 insertions, 653 deletions
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}