From d8d07e14b624ecf502b5130140ad9ad2f4d60bcb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 9 Feb 2007 23:21:48 +0000 Subject: natbib 8.0 since a mac user noticed already git-svn-id: svn://tug.org/texlive/trunk@3963 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst | 6 +- Master/texmf-dist/bibtex/bst/natbib/plainnat.bst | 6 +- Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst | 6 +- Master/texmf-dist/doc/latex/natbib/README.v74a | 411 ---------- Master/texmf-dist/doc/latex/natbib/README.v80 | 445 +++++++++++ Master/texmf-dist/doc/latex/natbib/natbib.pdf | Bin 181842 -> 175447 bytes Master/texmf-dist/doc/latex/natbib/natnotes.pdf | Bin 0 -> 88587 bytes Master/texmf-dist/doc/latex/natbib/natnotes.tex | 66 +- Master/texmf-dist/source/latex/natbib/natbib.drv | 6 +- Master/texmf-dist/source/latex/natbib/natbib.dtx | 964 ++++++++++------------- Master/texmf-dist/tex/latex/natbib/natbib.sty | 128 ++- Master/texmf-dist/tpm/natbib.tpm | 11 +- Master/texmf/lists/natbib | 3 +- 13 files changed, 1007 insertions(+), 1045 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/natbib/README.v74a create mode 100644 Master/texmf-dist/doc/latex/natbib/README.v80 create mode 100644 Master/texmf-dist/doc/latex/natbib/natnotes.pdf diff --git a/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst b/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst index 2068b0f1c27..d281c28f965 100644 --- a/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst +++ b/Master/texmf-dist/bibtex/bst/natbib/abbrvnat.bst @@ -1,7 +1,7 @@ %% File: `abbrvnat.bst' %% A modification of `abbrv.bst' for use with natbib package %% -%% Copyright 1993-2005 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau @@ -14,7 +14,7 @@ %% version 1 of the License, or any later version. %% % Version and source file information: - % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)] + % \ProvidesFile{natbst.mbs}[2007/02/05 1.9 (PWD)] % % BibTeX `plainnat' family % version 0.99b for BibTeX versions 0.99a or later, @@ -1002,10 +1002,10 @@ FUNCTION {unpublished} author format.key output new.block format.title "title" output.check - format.url output new.block note "note" output.check format.date output + format.url output fin.entry } diff --git a/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst b/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst index 8b07c3cb60c..8f38fe33e34 100644 --- a/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst +++ b/Master/texmf-dist/bibtex/bst/natbib/plainnat.bst @@ -1,7 +1,7 @@ %% File: `plainnat.bst' %% A modification of `plain.bst' for use with natbib package %% -%% Copyright 1993-2005 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau @@ -14,7 +14,7 @@ %% version 1 of the License, or any later version. %% % Version and source file information: - % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)] + % \ProvidesFile{natbst.mbs}[2007/02/05 1.9 (PWD)] % % BibTeX `plainnat' family % version 0.99b for BibTeX versions 0.99a or later, @@ -1002,10 +1002,10 @@ FUNCTION {unpublished} author format.key output new.block format.title "title" output.check - format.url output new.block note "note" output.check format.date output + format.url output fin.entry } diff --git a/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst b/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst index 63ba4b72aa2..fd4fdfea640 100644 --- a/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst +++ b/Master/texmf-dist/bibtex/bst/natbib/unsrtnat.bst @@ -1,7 +1,7 @@ %% File: `unsrtnat.bst' %% A modification of `unsrt.bst' for use with natbib package %% -%% Copyright 1993-2005 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau @@ -14,7 +14,7 @@ %% version 1 of the License, or any later version. %% % Version and source file information: - % \ProvidesFile{natbst.mbs}[2005/01/07 1.8 (PWD)] + % \ProvidesFile{natbst.mbs}[2007/02/05 1.9 (PWD)] % % BibTeX `plainnat' family % version 0.99b for BibTeX versions 0.99a or later, @@ -1002,10 +1002,10 @@ FUNCTION {unpublished} author format.key output new.block format.title "title" output.check - format.url output new.block note "note" output.check format.date output + format.url output fin.entry } diff --git a/Master/texmf-dist/doc/latex/natbib/README.v74a b/Master/texmf-dist/doc/latex/natbib/README.v74a deleted file mode 100644 index 031aa07805e..00000000000 --- a/Master/texmf-dist/doc/latex/natbib/README.v74a +++ /dev/null @@ -1,411 +0,0 @@ - NATBIB Package -Current Version: 7.4a from 2006/09/06 - -See list of changes below - -This is the natbib package for handling both author-year and numerical -BibTeX styles. It contains the following files: - natbib.dtx -- Documented source file that may be LaTeXed to get the - detailed description and/or coding documentation; needs - ltxdoc class distributed with LaTeX2e. - - May be docstripped with option `package,all' to get the - natbib.sty package file. - - natbib.ins -- A docstrip batch job to extract natbib.sty and natnotes.tex - from the source file natbib.dtx. - Simply TeX or LaTeX this file. - - This file can be extracted from natbib.dtx when it is - LaTeXed and natbib.ins does not already exist. - - plainnat.bst -- Replacements for plain.bst, abbrv.bst, unsrt.bst, the - abbrvnat.bst standard BibTeX bib style files. These replacements - unsrtnat.bst permit both numerical and author-year citations - - bibentry.dtx -- Documented source file for the bibentry package, defines - \bibentry{key} command that place the bibliography entry - in the text. Useful for descriptive bibliographies. - - bibentry.ins -- The installation file for bibentry. Just TeX or LaTeX it. - -Installation:- Simply run TeX or LaTeX on natbib.ins, which extracts -~~~~~~~~~~~~~~ natbib.sty from the documented source natbib.dtx. You - may first edit natbib.ins if you want natbib209.sty and/or - natbib.drv, the configurable documentation driver. If - natbib.ins has been lost, it may be regenerated by running - LaTeX on natbib.dtx. - - Natbib.ins also extracts the reference sheet source - file, natnotes.tex. - - For the bibentry package, TeX or LaTeX bibentry.ins, - which extracts bibentry.sty. - -Documentation:- Run LaTeX on natbib.dtx or natbib.drv. The latter may be -~~~~~~~~~~~~~~~ edited as needed to conform to local requirements (paper - size, duplex or not, with or without entire coding). - Alternatively, a ltxdoc.cfg file can contain local - configurations. - - Similarly for bibentry: LaTeX the bibentry.dtx file. - -Reference Sheet:- Run LaTeX on natnotes.tex (extracted from natbib.dtx when -~~~~~~~~~~~~~~~~~ natbib.dtx was processed). This is a 5 page summary of - the main natbib features. - -The package will accept BibTeX output in the forms: - \bibitem{key} (standard numerical format) - -or the following author-year formats: - \bibitem[Jones et al.(1990)]{key}... (native natbib style) - \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}... - (extended natbib 5.3 style) - - \bibitem[Jones et al., 1990]{key}... (apalike style) - \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones - et al.}{1990}]{key}... (newapa or chicago styles) - \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... (named style) - \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... (astron style) - \bibitem[\protect\citename{Jones et al., }1990]{key}... (authordate style) - \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}... - (harvard style) - -These are all the existing interfaces for author-year format that I could -find. Natbib.sty accepts them all, and converts them into its own system. - -Use \citet for in-text form and \citep for parenthetical citations: - \citet{key} ==>> Jones et al. (1990) (in-text form) - \citep{key} ==>> (Jones et al., 1990) (parenthetical form) - - \citep{key1,key2} ==>> (Jones et al., 1990, 1992) - (multiple citations; common authors suppressed) - \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) - \citep[see][]{key} ==>> (see Jones et al., 1990) - \citep[see][chap. 2]{key} ==>> (see Jones et al., 1990, chap. 2) - -All \cite's may also take a starred version to print the full -author list, if that is supported by the bib style file. - \citet*{key} ==>> Jones, Baker, and Williams (1990) - -Other citing commands - \citeauthor{key} ==>> Jones et al. - \citeauthor*{key} ==>> Jones, Baker, and Williams - \citeyear{key} ==>> 1990 - \citeyearpar{key} ==>> (1990) - -With numerical citations, - \citep{key} ==>> [23] like standard \cite command - \citet{key} ==>> Jones et al. [23] - -For a name like von Braun or della Robbia, coming at the start of a sentence, -use \Citet for Von Braun and Della Robbia. Also \Citep, \Citeauthor exist. - -Citation aliasing, - \defcitealias{key}{text} - \citetalias{key} ==>> text - \citepalias{key} ==>> (text) -(With the hyperref package, these will be proper links to the reference list) - -Punctuation may be altered with \bibpunct command (see comments and - examples in natbib.sty and natbib.dtx) - -Or may be specified with options to the \usepackage{natbib} command. - -Punctuation styles may be set for given .bst file and then invoked by the -\bibliographystyle command. This requires making a simple (and legitimate) -addition to natbib.sty, or creating a local configuration file natbib.cfg to -contain the additions. - -For full details, print out the documentation in natbib.dtx by LaTeXing it. - -------------------------------------------------------------------------- -List of changes - v7.4a Fix bug in the compression option that occurs with hyperref and dvips. - - v7.4 Fix so nonamebreak option works with numerical citations too. - - v7.3 Go over the manual documentation and update it for 2006 rather than 1993. - No changes to code. - - v7.2 Allow numerical cite compression without sorting (option compress) - Hyperref package no longer suppresses compression - Compatibility with citeref package - Superscript citations may have braces, defined in \bibpunct - - v7.1 Add warning when multiple citations with common authors and year - are missing distinguishing extra letter. - - Modify plainnat.bst et al to include new fields: - doi (Digital Object Identifier) - eid (Electronic Identifier) - The eid is the article sequence number used in place of page numbers - for the print version of electronic journals, such as Phys. Rev. - - v7.0b Fix superscript bug - - v7.0a Fix bug in \citenumfont so it works with \textit as well as \it - Fix bug with the index.sty package which caused vertical shifts - under certain circumstances. - - v7.0 Fix bug with \bibpunct and all the predefined citation styles - that use it; blank was missing after post-note punctuation. - - Add \citenumfont and \bibnumfmt to format the citation numbers and - numbers in the reference list, respectively. - - Support for authorless works: replace the author in \bibitem with and - code and leave the date blank, as - \bibitem[ABC98()]{wxyz98} - Then \citet{wxyz98} ==>> ABC98 - \citep{wxyz98) ==>> (ABC98) - ie, not only is the date left off, but the punctuation and (for - \citet) the braces as well. - - Most author-year bst files insert the text of the KEY field in place - of the author if there is no author or editor. The (revised) natbib - bst's do this too, but also leave off the date. Thus the KEY text - becomes the replacement for author-year. - - \Citet, \Citep, \Citealp, \Citealt, \Citeauthor capitalize first - letter of first author's name in case it begins with von or de and - comes at the start of a sentence. - - With amsbook, now uses \chapter* instead of erroneous \section*. - - v6.9a Fix bugs with babel 3.6t (earlier versions of babel will not work - well with this natbib version). Order of loading is unimportant. - - Add \bibpreamble to allow user to define a preamble to the list of - references. - - Fix bug that occurred when optional notes to \cite's began with a - command like \S. - - v6.9 The \makeindex can be issued before \usepackage{natbib} - - Add \defcitealias, \citetalias, \citepalias to define and print - some identifying code text for the citation: - \defcitealias{key}{TEXT} then \citepalias{key} => (TEXT) - - The character coming between the citation and following note is - specified by the optional argument to \bibpunct; this must now - include a space if that is wanted. The default is now {, } where it - was previously {,}. - - Copyright notices in all files (even .bst's) conform to LaTeX Project - Public Licence. - - v6.8c Exclude notes, punctuation, both braces from the hyperref link text. - - Add nonamebreak option to prevent line breaks within author names. - - v6.8b Add chapterbib compatibility for hyperref and backref packages - (in arrangement with Sebastian Rahtz) - - With hyperref, links are broken between author name and date, to - prevent some possible pdftex problems. - - v6.8a Fix some problems with redefinition of \@biblabel - - v6.8 Allow user to be able to redefine \@biblabel for numerical mode - - Fix bug with hyperref package; previously failed with \citep and - multiple citations with repeated authors - - Allow cites within cites, as \citep[cited in \citealp{xx}]{yy} - (previously these clashed and final brace was missing) - - \citealp and \citealt suppress parenthese in numerical mode too - - Add \citetext{..} to produce citations manually, with help - of \citealp, such as - \citetext{see \citealp{AA}, or better \citealp{BB}} - - v6.7 Option `longnamesfirst' causes first citation of any reference to use - the full author list. - - In numerical mode, \citet with multiple citations suppresses - repeated authors, Jones et al. [21, 22]. - - A bug is fixed that caused problems with the showkeys package and - its `final' option. - - A clash with babel's active characters is fixed up. - - A reference sheet is available, consisting (mainly) of selected text - from the main documentation. Source file is natnotes.tex, extracted - from natbib.dtx with option `notes'. - - v6.6 Options `sort' and `sort&compress' order multiple citations in one - \citep or \citet command to be in the sequence in which they appear - in the list of references; this is normally ordered alphabetically - and then by year. - - Fix functionality with showkeys and hyperref packages - - Fix \nocite so that warning messages are not always printed with - chapterbib package - - All \cite... commands coded from a basic one so that they all have the - same syntax: notes and multiple citations always possible, but may not - always be meaningful. - - Add \citeyearpar to print year in parentheses; add \citeauthor* to - be equivalent to \citefullauthor. - - Package showkeys must be loaded after natbib (this is not an improvement, - but seems unavoidable). - - v6.5 Made compatible with KOMA scripts by adding \bib@heading to the - definition of thebibliography environment - - change documentation to stress \citet and \citep instead of old - syntax with \cite and \cite[]; now both these commands can also - take optional arguments for notes, before and after ref. - - v6.4 Made compatible with the chapterbib package of Donald Arseneau - which allows multiple bibliographies in one document - - Contains modified coding from Arseneau's cite package to allow - numerical citations to be sorted and compressed - - Made compatible with the hyperref package of Sebastian Rahtz and - Yannis Haralambous, for use with HyperTeX - - Multiple superscript citations have no space between them - - v6.3 The package `showkeys' used to have some problems when loaded - before natbib; this is now repaired - - The supplied .bst files have a bug fixed so that the extra letters - added to the dates function properly; they are now added when the - abbreviated author list and date are the same for more than one - reference (previously the full author list and date determined this, - which is incorrect) - - With numerical citations, the extra letters are superfluous; these can - now be suppressed with the supplied .bst files - - v6.2 Adds \citet for textual citations in both author-year and numerical - modes. - - Adds \bibsep as a length that goes between lines of the reference list - Can be changed with \setlength - - Fixes the superscript style of numerical references so that the - numbers are the proper (smaller) size - - Fixes a clash with the classes amsart and amsbook - - v6.1 The LaTeX update of December 1995 contains some changes to internal - command which natbib has used. Natbib needs to be altered accordingly. - In fact, it has been made far more robust against any such future - interal changes, although not 100%. - - There are no changes to the user interface. - - V6.0 New method for parsing the author and year parts, which is now done - before writing the information to the auxiliary file. This allows - numerical citations to be used even with author-year bst files. - (Numerical bst files can NEVER generate author-year citations!) - Now provide replacements for standard BibTeX bst files so that - they may be used for both numerical and author-year. - - Note: the bib style file provided in previous releases (natbib.bst) - is no longer provided, since it only meant to be an example. It is now - replaced by plainnat.bst and others. - - Citation styles (punctuation, brackets, etc) can be selected in - various ways: an improved priority system has now been introduced. - For example, any punctuation selection through an option to - \usepackage has priority over any prestored citation style. - - \bibpunct can now take a 7th optional argument (at the start of - the list) for the punctuation that comes before a post-note. - - It is possible to have all citations and entries in the list of - references automatically entered in an index, either with the standard - makeidx package or the contributed index package of David M. Jones. - - V5.5: some fixed bugs - - Many internal names have been changed to recommended style, ie with - the prefix \NAT@... For example, \@citebegin and \@citeend are - now \NAT@open and \NAT@close (these contain the opening and closing - brackets). - - Where possible, \def has been replaced by \(re)newcommand. - - Selection of citation format (numerical, superscript, author-year) is - coded better; previously, if numerical were ever selected, it was - impossible to switch back to author-year. - -** As a result: ALL CITATION CUSTOMIZATIONS (\bibpunct, \citestyle) MUST -** BE ISSUED BEFORE \begin{document}!!!!! This differs from the -** situation in earlier versions, but is in fact much more logical. - - Add \citep{key} and \citep*{key} as shorthands for - \cite[]{key} and \cite*[]{key}, ie for parenthetical citations - (this was requested) - - Add \citealt{key} and \citealt*{key} that function like \cite{key} and - \cite*{key}, but without brackets. These are textual citations of - the form Jones et al. 1990. (Also a requested feature.) - - The amount of hanging indentation in the list of references can be - redefined via the length command \bibhang. Change with e.g. - \setlength{\bibhang}{2em} %Default is 1em - - V5.4: a few bugs fixed - - add superscript citation style to \bibpunct, as `s' (in place of - `n' for numerical or `a' for author-year; improve superscript coding - - add \citestyle command to be able to invoke a preprogrammed citation - style that is different from that given in \bibliographystyle - - for (Jones et al, 1994a; Jones et al, 1994b) print instead - (Jones et al, 1994a,b) - [up until now, it would have printed (Jones et al, 1994a, 1994b) ] - - V5.3: support the new release of harvard.sty, so that natbib will work with - those bib styles that are designed for it (agms,dcu,kluwer) This means - adding \harvardand, \harvardurl, and some others - - provide \citefullauthor to list all authors for those bib styles that - support this: harvard, chicago - - extend the native format of \bibitem to support full author citations - too; add starred form of \cite to print full author list, if present. - - fix up a bug that caused accents in citations (not references) to be - ignored. - - - V5.2: \citeauthor and \citeyear make auxiliary file entries so BibTeX - can see them; also, any font changes in the author (like {\it Smith}) - will be localized (in 5.0, the brackets were removed, so all following - text was italicized.) - - Internal definition of \cite made to be like that of LaTeX2e, so that - multiple citations may have spaces after commas, as \cite{a, b, c} - - A local configuration file natbib.cfg will be read in (2e only) that - may contain local \bibstyle@xxx commands. - - V5.1: pure LaTeX2e, not mixed as v5.0 was. Fixes up problems of font - commands in the citation labels (like {\em et al.} that caused - terrible problems and had a poor ad hoc solution. - -Changes from previous (4.x) versions: - \cite now takes two optional arguments for text before and after citation - \citeyear and \citeauthor have been added - Under LaTeX2e, punctuation can be selected with options in \usepackage - -------------------------------------------------------------------------- -2006 Jan 12 -Patrick W. Daly -Max-Planck-Institut f\"ur Sonnensystemforschung -D-37191 Katlenburg-Lindau, Germany -E-mail: daly@mps.mpg.de diff --git a/Master/texmf-dist/doc/latex/natbib/README.v80 b/Master/texmf-dist/doc/latex/natbib/README.v80 new file mode 100644 index 00000000000..2a171d7bde2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/natbib/README.v80 @@ -0,0 +1,445 @@ + NATBIB Package +Current Version: 8.0 from 2007/02/05 + +See list of changes below + +This is the natbib package for handling both author-year and numerical +BibTeX styles. It contains the following files: + natbib.dtx -- Documented source file that may be LaTeXed to get the + detailed description and/or coding documentation; needs + ltxdoc class distributed with LaTeX2e. + + May be docstripped with option `package,all' to get the + natbib.sty package file. + + natbib.ins -- A docstrip batch job to extract natbib.sty and natnotes.tex + from the source file natbib.dtx. + Simply TeX or LaTeX this file. + + This file can be extracted from natbib.dtx when it is + LaTeXed and natbib.ins does not already exist. + + plainnat.bst -- Replacements for plain.bst, abbrv.bst, unsrt.bst, the + abbrvnat.bst standard BibTeX bib style files. These replacements + unsrtnat.bst permit both numerical and author-year citations + + bibentry.dtx -- Documented source file for the bibentry package, defines + \bibentry{key} command that place the bibliography entry + in the text. Useful for descriptive bibliographies. + + bibentry.ins -- The installation file for bibentry. Just TeX or LaTeX it. + +Installation:- Simply run TeX or LaTeX on natbib.ins, which extracts +~~~~~~~~~~~~~~ natbib.sty from the documented source natbib.dtx. You + may first edit natbib.ins if you want natbib209.sty and/or + natbib.drv, the configurable documentation driver. If + natbib.ins has been lost, it may be regenerated by running + LaTeX on natbib.dtx. + + Natbib.ins also extracts the reference sheet source + file, natnotes.tex. + + For the bibentry package, TeX or LaTeX bibentry.ins, + which extracts bibentry.sty. + +Documentation:- Run LaTeX on natbib.dtx or natbib.drv. The latter may be +~~~~~~~~~~~~~~~ edited as needed to conform to local requirements (paper + size, duplex or not, with or without entire coding). + Alternatively, a ltxdoc.cfg file can contain local + configurations. + + Similarly for bibentry: LaTeX the bibentry.dtx file. + +Reference Sheet:- Run LaTeX on natnotes.tex (extracted from natbib.dtx when +~~~~~~~~~~~~~~~~~ natbib.dtx was processed). This is a 5 page summary of + the main natbib features. + +The package will accept BibTeX output in the forms: + \bibitem{key} (standard numerical format) + +or the following author-year formats: + \bibitem[Jones et al.(1990)]{key}... (native natbib style) + \bibitem[Jones et al.(1990)Jones, Baker, and Williams]{key}... + (extended natbib 5.3 style) + + \bibitem[Jones et al., 1990]{key}... (apalike style) + \bibitem[\protect\citeauthoryear{Jones, Baker, and Williams}{Jones + et al.}{1990}]{key}... (newapa or chicago styles) + \bibitem[\protect\citeauthoryear{Jones et al.}{1990}]{key}... (named style) + \bibitem[\protect\astroncite{Jones et al.}{1990}]{key}... (astron style) + \bibitem[\protect\citename{Jones et al., }1990]{key}... (authordate style) + \harvarditem[Jones et al.]{Jones, Baker, and Williams}{1990}{key}... + (harvard style) + +These are all the existing interfaces for author-year format that I could +find. Natbib.sty accepts them all, and converts them into its own system. + +Use \citet for in-text form and \citep for parenthetical citations: + \citet{key} ==>> Jones et al. (1990) (in-text form) + \citep{key} ==>> (Jones et al., 1990) (parenthetical form) + + \citep{key1,key2} ==>> (Jones et al., 1990, 1992) + (multiple citations; common authors suppressed) + \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + \citep[see][]{key} ==>> (see Jones et al., 1990) + \citep[see][chap. 2]{key} ==>> (see Jones et al., 1990, chap. 2) + +All \cite's may also take a starred version to print the full +author list, if that is supported by the bib style file. + \citet*{key} ==>> Jones, Baker, and Williams (1990) + +Other citing commands + \citeauthor{key} ==>> Jones et al. + \citeauthor*{key} ==>> Jones, Baker, and Williams + \citeyear{key} ==>> 1990 + \citeyearpar{key} ==>> (1990) + +With numerical citations, + \citep{key} ==>> [23] like standard \cite command + \citet{key} ==>> Jones et al. [23] + +For a name like von Braun or della Robbia, coming at the start of a sentence, +use \Citet for Von Braun and Della Robbia. Also \Citep, \Citeauthor exist. + +Citation aliasing, + \defcitealias{key}{text} + \citetalias{key} ==>> text + \citepalias{key} ==>> (text) +(With the hyperref package, these will be proper links to the reference list) + +Punctuation may be altered with \bibpunct command (see comments and + examples in natbib.sty and natbib.dtx) + +Or may be specified with options to the \usepackage{natbib} command. + +Punctuation styles may be set for given .bst file and then invoked by the +\bibliographystyle command. This requires making a simple (and legitimate) +addition to natbib.sty, or creating a local configuration file natbib.cfg to +contain the additions. + +For full details, print out the documentation in natbib.dtx by LaTeXing it. + +------------------------------------------------------------------------- +List of changes + v8.0 Add \setcitestyle to simplify changing citation punctuation; is to replace + \bibpunct, which is retained for compatibility. + + Citation style commands (\setcitestyle, \citestyle, \bibpunct) are no longer + limited to the preamble; in particular they may be issued in different chapters + with the chapterbib package; even the author--year or numerical mode can + be switched and the bibliography is adjusted accordingly. (This has long + been requested by several users.) The docstrip option 'nopreonly' is therefore + removed, since it is now always active. + + Support for LaTeX 2.09 is removed; I no longer can test it and it only + complicates the source file. + + Package option 'colon' always meant putting a semi-colon between multiple + citations. This seems odd to me, but I probably thought 'semicolon' was + too long. I now have 'semicolon' to be explicit, but 'colon' is still + retained (as semi-colon). + + v7.5 (Never released, it is the preliminary 8.0) + Superscript citations: if braces specified, they are also superscripted + in both in-text and parenthetical citations. Any optional notes are + printed before and after as regular text. + + Add \citenum{key} to print the number, even in author-year mode. And + without superscripting and without parentheses. This is so + superscripted citations can be referred to in-text as regular numbers. + + In-text numerical citations with notes: the notes are now outside the parentheses + as this appears more logical. For parenthetical citations, notes are still + inside. + + The indexing of citations now has the default format Author [num] in numerical mode. + Previously it was Author [date] in both. + + v7.4a Fix bug in the compression option that occurs with hyperref and dvips. + + v7.4 Fix so nonamebreak option works with numerical citations too. + + v7.3 Go over the manual documentation and update it for 2006 rather than 1993. + No changes to code. + + v7.2 Allow numerical cite compression without sorting (option compress) + Hyperref package no longer suppresses compression + Compatibility with citeref package + Superscript citations may have braces, defined in \bibpunct + + v7.1 Add warning when multiple citations with common authors and year + are missing distinguishing extra letter. + + Modify plainnat.bst et al to include new fields: + doi (Digital Object Identifier) + eid (Electronic Identifier) + The eid is the article sequence number used in place of page numbers + for the print version of electronic journals, such as Phys. Rev. + + v7.0b Fix superscript bug + + v7.0a Fix bug in \citenumfont so it works with \textit as well as \it + Fix bug with the index.sty package which caused vertical shifts + under certain circumstances. + + v7.0 Fix bug with \bibpunct and all the predefined citation styles + that use it; blank was missing after post-note punctuation. + + Add \citenumfont and \bibnumfmt to format the citation numbers and + numbers in the reference list, respectively. + + Support for authorless works: replace the author in \bibitem with and + code and leave the date blank, as + \bibitem[ABC98()]{wxyz98} + Then \citet{wxyz98} ==>> ABC98 + \citep{wxyz98) ==>> (ABC98) + ie, not only is the date left off, but the punctuation and (for + \citet) the braces as well. + + Most author-year bst files insert the text of the KEY field in place + of the author if there is no author or editor. The (revised) natbib + bst's do this too, but also leave off the date. Thus the KEY text + becomes the replacement for author-year. + + \Citet, \Citep, \Citealp, \Citealt, \Citeauthor capitalize first + letter of first author's name in case it begins with von or de and + comes at the start of a sentence. + + With amsbook, now uses \chapter* instead of erroneous \section*. + + v6.9a Fix bugs with babel 3.6t (earlier versions of babel will not work + well with this natbib version). Order of loading is unimportant. + + Add \bibpreamble to allow user to define a preamble to the list of + references. + + Fix bug that occurred when optional notes to \cite's began with a + command like \S. + + v6.9 The \makeindex can be issued before \usepackage{natbib} + + Add \defcitealias, \citetalias, \citepalias to define and print + some identifying code text for the citation: + \defcitealias{key}{TEXT} then \citepalias{key} => (TEXT) + + The character coming between the citation and following note is + specified by the optional argument to \bibpunct; this must now + include a space if that is wanted. The default is now {, } where it + was previously {,}. + + Copyright notices in all files (even .bst's) conform to LaTeX Project + Public Licence. + + v6.8c Exclude notes, punctuation, both braces from the hyperref link text. + + Add nonamebreak option to prevent line breaks within author names. + + v6.8b Add chapterbib compatibility for hyperref and backref packages + (in arrangement with Sebastian Rahtz) + + With hyperref, links are broken between author name and date, to + prevent some possible pdftex problems. + + v6.8a Fix some problems with redefinition of \@biblabel + + v6.8 Allow user to be able to redefine \@biblabel for numerical mode + + Fix bug with hyperref package; previously failed with \citep and + multiple citations with repeated authors + + Allow cites within cites, as \citep[cited in \citealp{xx}]{yy} + (previously these clashed and final brace was missing) + + \citealp and \citealt suppress parenthese in numerical mode too + + Add \citetext{..} to produce citations manually, with help + of \citealp, such as + \citetext{see \citealp{AA}, or better \citealp{BB}} + + v6.7 Option `longnamesfirst' causes first citation of any reference to use + the full author list. + + In numerical mode, \citet with multiple citations suppresses + repeated authors, Jones et al. [21, 22]. + + A bug is fixed that caused problems with the showkeys package and + its `final' option. + + A clash with babel's active characters is fixed up. + + A reference sheet is available, consisting (mainly) of selected text + from the main documentation. Source file is natnotes.tex, extracted + from natbib.dtx with option `notes'. + + v6.6 Options `sort' and `sort&compress' order multiple citations in one + \citep or \citet command to be in the sequence in which they appear + in the list of references; this is normally ordered alphabetically + and then by year. + + Fix functionality with showkeys and hyperref packages + + Fix \nocite so that warning messages are not always printed with + chapterbib package + + All \cite... commands coded from a basic one so that they all have the + same syntax: notes and multiple citations always possible, but may not + always be meaningful. + + Add \citeyearpar to print year in parentheses; add \citeauthor* to + be equivalent to \citefullauthor. + + Package showkeys must be loaded after natbib (this is not an improvement, + but seems unavoidable). + + v6.5 Made compatible with KOMA scripts by adding \bib@heading to the + definition of thebibliography environment + + change documentation to stress \citet and \citep instead of old + syntax with \cite and \cite[]; now both these commands can also + take optional arguments for notes, before and after ref. + + v6.4 Made compatible with the chapterbib package of Donald Arseneau + which allows multiple bibliographies in one document + + Contains modified coding from Arseneau's cite package to allow + numerical citations to be sorted and compressed + + Made compatible with the hyperref package of Sebastian Rahtz and + Yannis Haralambous, for use with HyperTeX + + Multiple superscript citations have no space between them + + v6.3 The package `showkeys' used to have some problems when loaded + before natbib; this is now repaired + + The supplied .bst files have a bug fixed so that the extra letters + added to the dates function properly; they are now added when the + abbreviated author list and date are the same for more than one + reference (previously the full author list and date determined this, + which is incorrect) + + With numerical citations, the extra letters are superfluous; these can + now be suppressed with the supplied .bst files + + v6.2 Adds \citet for textual citations in both author-year and numerical + modes. + + Adds \bibsep as a length that goes between lines of the reference list + Can be changed with \setlength + + Fixes the superscript style of numerical references so that the + numbers are the proper (smaller) size + + Fixes a clash with the classes amsart and amsbook + + v6.1 The LaTeX update of December 1995 contains some changes to internal + command which natbib has used. Natbib needs to be altered accordingly. + In fact, it has been made far more robust against any such future + interal changes, although not 100%. + + There are no changes to the user interface. + + V6.0 New method for parsing the author and year parts, which is now done + before writing the information to the auxiliary file. This allows + numerical citations to be used even with author-year bst files. + (Numerical bst files can NEVER generate author-year citations!) + Now provide replacements for standard BibTeX bst files so that + they may be used for both numerical and author-year. + + Note: the bib style file provided in previous releases (natbib.bst) + is no longer provided, since it only meant to be an example. It is now + replaced by plainnat.bst and others. + + Citation styles (punctuation, brackets, etc) can be selected in + various ways: an improved priority system has now been introduced. + For example, any punctuation selection through an option to + \usepackage has priority over any prestored citation style. + + \bibpunct can now take a 7th optional argument (at the start of + the list) for the punctuation that comes before a post-note. + + It is possible to have all citations and entries in the list of + references automatically entered in an index, either with the standard + makeidx package or the contributed index package of David M. Jones. + + V5.5: some fixed bugs + + Many internal names have been changed to recommended style, ie with + the prefix \NAT@... For example, \@citebegin and \@citeend are + now \NAT@open and \NAT@close (these contain the opening and closing + brackets). + + Where possible, \def has been replaced by \(re)newcommand. + + Selection of citation format (numerical, superscript, author-year) is + coded better; previously, if numerical were ever selected, it was + impossible to switch back to author-year. + +** As a result: ALL CITATION CUSTOMIZATIONS (\bibpunct, \citestyle) MUST +** BE ISSUED BEFORE \begin{document}!!!!! This differs from the +** situation in earlier versions, but is in fact much more logical. + + Add \citep{key} and \citep*{key} as shorthands for + \cite[]{key} and \cite*[]{key}, ie for parenthetical citations + (this was requested) + + Add \citealt{key} and \citealt*{key} that function like \cite{key} and + \cite*{key}, but without brackets. These are textual citations of + the form Jones et al. 1990. (Also a requested feature.) + + The amount of hanging indentation in the list of references can be + redefined via the length command \bibhang. Change with e.g. + \setlength{\bibhang}{2em} %Default is 1em + + V5.4: a few bugs fixed + + add superscript citation style to \bibpunct, as `s' (in place of + `n' for numerical or `a' for author-year; improve superscript coding + + add \citestyle command to be able to invoke a preprogrammed citation + style that is different from that given in \bibliographystyle + + for (Jones et al, 1994a; Jones et al, 1994b) print instead + (Jones et al, 1994a,b) + [up until now, it would have printed (Jones et al, 1994a, 1994b) ] + + V5.3: support the new release of harvard.sty, so that natbib will work with + those bib styles that are designed for it (agms,dcu,kluwer) This means + adding \harvardand, \harvardurl, and some others + + provide \citefullauthor to list all authors for those bib styles that + support this: harvard, chicago + + extend the native format of \bibitem to support full author citations + too; add starred form of \cite to print full author list, if present. + + fix up a bug that caused accents in citations (not references) to be + ignored. + + + V5.2: \citeauthor and \citeyear make auxiliary file entries so BibTeX + can see them; also, any font changes in the author (like {\it Smith}) + will be localized (in 5.0, the brackets were removed, so all following + text was italicized.) + + Internal definition of \cite made to be like that of LaTeX2e, so that + multiple citations may have spaces after commas, as \cite{a, b, c} + + A local configuration file natbib.cfg will be read in (2e only) that + may contain local \bibstyle@xxx commands. + + V5.1: pure LaTeX2e, not mixed as v5.0 was. Fixes up problems of font + commands in the citation labels (like {\em et al.} that caused + terrible problems and had a poor ad hoc solution. + +Changes from previous (4.x) versions: + \cite now takes two optional arguments for text before and after citation + \citeyear and \citeauthor have been added + Under LaTeX2e, punctuation can be selected with options in \usepackage + +------------------------------------------------------------------------- +2006 Jan 12 +Patrick W. Daly +Max-Planck-Institut f\"ur Sonnensystemforschung +D-37191 Katlenburg-Lindau, Germany +E-mail: daly@mps.mpg.de diff --git a/Master/texmf-dist/doc/latex/natbib/natbib.pdf b/Master/texmf-dist/doc/latex/natbib/natbib.pdf index 60bb01bc957..2141249751f 100644 Binary files a/Master/texmf-dist/doc/latex/natbib/natbib.pdf and b/Master/texmf-dist/doc/latex/natbib/natbib.pdf differ diff --git a/Master/texmf-dist/doc/latex/natbib/natnotes.pdf b/Master/texmf-dist/doc/latex/natbib/natnotes.pdf new file mode 100644 index 00000000000..2dcd957d10a Binary files /dev/null and b/Master/texmf-dist/doc/latex/natbib/natnotes.pdf differ diff --git a/Master/texmf-dist/doc/latex/natbib/natnotes.tex b/Master/texmf-dist/doc/latex/natbib/natnotes.tex index 7c789ecfb43..7c1830cf507 100644 --- a/Master/texmf-dist/doc/latex/natbib/natnotes.tex +++ b/Master/texmf-dist/doc/latex/natbib/natnotes.tex @@ -21,17 +21,17 @@ %% %% For more details, LaTeX the source natbib.dtx. %% ============================================== -%% Copyright 1993-2006 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau %% Germany -%% E-mail: daly@linmpi.mpg.de +%% E-mail: daly@mps.mpg.de \NeedsTeXFormat{LaTeX2e} \def\DescribesFile#1 [#2 #3 #4] {\def\filename{#1}\def\filedate{#2}\def\fileversion{#3}} \DescribesFile{natbib} - [2006/09/06 7.4a (PWD)] + [2007/02/05 8.0 (PWD)] \documentclass{article} \setlength{\parindent}{0pt} @@ -138,8 +138,12 @@ results are different. \head{Suppressed parentheses} As an alternative form of citation, |\citealt| is the same as |\citet| but \emph{without parentheses}. Similarly, |\citealp| is |\citep| without -parentheses. Multiple references, notes, and the starred variants -also exist. +parentheses. + +The |\citenum| command prints the citation number, without parentheses, even +in author--year mode, and without raising it in superscript mode. This is +intended to be able to refer to citation numbers without superscripting them. + \begin{quote} \begin{tabular}{l@{\quad$\Rightarrow$\quad}l} |\citealt{jon90}| & Jones et al.\ 1990\\ @@ -148,6 +152,7 @@ also exist. |\citealp*{jon90}| & Jones, Baker, and Williams, 1990\\ |\citealp{jon90,jam91}| & Jones et al., 1990; James et al., 1991\\ |\citealp[pg.~32]{jon90}| & Jones et al., 1990, pg.~32\\ + |\citenum{jon90}| & 11\\ |\citetext{priv.\ comm.}| & (priv.\ comm.) \end{tabular} \end{quote} @@ -198,30 +203,27 @@ These citation commands function much like |\citet| and |\citep|: they may take multiple keys in the argument, may contain notes, and are marked as hyperlinks. \head{Selecting citation style and punctuation} -Use the command |\bibpunct| with one optional and 6 mandatory arguments: -\begin{enumerate} -\item the opening bracket symbol, default = ( -\item the closing bracket symbol, default = ) -\item the punctuation between multiple citations, default = ; -\item the letter `n' for numerical style, or `s' for numerical superscript - style, any other letter for - author--year, default = author--year; -\item the punctuation that comes between the author names and the year -\item the punctuation that comes between years or numbers when common author - lists are suppressed (default = ,); -\end{enumerate} - -The optional argument is the character preceding a post-note, default is a -comma plus space. In redefining this character, one must include a space if -one is wanted. - -Example~1, |\bibpunct{[}{]}{,}{a}{}{;}| changes the output of +Use the command |\setcitestyle| with a list of comma-separated +keywords (without spaces) as argument. +\begin{quote} + Citation mode: |authoryear| or |numbers| or |super|\\ + Braces: |round| or |square| or |open={|\emph{char}|},close={|\emph{char}|}|\\ + Between citations: |semicolon| or |comma| or |citesep={|\emph{char}|}|\\ + Between author and year: |aysep={|\emph{char}|}|\\ + Between years with common author: |yysep={|\emph{char}|}|\\ + Text before post-note: |notesep={|\emph{text}|}| +\end{quote} +Defaults are |authoryear|, |round|, |comma|, |aysep={;}|, |yysep={,}|, +|notesep={, }| + +Example~1, |\setcitestyle{square,aysep={},yysep={;}}| changes the author--year +output of \begin{quote} |\citep{jon90,jon91,jam92}| \end{quote} into [Jones et al. 1990; 1991, James et al. 1992]. -Example~2, |\bibpunct[; ]{(}{)}{,}{a}{}{;}| changes the output of +Example~2, |\setcitestyle{notesep={; },round,aysep={},yysep={;}}| changes the output of \begin{quote} |\citep[and references therein]{jon90}| \end{quote} @@ -277,8 +279,12 @@ Every |\include|d file must contain its own |\bibliography| command where the bibliography is to appear. The database files listed as arguments to this command can be different in each file, of course. However, what is not so obvious, is that each file must also -contain a |\bibliographystyle| command, \emph{preferably with the same -style argument}. +contain a |\bibliographystyle| command, with possibly differing arguments. + +As of version~8.0, the citation style, including mode (author--year or +numerical) may also differ between chapters. The |\setcitestyle| command +can be issued at any point in the document, in particular in different +chapters. \head{Sorting and compressing citations} Do not use the \texttt{cite} package with \thestyle; rather use one of the options \texttt{sort}, \texttt{compress}, or \texttt{sort\&compress}. @@ -303,9 +309,11 @@ is read in after the main package file. \item[\ttfamily square] for square brackets; \item[\ttfamily curly] for curly braces; \item[\ttfamily angle] for angle brackets; -\item[\ttfamily colon] (default) to separate multiple citations with - colons; -\item[\ttfamily comma] to use commas as separaters; +\item[\ttfamily semicolon] (default) to separate multiple citations with + semi-colons; +\item[\ttfamily colon] the same as \texttt{semicolon}, an earlier mistake in + terminology; +\item[\ttfamily comma] to use commas as separators; \item[\ttfamily authoryear] (default) for author--year citations; \item[\ttfamily numbers] for numerical citations; \item[\ttfamily super] for superscripted numerical citations, as in diff --git a/Master/texmf-dist/source/latex/natbib/natbib.drv b/Master/texmf-dist/source/latex/natbib/natbib.drv index 5a5cb763596..4335ba4af70 100644 --- a/Master/texmf-dist/source/latex/natbib/natbib.drv +++ b/Master/texmf-dist/source/latex/natbib/natbib.drv @@ -11,15 +11,15 @@ %% %% Make changes to it as needed. (Never change the file natbib.dtx!) %% ============================================ -%% Copyright 1993-2006 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau %% Germany -%% E-mail: daly@linmpi.mpg.de +%% E-mail: daly@mps.mpg.de \NeedsTeXFormat{LaTeX2e} \ProvidesFile{natbib.drv} - [2006/09/06 7.4a (PWD)] + [2007/02/05 8.0 (PWD)] \documentclass{ltxdoc} %\documentclass[twoside]{ltxdoc} %\documentclass[a4paper]{ltxdoc} diff --git a/Master/texmf-dist/source/latex/natbib/natbib.dtx b/Master/texmf-dist/source/latex/natbib/natbib.dtx index 8f7e52578de..c4112cc378b 100644 --- a/Master/texmf-dist/source/latex/natbib/natbib.dtx +++ b/Master/texmf-dist/source/latex/natbib/natbib.dtx @@ -5,12 +5,12 @@ {NATBIB.DTX} %======================================================================== % -%% Copyright 1993-2006 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau %% Germany -%% E-mail: daly@linmpi.mpg.de +%% E-mail: daly@mps.mpg.de % % This program can be redistributed and/or modified under the terms % of the LaTeX Project Public License Distributed from CTAN @@ -32,28 +32,15 @@ % package - to produce a package .sty file % notes - to produce a reference sheet for natbib usage % driver - to produce a driver file to print the documentation -% 209 - (with package) for style file that runs under LaTeX 2.09 -% subpack - (with package) for coding included in other packages % all - (with package) to include all author-year systems % else individually with: % apalike, newapa, chicago, harvard, authordate, astron -% agu - (with package,subpack) for inclusion in aguplus package -% egs- (with package,subpack) for inclusion in egs package -% nopreonly - allows \citestyle and \bibpunct to be used anywhere %-------------------------------------------------------------------------- -%<*!subpack> -%\def\ProvidesPackage#1#2] -% {\typeout{Style option `#1'#2]}} % % *** Identify the package file:- -%\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%\NeedsTeXFormat{LaTeX2e}[1995/06/01] % (Need LaTeX2e release 3 for option definition with single #) %\ProvidesPackage{natbib} -% -% -% *** Provide command to dislay module version -%\def\ModuleVersion#1[#2]{} -% \ModuleVersion{natbib} % % *** Provide command to identify reference sheet (notes) %\NeedsTeXFormat{LaTeX2e} @@ -68,7 +55,7 @@ % *** The DATE, VERSION, and other INFO %\fi %\ProvidesFile{natbib} - [2006/09/06 7.4a (PWD)] + [2007/02/05 8.0 (PWD)] % \changes{4.0}{1993 Aug 19}{First documented release} % \changes{4.1}{1993 Oct 4}{Simplification of \cs{@citeapalk}} % \changes{4.1a}{1993 Oct 14}{Add \texttt{rev} option for reversed comments @@ -179,9 +166,15 @@ % \changes{7.2}{2006 Jan 12}{Add compatibility with \texttt{citeref} package} % \changes{7.3}{2006 Mar 22}{Revise and update the manual documentation} % \changes{7.4}{2006 Aug 18}{Add \cs{NAT@nmfmt} to names in \cs{NAT@test}} -% \changes{7.4a}{2006 Sep 06}{Fix bug with compress option and hyperref with dvips} -% -% \CheckSum{2423} +% \changes{7.4a}{2006 Sep 6}{Fix bug with compress option and hyperref with dvips} +% \changes{7.5}{2007 Feb 2}{Add \cs{citenum} to print (non-superscripted) number} +% \changes{7.5}{2007 Feb 2}{Superscripted braces raised in textual citation too} +% \changes{7.5}{2007 Feb 2}{Change notes for textual numerical citations to be outside} +% \changes{8.0}{2007 Feb 2}{Allow changes in cite style, for chapterbib; remove \texttt{nopreonly} option} +% \changes{8.0}{2007 Feb 5}{Remove 2.09 support} +% \changes{8.0}{2007 Feb 5}{Remove subpackage option (and agu, egs options)} +% +% \CheckSum{2376} % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z @@ -407,7 +400,7 @@ End of documentation driver file. % \DoNotIndex{\@celt,\@cite@list,\@citea,\@citeb,\@compress@cite} % \DoNotIndex{\@bsphack,\@esphack,\@h@ld,\@make@cite@list,\@ne} % \DoNotIndex{\@sort@celt,\@tempcnta,\@tempcntb,\delimiter,\endgroup} -% \DoNotIndex{\ifcat,\m@ne,\number} +% \DoNotIndex{\ifcat,\m@ne,\number,\kern} % \DoNotIndex{\@markboth,\@mkboth,\nobreak,\SK@,\SK@@citex} % \DoNotIndex{\SK@@label,\SK@@ref,SK@def,\SK@lbibitem,\bbl@redefine} % \DoNotIndex{\@safe@activesfalse,\@save@activestrue,\active@prefix} @@ -506,7 +499,7 @@ with those for \texttt{harvard}, \texttt{apalike}, \texttt{chicago}, % citations along with numerical citations. Standard \LaTeX\ permits only % numerical, whereas all extensions for author--year prior to the release of % \thestyle{} in 1993 were limited to just that. Since they normally added new -% commands (as does \thestyle{} too), documents written with them could only be +% commands (as \thestyle{} does too), documents written with them could only be % used with numerical citations after extensive editing. % % The \thestyle{} package has changed that; switching from author--year to @@ -516,7 +509,7 @@ with those for \texttt{harvard}, \texttt{apalike}, \texttt{chicago}, % choice by most of the \LaTeX\ community, mainly because of its flexibility % and configurability. % -% Like all packages, it is loaded the document preamble, with possible options, +% Like all packages, it is loaded in the document preamble, with possible options, % with, e.g.\ % \begin{quote} % |\usepackage[sectionbib,square]{natbib}| @@ -779,14 +772,22 @@ results are different. % \DescribeMacro{\citealt} % \DescribeMacro{\citealp} % \DescribeMacro{\citetext} +% \DescribeMacro{\citenum} % \iffalse %<*notes> \head{Suppressed parentheses} % \fi As an alternative form of citation, |\citealt| is the same as |\citet| but \emph{without parentheses}. Similarly, |\citealp| is |\citep| without -parentheses. Multiple references, notes, and the starred variants -also exist. +parentheses. + +The |\citenum| command prints the citation number, without parentheses, even +in author--year mode, and without raising it in superscript mode. This is +intended to be able to refer to citation numbers without superscripting them. + +% Multiple references, notes, and the starred variants +% also exist for these, except for |\citenum|. +% \begin{quote} \begin{tabular}{l@{\quad$\Rightarrow$\quad}l} |\citealt{jon90}| & Jones et al.\ 1990\\ @@ -795,6 +796,7 @@ also exist. |\citealp*{jon90}| & Jones, Baker, and Williams, 1990\\ |\citealp{jon90,jam91}| & Jones et al., 1990; James et al., 1991\\ |\citealp[pg.~32]{jon90}| & Jones et al., 1990, pg.~32\\ + |\citenum{jon90}| & 11\\ |\citetext{priv.\ comm.}| & (priv.\ comm.) \end{tabular} \end{quote} @@ -803,8 +805,7 @@ allows arbitrary text to be placed in the current citation parentheses. This may be used in combination with |\citealp|. % For example, % \begin{verbatim} -% \citetext{see \citealp{jon90}, -% or even better \citealp{jam91}} +% \citetext{see \citealp{jon90}, or even better \citealp{jam91}} % \end{verbatim} % to produce (see Jones et al., 1990, or even better James et al., 1991). % @@ -851,8 +852,8 @@ extra commands % % \medskip\noindent % \textbf{Note:} all |\cite..| commands have the same -% syntax, allowing multiple citations and up to two notes (there is, however, -% no starred |\citeyear| variant). It does not really make much sense to add +% syntax, allowing multiple citations and up to two notes (there are, however, +% no starred |\citeyear| or |\citenum| variants). It does not really make much sense to add % notes to |\citeyear| and |\citeauthor|, especially with multiple citations; % however, this can be done, there will be no error message, but the results % are sometimes strange. For example, in numerical mode, the notes are fully @@ -1027,152 +1028,169 @@ hyperlinks. % % \subsection{Selecting Citation Punctuation}\label{sec:bibpunct} % -% \DescribeMacro{\bibpunct} +% \DescribeMacro{\setcitestyle} % The above examples have been printed with the default citation style. % It is possible to change this, as well as to select numerical or -% author--year mode, by means of the |\bibpunct| command, which takes -% one optional and 6 mandatory arguments. The mandatory ones are: +% author--year mode, by means of the |\setcitestyle| command, which takes as argument +% a comma-separated list of keywords. (This command is new to version~8.) % \iffalse %<*notes> \head{Selecting citation style and punctuation} -Use the command |\bibpunct| with one optional and 6 mandatory arguments: +Use the command |\setcitestyle| with a list of comma-separated +keywords (without spaces) as argument. % \fi -\begin{enumerate} -\item the opening bracket symbol, default = ( -\item the closing bracket symbol, default = ) -\item the punctuation between multiple citations, default = ; -\item the letter `n' for numerical style, or `s' for numerical superscript - style, any other letter for - author--year, default = author--year; -% note, it is not necessary to -% specify which author--year interface is being used, for all will be -% recognized; -\item the punctuation that comes between the author names and the year -% (parenthetical case only), default = , -\item the punctuation that comes between years or numbers when common author - lists are suppressed (default = ,); -% if both authors and years are -% common, the citation is printed as `1994a,b', but if a space -% is wanted between the extra letters, then include the space -% in the argument, as |{,~}|. -% -% For numerical mode, |\citet{jon90,jon91}| produces -% `Jones et al.\ [21, 22]' with this punctuation between the numbers. -% A space is automatically included for numbers, but not for -% superscripts. -% -\end{enumerate} - -The optional argument is the character preceding a post-note, default is a -comma plus space. In redefining this character, one must include a space if -one is wanted. +\begin{quote} + Citation mode: |authoryear| or |numbers| or |super|\\ + Braces: |round| or |square| or |open={|\emph{char}|},close={|\emph{char}|}|\\ + Between citations: |semicolon| or |comma| or |citesep={|\emph{char}|}|\\ + Between author and year: |aysep={|\emph{char}|}|\\ + Between years with common author: |yysep={|\emph{char}|}|\\ + Text before post-note: |notesep={|\emph{text}|}| +\end{quote} +Defaults are |authoryear|, |round|, |comma|, |aysep={;}|, |yysep={,}|, +|notesep={, }| -% The |\bibpunct| command must be issued in the preamble, that is, -% before |\begin{document}|. -% -Example~1, |\bibpunct{[}{]}{,}{a}{}{;}| changes the output of +Example~1, |\setcitestyle{square,aysep={},yysep={;}}| changes the author--year +output of \begin{quote} |\citep{jon90,jon91,jam92}| \end{quote} into [Jones et al. 1990; 1991, James et al. 1992]. -Example~2, |\bibpunct[; ]{(}{)}{,}{a}{}{;}| changes the output of +Example~2, |\setcitestyle{notesep={; },round,aysep={},yysep={;}}| changes the output of \begin{quote} |\citep[and references therein]{jon90}| \end{quote} into (Jones et al. 1990; and references therein). +% \medskip\noindent +% \textbf{Note}: +% \begin{itemize} +% \item parameters not specified remain unchanged; +% \item the order of the keywords is unimportant; +% \item the punctuation between author and year applies only to author--year +% citations, not numerical; +% \item the |yysep| punctuation comes between years when multiple citations +% have the same, non-repeated authors; a space is always inserted +% as well; if the years too are same, the citation is printed as `2007a,b', +% without a space; to include a space, add it with |yysep={,~}|; +% \item for numerical citations with common authors, e.g, +% |\citet{jon90,jon91}| produces `Jones et al.\ [21, 22]' with the +% punctuation between the numbers; a space is automatically included for +% numbers, but not for superscripts. +% \item a single character does not really need to be in |{ }|, +% other than a comma; |yysep=;| is acceptable; +% \end{itemize} +% +% \DescribeMacro{\bibpunct} +% The older command for setting the citation style is |\bibpunct| which +% takes one optional and 6 mandatory arguments: +% \begin{enumerate} +% \item the opening bracket symbol, default = ( +% \item the closing bracket symbol, default = ) +% \item the punctuation between multiple citations, default = ; +% \item the letter `n' for numerical style, or `s' for numerical superscript +% style, any other letter for +% author--year, default = author--year; +% \item the punctuation that comes between the author names and the year +% \item the punctuation that comes between years or numbers when common author +% lists are suppressed (default = ,); +% \end{enumerate} +% +% The optional argument is the character preceding a post-note, default is a +% comma plus space. In redefining this character, one must include a space if +% one is wanted. +% +% The above |\setcitestyle| examples can be achieved with +% \begin{quote} +% |\bibpunct{[}{]}{,}{a}{}{;}| and\\ +% |\bibpunct[,~]{(}{)}{,}{a}{}{;}|. +% \end{quote} +% % \iffalse % % \fi % +% \subsection{Predefining a citation style}\label{sec:predef} +% % \DescribeMacro{\bibstyle@xxx} -% Usually the citation style is determined by the journal -% for which one is writing, and is as much a part of the bibliography style -% as everything else. The \thestyle{} package allows -% punctuation definitions to be directly coupled to the -% |\bibliographystyle| command that must always be present when \btx{} is -% used. It is this command that selects the \texttt{.bst} file; by adding such -% a coupling to \thestyle{} for every \texttt{.bst} file that one might -% want to use, it is not necessary to add |\bibpunct| explicitly in the -% document itself, unless of course one wishes to override the preset -% values. -% -% Such a coupling is achieved by defining a command |\bibstyle@|{\em bst}, -% where {\em bst\/} stands for the name of the \texttt{.bst} file. For example, -% the American Geophysical Union (AGU) demands in its publications that -% citations be made with square brackets and separated by semi-colons. I -% have an \texttt{agu.bst} file to accomplish most of the formatting, but such -% punctuations are not included in it. Instead, \thestyle{} has the +% \DescribeMacro{\citestyle} +% +% If a particular set of citation punctuations is commonly used, it is possible +% to store it in the local \thestyle\texttt{.cfg} and to recall it with +% |\citestyle{|\emph{name}|}|. The +% definition is done by creating a command |\bibstyle@|\emph{name}, which sets +% the desired citation style. +% +% For example, the American Geophysical Union (AGU) demands in its publications +% that citations be made with square brackets and separated by semi-colons. +% There is an \texttt{agu.bst} file to accomplish most of the formatting, but +% such punctuations are not included in it. Instead, \thestyle{} has the % definition % \begin{quote} % |\newcommand{\bibstyle@agu}{\bibpunct{[}{]}{;}{a}{,}{,~}}| % \end{quote} +% which allows this set to be selected with the command +% \begin{quote} +% |\citestyle{agu}| +% \end{quote} % -% These style defining commands may contain more than just |\bibpunct|. +% There is an additional feature to such predefined styles: \thestyle\ attempts +% to execute |\citestyle| at the beginning of the document +% with the name of the bibliography style, as given by +% the |\bibliographystyle| command (and stored in the \texttt{.aux} file). +% This means that a citation style can be +% directly associated with a \texttt{.bst} file. Such implicit styles are +% immediately overwritten by any explicit style specifications, such as package +% options or |\setcitestyle|, |\bibpunct|, |\citestyle| commands. +% +% Predefined citation styles are contained within the \thestyle\ code for the +% following bibliography styles: +% \begin{description} +% \item[\texttt{plain}] etc. (the 4 base styles): square braces, numerical, commas +% \item[\texttt{plainnat}] etc.: square braces, author--year, commas +% \item[\texttt{agu}] (American Geophysical Union): square, author--year, semi-colon +% \item[\texttt{egu}] (European Geosciences Union): round, author--year, semi-colon +% \item[\texttt{agms, dcu, kluwer}] (Harvard set): round, author--year +% \item[\texttt{cospar}] (Committe on Space Research): slashes, numerical, comma +% \item[\texttt{nature}] (Journal \textsl{Nature}): superscripts +% \end{description} +% There are others but they are mainly for my personal convenience. The above +% represent most of the major variations and can be used as required. The +% automatic association with other bibliography styles can only be achieved by +% putting the definitions into the local \thestyle\texttt{.cfg}. +% +% Note that the predefinitions for |plain| and |plainnat| specify square +% braces, thus changing the normal \thestyle\ default of round parentheses. +% +% The style defining commands may contain more than just |\bibpunct| +% or |\setcitestyle|. % Some numerical citation scheme require even more changes. For example, -% the journal \textsl{Nature} not only uses superscripted numbers for +% \textsl{Nature} not only uses superscripted numbers for % citations, it also prints the numbers in the list of references without % the normal square brackets. To % accommodate this, \thestyle{} contains the style definition % \begin{quote}\begin{verbatim} % \newcommand{\bibstyle@nature}% % {\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}% -% \gdef\NAT@biblabelnum##1{##1.}} +% \renewcommand\bibnumfmt[1]{##1.}} % \end{verbatim} % \end{quote} -% The redefined |\NAT@biblabelnum| command specifies how the reference numbers +% The redefined |\bibnumfmt| command specifies how the reference numbers % are to be formatted in the list of references itself. -% The redefinition must be made with |\gdef|, not |\def| or -% |\renewcommand|. -% -% The selected punctuation style and other redefinitions will not be in -% effect on the first \LaTeX{} run, for they are stored to the auxiliary -% file for the subsequent run. -% -% The user may add more such definitions of his own, to accommodate those -% journals and \texttt{.bst} files that he has. He should put them into a file -% named \thestyle\texttt{.cfg}, which is read in if it exists, -% adding any local configurations. Thus such configurations can survive -% future updates of the package. -% -% \medskip -% \noindent\textbf{Note:} -% any explicit call to |\bibpunct| has priority over the -% predefined citation styles. -% -% \DescribeMacro{\citestyle} -% A preprogrammed citation style is normally invoked by the command -% |\bibliographystyle|, as described above. However, it may be that one wants -% to apply a certain citation style to another bibliography style. This may be -% done with |\citestyle|, given \emph{before} |\begin{document}|. For example, -% to use the \texttt{plainnat} bibliography style (for the list of references) -% with the \textsl{Nature} style of citations (superscripts), -% \begin{quote} -% |\documentclass{article}|\\ -% |\usepackage{|\thestyle|}|\\ -% |. . . . .|\\ -% |\citestyle{nature}|\\ -% |\begin{document}|\\ -% |\bibliographystyle{plainnat}|\\ -% |. . . . .| -% \end{quote} -% -% \noindent -% \textbf{Note:} all changes to the citation -% style, including punctuation, must be made before |\begin{document}|, -% which freezes the citation style. % % \subsection{Priority of Style Commands}\label{sec:priority} % The citation style (punctuation and mode) can be selected by means of the -% |\bibpunct|, |\citestyle|, and predefined |\bibstyle@|\textit{bst} -% commands. They can also be selected by package options +% |\setcitestyle|, |\bibpunct|, |\citestyle| commands or via +% |\bibliographystyle{|\textit{bst}|}| with a predefined |\bibstyle@|\textit{bst}. +% They can also be selected by package options % (Section~\ref{sec:opts}). What happens if there are several conflicting % selections? % -% The lowest priority is assigned to the predefined |\bibstyle@|\textit{bst} -% commands, since they are implicit and not obvious to the user. The +% The lowest priority is assigned to the |\bibliographystyle| +% command, since this is implicit and not transparent to the user. The % package options have the next priority. Finally, any selection by +% |\setcitestyle|, % |\bibpunct| and/or |\citestyle| overrides those of the other methods. % % \subsection{Other Formatting Options} @@ -1305,8 +1323,8 @@ entries will no longer be made. % \DescribeMacro{\NAT@idxtxt} % The form of the index entries is set by the internal |\NAT@idxtxt|, which % can be redefined by hackers if wanted (in the \thestyle\texttt{.cfg} file -% please). By default, it prints the short author list plus date in the -% current parenthesis style. +% please). By default, it prints the short author list plus date or number in the +% current parenthesis style and citation mode. % % The \thestyle\ package can also be used with the \texttt{index} package of % David~M. Jones. The order in which the packages are loaded is not @@ -1334,10 +1352,11 @@ entries will no longer be made. % The compatibility is of a mutual nature: both packages contain % coding that interact with that of the other. % -% There is a special option \texttt{nonamebreak} that can be used with the -% \texttt{hyperref} package; it keeps all the author names in a citation on one -% line, something that avoids certain problems with pdf\TeX. This is otherwise -% not recommended, since many overfull lines result. +% There is a special option to the \texttt{hyperref} package: \texttt{breaklinks} +% which allows the link text to be split over to the next +% line, avoiding many overfull line messages. By default, the link text is +% restricted to be on one line. For numerical citations, this may be desirable, +% but for author--year ones with long link texts, it is not. % % \subsection{Multiple Bibliographies in One Document}\label{sec:chapbib} % @@ -1347,9 +1366,7 @@ entries will no longer be made. % \fi The \thestyle\ package is compatible with the \texttt{chapterbib} package -% of Donald Arseneau and Niel Kempson,\relax -% \footnote{I have used version 1.5 from 1995/10/09; cannot guarantee -% earlier versions.} +% of Donald Arseneau and Niel Kempson, which makes it possible to have several bibliographies in one document. % The usual application is to have bibliographies in each chapter of a book, % especially if they have been written by different authors. @@ -1409,17 +1426,14 @@ Every |\include|d file must contain its own |\bibliography| command where the bibliography is to appear. The database files listed as arguments to this command can be different in each file, of course. However, what is not so obvious, is that each file must also -contain a |\bibliographystyle| command, \emph{preferably with the same -style argument}. -% If different bibliography styles are specified for -% different files, then the preprogrammed citation style (punctuation and -% citation mode) will be that of the first bibliography style given. The -% preprogrammed citation styles can only be changed in the preamble (see -% Section~\ref{sec:priority}), something that guarantees a uniform style -% for the entire document.\relax -% \footnote{It would be relatively easy to allow changes in style anywhere -% in the document, but this strikes me as bad policy. However, it is -% provided for with the \texttt{docstrip} option \texttt{nopreonly}.} +contain a |\bibliographystyle| command, with possibly differing arguments. + +As of version~8.0, the citation style, including mode (author--year or +numerical) may also differ between chapters. The |\setcitestyle| command +% as well as |\bibpunct| and |\citestyle| +can be issued at any point in the document, in particular in different +chapters. +%(And this is the only time it would make sense to do so.) % % \iffalse % @@ -1519,13 +1533,11 @@ given before the first citation. % \item giving options \texttt{numbers} or \texttt{super} to the % |\usepackage| command; % -% \item issuing |\bibpunct| with the 4th mandatory argument set to \texttt{n} -% or \texttt{s}; +% \item issuing |\setcitestyle{numbers}|; % % \item issuing |\citestyle| with the name of a predefined numerical -% bibliography style. +% bibliography style (like \texttt{plain} and use it with \texttt{plainnat}). % \end{enumerate} -% The methods are listed in order of increasing priority. % % The \thestyle{} package will automatically switch to numerical mode if % any one of the |\bibitem| entries fails to conform to the possible @@ -1549,9 +1561,9 @@ given before the first citation. % It is possible to add a local configuration file % \thestyle\texttt{.cfg}, which is read in, if it exists, at % the end of the package. It may thus contain coding to supecede that in -% the package, although its main purpose is to allow the user to add his +% the package, although its main purpose is to allow the user to add his or her % own |\bibstyle@|\textit{bst} definitions to couple citation punctuation -% with local bibliography styles. +% with local bibliography styles or for use with |\citestyle|. % % \iffalse %<*notes> @@ -1579,9 +1591,11 @@ is read in after the main package file. \item[\ttfamily square] for square brackets; \item[\ttfamily curly] for curly braces; \item[\ttfamily angle] for angle brackets; -\item[\ttfamily colon] (default) to separate multiple citations with - colons; -\item[\ttfamily comma] to use commas as separaters; +\item[\ttfamily semicolon] (default) to separate multiple citations with + semi-colons; +\item[\ttfamily colon] the same as \texttt{semicolon}, an earlier mistake in + terminology; +\item[\ttfamily comma] to use commas as separators; \item[\ttfamily authoryear] (default) for author--year citations; \item[\ttfamily numbers] for numerical citations; \item[\ttfamily super] for superscripted numerical citations, as in @@ -1603,37 +1617,17 @@ is read in after the main package file. one line; causes overfull hboxes but helps with some \texttt{hyperref} problems. \end{description} +% The options \texttt{curly} and \texttt{angle} are not really serious; I only +% added them because that completes the normal list of bracket types. The only +% other citation possibilities I know have really encountered are solidus, e.g. /21/, +% or something like (Ref. 21). These must be set with |\setcitestyle{open={/},close={/}}|. % \iffalse % % \fi % -% If any of the formatting options are selected, the predefined citation -% styles in the commands |\bibstyle@|\textit{bst} will be no longer be -% effective. If either |\bibpunct| or |\citestyle| is given in the preamble, -% the above punctuation options will no longer hold. -% -% \iffalse -% \section{As Module to Journal-Specific Styles} -% Although \thestyle{} is meant to be an all-purpose bibliographic style -% \emph{package}, it may also be incorporated as a module to other -% packages for specific journals. In this case, many of the general features may -% be left off. This is allowed for with \texttt{docstrip} options that not -% only leave off certain codelines, but also include extra ones. So far, -% options exist for -% \begin{description} -% \item[\ttfamily subpack] produces a basic version with author--year only, -% fixed citation punctuation, no |\bibpunct| nor |\citestyle| nor -% predefined styles; -% \item[\ttfamily subpack,egs] for journals of the \textsl{European Geophysical -% Society}, in particular \textsl{Nonlinear Processes in Geophysics}; -% \item[\ttfamily subpack,agu] for \textsl{American Geophysical Union} journals. -% \end{description} -% The \texttt{subpack} option must always be used with \texttt{package}. -% -% Previous options \texttt{jgr} and \texttt{grl} have become obsolete due -% to revisions in these journals; they have been replaced by the more -% general \texttt{agu} option. -% \fi +% The package options are overwritten by any explicit |\setcitestyle|, |\bibpunct|, +% or |\citestyle| commands. And both these commands and the package options +% turn off the automatic setting with |\bibliographystyle|, if effective. % % \section{Reference Sheet} % @@ -1648,7 +1642,7 @@ is read in after the main package file. %^^A The following is a summary that goes into the .sty file %^^A It is not printed in the documentation, since the Reference Sheet exists % \iffalse -%<*package&!subpack> +%<*package> % This package reimplements the LaTeX \cite command to be used for various % citation styles, both author-year and numerical. It accepts BibTeX % output intended for many other packages, and therefore acts as a @@ -1709,6 +1703,7 @@ is read in after the main package file. % \citeyear{key} ==>> 1990 % \citeyearpar{key} ==>> (1990) % \citetext{priv. comm.} ==>> (priv. comm.) + % \citenum{key} ==>> 11 [non-superscripted] % Note: full author lists depends on whether the bib style supports them; % if not, the abbreviated list is printed even when full requested. % @@ -1717,17 +1712,18 @@ is read in after the main package file. % \Citep{dRob98} ==>> (Della Robbia, 1998) % \Citeauthor{dRob98} ==>> Della Robbia % -%<*!209> % % Citation aliasing is achieved with % \defcitealias{key}{text} % \citetalias{key} ==>> text % \citepalias{key} ==>> (text) -% % - % Defining the citation style of a given bib style: -% % Use \bibpunct (in the preamble only) with 6 mandatory arguments: -% % Use \bibpunct (anywhere in the text) with 6 mandatory arguments: + % Defining the citation mode and punctual (citation style) + % \setcitestyle{} + % Example: \setcitestyle{square,semicolon} + % Alternatively: + % Use \bibpunct with 6 mandatory arguments: % 1. opening bracket for citation % 2. closing bracket % 3. citation separator (for multiple citations in one \cite) @@ -1745,12 +1741,10 @@ is read in after the main package file. % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to % be called on THE NEXT LATEX RUN (via the aux file). % -% % Such preprogrammed definitions may be invoked in the text (preamble only) -% % Such preprogrammed definitions may be invoked anywhere in the text + % Such preprogrammed definitions may be invoked anywhere in the text % by calling \citestyle{newbib}. This is only useful if the style specified % differs from that in \bibliographystyle. % -%<*!209> % With \citeindextrue and \citeindexfalse, one can control whether the % \cite commands make an automatic entry of the citation in the .idx % indexing file. For this, \makeindex must also be given in the preamble. @@ -1760,7 +1754,8 @@ is read in after the main package file. % square - square brackets are used [option] % curly - curly braces are used {option} % angle - angle brackets are used % \fi % % \section{Options with \texttt{docstrip}} @@ -1804,47 +1798,14 @@ is read in after the main package file. % % \end{description} % -% \iffalse % Remove the subpack and journal stuff from documentation -% This package file is intended to act as a module for other class files -% written for specific journals, in which case the flexible -% |\bibstyle@|{\em bst\/} commands are not wanted. Punctuation and -% other style features are to be rigidly fixed. These journal options are -% \begin{description} -% \item[\ttfamily agu] for journals of the \textsl{American Geophysical -% Union}; -% -% \item[\ttfamily egs] for journals of the \textsl{European Geophysical -% Society}, in particular \textsl{Nonlinear Processes in Geophysics}. -% -% \end{description} -% \fi -% % The remaining options are: % \begin{description} % \item[\ttfamily package] to produce a \texttt{.sty} package file with most % comments removed; % -% \item[\ttfamily 209] (obsolete) to generate a \LaTeX~2.09 version of the package; -% this is no longer supported and will likely not work properly; -% -% \iffalse -% \item[\ttfamily subpack] (together with \texttt{package}) for coding that -% is to be included inside a larger package; even more comments are -% removed, as well as \LaTeXe{} option handling and identification; -% produces a basic \thestyle\ package for author--year only, fixed -% citation style (punctuation); -% \fi -% % \item[\ttfamily notes] extracts a summary of usage to be used as a % reference sheet; the resulting file is to be \LaTeX{}ed; % -% \item[\ttfamily nopreonly] allows |\citestyle| and |\bibpunct| to be -% called anywhere in the text; this is considered possibly useful -% with the \texttt{chapterbib} package where different chapters might -% have different bibliography and citation styles; is only provided -% in case I change my mind about this feature, but for now I -% refuse to implement it; -% % \item[\ttfamily driver] to produce a driver \texttt{.drv} file that will % print out the documentation when \LaTeX'd. This file can be modified % to produce various alternatives (page size, fonts, manual only, or with @@ -1853,7 +1814,7 @@ is read in after the main package file. % % \end{description} % The source file \texttt{\filename.dtx} is itself a driver file and can -% be processed directly by \LaTeXe. +% be processed directly by \LaTeX. % % % \section{Other Author--Year Solutions} @@ -2020,14 +1981,6 @@ is read in after the main package file. % are indicators to \texttt{docstrip} that this coding belongs to the package % file. % -% The \texttt{docstrip} option || should only be called if the -% coding is to be included as part of another package, in which case the -% announcement text and \LaTeXe{} options are suppressed. -% -% An alternative version of this coding is provided for running as a -% style file under \LaTeX~2.09. Code lines belonging to this are -% indicated with guard |<209>|; those for LaTeXe{} only with ||. -% % With \LaTeX\ release from \texttt{1995/12/01}, |\cite| is made robust, % something that I have adopted as well. % @@ -2045,7 +1998,6 @@ is read in after the main package file. % already include it; it is superfluous and can lead to contradictions. % \begin{macrocode} %<*package> -%<*!209&!subpack> \@ifclassloaded{agu2001}{\PackageError{natbib} {The agu2001 class already includes natbib coding,\MessageBreak so you should not add it explicitly} @@ -2076,7 +2028,6 @@ is read in after the main package file. {Type for now, but then later remove\MessageBreak the command \protect\usepackage{natbib} from the document} \endinput}{} -% % \end{macrocode} % % \subsection{Selecting Citation Punctuation and Other Modifications} @@ -2089,14 +2040,15 @@ is read in after the main package file. % user can easily find them to add his own. Some comments remain in the % stripped version too. % \begin{macrocode} -%<*!subpack> % Define citation punctuation for some author-year styles % One may add and delete at this point -% % Or put additions into local configuration file natbib.cfg + % Or put additions into local configuration file natbib.cfg \newcommand\bibstyle@chicago{\bibpunct{(}{)}{;}{a}{,}{,}} \newcommand\bibstyle@named{\bibpunct{[}{]}{;}{a}{,}{,}} \newcommand\bibstyle@agu{\bibpunct{[}{]}{;}{a}{,}{,~}}%Amer. Geophys. Union -\newcommand\bibstyle@egs{\bibpunct{(}{)}{;}{a}{,}{,}}%Eur. Geophys. Soc. +\newcommand\bibstyle@copernicus{\bibpunct{(}{)}{;}{a}{,}{,}}%Copernicus Publications +\let\bibstyle@egu=\bibstyle@copernicus +\let\bibstyle@egs=\bibstyle@copernicus %<*all|harvard> \newcommand\bibstyle@agsm{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}} \newcommand\bibstyle@kluwer{\bibpunct{(}{)}{,}{a}{}{,}\gdef\harvardand{\&}} @@ -2115,14 +2067,6 @@ is read in after the main package file. \newcommand\bibstyle@pass{\bibpunct{(}{)}{;}{a}{,}{,}}%Planet. & Space Sci \newcommand\bibstyle@anngeo{\bibpunct{(}{)}{;}{a}{,}{,}}%Annales Geophysicae \newcommand\bibstyle@nlinproc{\bibpunct{(}{)}{;}{a}{,}{,}}%Nonlin.Proc.Geophys. -% -%\newcommand\NAT@open{[} \newcommand\NAT@close{]} -%\newcommand\NAT@sep{;} \newcommand\NAT@cmt{, } -%\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,~} -%\def\NAT@sort{0}\def\NAT@cmprs{0} -%\newcommand\NAT@open{(} \newcommand\NAT@close{)} -%\newcommand\NAT@sep{;} \newcommand\NAT@cmt{, } -%\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,} % \end{macrocode} % % \changes{6.5}{1997 Jan 30}{Fix \texttt{esa} style for new note system} @@ -2132,14 +2076,13 @@ is read in after the main package file. % be redefined in many cases. These redefinitions must be made with the % |\gdef| (global definition) command. % \begin{macrocode} -%<*!subpack> % Define citation punctuation for some numerical styles \newcommand\bibstyle@cospar{\bibpunct{/}{/}{,}{n}{}{}% - \gdef\NAT@biblabelnum##1{##1.}} + \gdef\bibnumfmt##1{##1.}} \newcommand\bibstyle@esa{\bibpunct{(Ref.~}{)}{,}{n}{}{}% - \gdef\NAT@biblabelnum##1{##1.\hspace{1em}}} + \gdef\bibnumfmt##1{##1.\hspace{1em}}} \newcommand\bibstyle@nature{\bibpunct{}{}{,}{s}{}{\textsuperscript{,}}% - \gdef\NAT@biblabelnum##1{##1.}} + \gdef\bibnumfmt##1{##1.}} % \end{macrocode} % % Finally, the standard \LaTeX{} (numerical) citation styles are included @@ -2157,7 +2100,7 @@ is read in after the main package file. % \end{macrocode} % \end{macro} % -% \subsection{\LaTeXe{} Options} +% \subsection{Package Options} % \begin{macro}{\ifNAT@numbers} % \changes{5.5}{1995 Mar 21}{Add flag for switching between cite styles} % \begin{macro}{\ifNAT@super} @@ -2169,7 +2112,6 @@ is read in after the main package file. % \begin{macrocode} \newif\ifNAT@numbers \NAT@numbersfalse \newif\ifNAT@super \NAT@superfalse -% % \end{macrocode} % \end{macro}\end{macro} % @@ -2183,7 +2125,8 @@ is read in after the main package file. % \changes{6.4}{1996 Sep 13}{Add option \texttt{sort}} % \changes{6.7}{1997 Jul 14}{Add option \texttt{longnamesfirst}} % \changes{6.8c}{1998 Jul 14}{Add option \texttt{nonamebreak}} -% For \LaTeXe, we can define some options to be used with the |\usepackage| +% \changes{8.0}{2007 Feb 6}{Add option \texttt{semicolon}, same as \texttt{colon}} +% We can define some options to be used with the |\usepackage| % command that loads the \thestyle{} package. These are an additional means % of specifying the citation punctuation and scheme. % @@ -2191,14 +2134,13 @@ is read in after the main package file. % behaviour is entirely under my control. Relying on the standard classes % can lead to trouble. % \begin{macrocode} -%<*!subpack&!209> \DeclareOption{numbers}{\NAT@numberstrue \ExecuteOptions{square,comma,nobibstyle}} \DeclareOption{super}{\NAT@supertrue\NAT@numberstrue \renewcommand\NAT@open{}\renewcommand\NAT@close{} \ExecuteOptions{nobibstyle}} \DeclareOption{authoryear}{\NAT@numbersfalse - \ExecuteOptions{round,colon,bibstyle}} + \ExecuteOptions{round,semicolon,bibstyle}} \DeclareOption{round}{% \renewcommand\NAT@open{(} \renewcommand\NAT@close{)} \ExecuteOptions{nobibstyle}} @@ -2213,8 +2155,9 @@ is read in after the main package file. \ExecuteOptions{nobibstyle}} \DeclareOption{comma}{\renewcommand\NAT@sep{,} \ExecuteOptions{nobibstyle}} -\DeclareOption{colon}{\renewcommand\NAT@sep{;} +\DeclareOption{semicolon}{\renewcommand\NAT@sep{;} \ExecuteOptions{nobibstyle}} +\DeclareOption{colon}{\ExecuteOptions{semicolon}} \DeclareOption{nobibstyle}{\let\bibstyle=\@gobble} \DeclareOption{bibstyle}{\let\bibstyle=\@citestyle} \newif\ifNAT@openbib \NAT@openbibfalse @@ -2234,7 +2177,6 @@ is read in after the main package file. \newif\ifNAT@longnames\NAT@longnamesfalse \DeclareOption{longnamesfirst}{\NAT@longnamestrue} \DeclareOption{nonamebreak}{\def\NAT@nmfmt#1{\mbox{\NAT@up#1}}} -% \def\NAT@nmfmt#1{{\NAT@up#1}} % \end{macrocode} % Before version~6.0, the punctuation options had the lowest priority, @@ -2287,7 +2229,6 @@ is read in after the main package file. % |\ExecuteOptions| so that options may make use of it; the option % \texttt{nobibstyle} turns it off, for example. % \begin{macrocode} -%<*!subpack> \renewcommand\bibstyle[1]{\@ifundefined{bibstyle@#1}{\relax} {\csname bibstyle@#1\endcsname}} % \end{macrocode} @@ -2302,19 +2243,10 @@ is read in after the main package file. % produces error messages. To avoid this, |\bibstyle| is reset to its % normal, do-nothing, definition after |\begin{document}|. % -% \LaTeXe{} provides a better way of adding commands to |\document|, -% which is then exploited here. Paradoxically, the problem with re-reading -% the auxiliary file does not seem to arise for this version. -% -% (|\NAT@set@cites| must also be executed at the start of the document; for -% \LaTeXe, this is added later when the macro is defined.) +% (|\NAT@set@cites| must also be executed at the start of the document; +% this is added later when the macro is defined.) % \begin{macrocode} -%<*209> -\let\ori@document=\document -\renewcommand\document{\ori@document\global\let\bibstyle=\@gobble - \NAT@set@cites} -% -%\AtBeginDocument{\global\let\bibstyle=\@gobble} +\AtBeginDocument{\global\let\bibstyle=\@gobble} % \end{macrocode} % \end{macro} % @@ -2333,7 +2265,6 @@ is read in after the main package file. % \begin{macrocode} \let\@citestyle\bibstyle \newcommand\citestyle[1]{\@citestyle{#1}\let\bibstyle\@gobble} -%\@onlypreamble{\citestyle}\@onlypreamble{\@citestyle} % \end{macrocode} % \end{macro} % @@ -2360,35 +2291,103 @@ is read in after the main package file. % somewhat confused, since the fourth argument is now |#5|. % % \begin{macrocode} -%\newcommand\bibpunct[7][, ]% -%<209>\newcommand\bibpunct{\@ifnextchar[{\@bibpunct}{\@bibpunct[, ]}} -%<209>\def\@bibpunct[#1]#2#3#4#5#6#7% +\newcommand\bibpunct[7][, ]% {\gdef\NAT@open{#2}\gdef\NAT@close{#3}\gdef - \NAT@sep{#4}\global\NAT@numbersfalse\ifx #5n\global\NAT@numberstrue + \NAT@sep{#4}\global\NAT@numbersfalse + \ifx #5n\global\NAT@numberstrue\global\NAT@superfalse \else - \ifx #5s\global\NAT@numberstrue\global\NAT@supertrue + \ifx #5s\global\NAT@numberstrue\global\NAT@supertrue \fi\fi \gdef\NAT@aysep{#6}\gdef\NAT@yrsep{#7}% \gdef\NAT@cmt{#1}% - \global\let\bibstyle\@gobble -% \NAT@set@cites + \NAT@@setcites } -%<*!nopreonly> -%\@onlypreamble{\bibpunct} -%<209>\def\do{\noexpand\do\noexpand} -%<209>\edef\@preamblecmds{\@preamblecmds \do\bibpunct \do\citestyle} -% -% % \end{macrocode} % The command turns off |\bibstyle| so that the predefined % |\bibstyle@|\textit{bst} commands no longer work. Thus |\bibpunct| has % priority over the predefined styles. % \end{macro} % +% \begin{macro}{\setcitestyle} +% \changes{8.0}{2007 Feb 2}{Add macro} +% A new command for setting the various parameters is added in version~8.0. +% This complements |\bibpunct| but will not replace it since it only sets +% selected parameters, while |\bibpunct| sets all at once, and is thus more +% appropriate for complete setting. This is better for changing just some +% parameters. +% +% The argument is a comma-separated list of keywords, many identical to the +% corresponding package options. However, others take an argument, as +% |yysep={;}| where the curly braces are unnecessary for a single character +% (except for a comma!) but they do not hurt. Spaces must not appear between +% entries, or they will be interpreted as part of the keyword. +% +% \begin{macrocode} +\newcommand\setcitestyle[1]{ + \@for\@tempa:=#1\do + {\def\@tempb{round}\ifx\@tempa\@tempb + \renewcommand\NAT@open{(}\renewcommand\NAT@close{)}\fi + \def\@tempb{square}\ifx\@tempa\@tempb + \renewcommand\NAT@open{[}\renewcommand\NAT@close{]}\fi + \def\@tempb{angle}\ifx\@tempa\@tempb + \renewcommand\NAT@open{$<$}\renewcommand\NAT@close{$>$}\fi + \def\@tempb{curly}\ifx\@tempa\@tempb + \renewcommand\NAT@open{\{}\renewcommand\NAT@close{\}}\fi + \def\@tempb{semicolon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{colon}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{;}\fi + \def\@tempb{comma}\ifx\@tempa\@tempb + \renewcommand\NAT@sep{,}\fi + \def\@tempb{authoryear}\ifx\@tempa\@tempb + \NAT@numbersfalse\fi + \def\@tempb{numbers}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@superfalse\fi + \def\@tempb{super}\ifx\@tempa\@tempb + \NAT@numberstrue\NAT@supertrue\fi + \expandafter\NAT@find@eq\@tempa=\relax\@nil + \if\@tempc\relax\else + \expandafter\NAT@rem@eq\@tempc + \def\@tempb{open}\ifx\@tempa\@tempb + \xdef\NAT@open{\@tempc}\fi + \def\@tempb{close}\ifx\@tempa\@tempb + \xdef\NAT@close{\@tempc}\fi + \def\@tempb{aysep}\ifx\@tempa\@tempb + \xdef\NAT@aysep{\@tempc}\fi + \def\@tempb{yysep}\ifx\@tempa\@tempb + \xdef\NAT@yrsep{\@tempc}\fi + \def\@tempb{notesep}\ifx\@tempa\@tempb + \xdef\NAT@cmt{\@tempc}\fi + \def\@tempb{citesep}\ifx\@tempa\@tempb + \xdef\NAT@sep{\@tempc}\fi + \fi + }% + \NAT@@setcites +} + \def\NAT@find@eq#1=#2\@nil{\def\@tempa{#1}\def\@tempc{#2}} + \def\NAT@rem@eq#1={\def\@tempc{#1}} +% \end{macrocode} +% +% After the parameters are set, it is still necessary to issue |\NAT@set@cites| +% to get things right for author--year or numerical mode. This is issued +% at the end of the preamble, and not in the preamble. But if |\setcitestyle| is +% given after the preamble, we need it right away. So issue instead |\NAT@@setcites| +% which in the preamble only deactivates |\bibstyle|, but later becomes +% |\NAT@set@cites|. +% +% The idea is that if |\setcitestyle| is used in the preamble, it is global and +% the values should be not changed by the bibliography style definitions. But if +% issued in the text, as part of \texttt{chapterbib} processing, then automatic +% style changes with different |.bst| files per chapter could be useful. +% \begin{macrocode} + \def\NAT@@setcites{\global\let\bibstyle\@gobble} +\AtBeginDocument{\let\NAT@@setcites\NAT@set@cites} +% \end{macrocode} +% \end{macro} +% % \subsection{Setting the Defaults} -% For \LaTeXe, the defaults (punctuation and scheme type) are set with the -% |\ExecuteOptions| command. For \LaTeX~2.09, the default scheme is -% author--year, and punctuation can only be set with |\bibpunct|. +% The defaults (punctuation and scheme type) are set with the +% |\ExecuteOptions| command. % % \begin{macro}{\NAT@open} % \changes{5.5}{1995 May 14}{Renamed from \cs{@citebegin}} @@ -2412,8 +2411,8 @@ is read in after the main package file. % including any possible space. % Define their default values. % \begin{macrocode} -%\newcommand\NAT@open{(} \newcommand\NAT@close{)} -%\newcommand\NAT@sep{;} +\newcommand\NAT@open{(} \newcommand\NAT@close{)} +\newcommand\NAT@sep{;} % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro}\end{macro}\end{macro} % \changes{6.0}{1995 Sep 19}{Remove \cs{ExecuteOptions} since default @@ -2423,12 +2422,10 @@ is read in after the main package file. % is not necessary since all the appropriate parameters are set to these % values anyway. (One could consider removing \texttt{bibstyle}.) % \begin{macrocode} -%<*!subpack&!209> %\ExecuteOptions{authoryear} \ProcessOptions -% -%\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,} -%\newcommand\NAT@cmt{, } +\newcommand\NAT@aysep{,} \newcommand\NAT@yrsep{,} +\newcommand\NAT@cmt{, } % \end{macrocode} % % \subsection{Internal Citing Macros} @@ -2491,9 +2488,12 @@ is read in after the main package file. % which is used with |\citealt|, |\citealp|, |\citeyear|, and |\citeauthor| % (both numerical and author--year modes). % -% The superscript citation prints only the following, not the preceding, -% note, and then only if it is present. % \changes{7.2}{2006 Jan 12}{Allow braces around superscripted citation} +% \changes{7.5}{2007 Feb 2}{Superscripted citation prints both notes} +% \changes{7.5}{2007 Feb 2}{Superscripted braces are elevated with \cs{citet} too} +% The superscript citation before version 7.5 prints only the following note; +% with 7.5, this is changed to print both, but as part of the revised treatment +% of notes with textual numerical citations. % % Use the construction |\if*#2*| to test for empty note argument. Previously % used |\relax| in place of |*| but then it turned out that if the text began @@ -2502,22 +2502,17 @@ is read in after the main package file. % with an asterix will give trouble. % % \begin{macrocode} -%\renewcommand\@cite% -%\newcommand\NAT@cite% +\newcommand\NAT@cite% [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\ \fi #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} -%<*!subpack> \newcommand\NAT@citenum% [3]{\ifNAT@swa\NAT@@open\if*#2*\else#2\ \fi #1\if*#3*\else\NAT@cmt#3\fi\NAT@@close\else#1\fi\endgroup} \newcommand\NAT@citesuper[3]{\ifNAT@swa +\if*#2*\else#2\ \fi \unskip\kern\p@\textsuperscript{\NAT@@open#1\NAT@@close}% - \if*#3*\else\ (#3)\fi\else #1\fi\endgroup} -%\providecommand -%<209>\@ifundefined{textsuperscript}{\newcommand - \textsuperscript[1]{\mbox{$^{\mbox{\scriptsize#1}}$}} -%<209>}{} -% + \if*#3*\else\ #3\fi\else #1\fi\endgroup} +\providecommand\textsuperscript[1]{\mbox{$^{\mbox{\scriptsize#1}}$}} % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro} % @@ -2546,9 +2541,12 @@ is read in after the main package file. % second argument, the list of citation keys. These keys have to be decoded % into the actual label text contained in |\b@|\emph{key} (a number or % author--year), and put together as the argument of |\@cite|. +% % For a textual citation (|\ifNAT@swa| \meta{false}), the authors are printed % and then the number in parentheses. For multiple citations (silly thing) each % number is in separate parentheses preceded by authors. +% As of version 7.5, notes with textual (numerical) citations are outside the +% parentheses, so they are really part of the main text. % % The temporary command |\@citeb| takes on the value of each of the keys in % turn; |\@citea| is the separator between multiple citations, initially @@ -2569,7 +2567,7 @@ is read in after the main package file. % standard \LaTeX\ too. % % The number |\NAT@ctype| controls whether author (1), year (2), or number (0) -% is output by this macro. A value of 4 produces the cite alias. +% is output by this macro. A value of 3 produces the cite alias. % % For compatibility with the \texttt{chapterbib} package of Donald Arseneau, % add |\@extra@b@citeb| to the cite key; this contains the number of the @@ -2584,32 +2582,29 @@ is read in after the main package file. % The command |\@cprwrite| is defined in the \texttt{citeref} package. % \changes{7.2}{2006 Jan 12}{Add \texttt{citeref} support} % \begin{macrocode} -%<209>\let\@firstofone\@iden -%\providecommand\@firstofone[1]{#1} -%<*!subpack> +\providecommand\@firstofone[1]{#1} \newcommand\NAT@citexnum{} \def\NAT@citexnum[#1][#2]#3{% -% \NAT@sort@cites{#3}% + \NAT@sort@cites{#3}% \let\@citea\@empty \@cite{\def\NAT@num{-1}\let\NAT@last@yr\relax\let\NAT@nm\@empty -% \@for\@citeb:=\NAT@cite@list\do -%<209> \@for\@citeb:=#3\do + \ifNAT@swa\else + \ifnum\NAT@ctype=0\if*#1*\else + #1\ \fi\fi\fi + \@for\@citeb:=\NAT@cite@list\do {\edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}% \@ifundefined{@cprwrite}{}{\expandafter\@cprwrite\@citeb=}\fi \@ifundefined{b@\@citeb\@extra@b@citeb}{% -%<209> {\reset@font\bf ?}\@warning -% {\reset@font\bfseries?} -% \NAT@citeundefined\PackageWarning{natbib}% + {\reset@font\bfseries?} + \NAT@citeundefined\PackageWarning{natbib}% {Citation `\@citeb' on page \thepage \space undefined}}% {\let\NAT@last@num\NAT@num\let\NAT@last@nm\NAT@nm \NAT@parse{\@citeb}% -%<*!subpack&!209> \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{% \let\NAT@name=\NAT@all@names \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}% \fi -% \ifNAT@full\let\NAT@nm\NAT@all@names\else \let\NAT@nm\NAT@name\fi % \end{macrocode} @@ -2637,9 +2632,8 @@ is read in after the main package file. \ifnum\NAT@ctype>1\relax\@citea \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \ifnum\NAT@ctype=2\relax\NAT@test{\NAT@ctype}% -% \else\NAT@alias + \else\NAT@alias \fi\hyper@natlinkend\else -%<*!209> \ifnum\NAT@cmprs>0 \begingroup\catcode`\_=8 \ifcat _\ifnum\z@<0\NAT@num _\else A\fi @@ -2664,24 +2658,24 @@ is read in after the main package file. \let\NAT@last@yr\relax \fi \else -% \@citea \mbox{\hyper@natlinkstart{\@citeb\@extra@b@citeb}% {\citenumfont{\NAT@num}}\hyper@natlinkend}% -% \fi + \fi \fi \def\@citea{\NAT@sep\penalty\@m\NAT@space}% % \end{macrocode} +% \changes{7.5}{2007 Feb 2}{Textual numerical cites print notes outside brackets} % For textual citations, test what the output is to be (number, year, % author) and also test for comments. % \begin{macrocode} \else \ifcase\NAT@ctype\relax \ifx\NAT@last@nm\NAT@nm \NAT@yrsep\penalty\@m\NAT@space\else - \@citea \NAT@test{1}\ \NAT@@open - \if*#1*\else#1\ \fi\fi \NAT@mbox{% + \@citea \NAT@test{1}\ \NAT@mbox{\NAT@@open}% + \fi \NAT@mbox{% \hyper@natlinkstart{\@citeb\@extra@b@citeb}% {\citenumfont{\NAT@num}}\hyper@natlinkend}% - \def\@citea{\NAT@@close\NAT@sep\penalty\@m\ }% + \def\@citea{\NAT@mbox{\NAT@@close\NAT@sep\penalty\@m\ }}% \or\@citea \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@test{\NAT@ctype}\hyper@natlinkend @@ -2690,18 +2684,18 @@ is read in after the main package file. \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@test{\NAT@ctype}\hyper@natlinkend \def\@citea{\NAT@sep\penalty\@m\ }% -%<*!209> \or\@citea \hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@alias\hyper@natlinkend \def\@citea{\NAT@sep\penalty\@m\ }% -% \fi \fi }}% -% \ifnum\NAT@cmprs>0\relax\NAT@last@yr\fi - \ifNAT@swa\else\ifnum\NAT@ctype=0\if*#2*\else - \NAT@cmt#2\fi \NAT@@close\fi\fi}{#1}{#2}} + \ifnum\NAT@cmprs>0\relax\NAT@last@yr\fi + \ifNAT@swa\else\NAT@mbox{\NAT@@close}% + \ifnum\NAT@ctype=0\if*#2*\else + \NAT@cmt#2\fi + \fi\fi}{#1}{#2}} % \end{macrocode} % \end{macro} % @@ -2714,20 +2708,15 @@ is read in after the main package file. % its argument being 1 or 2. % \begin{macrocode} \newcommand\NAT@test[1]{\ifnum#1=1 \ifx\NAT@nmfmt{\NAT@nm}\NAT@noname -%<209> {\reset@font\bf(author?)}\@warning -% {\reset@font\bfseries(author?)}\PackageWarning{natbib} + {\reset@font\bfseries(author?)}\PackageWarning{natbib} {Author undefined for citation`\@citeb' -%<209> ^^J -% \MessageBreak + \MessageBreak on page \thepage}\else \NAT@nm \fi \else \if\relax\NAT@date\relax -%<209> {\reset@font\bf(author?)}\@warning -% {\reset@font\bfseries(year?)}\PackageWarning{natbib} + {\reset@font\bfseries(year?)}\PackageWarning{natbib} {Year undefined for citation`\@citeb' -%<209> ^^J -% \MessageBreak + \MessageBreak on page \thepage}\else \NAT@date \fi \fi} -% % \end{macrocode} % \end{macro} % @@ -2780,31 +2769,26 @@ is read in after the main package file. % The command |\@cprwrite| is defined in the \texttt{citeref} package. % \changes{7.2}{2006 Jan 12}{Add \texttt{citeref} support} % \begin{macrocode} -%\def\@citex% -%\newcommand\NAT@citex{} -%\def\NAT@citex% +\newcommand\NAT@citex{} +\def\NAT@citex% [#1][#2]#3{% -% \NAT@sort@cites{#3}% + \NAT@sort@cites{#3}% \let\@citea\@empty \@cite{\let\NAT@nm\@empty\let\NAT@year\@empty -% \@for\@citeb:=\NAT@cite@list\do -%<209> \@for\@citeb:=#3\do + \@for\@citeb:=\NAT@cite@list\do {\edef\@citeb{\expandafter\@firstofone\@citeb}% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}% \@ifundefined{@cprwrite}{}{\expandafter\@cprwrite\@citeb=}\fi \@ifundefined{b@\@citeb\@extra@b@citeb}{\@citea% -%<209> {\reset@font\bf ?}\@warning -% {\reset@font\bfseries ?}\NAT@citeundefined -% \PackageWarning{natbib}% + {\reset@font\bfseries ?}\NAT@citeundefined + \PackageWarning{natbib}% {Citation `\@citeb' on page \thepage \space undefined}\def\NAT@date{}}% {\let\NAT@last@nm=\NAT@nm\let\NAT@last@yr=\NAT@year \NAT@parse{\@citeb}% -%<*!subpack&!209> \ifNAT@longnames\@ifundefined{bv@\@citeb\@extra@b@citeb}{% \let\NAT@name=\NAT@all@names \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}{}% \fi -% \ifNAT@full\let\NAT@nm\NAT@all@names\else \let\NAT@nm\NAT@name\fi % \end{macrocode} @@ -2855,13 +2839,11 @@ is read in after the main package file. \else \ifx\NAT@last@nm\NAT@nm\NAT@yrsep \ifx\NAT@last@yr\NAT@year -%<*!209> \def\NAT@temp{{?}}% \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}% {Multiple citation on page \thepage: same authors and year\MessageBreak without distinguishing extra letter,\MessageBreak appears as question mark}\fi -% \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab \hyper@natlinkend \else\unskip\ @@ -2878,10 +2860,8 @@ is read in after the main package file. \NAT@nmfmt{\NAT@nm}\hyper@natlinkend \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend -%<*!209> \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@alias\hyper@natlinkend -% \fi \def\@citea{\NAT@sep\ }% % \end{macrocode} % Begin textual citation. Do same checks for repeated names and years. @@ -2897,13 +2877,11 @@ is read in after the main package file. \else \ifx\NAT@last@nm\NAT@nm\NAT@yrsep \ifx\NAT@last@yr\NAT@year -%<*!209> \def\NAT@temp{{?}}% \ifx\NAT@temp\NAT@exlab\PackageWarningNoLine{natbib}% {Multiple citation on page \thepage: same authors and year\MessageBreak without distinguishing extra letter,\MessageBreak appears as question mark}\fi -% \hyper@natlinkstart{\@citeb\@extra@b@citeb}\NAT@exlab \hyper@natlinkend \else\unskip\ @@ -2920,10 +2898,8 @@ is read in after the main package file. \NAT@nmfmt{\NAT@nm}\hyper@natlinkend \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@date\hyper@natlinkend -%<*!209> \or\@citea\hyper@natlinkstart{\@citeb\@extra@b@citeb}% \NAT@alias\hyper@natlinkend -% \fi \if\relax\NAT@date\relax\def\@citea{\NAT@sep\ }% \else\def\@citea{\NAT@@close\NAT@sep\ }\fi \fi @@ -2950,14 +2926,12 @@ is read in after the main package file. % \begin{macro}{\NAT@alias} % \changes{6.9}{1999 Jan 22}{Add macro} % When |\NAT@ctype| is 3, the citation alias previously defined with -% |\defcitealias| is printed as the citation. This is a \LaTeXe\ feature only. +% |\defcitealias| is printed as the citation. % \begin{macrocode} -%<*!209> \newcommand\NAT@alias{\@ifundefined{al@\@citeb\@extra@b@citeb}{% {\reset@font\bfseries(alias?)}\PackageWarning{natbib} {Alias undefined for citation `\@citeb' \MessageBreak on page \thepage}}{\@nameuse{al@\@citeb\@extra@b@citeb}}} -% % \end{macrocode} % \end{macro} % @@ -2989,12 +2963,10 @@ is read in after the main package file. % argument. It then defines the |\bv@| flags so that these citations do not % appear as `virginal'. % \begin{macrocode} -%<*!subpack&!209> \newcommand\shortcites[1]{% \@bsphack\@for\@citeb:=#1\do {\edef\@citeb{\expandafter\@firstofone\@citeb}% \global\@namedef{bv@\@citeb\@extra@b@citeb}{}}\@esphack} -% % \end{macrocode} % \end{macro} % @@ -3018,23 +2990,23 @@ is read in after the main package file. % users to redefine it themselves in the preamble using the standard % name. (They could redefine the |\NAT@biblabel|s but Arseneau figures % they should be able use the standard name too.) -% The undefining is achieved by setting it to |\@empty|, not |\relax| -% so that the user may still use |\renewcommand|. If the definition has -% already been changed from the standard one, then leave it. % % And to simplify things for people who do not know about |\makeatletter|, % define |\NAT@biblabelnum| in terms of |\bibnumfmt|. One can still % redefine |\@biblabel| or even |\NAT@biblabelnum| if one wishes. % +% As of version~8.0, with support for different citation modes in different +% chapters using |chapterbib|, do it by providing a standard |\@biblabel| +% (in case the class does not have it, or has redefined it) +% and letting |\bibnumfmt| be that definition at document begin, unless +% the user has already gone and defined |\bibnumfmt| himself. +% % \begin{macrocode} -%\renewcommand\@biblabel[1]{\hfill} -%<*!subpack> \newcommand\NAT@biblabel[1]{\hfill} \newcommand\NAT@biblabelnum[1]{\bibnumfmt{#1}} -\newcommand\bibnumfmt[1]{[#1]} -\def\@tempa#1{[#1]} -\ifx\@tempa\@biblabel\let\@biblabel\@empty\fi -% +\let\bibnumfmt\@empty +\providecommand\@biblabel[1]{[#1]} +\AtBeginDocument{\ifx\bibnumfmt\@empty\let\bibnumfmt\@biblabel\fi} % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro} % @@ -3052,6 +3024,7 @@ is read in after the main package file. % \changes{6.2}{1996 Mar 05}{Add \cs{bibsep} for linespacing between % references} % \changes{6.5}{1997 Jan 10}{Set \cs{bibsep} to 0 for EGS} +% \changes{8.0}{2007 Feb 5}{Remove EGS, AGU stuff} % The macro |\@bibsetup| is called by |\thebibliography| and contains any % coding for formatting the list of references that may be different for % numerical and author--year schemes. For numerical citations, the @@ -3060,26 +3033,17 @@ is read in after the main package file. % author--year, there are no labels, so |\labelwidth| is zero, all lines % after the first are indented by 1~em. % -% Since |\thebibliography| is not included in the \textsl{AGU} package, -% this macro is left off here too. % \begin{macrocode} -%<*!agu> -%<*!egs> -%<*!subpack> \newcommand\NAT@bibsetnum[1]{\settowidth\labelwidth{\@biblabel{#1}}% \setlength{\leftmargin}{\labelwidth}\addtolength{\leftmargin}{\labelsep}% \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}% -%<*!209> \ifNAT@openbib \addtolength{\leftmargin}{\bibindent}% \setlength{\itemindent}{-\bibindent}% \setlength{\listparindent}{\itemindent}% \setlength{\parsep}{0pt}% \fi -% } -% -% \newlength{\bibhang} \setlength{\bibhang}{1em} % \end{macrocode} @@ -3092,14 +3056,11 @@ is read in after the main package file. % % \begin{macrocode} \newlength{\bibsep} -%{\@listi \global\bibsep\itemsep \global\advance\bibsep by\parsep} -%\setlength{\bibsep}{\z@} + {\@listi \global\bibsep\itemsep \global\advance\bibsep by\parsep} -%\newcommand\@bibsetup% -%\newcommand\NAT@bibsetup% +\newcommand\NAT@bibsetup% [1]{\setlength{\leftmargin}{\bibhang}\setlength{\itemindent}{-\leftmargin}% \setlength{\itemsep}{\bibsep}\setlength{\parsep}{\z@}} -% % \end{macrocode} % \end{macro}\end{macro}\end{macro} % @@ -3113,6 +3074,8 @@ is read in after the main package file. % \changes{6.6}{1997 Jun 4}{Define \cs{NAT@mbox} for superscripts} % \changes{6.8}{1997 Dec 1}{Allow user redefinition of \cs{@biblabel}} % \changes{6.8a}{1998 May 14}{\cs{@biblabel} redefined only for numericals} +% \changes{7.5}{2007 Feb 2}{Saving user definitions of \cs{@biblabel} done differently} +% \changes{7.5}{2007 Feb 2}{\cs{NAT@idxtxt} defaults to appropriate style in numerical mode} % The four internal macros that have different definitions depending on the % citation style have been defined with different names; now set the macros % to be executed to that set that is actually wanted. This is determined by @@ -3124,7 +3087,6 @@ is read in after the main package file. % extra labels (the letters added to the dates); these are to be suppressed % for numerical citations. % \begin{macrocode} -%<*!subpack> \newcommand\NAT@set@cites{\ifNAT@numbers \ifNAT@super \let\@cite\NAT@citesuper \def\NAT@mbox##1{\unskip\nobreak\hspace{1\p@}\textsuperscript{##1}}% @@ -3133,18 +3095,20 @@ is read in after the main package file. \let\NAT@mbox=\mbox \let\@cite\NAT@citenum \def\NAT@space{ }\fi \let\@citex\NAT@citexnum - \ifx\@biblabel\@empty\let\@biblabel\NAT@biblabelnum\fi + \let\@biblabel\NAT@biblabelnum \let\@bibsetup\NAT@bibsetnum + \renewcommand\NAT@idxtxt{\NAT@name\ \NAT@open\NAT@num\NAT@close}% \def\natexlab##1{}% \else \let\@cite\NAT@cite \let\@citex\NAT@citex \let\@biblabel\NAT@biblabel \let\@bibsetup\NAT@bibsetup + \let\NAT@space\relax + \renewcommand\NAT@idxtxt{\NAT@name\ \NAT@open\NAT@date\NAT@close}% \def\natexlab##1{##1}% \fi} -%\AtBeginDocument{\NAT@set@cites} -% +\AtBeginDocument{\NAT@set@cites} % \end{macrocode} % \end{macro} % @@ -3183,7 +3147,6 @@ is read in after the main package file. % tests if |\SK@def| exists (suggestion by David Carlisle).\label{SKdef} % % \begin{macrocode} -%<*!209> \AtBeginDocument{\ifx\SK@def\@undefined\else \ifx\SK@cite\@empty\else \SK@def\@citex[#1][#2]#3{\SK@\SK@@ref{#3}\SK@@citex[#1][#2]{#3}}\fi @@ -3199,11 +3162,8 @@ is read in after the main package file. % was turned off in earlier versions. As of 7.2, remove this constraint, and % make the first and last numbers in the compressed range into links. % \begin{macrocode} -%<*!subpack> % \AtBeginDocument{\@ifpackageloaded{hyperref}{% % \ifnum\NAT@sort=2\def\NAT@sort{1}\fi}{}} -% -% % \end{macrocode} % % \subsection{The Citations} @@ -3252,8 +3212,7 @@ is read in after the main package file. % \begin{macrocode} \newif\ifNAT@full\NAT@fullfalse \newif\ifNAT@swa -%<209>\newcommand\citet -%\DeclareRobustCommand\citet +\DeclareRobustCommand\citet {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} \newcommand\NAT@citetp{\@ifnextchar[{\NAT@@citetp}{\NAT@@citetp[]}} @@ -3281,8 +3240,7 @@ is read in after the main package file. % its coding to be the standard, being fully equivalent in functionality % to the older syntax |\cite|\oarg{pre}\oarg{post}\marg{key}. % \begin{macrocode} -%<209>\newcommand\citep -%\DeclareRobustCommand\citep +\DeclareRobustCommand\citep {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} % \end{macrocode} @@ -3304,14 +3262,13 @@ is read in after the main package file. % with and without notes, so that it emulates the standard \LaTeX\ usage. In % author--year mode, this flag depends on presence or absence of notes. % \begin{macrocode} -%<209>\renewcommand\cite -%\DeclareRobustCommand\cite +\DeclareRobustCommand\cite {\begingroup\def\NAT@ctype{0}\NAT@partrue\NAT@swatrue \@ifstar{\NAT@fulltrue\NAT@cites}{\NAT@fullfalse\NAT@cites}} \newcommand\NAT@cites{\@ifnextchar [{\NAT@@citetp}{% -% \ifNAT@numbers\else + \ifNAT@numbers\else \NAT@swafalse -% \fi + \fi \NAT@@citetp[]}} % \end{macrocode} % \end{macro} @@ -3342,17 +3299,31 @@ is read in after the main package file. % |\NAT@citenum| are identical, but kept anyway just in case a difference % should be added later. % \begin{macrocode} -%<209>\newcommand\citealt -%\DeclareRobustCommand\citealt +\DeclareRobustCommand\citealt {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@parfalse \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} -%<209>\newcommand\citealp -%\DeclareRobustCommand\citealp +\DeclareRobustCommand\citealp {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@parfalse \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} % \end{macrocode} % \end{macro}\end{macro} % +% \begin{macro}{\citenum} +% \changes{7.5}{2007 Feb 2}{Add macro to print citation number number} +% With version~7.5, |\citenum| is a new feature: it prints the citation number +% just like |\citealp| but without authors, and without raising it in superscript +% mode. This was requested by Antony Stone who +% wants to be able to refer to a reference number without having it raised. +% +% It should also work in author--year mode, but would be silly. +% +% \begin{macrocode} +\DeclareRobustCommand\citenum + {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@parfalse\let\textsuperscript\ + \NAT@citexnum[][]} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\citeauthor} % \changes{5.0}{1994 May 18}{Add means to cite authors only.} % \changes{5.2}{1994 Aug 25}{Enclose \cs{@citenm} in braces.} @@ -3365,8 +3336,7 @@ is read in after the main package file. % |\citeauthor| and |\citeauthor*|; for historical reasons, keep % |\citefullauthor|. % \begin{macrocode} -%<209>\newcommand\citeauthor -%\DeclareRobustCommand\citeauthor +\DeclareRobustCommand\citeauthor {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} % \end{macrocode} @@ -3389,30 +3359,23 @@ is read in after the main package file. % Provide other variations too for completeness. If I do not, someone will % eventually ask for it, so do it now. % \begin{macrocode} -%<209>\newcommand\Citet -%\DeclareRobustCommand\Citet +\DeclareRobustCommand\Citet {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@partrue \let\NAT@up\NAT@Up \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} -%<209>\newcommand\Citep -%\DeclareRobustCommand\Citep +\DeclareRobustCommand\Citep {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@partrue \let\NAT@up\NAT@Up \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} -%<*!subpack> -%<209>\newcommand\Citealt -%\DeclareRobustCommand\Citealt +\DeclareRobustCommand\Citealt {\begingroup\NAT@swafalse\def\NAT@ctype{0}\NAT@parfalse \let\NAT@up\NAT@Up \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} -%<209>\newcommand\Citealp -%\DeclareRobustCommand\Citealp +\DeclareRobustCommand\Citealp {\begingroup\NAT@swatrue\def\NAT@ctype{0}\NAT@parfalse \let\NAT@up\NAT@Up \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} -% -%<209>\newcommand\Citeauthor -%\DeclareRobustCommand\Citeauthor +\DeclareRobustCommand\Citeauthor {\begingroup\NAT@swafalse\def\NAT@ctype{1}\NAT@parfalse \let\NAT@up\NAT@Up \@ifstar{\NAT@fulltrue\NAT@citetp}{\NAT@fullfalse\NAT@citetp}} @@ -3429,8 +3392,7 @@ is read in after the main package file. % \changes{6.8}{1998 Feb 19}{Place inside a group} % Similarly for the year only. % \begin{macrocode} -%<209>\newcommand\citeyear -%\DeclareRobustCommand\citeyear +\DeclareRobustCommand\citeyear {\begingroup\NAT@swafalse\def\NAT@ctype{2}\NAT@parfalse\NAT@citetp} % \end{macrocode} % \end{macro} @@ -3440,8 +3402,7 @@ is read in after the main package file. % \changes{6.8}{1998 Feb 19}{Place inside a group} % I have often been asked for a version of |\citeyear| in parentheses. % \begin{macrocode} -%<209>\newcommand\citeyearpar -%\DeclareRobustCommand\citeyearpar +\DeclareRobustCommand\citeyearpar {\begingroup\NAT@swatrue\def\NAT@ctype{2}\NAT@partrue\NAT@citetp} % \end{macrocode} % \end{macro} @@ -3471,8 +3432,7 @@ is read in after the main package file. % This is now defined in terms of the starred version of |\citeauthor|. It is % really only kept for compatibility reasons. % \begin{macrocode} -%<209>\newcommand\citefullauthor -%\DeclareRobustCommand\citefullauthor +\DeclareRobustCommand\citefullauthor {\citeauthor*} % \end{macrocode} % \end{macro} @@ -3487,12 +3447,11 @@ is read in after the main package file. % in place of [Alpher, Bethe, Gamow, 1980]. The alias is defined with % |\defcitealias| and used with |\citetalias| and |\citepalias|. % This is controlled with -% |\NAT@ctype| set to 3. This feature only exists for \LaTeXe. +% |\NAT@ctype| set to 3. % % The advantage over simply typing in the alias name is that hyperlinks and % indexing can be achieved. % \begin{macrocode} -%<*!209> \newcommand\defcitealias[2]{% \@ifundefined{al@#1\@extra@b@citeb}{} {\PackageWarning{natbib}{Overwriting existing alias for citation #1}} @@ -3501,7 +3460,6 @@ is read in after the main package file. \NAT@swafalse\def\NAT@ctype{3}\NAT@parfalse\NAT@citetp} \DeclareRobustCommand\citepalias{\begingroup \NAT@swatrue\def\NAT@ctype{3}\NAT@partrue\NAT@citetp} -% % \end{macrocode} % \end{macro}\end{macro}\end{macro} % @@ -3520,8 +3478,7 @@ is read in after the main package file. \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi \if*\@citeb\else \@ifundefined{b@\@citeb\@extra@b@citeb}{% -%<209> \@warning -% \NAT@citeundefined \PackageWarning{natbib}% + \NAT@citeundefined \PackageWarning{natbib}% {Citation `\@citeb' undefined}}{}\fi}% \@esphack} % \end{macrocode} @@ -3562,47 +3519,14 @@ is read in after the main package file. % makes the individual assignments. % \begin{macrocode} \newcommand\NAT@parse[1]{{% -%<*209> - \@ifundefined{documentclass} - {\let\prm=\relax\let\psf=\relax\let\ptt=\relax\let\pbf=\relax - \let\psl=\relax\let\psc=\relax\let\pit=\relax\let\pem=\relax - \let\prmfamily=\relax\let\psffamily=\relax\let\pttfamily=\relax - \let\pbfseries=\relax\let\pslshape=\relax\let\pscshape=\relax - \let\pitshape=\relax\let\pmdseries=\relax\let\pupshape=\relax - \let\pc=\relax \let\pd=\relax \let\pb=\relax} - {\let\protect=\@unexpandable@protect\let~\relax}% -% -% \let\protect=\@unexpandable@protect\let~\relax -% \let\active@prefix=\@gobble + \let\protect=\@unexpandable@protect\let~\relax + \let\active@prefix=\@gobble \xdef\NAT@temp{\csname b@#1\@extra@b@citeb\endcsname}}% \expandafter\NAT@split\NAT@temp \expandafter\NAT@parse@date\NAT@date??????@@% -% \ifciteindex\NAT@index\fi + \ifciteindex\NAT@index\fi } % \end{macrocode} -% Some further notes on the above: for 2.09 it is necessary to turn off all the -% protected font commands |\prm| etc.\ when the label text is expanded into -% |\NAT@temp|, for otherwise there will be problems with the New Font -% Selection Scheme (NFSS); the protected sub-accent commands (protected -% versions of |\c|, |\d|, and |\b|) also cause troubles on expansion. -% Admittedly, this is not a good solution, for the list of problem commands -% might be much longer, but for the meantime, this will have to do. -% -% For \LaTeXe, at least after the official release of -% \texttt{1994/06/01}, commands are made robust in a totally different -% manner, no longer by adding a \texttt{p} in front, but by adding a space -% afterwards. This means the commands in the auxiliary files look like the -% protected version once again, and not raw commands. They are infinitely -% protected. The above problem is easily overcome by making |\protect| -% equal to |\@unexpandable@protect|. A definitive list of commands to -% protect is no longer necessary. (Initially I used |\noexpand|, but -% that only worked for font commands, not accents. Reading the documentation -% in \texttt{ltdefns.dtx} indicated that this is the better redefinition -% of |\protect|.) -% -% This trick is also applied to the 2.09 version for when it is running -% in the compatibility mode of \LaTeXe. This is needed for the -% journal-specific coding, more than for the normal package. % % The |\active@prefix| command appearing in \texttt{babel} causes problems % at this point, so deactivate it. @@ -3670,7 +3594,6 @@ is read in after the main package file. % information is contained in |\NAT@idxtxt| which a user may redefine if % needed. % \begin{macrocode} -%<*!subpack&!209> \newcommand\NAT@index{} \let\NAT@makeindex=\makeindex \renewcommand\makeindex{\NAT@makeindex @@ -3722,7 +3645,6 @@ is read in after the main package file. \AtBeginDocument{% \@ifpackageloaded{index}{\let\NAT@index=\NAT@index@alt}{}} -% % \end{macrocode} % \end{macro}\end{macro} % @@ -3851,7 +3773,7 @@ is read in after the main package file. % \begin{macrocode} \renewcommand\bibitem{% \@ifnextchar[{\@lbibitem}{% -% \global\NAT@stdbsttrue + \global\NAT@stdbsttrue \stepcounter{NAT@ctr}\@lbibitem[\arabic{NAT@ctr}]}} % \end{macrocode} % Write the label with |\item| in the bibliography listing with the current @@ -3900,12 +3822,10 @@ is read in after the main package file. % on page~\pageref{SKdef}. % % \begin{macrocode} -%<*!209> \ifx\SK@lbibitem\@undefined\else \let\SK@lbibitem\@lbibitem \def\@lbibitem[#1]#2{% \SK@lbibitem[#1]{#2}\SK@\SK@@label{#2}\ignorespaces}\fi -% % \end{macrocode} % \end{macro}\end{macro} % @@ -3916,17 +3836,12 @@ is read in after the main package file. % the numerical ones cannot work in author--year mode. Do this by inserting % |\NAT@numberstrue| in the auxiliary file. % \begin{macrocode} -%<*!subpack> \newif\ifNAT@stdbst \NAT@stdbstfalse -%<209>\let\NAT@enddoc=\enddocument -%<209>\def\enddocument -%\AtEndDocument +\AtEndDocument {\ifNAT@stdbst\if@filesw\immediate\write\@auxout{\string \global\string\NAT@numberstrue}\fi\fi -%<209>\NAT@enddoc } -% % \end{macrocode} % \end{macro} % @@ -3947,7 +3862,6 @@ is read in after the main package file. % \thestyle\ and explicitly refers to citations instead of just % `references'.) % \begin{macrocode} -%<*!209> \providecommand\bibcite{} \renewcommand\bibcite[2]{\@ifundefined{b@#1\@extra@binfo}\relax {\NAT@citemultiple @@ -3960,8 +3874,6 @@ is read in after the main package file. \PackageWarningNoLine{natbib}{Citation(s) may have changed.\MessageBreak Rerun to get citations correct}\fi\fi} -% -%<209>\renewcommand\bibcite[2]{\global\@namedef{b@#1\@extra@binfo}{#2}} % \end{macrocode} % \end{macro} % @@ -3982,7 +3894,7 @@ is read in after the main package file. %<*all|apalike|authordate> \newcommand\NAT@apalk{} \def\NAT@apalk#1, #2, #3\@nil#4{\if\relax#2\relax -% \global\NAT@stdbsttrue + \global\NAT@stdbsttrue \NAT@wrout{#1}{}{}{}{#4}\else \stepcounter{NAT@ctr}% \NAT@wrout{\arabic {NAT@ctr}}{#2}{#1}{}{#4}\fi} @@ -4066,9 +3978,7 @@ is read in after the main package file. % % \begin{macrocode} %<*harvard|all> -%\newcommand\harvarditem[4][]% -%<209>\def\harvarditem{\@ifnextchar[{\@harvarditem}{\@harvarditem[]}} -%<209>\def\@harvarditem[#1]#2#3#4% +\newcommand\harvarditem[4][]% {\if\relax#1\relax\bibitem[#2(#3)]{#4}\else \bibitem[#1(#3)#2]{#4}\fi } % \end{macrocode} @@ -4103,8 +4013,7 @@ is read in after the main package file. \newcommand\harvardright{\NAT@close} \newcommand\harvardyearleft{\NAT@open} \newcommand\harvardyearright{\NAT@close} -%\AtBeginDocument{\providecommand{\harvardand}{and}} -%<209>\def\harvardand{and} +\AtBeginDocument{\providecommand{\harvardand}{and}} \newcommand\harvardurl[1]{\textbf{URL:} \textit{#1}} % % \end{macrocode} @@ -4137,9 +4046,7 @@ is read in after the main package file. % The packages of the KOMA scripts make use of |\bib@heading| which functions % much like |\bibsection|. If it is defined, let |\bibsection| be equal to it. % \begin{macrocode} -%<*!agu&!egs> -%\providecommand\bibsection{} -%<209>\def\bibsection{} +\providecommand\bibsection{} \@ifundefined{chapter}% {\renewcommand\bibsection{\section*{\refname \@mkboth{\MakeUppercase{\refname}}{\MakeUppercase{\refname}}}}} @@ -4148,18 +4055,11 @@ is read in after the main package file. \@mkboth{\MakeUppercase{\bibname}}{\MakeUppercase{\bibname}}}}} {\renewcommand\bibsection{\section*{\bibname \ifx\@mkboth\@gobbletwo\else\markright{\MakeUppercase{\bibname}}\fi}}}} -%<*!subpack> -%<*!209> \@ifclassloaded{amsart}% {\renewcommand\bibsection{\section*{\refname}}}{} \@ifclassloaded{amsbook}% {\renewcommand\bibsection{\chapter*{\bibname}}}{} -% \@ifundefined{bib@heading}{}{\let\bibsection\bib@heading} -% -% -%\def\bibsection{\if@draft\newpage\fi -% \noappendix\section*{\refname}} % \end{macrocode} % \end{macro} % @@ -4203,19 +4103,15 @@ is read in after the main package file. % |\@listctr| is set by |\usecounter|.) % \begin{macrocode} \newcounter{NAT@ctr} -%<*!agu> \renewenvironment{thebibliography}[1]{% \bibsection\parindent \z@\bibpreamble\bibfont\list {\@biblabel{\arabic{NAT@ctr}}}{\@bibsetup{#1}% \setcounter{NAT@ctr}{0}}% -%<*!209&!subpack> \ifNAT@openbib \renewcommand\newblock{\par} \else \renewcommand\newblock{\hskip .11em \@plus.33em \@minus.07em}% \fi -% -%<209|subpack> \def\newblock{\hskip .11em plus.33em minus.07em}% \sloppy\clubpenalty4000\widowpenalty4000 \sfcode`\.=1000\relax % \end{macrocode} @@ -4228,18 +4124,11 @@ is read in after the main package file. % \let\citeN\cite \let\shortcite\cite % \let\citeasnoun\cite }{\def\@noitemerr{% -%<209> \@warning -% \PackageWarning{natbib} + \PackageWarning{natbib} {Empty `thebibliography' environment}}% \endlist\vskip-\lastskip} -%\let\bibfont\relax -%\let\bibfont\small + \let\bibfont\relax \let\bibpreamble\relax -% -%<*agu> -\let\aguthebib=\thebibliography -\def\thebibliography#1{\noappendix\aguthebib{#1}} -% % \end{macrocode} % \end{environment} % @@ -4257,16 +4146,9 @@ is read in after the main package file. % classes that are used in place of \texttt{article}, \texttt{report}, and % \texttt{book}. % \begin{macrocode} -%<*!209> \providecommand\reset@font{\relax} \providecommand\bibname{Bibliography} \providecommand\refname{References} -% -%<*209> -\@ifundefined{reset@font}{\let\reset@font=\relax}{} -%\@ifundefined{bibname}{\newcommand\bibname{Bibliography}}{} -\@ifundefined{refname}{\newcommand\refname{References}}{} -% % \end{macrocode} % \end{macro}\end{macro}\end{macro} % @@ -4278,7 +4160,6 @@ is read in after the main package file. % retain the old name for the new coding. I had already decided to go for % an independent coding, which does exactly the same thing. % \begin{macrocode} -%<*!209> \newcommand\NAT@citeundefined{\gdef \NAT@undefined {% \PackageWarningNoLine{natbib}{There were undefined citations}}} \let \NAT@undefined \relax @@ -4293,7 +4174,6 @@ is read in after the main package file. \PackageWarningNoLine{natbib}{There were multiply defined citations}}} \let \NAT@multiple \relax \AtEndDocument{\NAT@undefined\NAT@multiple} -% % \end{macrocode} % \end{macro} % @@ -4309,8 +4189,7 @@ is read in after the main package file. % command in future, the headings will not function, but at least there % will be no crash. (Also needed for very old versions of \LaTeX~2.09.) % \begin{macrocode} -%<209>\@ifundefined{@mkboth}{\newcommand\@markboth[2]{}}{} -%\providecommand\@mkboth[2]{} +\providecommand\@mkboth[2]{} % \end{macrocode} % \end{macro} % @@ -4319,8 +4198,7 @@ is read in after the main package file. % The |\MakeUppercase| command replaces |\uppercase| in \LaTeXe\ of % June~1995. Provide it for earlier versions. % \begin{macrocode} -%<209>\let\MakeUppercase\uppercase -%\providecommand\MakeUppercase{\uppercase} +\providecommand\MakeUppercase{\uppercase} % \end{macrocode} % \end{macro} % @@ -4334,8 +4212,7 @@ is read in after the main package file. % and redefines things like |\@citex|, which we do not want to have happen. % The necessary redefinitions are already included in \thestyle. % \begin{macrocode} -%<209>\@ifundefined{@extra@b@citeb}{\def\@extra@b@citeb{}}{} -%\providecommand{\@extra@b@citeb}{} +\providecommand{\@extra@b@citeb}{} \gdef\@extra@binfo{} % \end{macrocode} % \end{macro}\end{macro} @@ -4366,20 +4243,11 @@ is read in after the main package file. % The |\hyper@natlinkbreak| to designed to break links between the names and % date, avoiding some possible problems when links go over a page. % \begin{macrocode} -%<*!209> \providecommand\hyper@natanchorstart[1]{} \providecommand\hyper@natanchorend{} \providecommand\hyper@natlinkstart[1]{} \providecommand\hyper@natlinkend{} \providecommand\hyper@natlinkbreak[2]{#1} -% -%<*209> -\@ifundefined{hyper@natanchorstart}{\def\hyper@natanchorstart#1{}}{} -\@ifundefined{hyper@natanchorend}{\def\hyper@natanchorend{}}{} -\@ifundefined{hyper@natlinkstart}{\def\hyper@natlinkstart#1{}}{} -\@ifundefined{hyper@natlinkend}{\def\hyper@natlinkend{}}{} -\@ifundefined{hyper@natlinkbreak}{\def\hyper@natlinkbreak#1#2{#1}}{} -% % \end{macrocode} % \end{macro}\end{macro}\end{macro}\end{macro}\end{macro} % @@ -4433,23 +4301,14 @@ is read in after the main package file. % without \thestyle. They will work with the \texttt{german} package, but then % the keys with active characters will not. Oh boy! % -% With the journal coding (\texttt{subpack}), things are slightly different. -% For them it is |\@citex| that is defined directly, not |\NAT@citex|, so -% I have to restore that definition which \texttt{babel} has already -% altered and stored in |\org@@citex|. -% % \begin{macrocode} -%<*!209> -%<*!subpack> \@ifundefined{bbl@redefine}{}{% \bbl@redefine\nocite#1{% \@safe@activestrue\org@nocite{#1}\@safe@activesfalse}% \bbl@redefine\@lbibitem[#1]#2{% \@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}% } -% \AtBeginDocument{\@ifundefined{bbl@redefine}{}{% -%\let\@citex\org@@citex \bbl@redefine\@citex[#1][#2]#3{% \@safe@activestrue\org@@citex[#1][#2]{#3}\@safe@activesfalse}% \bbl@redefine\NAT@testdef#1#2{% @@ -4458,7 +4317,6 @@ is read in after the main package file. \bbl@redefine\@lbibitem[#1]#2{% \@safe@activestrue\org@@lbibitem[#1]{#2}\@safe@activesfalse}}{}% }} -% % \end{macrocode} % % \subsection{Sorting and Compression of Numbers} @@ -4499,7 +4357,6 @@ is read in after the main package file. % end to the main list. Finally, the trailing comma is removed with % |\NAT@xcom|. % \begin{macrocode} -%<*!209> \ifnum\NAT@sort>0 \newcommand\NAT@sort@cites[1]{% \@tempcntb\m@ne @@ -4573,7 +4430,6 @@ is read in after the main package file. \def\NAT@xcom#1,@@{#1} \else \newcommand\NAT@sort@cites[1]{\edef\NAT@cite@list{#1}}\fi -% % \end{macrocode} % \end{macro} % @@ -4584,10 +4440,8 @@ is read in after the main package file. % or any other modifications to the coding, read in % configuration file \texttt{natbib.cfg} if it exists. % \begin{macrocode} -%<*!subpack&!209> \InputIfFileExists{natbib.cfg} {\typeout{Local config file natbib.cfg used}}{} -% % % \end{macrocode} % diff --git a/Master/texmf-dist/tex/latex/natbib/natbib.sty b/Master/texmf-dist/tex/latex/natbib/natbib.sty index 29d25c4f434..ed4ac59ffb8 100644 --- a/Master/texmf-dist/tex/latex/natbib/natbib.sty +++ b/Master/texmf-dist/tex/latex/natbib/natbib.sty @@ -19,15 +19,15 @@ %% Full documentation can be obtained by LaTeXing that original file. %% Only a few abbreviated comments remain here to describe the usage. %% ============================================= -%% Copyright 1993-2006 Patrick W Daly +%% Copyright 1993-2007 Patrick W Daly %% Max-Planck-Institut f\"ur Sonnensystemforschung %% Max-Planck-Str. 2 %% D-37191 Katlenburg-Lindau %% Germany -%% E-mail: daly@linmpi.mpg.de +%% E-mail: daly@mps.mpg.de \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{natbib} - [2006/09/06 7.4a (PWD)] + [2007/02/05 8.0 (PWD)] % This package reimplements the LaTeX \cite command to be used for various % citation styles, both author-year and numerical. It accepts BibTeX % output intended for many other packages, and therefore acts as a @@ -78,6 +78,7 @@ % \citeyear{key} ==>> 1990 % \citeyearpar{key} ==>> (1990) % \citetext{priv. comm.} ==>> (priv. comm.) + % \citenum{key} ==>> 11 [non-superscripted] % Note: full author lists depends on whether the bib style supports them; % if not, the abbreviated list is printed even when full requested. % @@ -92,8 +93,12 @@ % \citetalias{key} ==>> text % \citepalias{key} ==>> (text) % - % Defining the citation style of a given bib style: - % Use \bibpunct (in the preamble only) with 6 mandatory arguments: + % Defining the citation mode and punctual (citation style) + % \setcitestyle{} + % Example: \setcitestyle{square,semicolon} + % Alternatively: + % Use \bibpunct with 6 mandatory arguments: % 1. opening bracket for citation % 2. closing bracket % 3. citation separator (for multiple citations in one \cite) @@ -111,7 +116,7 @@ % Then the \bibliographystyle{newbib} will cause \bibstyle@newbib to % be called on THE NEXT LATEX RUN (via the aux file). % - % Such preprogrammed definitions may be invoked in the text (preamble only) + % Such preprogrammed definitions may be invoked anywhere in the text % by calling \citestyle{newbib}. This is only useful if the style specified % differs from that in \bibliographystyle. % @@ -124,7 +129,8 @@ % square - square brackets are used [option] % curly - curly braces are used {option} % angle - angle brackets are used