summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/cite/cite.sty
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/cite.sty
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/cite.sty')
-rw-r--r--Master/texmf-dist/tex/latex/cite/cite.sty379
1 files changed, 138 insertions, 241 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{|}~