diff options
author | Karl Berry <karl@freefriends.org> | 2010-03-18 23:53:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-03-18 23:53:14 +0000 |
commit | aeb40e4eddc0e83dfd8f55c18ffd3b94540c0f47 (patch) | |
tree | ae4269d5a89406c04493af63b04c8fabc71fb754 /Master/texmf-dist/source/latex/revtex/revtex4-1.dtx | |
parent | 481fc83998309f749f51e74a5e711829a5a3c80b (diff) |
revtex 4.1p (17mar10)
git-svn-id: svn://tug.org/texlive/trunk@17498 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/revtex/revtex4-1.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/revtex/revtex4-1.dtx | 979 |
1 files changed, 675 insertions, 304 deletions
diff --git a/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx b/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx index 9d517bf02a5..3806fe8f786 100644 --- a/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx +++ b/Master/texmf-dist/source/latex/revtex/revtex4-1.dtx @@ -127,9 +127,9 @@ See the REVTeX 4 README file for restrictions and more information. %<*package> %%% @LaTeX-file{ %%% filename = "revtex4-1.dtx", -%%% version = "4.1g", -%%% date = "2009/10/08", -%%% time = "11:23:00 GMT+8", +%%% version = "4.1p", +%%% date = "2010/03/15", +%%% time = "20:00:00 UT-8", %%% checksum = "7177", %%% author = "Arthur Ogawa (mailto:arthur_ogawa at sbcglobal.net), %%% commissioned by the American Physical Society. @@ -221,8 +221,13 @@ See the REVTeX 4 README file for restrictions and more information. \ProvidesFile{revtex4-1.dtx} %</doc> %<*!package&!options> - [2009/10/08:11:23 4.1g (http://publish.aps.org/revtex4/ for documentation)]%FileInfo +%<version> + [2010/03/15/20:00:00 4.1p (http://publish.aps.org/revtex4/ for documentation)]% \fileversion %</!package&!options> +% \end{macrocode} +% The current class name is remembered in \cmd\class@name. +% This is something of a klootch, relying as it does on knowledge of the implementation of \cmd\ProvidesPackage. +% \begin{macrocode} %<kernel>\let\class@name\@gtempa % \end{macrocode} % @@ -400,7 +405,7 @@ The file \file{template.aps} is a boilerplate file. \changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle@post}} \changes{4.1d}{2009/03/27}{Definition of \cs{ @fnsymbol} follows fixltx2e.sty} \changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract} -\changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \filename{lineno.sty}} +\changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}} \changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon} \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}% \changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}% @@ -411,6 +416,32 @@ The file \file{template.aps} is a boilerplate file. \changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given in vertical mode}% \changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double backslash} \changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}% +\changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads} +\changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}} +\changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}} +\changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}} +\changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package} +\changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: invoking class option preprint implies class option preprintnumbers} +\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms} +\changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}% +\changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}% +\changes{4.1n}{2010/01/02}{(AO, 571) Interface \cs{set@footnotewidth} for determining the set width of footnotes}% +\changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}% +\changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}% +\changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}% +\changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}% +\changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}% +\changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% +\changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter@makefntext} must be defined harmoniously}% +\changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}% +\changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a} +\changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} +\changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.} +\changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} +\changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}% +\changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.} +\changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn@grid@setup} and \cs{twocolumn@grid@setup}} +\changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl} \end{filecontents*} % \end{macrocode} @@ -852,17 +883,20 @@ The file \file{template.aps} is a boilerplate file. % \subsubsection{Showing preprint numbers}% % % \begin{macro}{\preprint@sw} +% \changes{4.0d}{2000/04/10}{New option} % \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.} +% \changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: default value of \cs{preprint@sw} follows \cs{preprintsty@sw}} % The boolean \cmd\preprint@sw\ signifies that % the preprints (cf. \cmd\preprint) are to be formatted (usually on the title page). % The option \classoption{preprintnumbers} declares to do so, % \classoption{nopreprintnumbers} declares not to; % the default is to follow \cmd\preprintsty@sw. -% \changes{4.0d}{2000/04/10}{New option} % \begin{macrocode} \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}% \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}% -\let\preprint@sw\preprintsty@sw +\appdef\setup@hook{% + \@ifxundefined\preprint@sw{\let\preprint@sw\preprintsty@sw}{}% +}% % \end{macrocode} % \end{macro} % @@ -1087,6 +1121,18 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % \end{macro} % +% \begin{macro}{\eprint@enable@sw} +% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} +% +% The document class options \classoption{eprint} and \classoption{noeprint} +% give the user the ability to turn off production of the \texttt{eprint} field in the bibliography. +% \begin{macrocode} +\DeclareOption{eprint}{\@booleantrue\eprint@enable@sw}% +\DeclareOption{noeprint}{\@booleanfalse\eprint@enable@sw}% +\@booleantrue\eprint@enable@sw +% \end{macrocode} +% \end{macro} +% % \subsubsection{Simplex/Duplex Pages}% % % \begin{macro}{\twoside@sw} @@ -1124,6 +1170,7 @@ The file \file{template.aps} is a boilerplate file. % % \begin{macro}{\twocolumn@sw} % \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.} +% \changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn@grid@setup} and \cs{twocolumn@grid@setup}} % The flag \cmd\twocolumn@sw\ signifies that the document is to be % formatted in the two-column page grid. % @@ -1132,20 +1179,7 @@ The file \file{template.aps} is a boilerplate file. % Up to that point, the class can check if \cmd\twocolumn@sw\ % is \cmd\undefined\ to see if any related options have been invoked. % -% We install into \cmd\class@enddocumenthook\ -% all tasks that we know must be completed at \cmd\AtEndDocument\ time. -% The first thing it does is end the current paragraph. -% The last is to return us to one-column page grid. -% (This procedure is executed after all typesetting is complete -% i.e., after items like \cmd\printtables.) -% \begin{macrocode} -\def\clear@document{% - \close@column -}% -% \end{macrocode} -% % \classoption{onecolumn} specifies one-column page grid. -% \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.} % The \classoption{twocolumn} class option employs the standard mechanism for % changing the column grid: the \classname{ltxgrid} package. % \begin{macrocode} @@ -1167,9 +1201,15 @@ The file \file{template.aps} is a boilerplate file. % \begin{macrocode} \def\select@column@grid{% \twocolumn@sw{% + \twocolumn@grid@setup \open@twocolumn }{% + \onecolumn@grid@setup +% \end{macrocode} +% \begin{verbatim} % \open@onecolumn +% \end{verbatim} +% \begin{macrocode} }% }% \appdef\class@documenthook{% @@ -1179,6 +1219,30 @@ The file \file{template.aps} is a boilerplate file. % % \end{macro} % +% \begin{macro}{\clear@document} +% \changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancing of last page}% +% +% We install into \cmd\class@enddocumenthook\ +% a trap for the procedure \cmd\clearpage\ that attempts to end the current page. +% This procedure needs to be headpatched with \cmd\close@column\ to end the current page grid. +% +% This procedure is executed after all typesetting is complete +% i.e., after items like \cmd\printtables, as well as all commands queued up by \cmd\AtEndDocument. +% +% \begin{macrocode} +\appdef\setup@hook{% + \let\clearpage@ltx\clearpage + \prepdef\clear@document{\let\clearpage\clearpage@ltx\let\clear@document\@empty\close@column}% + \appdef\class@documenthook{% + \appdef\class@enddocumenthook{% + \let\clearpage\clear@document + }% + }% +}% +% \end{macrocode} +% +% \end{macro} +% % \begin{macro}{\authoryear@sw} % \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}% % The boolean \cmd\authoryear@sw\ signifies that we are to use author-year citations rather than numerical citations. @@ -1678,8 +1742,16 @@ The file \file{template.aps} is a boilerplate file. % package \classname{ltxgrid}. Only people who really want to see this output will select these class options. % Consult documentation for the \classname{ltxgrid} package to see what output the related switches enable. % \begin{macrocode} -\DeclareOption{ltxgridinfo}{\@booleantrue\ltxgrid@info@sw}% -\DeclareOption{outputdebug}{\@booleantrue\outputdebug@sw}% +\DeclareOption{ltxgridinfo}{% + \@booleantrue\ltxgrid@info@sw +%\@booleantrue\ltxgrid@foot@info@sw +}% +\DeclareOption{outputdebug}{% + \@booleantrue\outputdebug@sw + \@booleantrue\ltxgrid@info@sw + \@booleantrue\ltxgrid@foot@info@sw + \traceoutput +}% % \end{macrocode} % \end{macro} % \end{macro} @@ -1716,14 +1788,19 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % % \begin{macro}{\linenumbers@sw} -% \changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \filename{lineno.sty}} -% An option to number the lines of type in the output in the manner of \filename{lineno.sty}. +% \changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classname{lineno}} +% \changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages.}% +% An option to number the lines of type in the output in the manner of \classname{lineno}. % % At present, we use that very package to implement this functionality. % This means that users may modify the workings of that package per its documentation (which see). +% +% However, compatibility with \classname{amsmath} requires that \classname{lineno} be loaded afterwards. +% Therefore, we defer loading of this package until after the preamble is completed. % \begin{macrocode} \DeclareOption{linenumbers}{% - \appdef\rtx@require@packages{% + \appdef + \class@documenthook{% \RequirePackage{lineno}[2005/11/02 v4.41]% \linenumbersep4pt\relax \linenumbers\relax @@ -1830,6 +1907,18 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % \end{macro} % +% \changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classoption{hypertext}} +% The class option \classoption{hypertext} enables the built-in hypertext capabilities, +% which coincide with those of \classname{custom-bib}-generated BIBTeX styles +% using the guard code \texttt{hypertext}. +% +% Note that APS has these capabilities turned off by default; +% Loading the hyperref package turns them on. +% \begin{macrocode} +\DeclareOption{hypertext}{\hypertext@enable@ltx}% +\appdef\document@inithook{\@ifpackageloaded{hyperref}{\hypertext@enable@ltx}{}}% +% \end{macrocode} +% % The default handling for a document class option depends upon whether the \cmd\@society\ is % defined. % @@ -2034,6 +2123,7 @@ The file \file{template.aps} is a boilerplate file. % \begin{macro}{\lastpage@putlabel} % Support the default meaning of \cmd\@endpage. % \changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolumn} +% \changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hyperref package} % Name of this macro (and the \cmd\label\ key) taken from % \url{CTAN:/macros/latex/contrib/other/lastpage}% % with code optimised slightly. @@ -2042,7 +2132,7 @@ The file \file{template.aps} is a boilerplate file. \if@filesw \begingroup \advance\c@page\m@ne - \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}}}% + \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}% \endgroup \fi }% @@ -2052,13 +2142,14 @@ The file \file{template.aps} is a boilerplate file. % This is done just before the \file{.aux} file % is closed, and does not require a \cmd\shipout, because it writes % directly to the \file{.aux} file. -% Note that we invoke \cmd\clearpage: this means that no more typesetting -% should be done past this point. +% Note that we assume no further \cmd\shipout s will be done past this point. +% \changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the safety of the output routine}% % \begin{macrocode} \appdef\clear@document{% - \clearpage - \lastpage@putlabel - \tally@box@size@sw{\total@text}{}% + \do@output@cclv{% + \lastpage@putlabel + \tally@box@size@sw{\total@text}{}% + }% }% \providecommand\write@column@totals{}% % \end{macrocode} @@ -2948,7 +3039,11 @@ The file \file{template.aps} is a boilerplate file. % \begin{environment}{ruledtabular} % \begin{macrocode} \def\endtabular@hook{}% +% \end{macrocode} +% \begin{verbatim} %\RequirePackage{dcolumn}% +% \end{verbatim} +% \begin{macrocode} \appdef\document@inithook{% \@ifpackageloaded{dcolumn}{% \expandafter\@ifnotrelax\csname NC@find@d\endcsname{}{% @@ -3159,6 +3254,33 @@ The file \file{template.aps} is a boilerplate file. % The procedures |\rtx@def@citea|, |\rtx@def@citea@close|, and |\rtx@def@citea@box| % can take over the management of \classname{natbib}'s |\@citea| macro to effect more sophisticated % behavior of the punctuation between textual citations. The switch is performed by \cmd\rtx@swap@citea. +% +% \changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}} +% In these procedures, we use \cmd\count@\ to count the number of arguments of the \cmd\cite\ command, +% and we use \cmd\c@NAT@ctr\ to keep track of which argument we are processing. +% The latter counter is created by \classname{natbib} and used there solely in bibliography processing, +% where it keeps track of the reference number. +% We take over its use in these macros, but only locally; therefore these procedures should work properly, even within the bibliography. +%FIXME: check whether this is true! +% +% Because we are using a scratch counter \cmd\count@, we are vulnerable to other \TeX\ programmers +% who patch in to \classname{natbib}'s processing and who might use that counter at the same time we are doing so. +% This is a potential source of trouble for us. +%FIXME: store the value of \cmd\count@\ in a private \cmd\csname! +% +% Note that \cmd\rtx@def@citea\ begins the same as \cmd\NAT@def@citea, which it replaces, +% then makes further decisions based on the values of the counters. +% +% Note also that, in \classname{natbib}, the replacement part of \cmd\NAT@def@citea@close\ could be rewritten as +% \cmd\NAT@def@citea\cmd\prepdef\cmd\@citea\verb+{+\cmd\NAT@@close\verb+}+, which +% would them obviate the need for us to override its meaning. +% +% Note, too, the effect of \cmd\rtx@def@citea@box, which replaces \cmd\NAT@def@citea@box, +% is almost the same as the latter, except the entire \cmd\@citea\ is given as the argument +% of \cmd\NAT@mbox. +% +% Finally, bear in mind that the English (and some American editors) do not place a comma +% before the ``and''; our procedures do (but they could be rewritten with that convention). % \begin{macrocode} \def\rtx@swap@citea{% \let\NAT@def@citea\rtx@def@citea @@ -3166,8 +3288,8 @@ The file \file{template.aps} is a boilerplate file. \let\NAT@def@citea@box\rtx@def@citea@box }% \def\rtx@def@citea{% + \def\@citea{\NAT@separator\NAT@space}% \advance\c@NAT@ctr\@ne - \let\@citea\NAT@separator \@ifnum{\count@>\tw@}{% \@ifnum{\c@NAT@ctr=\count@}{\appdef\@citea{\NAT@conj\NAT@space}}{}% }{% @@ -3190,11 +3312,56 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % \end{macro} % +% \begin{macro}{\BibitemShut} +% \begin{macro}{\bibAnnote} +% \changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib's \cs{BibitemShut} and \cs{bibAnnote}} +% \changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a} +% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} +% We remember a temporary patch to \classname{natbib}'s definition of \cmd\BibitemShut. +% \begin{macrocode} +\def\NAT@BibitemShut#1{% + \def\@bibstop{#1}% + \let\bibitem@Stop\bibitemStop + \let\bibitem@NoStop\bibitemNoStop + \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{% + \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}% + }% +}% +% \end{macrocode} +% The following is a bug fix to \classname{natbib} version 8.31b. +% \begin{macrocode} +\def\BibitemShut@ltx#1{% + \unskip + \def\@bibstop{#1}% + \let\bibitem@Stop\bibitemStop + \let\bibitem@NoStop\bibitemNoStop + \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{% + \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}% + }% +}% +% \end{macrocode} +% +% \begin{verbatim} +%\providecommand{\bibAnnote}[3]{% +% \BibitemShut{#1}% +% \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{% +% \begin{quotation}\noindent +% \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa +% \end{quotation}% +% }% +% \ignorespaces +%}% +%\def\@bibitemShut{}% +% \end{verbatim} +% \end{macro} +% \end{macro} +% +% % \begin{macrocode} \newenvironment{thebibliography}{}{}% \let\@listi\@empty \appdef\rtx@require@packages{% - \RequirePackage[sort&compress]{natbib}[2008/12/08 8.3a (PWD, AO)]% + \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]% \let@environment{NAT@thebibliography}{thebibliography}% \let@environment{thebibliography}{rtx@thebibliography}% \let\bibliographystyle@latex\bibliographystyle @@ -3252,6 +3419,13 @@ The file \file{template.aps} is a boilerplate file. \let\onlinecite\rev@citealp \let\textcite\rev@citet % \end{macrocode} +% The following is needed until \classname{natbib} is at 8.31b. +% \begin{macrocode} +\@ifx{\BibitemShut\NAT@BibitemShut}{% + \class@info{Repairing natbib's \string\BibitemShut}% + \let\BibitemShut\BibitemShut@ltx +}{}% +% \end{macrocode} % \end{macro} % \end{macro} % \end{macro} @@ -3272,11 +3446,49 @@ The file \file{template.aps} is a boilerplate file. \let\bibliographystyle@latex\bibliographystyle \def\bibliographystyle{\def\@bibstyle}% % \end{macrocode} -% We customize one of the productions of \classname{natbib}. +% \end{macro} +% +% \changes{4.1j}{2009/11/03}{(AO, 551) Punctuation at end of reference when optional arguments to the cite key are given.} +% The following had been bug fixes to \classname{natbib} version 8.31a. +% \begin{verbatim} +%\def\bibitemStop{\@bibitemShut}% +%\def\NAT@bibitem@cont{% +% \let\bibitem@Stop\bibitemContinue +% \let\bibitem@NoStop\bibitemContinue +%}% +% \end{verbatim} +% The following are alterations to \classname{natbib} version 8.31a to +% accommodate the possible space character preceding \cmd\BibitemShut, +% and to handle the case of merged references, where the first ends with a stop character. +% \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{BibitemShut}.} +% \changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop character.} % \begin{macrocode} -\let\bibitemContinue\bibitemContinue@rtx +\def\NAT@bibitem@cont{% + \let\bibitem@Stop\bibitemContinue@Stop + \let\bibitem@NoStop\bibitemContinue +}% +% \end{macrocode} +% \begin{macrocode} +\def\bibitemNoStop{% + \@ifx@empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}% +}% +% \end{macrocode} +% \begin{macrocode} +\def\bibitemContinue{% + \@ifx@empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}% +}% +% \end{macrocode} +% \begin{macrocode} +\def\bibitemContinue@Stop{% + \@ifx@empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}% +}% % \end{macrocode} -% \end{macro} +% +% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}} +% We used to customize one of the productions of \classname{natbib}, but no longer. +% \begin{verbatim} +%\let\bibitemContinue\bibitemContinue@rtx +% \end{verbatim} % % Here ends the code to be executed at \cmd\rtx@require@packages\ time. % \begin{macrocode} @@ -3284,9 +3496,10 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % \changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon} % Redefine a macro of \classname{natbib} so that merged references are separated with a semicolon. -% \begin{macrocode} -\def\bibitemContinue@rtx{;\spacefactor\@mmm\space}% -% \end{macrocode} +% \changes{4.1k}{2009/11/11}{(AO, 561) remove dead code relating to \cs{bibitemContinue}} +% \begin{verbatim} +% \def\bibitemContinue@rtx{;\spacefactor\@mmm\space}% +% \end{verbatim} % % \begin{macro}{\onlinecite} % \begin{macro}{\textcite} @@ -3315,16 +3528,19 @@ The file \file{template.aps} is a boilerplate file. % \begin{macrocode} \let\bibliography@latex\bibliography \def\bibliography#1{% - \@ifx@empty{\pre@bibdata}{% - \bibliography@latex{#1}% - }{% - \@if@empty{#1}{% - \expandafter\bibliography@latex\expandafter{\pre@bibdata}% + \auto@bib@empty + \begingroup + \let\auto@bib@innerbib\@empty + \@ifx@empty{\pre@bibdata}{% + \bibliography@latex{#1}% }{% - \expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}% + \@if@empty{#1}{% + \expandafter\bibliography@latex\expandafter{\pre@bibdata}% + }{% + \expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}% + }% }% - }% - \let\auto@bib\@empty + \endgroup }% \let\pre@bibdata\@empty % \end{macrocode} @@ -3340,6 +3556,8 @@ The file \file{template.aps} is a boilerplate file. % might want to override the definition of \cmd\present@bibnote. % % \changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}% +% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}% +% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}% % We make provisions for the case where there are no \cmd\bibitem s % for the bibliography: we produce no bibliography head at all. % @@ -3348,12 +3566,18 @@ The file \file{template.aps} is a boilerplate file. \NAT@thebibliography{#1}% \let\@TBN@opr\present@bibnote \@FMN@list + \auto@bib@innerbib }{% +% \end{macrocode} +% The following line was commented out: +% \begin{verbatim} %\@endnotesinbib +% \end{verbatim} +% \begin{macrocode} \edef\@currentlabel{\arabic{NAT@ctr}}% \label{LastBibItem}% \endNAT@thebibliography - \global\let\auto@bib\@empty + \aftergroup\auto@bib@empty }% \def\present@bibnote#1#2{% \item[% @@ -3361,12 +3585,17 @@ The file \file{template.aps} is a boilerplate file. \normalfont \Hy@raisedlink{\hyper@anchorstart{frontmatter.#1}\hyper@anchorend}% \begingroup - \c@footnote#1\relax + \csname c@\@mpfn\endcsname#1\relax \frontmatter@thefootnote \endgroup }% ]#2\par +% \end{macrocode} +% The following line was commented out: +% \begin{verbatim} %\global\let\NAT@bibitem@first@sw\@secondoftwo +% \end{verbatim} +% \begin{macrocode} }% % \end{macrocode} % \end{macro} @@ -3402,7 +3631,7 @@ The file \file{template.aps} is a boilerplate file. % \begin{macro}{\super@cite@end} % \begin{macro}{\super@cite@swap} % We wish to extend \classname{natbib} to move spaces and citations around -% a subscript style citation, imitating Donald Arseneau's \classname{cite} package +% a superscript-style citation, imitating Donald Arseneau's \classname{cite} package % with the \classoption{super}. % % The \cmd\rtx@@citetp\ procedure is substituted for \cmd\NAT@@citetp; @@ -3475,6 +3704,9 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % The following must execute only after \classname{natbib} is loaded and has set % up its parameters (which it does at \cmd\AtBeginDocument\ time). @@ -3507,11 +3739,13 @@ The file \file{template.aps} is a boilerplate file. % % \begin{macro}{\mini@note} % \begin{macro}{\save@note} +% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}% +% QUERY: how do footnotes get thrown to the bibliography. \cmd\footinbib@sw\ appears to be irrelevant. % \begin{macrocode} \def\mini@note{\save@note\mini@notes}%Implicit #2 \def\save@note#1#2{% - \stepcounter{footnote}% - \protected@xdef\@thefnmark{\the\c@footnote}% + \stepcounter\@mpfn + \protected@xdef\@thefnmark{\thempfn}% \@footnotemark \expandafter\g@addto@macro \expandafter#1% @@ -3627,17 +3861,16 @@ The file \file{template.aps} is a boilerplate file. %}% % \end{verbatim} % -% \begin{macro}{\@doendnote} % \cmd\@doendnote\ is obsolete. % \begin{verbatim} %\def\@doendnote#1#2{\bibitem{#1}#2}% % \end{verbatim} -% \end{macro} % +% \changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOTNOTE.} % Procedure \cmd\@endnotetext\ is the operative procedure\ when the endnotes are to be % collated in with the other references, typically true when numerical citations are being used. % The technique involves writing a .bib file (\cmd\@bibdataout) with each endnote typed as -% a \texttt{@MISC} entry. +% a \texttt{@FOOTNOTE} entry. % % Timing note: doing \cmd\openout\ should be deferred until the beginning of the document, % as is done here. This allows one to make a format (\filename{.fmt}) file out of this class. @@ -3645,14 +3878,27 @@ The file \file{template.aps} is a boilerplate file. \long\def\@endnotetext#1{% \begingroup \endnote@relax - \immediate\write\@bibdataout{@MISC{\@endnotelabel,note="#1"}}%year="\@endnotelabel", + \immediate\write\@bibdataout{% + @FOOTNOTE{% + \@endnotelabel,% +% \end{macrocode} +% The \texttt{key} field is recommended in cases where there is no author (see \filename{btxdoc}). +% \begin{macrocode} + key="\@endnotelabel",% +% \end{macrocode} +% The \texttt{note} field is simply the content of the footnote. +% \begin{macrocode} + note="#1"% + }% + }% \endgroup }% \newwrite\@bibdataout -\appdef\class@documenthook{% - \immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax -}% % \end{macrocode} +% \end{macro} +% +% \begin{macro}{\endnote@relax} +% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file. % % Procedure \cmd\endnote@relax\ robustifies commands that ought not to be expanded when % the endnote is written out. @@ -3663,41 +3909,59 @@ The file \file{template.aps} is a boilerplate file. \let\cite \relax \let\ref \relax \let\pageref \relax \let\( \relax \let\) \relax \let\\ \relax \let~\relax +% \end{macrocode} +% \begin{verbatim} %\let\protect\noexpand +% \end{verbatim} +% \begin{macrocode} \let \protect \@unexpandable@protect \newlinechar`\^^M% +% \end{macrocode} +% \begin{verbatim} %\newlinechar`\ % +% \end{verbatim} +% \begin{macrocode} \let\begin\relax \let\end\relax }% % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{\endnotetext} -% \begin{verbatim} -%\def\unused@endnotetext{% -% \@ifnextchar[{% -% \@xendnotenext -% }{% -% \protected@xdef\@thefnmark{\thefootnote}% -% \@endnotetext -% }% -%}% -% \end{verbatim} +% \begin{macro}{\@bibdataout@init} +% \begin{macro}{\@bibdataout@aps} +% \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of eprint field in bibliography.} +% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}% +% At \cmd\AtBeginDocument\ time, we open the job's \filename{.bib} file. +% The hook is available for use by a society to place its own @CONTROL record in the \cmd\@bibdataout\ stream. +% \begin{macrocode} +\appdef\class@documenthook{\@bibdataout@init}% +\def\@bibdataout@init{% + \immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax + \@bibdataout@rev +}% +\def\@bibdataout@rev{% + \immediate\write\@bibdataout{% +% \end{macrocode} +% The entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. +% The citation key (REVTEX41Control) is effectively a version number, +% which the \filename{.bst} can use to interpret the bib entry. +% \begin{macrocode} + @CONTROL{% + REVTEX41Control% +% \end{macrocode} +% Say if we want the \texttt{eprint} field disabled. Otherwise accept the default of the \filename{.bst}. +% \begin{macrocode} + \eprint@enable@sw{}{,eprint=""}% + }% + }% +% \end{macrocode} +% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. +% \begin{macrocode} + \if@filesw + \immediate\write\@auxout{\string\citation{REVTEX41Control}}% + \fi +}% +% \end{macrocode} % \end{macro} -% -% \begin{macro}{\@xendnotenext} -% \begin{verbatim} -%\def\unused@xendnotenext[#1]{% -% \begingroup -% \c@footnote#1\relax -% \unrestored@protected@xdef\@thefnmark{\thefootnote}% -% \endgroup -% \@endnotetext -%}% -% \end{verbatim} % \end{macro} % % \begin{macro}{\printendnotes} @@ -3711,57 +3975,6 @@ The file \file{template.aps} is a boilerplate file. \class@warn{The \string\printendnotes\space command no longer serves any function. Please remove it from your document.}% }% % \end{macrocode} -% \begin{verbatim} -%\def\printendnotes{% -% \@ifx{\@endnoteout\@undefined}{}{% -% \begingroup -% \c@secnumdepth-\maxdimen -% \section{% -% \notesname -% }% -% \immediate\closeout\@endnoteout -% \global\let\@endnoteout\@undefined -% \begin{enumerate}% -% \makeatletter -% \input{\endnote@stream}% -% \end{enumerate}% -% \endgroup -% }% -%}% -%\appdef\class@enddocumenthook{% -% \printendnotes -%}% -% \end{verbatim} -% \end{macro} -% -% \begin{macro}{\firstnote@num} -% \begin{macro}{\set@firstnote} -% -% In \revtex, we have permanently altered the way -% that the footnote counter gets reset at the beginning -% of the document. -% -% If footnotes appear in the bibliography, we initialise -% the footnote counter to number of cites (found last time) -% via \cmd\set@firstnote. -% \changes{4.1a}{2008/01/18}{(AO, 451) ``Cannot have more than 256 cites in a document''}% -% -% \begin{macrocode} -\mathchardef\firstnote@num\z@ -\appdef\class@documenthook{% - \global\c@footnote\firstnote@num - \appdef\maketitle{\global\c@footnote\firstnote@num}% -}% -\def\set@firstnote#1{% - \@ifnum{\firstnote@num=#1\relax}{}{% - \class@warn@end{Endnote numbers changed: rerun LaTeX}% - }% - \immediate\write\@mainaux{% - \global\mathchardef\string\firstnote@num#1\relax - }% -}% -% \end{macrocode} -% \end{macro} % \end{macro} % % \begin{macro}{\@endnotesinbib} @@ -3782,21 +3995,6 @@ The file \file{template.aps} is a boilerplate file. % the counter used in \env{thebibliography} is \cmd\c@NAT@ctr. % \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}% % -% Obsolete code is commented out. -% \begin{verbatim} -%\def\@endnotesinbib{% -% \set@firstnote\z@ -%}% -%\def\@endnotesinbibliography{% -% \expandafter\set@firstnote\expandafter{\the\c@NAT@ctr}% -% \@ifx{\@endnoteout\@undefined}{}{% -% \immediate\closeout\@endnoteout -% \global\let\@endnoteout\@undefined -% \makeatletter -% \input{\endnote@stream}% -% }% -%}% -% \end{verbatim} % Here is the sole place where \cmd\footinbib@sw\ has an effect, other code simple assigning its value. % If it is false, or \cmd\authoryear@sw\ is true, then footnotes are handled by the default mechanism. % \begin{macrocode} @@ -3851,7 +4049,14 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % % \begin{macro}{\auto@bib} +% \begin{macro}{\auto@bib@empty} +% \begin{macro}{\test@bbl@sw} +% \begin{macro}{\bibitem@set} +% \begin{macro}{\auto@bib@innerbib} +% \begin{macro}{\thebibliography@nogroup} % \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed}% +% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}% +% \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into an explicit \env{thebibliography}}% % Under some circumstances, we must typeset the bibliography automatically. % If the document requires footnotes to be set in the bibliography (effectively, class option \texttt{footinbib}), % or that frontmatter footnotes be set in the bibliography (effectively, class option \texttt{bibnotes}), @@ -3870,7 +4075,7 @@ The file \file{template.aps} is a boilerplate file. \def\auto@bib{% \@ifx@empty\@FMN@list{% \footinbib@sw{% - \@ifnum{\thefootnote>\z@}{% + \@ifnum{\csname c@\@mpfn\endcsname>\z@}{% \true@sw }{% \test@bbl@sw @@ -3885,15 +4090,17 @@ The file \file{template.aps} is a boilerplate file. \bibliography{}% }{}% }% +\def\auto@bib@empty{% + \let\auto@bib\@empty +}% % \end{macrocode} % Testing the \filename{.bbl} file involves defanging all expected commands % and processing that file inside a box register (that will be simply discarded). -% We provide a new meaning for the \cmd\bibitem\ command: it sets a Boolean. +% We provide a new meaning for the \cmd\bibitem\ command: it queues a Boolean. % \begin{macrocode} \def\test@bbl@sw{% - \begingroup + \setbox\z@\vbox\bgroup \let\providecommand\providecommand@j@nk - \let@environment{thebibliography}{thebibliography@nogroup}% \let\bibfield\@gobbletwo \let\bibinfo\@gobbletwo \let\translation\@gobble @@ -3908,10 +4115,13 @@ The file \file{template.aps} is a boilerplate file. \let\emph\@gobble \@booleanfalse\bibitem@sw \let\bibitem\bibitem@set - \setbox\z@\vbox{\IfFileExists {\jobname.bbl}{\@@input\@filef@und}{}}% + \auto@bib@innerbib \bibitem@sw{\aftergroup\true@sw}{\aftergroup\false@sw}% - \endgroup + \egroup }% +% \end{macrocode} +% The \cmd\bibitem@set\ is an alias for \cmd\bibitem\ for the purpose of detecting a non-trivial bibliography. +% \begin{macrocode} \newcommand\bibitem@set[1][]{% \bibitem@sw{}{% \@booleantrue\bibitem@sw @@ -3919,6 +4129,25 @@ The file \file{template.aps} is a boilerplate file. }% }% % \end{macrocode} +% The \cmd\auto@bib@innerbib\ procedure reads in the \filename{.bbl} file (if it exists) +% within a context where its \env{thebibliography} environment does nothing, not even establishing a group. +% \begin{macrocode} +\def\auto@bib@innerbib{% + \begingroup + \let@environment{thebibliography}{thebibliography@nogroup}% + \bibliography{}% + \endgroup +}% +% \end{macrocode} +% Environment \env{thebibliography@nogroup} is an alias of the \env{thebibliography} environment that cancels itself. +% It assumes that it is called within a \env{thebibliography} environment. +% \begin{macrocode} +\def\thebibliography@nogroup#1{% + \endgroup + \def\@currenvir{thebibliography}% +}% +\def\endthebibliography@nogroup{\begingroup}% +% \end{macrocode} % The following should be part of \filename{ltxutil}. % \begin{macrocode} \long\def \@gobblethree #1#2#3{}% @@ -3932,10 +4161,13 @@ The file \file{template.aps} is a boilerplate file. }% }% }% -\def\thebibliography@nogroup#1{\endgroup\def\@currenvir{thebibliography}}% -\def\endthebibliography@nogroup{\begingroup}% % \end{macrocode} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \section{Initial setup} % @@ -4079,7 +4311,7 @@ The file \file{template.aps} is a boilerplate file. % DPC: We're in galley style so do a lob sided display environment. % % QUERY: How can we be sure that we are in galley style? -% ANSWER: as noted elsewhere, require both \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ to be false. +% ANSWER: as noted elsewhere, require that both \cmd\twocolumn@sw\ and \cmd\preprintsty@sw\ be false. % \begin{macrocode} \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}% \let\widetext@outdent\@empty @@ -4114,16 +4346,14 @@ The file \file{template.aps} is a boilerplate file. % \changes{4.0c}{1999/11/13}{grid changes with ltxgrid} % % Note that, for the procedure \cmd\close@column@grid, -% we balance columns by switching to the one-column page grid, -% then we return to a two-column page grid in anticipation of the -% upcoming \cmd\clearpage. +% we balance columns by switching to the one-column page grid. % \begin{macrocode} \def\title@column@grid#1{% \minipagefootnote@init \onecolumngrid \begingroup \let\@footnotetext\frontmatter@footnotetext - \let\set@footnotewidth\set@footnotewidth@ii +%<ignore> \let\set@footnotewidth\set@footnotewidth@two \ltx@no@footnote #1% \endgroup @@ -4133,7 +4363,7 @@ The file \file{template.aps} is a boilerplate file. \def\close@column@grid{% \balancelastpage@sw{% \onecolumngrid -% \twocolumngrid +%<ignore> \twocolumngrid }{}% }% % \end{macrocode} @@ -4149,34 +4379,39 @@ The file \file{template.aps} is a boilerplate file. % % Note that we set adornments above and below the \env{widettext}. % These are set as leaders, so they will disappear at a page break. +% \changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}% % \begin{macrocode} \newenvironment{widetext@grid}{% \par\ignorespaces \setbox\widetext@top\vbox{% - \vskip15\p@ +%<ignore> \vskip15\p@ \hb@xt@\hsize{% \leaders\hrule\hfil \vrule\@height6\p@ }% - \vskip6\p@ +%<ignore> \vskip6\p@ }% \setbox\widetext@bot\hb@xt@\hsize{% \vrule\@depth6\p@ \leaders\hrule\hfil }% \onecolumngrid + \vskip10\p@ \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top \cleaders\box\widetext@top\vskip\dimen@ - \let\set@footnotewidth\set@footnotewidth@ii +%<ignore> \let\set@footnotewidth\set@footnotewidth@two + \vskip6\p@ \prep@math@patch }{% \par + \vskip6\p@ \setbox\widetext@bot\vbox{% \hb@xt@\hsize{\hfil\box\widetext@bot}% - \vskip14\p@ +%<ignore> \vskip14\p@ }% \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot \cleaders\box\widetext@bot\vskip\dimen@ + \vskip8.5\p@ \twocolumngrid\global\@ignoretrue \@endpetrue }% @@ -4190,6 +4425,13 @@ The file \file{template.aps} is a boilerplate file. % \begin{macrocode} \def\set@page@grid{% \twocolumn@sw{% +% \end{macrocode} +% The following two assignments determine what procedures are to be executed when +% the footnote set width is calculated, and how footnotes are to be composed at the bottom of the page. +% A society or journal wishing to do otherwise will override this code. +% \begin{macrocode} + \let\set@footnotewidth\set@footnotewidth@two + \let\compose@footnotes\compose@footnotes@two \let@environment{widetext}{widetext@grid}% \let\title@column\title@column@grid \let\close@column\close@column@grid @@ -4564,7 +4806,7 @@ The file \file{template.aps} is a boilerplate file. % % \section{Patches for lineno.sty} % -% The \filename{lineno.sty} package detects the case where the package has been loaded +% The \classname{lineno} package detects the case where the package has been loaded % and the document invokes \cmd\linelabel, but the \cmd\linenumbers\ command has not been % issued: it treats this case as an error. % @@ -4591,7 +4833,7 @@ The file \file{template.aps} is a boilerplate file. % If appropriate, enable line numbering within the abstract. % % This mechanism applies generally: -% Create the box in a context in which the meaning of \cmd\par\ has been patched by \filename{lineno.sty}, +% Create the box in a context in which the meaning of \cmd\par\ has been patched by \classname{lineno}, % then \cmd\unvbox\ the box in a context where \cmd\set@linepenalties\ has been executed, and % follow up with \cmd\@linenumberpar, which forces a visit to the output routine just there. % Note that here, we have to de-fang \cmd\@LN@parpgbrk, which would otherwise causes the appearance @@ -4763,26 +5005,26 @@ The file \file{template.aps} is a boilerplate file. % Warn if past maturation date. This code to be enabled only in beta software. % \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}% % \changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}% -% \begin{verbatim} -% \def\rtx@fin@year{2010}% -% \def\rtx@fin@month{01}% -% \def\rtx@fin@day{01}% -% \end{verbatim} % \begin{macrocode} -\def\rtx@fin@warn{% - \@ifnum{\rtx@fin@year>\the\year\relax}{\true@sw}{% - \@ifnum{\rtx@fin@month>\the\month\relax}{\true@sw}{% - \@ifnum{\rtx@fin@day>\the\day\relax}{\true@sw}{% - \false@sw +%<*ignore> + \def\rtx@fin@year{2010}% + \def\rtx@fin@month{01}% + \def\rtx@fin@day{01}% + \def\rtx@fin@warn{% + \@ifnum{\rtx@fin@year>\the\year\relax}{\true@sw}{% + \@ifnum{\rtx@fin@month>\the\month\relax}{\true@sw}{% + \@ifnum{\rtx@fin@day>\the\day\relax}{\true@sw}{% + \false@sw + }% }% }% + {% + \class@info{Beta software expires \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; updates available at http://publish.aps.org/revtex4/}% + }{% + \class@warn{Outdated software expired \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; please retrieve an update at http://publish.aps.org/revtex4/}% + }% }% - {% - \class@info{Beta software expires \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; updates available at http://publish.aps.org/revtex4/}% - }{% - \class@warn{Outdated software expired \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; please retrieve an update at http://publish.aps.org/revtex4/}% - }% -}% +%</ignore> % \end{macrocode} % In shipping (non-beta) software, the following line should be commented out. % \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}% @@ -5166,8 +5408,10 @@ The file \file{template.aps} is a boilerplate file. \headsep 16pt % \end{macrocode} % +% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% % \begin{macrocode} \topskip 10pt +\splittopskip\topskip % \end{macrocode} % % \begin{macrocode} @@ -5187,10 +5431,14 @@ The file \file{template.aps} is a boilerplate file. \columnseprule 0pt % \end{macrocode} % +% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% % \begin{macrocode} \footnotesep 1pt -\skip\footins 39pt plus 4pt minus 2pt -\def\footnoterule{\kern-19pt\hrule width.5in\kern18.6pt\relax}% +\skip\footins 39pt plus 4pt minus 12pt +\def\footnoterule{% + \dimen@\skip\footins\divide\dimen@\tw@ + \kern-\dimen@\hrule width.5in\kern\dimen@ +}% % \end{macrocode} % % \begin{macrocode} @@ -5519,8 +5767,10 @@ The file \file{template.aps} is a boilerplate file. \headsep 25pt % \end{macrocode} % +% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% % \begin{macrocode} \topskip 10pt +\splittopskip\topskip % \end{macrocode} % % \begin{macrocode} @@ -5550,10 +5800,14 @@ The file \file{template.aps} is a boilerplate file. \columnseprule 0pt % \end{macrocode} % +% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% % \begin{macrocode} \footnotesep 1pt -\skip\footins 25.25pt plus 4pt minus 2pt -\def\footnoterule{\kern-5.25pt\hrule width.5in\kern4.85pt\relax} +\skip\footins 25.25pt plus 4pt minus 12pt +\def\footnoterule{% + \dimen@\skip\footins\divide\dimen@\f@ur + \kern-\dimen@\hrule width.5in\kern\dimen@ +}% % \end{macrocode} % % \begin{macrocode} @@ -5711,39 +5965,40 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % % \subsection{Abbreviations}% +% \changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal abbreviation: it had caused an extraneous space in the .bbl} % The following macros constitute typing shortcuts for % certain journal names. % \begin{macrocode} -\def\ao{Appl.\ Opt.\ }% -\def\ap{Appl.\ Phys.\ }% -\def\apl{Appl.\ Phys.\ Lett.\ }% -\def\apj{Astrophys.\ J.\ }% -\def\bell{Bell Syst.\ Tech.\ J.\ }% -\def\jqe{IEEE J.\ Quantum Electron.\ }% -\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.\ }% -\def\aprop{IEEE Trans.\ Antennas Propag.\ }% -\def\mtt{IEEE Trans.\ Microwave Theory Tech.\ }% -\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.\ }% -\def\jcp{J.\ Chem.\ Phys.\ }% -\def\jmo{J.\ Mod.\ Opt.\ }% -\def\josa{J.\ Opt.\ Soc.\ Am.\ }% -\def\josaa{J.\ Opt.\ Soc.\ Am.\ A }% -\def\josab{J.\ Opt.\ Soc.\ Am.\ B }% -\def\jpp{J.\ Phys.\ (Paris) }% -\def\nat{Nature (London) }% -\def\oc{Opt.\ Commun.\ }% -\def\ol{Opt.\ Lett.\ }% -\def\pl{Phys.\ Lett.\ }% -\def\pra{Phys.\ Rev.\ A }% -\def\prb{Phys.\ Rev.\ B }% -\def\prc{Phys.\ Rev.\ C }% -\def\prd{Phys.\ Rev.\ D }% -\def\pre{Phys.\ Rev.\ E }% -\def\prl{Phys.\ Rev.\ Lett.\ }% -\def\rmp{Rev.\ Mod.\ Phys.\ }% -\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.\ }% -\def\sjqe{Sov.\ J.\ Quantum Electron.\ }% -\def\vr{Vision Res.\ }% +\def\ao{Appl.\ Opt.}% +\def\ap{Appl.\ Phys.}% +\def\apl{Appl.\ Phys.\ Lett.}% +\def\apj{Astrophys.\ J.}% +\def\bell{Bell Syst.\ Tech.\ J.}% +\def\jqe{IEEE J.\ Quantum Electron.}% +\def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.}% +\def\aprop{IEEE Trans.\ Antennas Propag.}% +\def\mtt{IEEE Trans.\ Microwave Theory Tech.}% +\def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.}% +\def\jcp{J.\ Chem.\ Phys.}% +\def\jmo{J.\ Mod.\ Opt.}% +\def\josa{J.\ Opt.\ Soc.\ Am.}% +\def\josaa{J.\ Opt.\ Soc.\ Am.\ A}% +\def\josab{J.\ Opt.\ Soc.\ Am.\ B}% +\def\jpp{J.\ Phys.\ (Paris)}% +\def\nat{Nature (London)}% +\def\oc{Opt.\ Commun.}% +\def\ol{Opt.\ Lett.}% +\def\pl{Phys.\ Lett.}% +\def\pra{Phys.\ Rev.\ A}% +\def\prb{Phys.\ Rev.\ B}% +\def\prc{Phys.\ Rev.\ C}% +\def\prd{Phys.\ Rev.\ D}% +\def\pre{Phys.\ Rev.\ E}% +\def\prl{Phys.\ Rev.\ Lett.}% +\def\rmp{Rev.\ Mod.\ Phys.}% +\def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.}% +\def\sjqe{Sov.\ J.\ Quantum Electron.}% +\def\vr{Vision Res.}% % \end{macrocode} % % \subsection{APS Setup}% @@ -5901,7 +6156,12 @@ The file \file{template.aps} is a boilerplate file. \def\frontmatter@abstractwidth{\textwidth}% \def\frontmatter@affiliationfont{\it}% \let\section\section@preprintsty +% \end{macrocode} +% The following line of code had been commented out at this point. +% \begin{verbatim} % \let\@hangfrom@section\@hangfrom@section@preprintsty +% \end{verbatim} +% \begin{macrocode} \let\subsection\subsection@preprintsty \let\subsubsection\subsubsection@preprintsty }{% @@ -5925,9 +6185,14 @@ The file \file{template.aps} is a boilerplate file. \advance\baselineskip\p@ \parskip11.5\p@\relax \@flushglue\skip@ +% \end{macrocode} +% The following line of code had been commented out at this point. +% \begin{verbatim} %\preprintsty@sw{}{% % \addvspace{0\p@}% %}% +% \end{verbatim} +% \begin{macrocode} }% % \end{macrocode} % \end{macro} @@ -5937,9 +6202,14 @@ The file \file{template.aps} is a boilerplate file. % APS Journals have 24 points b-b above an affiliation group. % \begin{macrocode} \def\frontmatter@above@affilgroup{% +% \end{macrocode} +% The following line of code had been commented out at this point. +% \begin{verbatim} %\preprintsty@sw{}{% % \addvspace{11\p@}% %}% +% \end{verbatim} +% \begin{macrocode} }% % \end{macrocode} % \end{macro} @@ -5958,7 +6228,12 @@ The file \file{template.aps} is a boilerplate file. }% \def\frontmatter@above@affiliation{% \preprintsty@sw{}{% +% \end{macrocode} +% The following line of code had been commented out at this point. +% \begin{verbatim} % \addvspace{12\p@}% +% \end{verbatim} +% \begin{macrocode} }% }% % \end{macrocode} @@ -6035,7 +6310,12 @@ The file \file{template.aps} is a boilerplate file. \def\frontmatter@RRAP@format{% \small \centering +% \end{macrocode} +% The following line of code had been commented out at this point. +% \begin{verbatim} % \preprintsty@sw{}{\parskip.5ex\relax}% +% \end{verbatim} +% \begin{macrocode} \everypar{\hbox\bgroup(\@gobble@leavemode@uppercase}% \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}% }% @@ -6367,10 +6647,9 @@ The file \file{template.aps} is a boilerplate file. % % \subsubsection{Default column bottom}% % All APS journal styles have flush bottoms. -% -% APS journals may set with ragged bottoms. +%\changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms} % \begin{macrocode} -\@booleantrue\raggedcolumn@sw +\@booleanfalse\raggedcolumn@sw % \end{macrocode} % % @@ -6398,10 +6677,11 @@ The file \file{template.aps} is a boilerplate file. % % % \subsubsection{Footnote formatting}% +% \changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter@makefntext} must be defined harmoniously}% % We customize the formatting of footnotes for all APS journals. % \begin{macro}{\@makefntext} % \begin{macrocode} -\def\@makefntext#1{% +\long\def\@makefntext#1{% \def\baselinestretch{1}% \leftskip1em% \parindent1em% @@ -6415,6 +6695,26 @@ The file \file{template.aps} is a boilerplate file. }% % \end{macrocode} % \end{macro} +% \begin{macro}{\frontmatter@makefntext} +% We ensure that frontmatter footnotes format similarly to body footnotes. +% But we provide our own hypertext anchor, otherwise not provided. +% \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract footnote counter shared with body.}% +% \begin{macrocode} +\long\def\frontmatter@makefntext#1{% + \def\baselinestretch{1}% + \leftskip1em% + \parindent1em% + \noindent + \nobreak\hskip-\leftskip + \Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper@anchorend}% + \hb@xt@\leftskip{% + \hss\@makefnmark\ % + }% + #1% + \par +}% +% \end{macrocode} +% \end{macro} % % % \subsubsection{Appendix}% @@ -6449,11 +6749,11 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % % \subsubsection{Bibliography}% +% \changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}% % % Customize \revtex\ for the journal substyle; % this task requires three components: -% the \BibTeX\ \file{apsrev.bst} and \file{apsrmp.bst} style files, -% customizing code for \file{natbib}, and +% the \BibTeX\ \file{apsrev.bst} and \file{apsrmp.bst} style files, and % customizations of the \env{thebibliography} environment. % % \begin{macro}{\@bibstyle} @@ -6470,7 +6770,6 @@ The file \file{template.aps} is a boilerplate file. % \def\CandE#1{\item\relax\texttt{#1}---}% % \begin{enumerate} % \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title -% \QandA{ANNOTATIONS}{a}{annote}Annotations in \texttt{annote} field or in \file{.tex} file of citekey name % \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face % \QandA{ORDERING OF REFERENCES}{c}{seq-no}Citation order (unsorted, like unsrt.bst) % \QandA{ORDER ON VON PART}{x}{vonx}Sort without von part (de la Maire after Mahone) @@ -6546,7 +6845,7 @@ The file \file{template.aps} is a boilerplate file. %\input docstrip %\preamble %---------------------------------------- -%*** REVTeX-compatible Phys Rev 2009-10-08 *** +%*** REVTeX-compatible Phys Rev 2010-02-12 *** %\endpreamble %\postamble %End of customized bst file @@ -6560,10 +6859,11 @@ The file \file{template.aps} is a boilerplate file. %\from{photjour.mbs}{\MBopta} %\from{merlin.mbs}{tail,\MBopta}} %\def\MBopta{% +% ay,%: Author-year with some non-standard interface +% nat,%: Natbib for use with natbib v5.3 or later % lang,%: Use language field to switch hyphenation patterns for title -% annote,%: Annotations in annote field or in .tex file of citekey name % pres,pres-bf,%: Presentation, speaker bold face -% seq-no,%: Citation order (unsorted, like unsrt.bst) +% seq-no,%: Citation order (unsorted, only meaningful for numericals) % vonx,%: Sort without von part (de la Maire after Mahone) % nm-init,ed-au,%: Initials + surname (J. F. Smith) % jnrlst,%: Junior comes last as Smith, John, Jr. @@ -6573,7 +6873,10 @@ The file \file{template.aps} is a boilerplate file. % nmand-rm,%: `And' in normal font (JONES and JAMES) % lab,lab-def,%: User defined citation font (\citenamefont) % and-rm,%: Cited `and' in normal font -% yr-par,%: Date in parentheses as (May 1993) +% keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0) +% blkyear,%: Missing date left blank +% yr-par,%: Year in parentheses as (1993) +% dtrev,%: Date as year month % date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma) % tit-qq,%: Title and punctuation in double quotes (``Title,'' ..) % inproceedings-chapter,%: produce pages after chapter, just as in InBook @@ -6637,17 +6940,19 @@ The file \file{template.aps} is a boilerplate file. % Note that \file{apsrevlong.dbj} is the same as \file{apsrev.dbj}, except: % \begin{itemize} % \item -% Remove \texttt{jtit-x}, \texttt{jpg-1}. This means article titles and full page range. +% Remove \texttt{jpg-1}. This means full page range. % \item -% Add \texttt{article-title-o}: article title is not required. +% Remove \texttt{jtit-x}, and add \texttt{article-title-o}: article title is accepted, but not required. % \item % Remove \texttt{nm-init}. This means full names. % \item +% Add \texttt{note-yr}. This means year field produced in full. +% \item % The file to be \cmd\generate d is \filename{apsrev4-1long.bst} instead of \filename{apsrev4-1.bst}. % \end{itemize} % % -% \subsubsection{Comparing apsrev.bst and apsrmp.bst} +% \subsubsection{Comparing apsrev.bst and apsrmp.bst}\label{sec:CompRevRmp} % These two bibliographic styles differ as follows: % \file{apsrev.dbj} has the following guard codes, which \file{apsrmp.dbj} does not: % \begin{itemize} @@ -6655,8 +6960,8 @@ The file \file{template.aps} is a boilerplate file. % Citation order (unsorted, like unsrt.bst) % \CandE{nm-init,ed-au}% % Initials + surname (J. F. Smith) -% \CandE{yr-par}% -% Date in parentheses as (May 1993) +% \CandE{blkyear}% +% Missing date left blank % \CandE{date-nil-x}% % If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma) % \CandE{inproceedings-chapter}% @@ -6664,22 +6969,33 @@ The file \file{template.aps} is a boilerplate file. % \CandE{techreport-institution-par}% % format tech report institution like book publisher % \CandE{vnum-x}% -% Journal vol, without number as 34 +% Journal vol, without number as `34' % \CandE{pub-date}% % Publisher with address and date in parentheses (Oxford, 1994) % \CandE{pre-pub}% -% Publisher before volume, chapter, pages -% \CandE{pre-pub,pre-edn}% -% Edition, publisher, volume, chapter, pages -% \CandE{url,url-prefix-x}% -% URL without prefix (default: `URL ') +% Edition, publisher, volume, chapter, pages. Note that both use guard code pre-edn. % \end{itemize} % -% To get a banner in the \file{.blg} file, patch by hand into \file{apsrev.bst}: -% \begin{verbatim} -% FUNCTION {banner.log} {"REVTeX-compatible apsrev.bst 9812" warning$} -% \end{verbatim} -% and invoke \texttt{banner.log} from within \texttt{begin.bib} +% \file{apsrmp.dbj} has the following guard codes, which \file{apsrev.dbj} does not: +% \begin{itemize} +% \CandE{nm-rev1}% +% Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones) +% \CandE{dt-beg}% +% Date after authors +% \CandE{vnum-sp}% +% Journal vol (num) as `34 (2)' +% \CandE{pp-last}% +% Pages at end, but before any notes +% \CandE{pub-par}% +% Publisher in parentheses +% \CandE{school-par}% +% School/address in parens: `(school, address)' +% \CandE{bkedcap}% +% `Name Editor,' as above, editor upper case +% \CandE{and-com}% +% Comma even with 2 authors as `Tom, and Harry' +% +% \end{itemize} % % We ensure that the journal substyle has the first word % in the matter by installing the (default) APS code @@ -7048,6 +7364,11 @@ The file \file{template.aps} is a boilerplate file. % \begin{macrocode} \rtx@apsprb % \end{macrocode} +% Per Mark Doyle (2009-12-22), the default is longbibliography. +% \changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}% +% \begin{macrocode} + \@booleantrue\longbibliography@sw +% \end{macrocode} % % ``Section heads are bold, centered (Roman numeral, Latin letter)'' % @@ -7079,6 +7400,46 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % \end{macro} % +% \begin{macro}{\@bibdataout@init} +% \begin{macro}{\@bibdataout@aps} +% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}% +% Procedure \cmd\@bibdataout@aps\ has the job of writing the control record into the +% job's \cmd\jobname\filename{.bib} file, where it will adjust the options to \filename{.bst} processing. +% It is installed into the initialization procedure \cmd\@bibdataout@init, and its meaning +% is set by the society (APS) and journal. +% For all but RMP, we select the Physical Review style. +% For the latter case, we change the meaning, per the code in \file{apsrmp.rtx}. +% +% \begin{macrocode} +\appdef\@bibdataout@init{\@bibdataout@aps}% +\def\@bibdataout@aps{% + \immediate\write\@bibdataout{% +% \end{macrocode} +% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. +% \begin{macrocode} + @CONTROL{% + apsrev41Control% +% \end{macrocode} +% Say whether we want long bibliography style (the default), or the abbreviated style. +% \begin{macrocode} + \longbibliography@sw{% + ,author="00",editor="1",pages="1",title="0",year="0"% + }{% + ,author="08",editor="1",pages="0",title="",year="1"% + }% + }% + }% +% \end{macrocode} +% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. +% \begin{macrocode} + \if@filesw + \immediate\write\@auxout{\string\citation{apsrev41Control}}% + \fi +}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \begin{macro}{\place@bibnumber} % \begin{macro}{\@bibstyle} % We install code that will select the presentation for \cmd\bibitem s @@ -7086,12 +7447,14 @@ The file \file{template.aps} is a boilerplate file. % \begin{macrocode} \let\place@bibnumber\place@bibnumber@inl \def\@bibstyle{apsrev\substyle@post}% -\appdef\setup@hook{% - \longbibliography@sw{% - \appdef\@bibstyle{long}% - }{}% -}% % \end{macrocode} +% \begin{verbatim} +%\appdef\setup@hook{% +% \longbibliography@sw{% +% \appdef\@bibstyle{long}% +% }{}% +%}% +% \end{verbatim} % \end{macro} % \end{macro} % @@ -7361,10 +7724,14 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % % Footnote mods: +% \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\cs{footins}; \cs{footnoterule} defined in terms of \cs{skip}\cs{footins}}% % \begin{macrocode} \footnotesep 9.25pt - \skip\footins 36pt plus 4pt minus 2pt - \def\footnoterule{\kern-13pt\hrule width.5in\kern15.6pt\relax}% + \skip\footins 36pt plus 4pt minus 12pt + \def\footnoterule{% + \dimen@\skip\footins\divide\dimen@\thr@@ + \kern-\dimen@\hrule width.5in\kern\dimen@ + }% % \end{macrocode} % % @@ -7533,7 +7900,6 @@ The file \file{template.aps} is a boilerplate file. % \QandA{STYLE OF CITATIONS}{a}{ay}Author-year with some non-standard interface % \QandA{AUTHOR}{*}{nat}Natbib for use with natbib v5.3 or later % \QandA{LANGUAGE FIELD}{l}{lang}Use language field to switch hyphenation patterns for title -% \QandA{ANNOTATIONS}{a}{annote}Annotations in annote field or in .tex file of citekey name % \QandA{PRESENTATIONS}{b}{pres,pres-bf}Presentation, speaker bold face % \QandA{ORDER ON VON PART }{x}{vonx}Sort without von part (de la Maire after Mahone) % \QandA{AUTHOR NAMES}{a}{nm-rev1}Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones) @@ -7611,7 +7977,7 @@ The file \file{template.aps} is a boilerplate file. %\input docstrip %\preamble %---------------------------------------- -%*** REVTeX-compatible RMP 2009-10-08 *** +%*** REVTeX-compatible RMP 2010-02-12 *** %\endpreamble %\postamble %End of customized bst file @@ -7628,7 +7994,6 @@ The file \file{template.aps} is a boilerplate file. % ay,%: Author-year with some non-standard interface % nat,%: Natbib for use with natbib v5.3 or later % lang,%: Use language field to switch hyphenation patterns for title -% annote,%: Annotations in annote field or in .tex file of citekey name % pres,pres-bf,%: Presentation, speaker bold face % vonx,%: Sort without von part (de la Maire after Mahone) % nm-rev1,%: Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones) @@ -7641,11 +8006,9 @@ The file \file{template.aps} is a boilerplate file. % and-rm,%: Cited `and' in normal font % keyxyr,%: Year blank when KEY replaces missing author (for natbib 7.0) % dt-beg,%: Date after authors -% yr-com,%: Date preceded by comma as `, 1993' -% aymth,%: Include month in date +% yr-par,%: Year in parentheses as (1993) % dtrev,%: Date as year month % date-nil-x,%: If date is empty, then do not produce the surrounding punctuation (parens, brackets, colon, comma) -% note-yr,%: Year text full as 1990--1993 or `in press' % tit-qq,%: Title and punctuation in double quotes (``Title,'' ..) % inproceedings-chapter,%: produce pages after chapter, just as in InBook % jtit-x,%: Title is ignored @@ -7712,49 +8075,18 @@ The file \file{template.aps} is a boilerplate file. % Note that \file{apsrmplong.dbj} is the same as \file{apsrmp.dbj}, except: % \begin{itemize} % \item -% Remove \texttt{jtit-x}, \texttt{jpg-1}. This means article titles and full page range. +% Remove \texttt{jpg-1}. This means full page range. +% \item +% Remove \texttt{jtit-x}, and add \texttt{article-title-o}: article title is accepted, but not required. +% \item +% Remove \texttt{nm-revv1}, and add \texttt{nm-rev1}. This means full author names, with first author reversed. % \item -% Add \texttt{article-title-o}: article title is optional. +% Add \texttt{note-yr}. This means year field produced in full. % \item -% Remove \texttt{nm-rev1}, remove \texttt{nm-revv1}. This means full author names. +% The file to be \cmd\generate d is \filename{apsrmp4-1long.bst} instead of \filename{apsrmp4-1.bst}. % \end{itemize} % -% \subsubsection{Comparing apsrev.bst and apsrmp.bst} -% These two bibliographic styles differ as follows: -% \file{apsrmp.dbj} has the following guard codes, which \file{apsrev.dbj} does not: -% \begin{itemize} -% \CandE{ay}% -% Author-year with some non-standard interface -% \CandE{nat}% -% Natbib for use with natbib v5.3 or later -% \CandE{nm-rev1}% -% Only first name reversed, initials (AGU style: Smith, J. F., H. K. Jones) -% \CandE{keyxyr}% -% Year blank when KEY replaces missing author (for natbib 7.0) -% \CandE{dt-beg}% -% Date after authors -% \CandE{yr-com}% -% Date preceded by comma as `, 1993' -% \CandE{aymth}% -% Include month in date -% \CandE{dtrev}% -% Date as year month -% \CandE{note-yr}% -% Year text full as 1990--1993 or `in press' -% \CandE{vnum-sp}% -% Journal vol (num) as 34 (2) -% \CandE{pp-last}% -% Pages at end but before any notes -% \CandE{pub-par}% -% Publisher in parentheses -% \CandE{school-par}% -% school/address in parens: `(school, address)' -% \CandE{bkedcap}% -% `Name Editor,' as above, editor upper case -% \CandE{and-com}% -% Comma even with 2 authors as `Tom, and Harry' -% \end{itemize} -% +% For a comparison between apsrmp.bst and apsrev.bst, see Section~\ref{sec:CompRevRmp}. % % \changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle@post}} % \begin{macrocode} @@ -7770,11 +8102,36 @@ The file \file{template.aps} is a boilerplate file. % \end{macrocode} % \end{macro} % -% \begin{macro}{\cite} -% Per Mark Doyle, \cmd\cite\ is mapped to \cmd\citep\ in RMP. -% +% \begin{macro}{\@bibdataout@rmp} +% \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}% +% When the journal is RMP, the meaning of the procedure \cmd\@bibdataout@aps\ needs to be different +% because of the way the author names are formatted. In other respects, it is the same. % \begin{macrocode} -\let\cite\citep +\def\@bibdataout@aps{% + \immediate\write\@bibdataout{% +% \end{macrocode} +% An entry that controls processing of the \filename{.bst} file has entry type \texttt{@CONTROL}. +% This entry's cite key is \texttt{apsrmp41Control}, which serves as a version number. +% \begin{macrocode} + @CONTROL{% + apsrmp41Control% +% \end{macrocode} +% Say whether we want long bibliography style (the default), or the abbreviated style. +% \begin{macrocode} + \longbibliography@sw{% + ,author="03",editor="0",pages="1",title="0",year="0"% + }{% + ,author="0B",editor="0",pages="0",title="",year="1"% + }% + }% + }% +% \end{macrocode} +% Place a \cmd\citation\ into the auxiliary file corresponding to this entry. +% \begin{macrocode} + \if@filesw + \immediate\write\@auxout{\string\citation{apsrmp41Control}}% + \fi +}% % \end{macrocode} % \end{macro} % @@ -7784,6 +8141,7 @@ The file \file{template.aps} is a boilerplate file. % \begin{macro}{\newblock} % \begin{macro}{\bibhang} % \begin{macro}{\bibsep} +% \begin{macro}{\cite} % The following commands effectively establish the style in which \cmd\cite\ commands are % formatted. % You can think of them as the second needed component for the bibliography. @@ -7817,7 +8175,9 @@ The file \file{template.aps} is a boilerplate file. % We define the punctuation to use in the \cmd\cite\ command's production. % % \begin{macrocode} - \bibpunct{(}{)}{;}{a}{,}{,}% + \bibpunct{(%) + }{%( + )}{;}{a}{,}{,}% % \end{macrocode} % % We define the sectioning command to use when starting the bibliography. @@ -7831,6 +8191,16 @@ The file \file{template.aps} is a boilerplate file. \def\newblock{\ }% \bibhang10\p@ \bibsep\z@ +% \end{macrocode} +% +% Per Mark Doyle, \cmd\cite\ is mapped to \cmd\citep\ in RMP. +% \changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads} +% \begin{macrocode} + \let\cite\citep +% \end{macrocode} +% +% End of code to be delayed until after \classname{natbib} loads. +% \begin{macrocode} }% % \end{macrocode} % \end{macro} @@ -7839,6 +8209,7 @@ The file \file{template.aps} is a boilerplate file. % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}{\footinbib@sw} % Footnotes in bibliography are consistent only with numbered citations, |