From a48050f58f08e3e3587a95252fd35700aa99f948 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 7 Oct 2020 21:52:43 +0000 Subject: revtex4 from phelype .tds.zip git-svn-id: svn://tug.org/texlive/trunk@56589 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/revtex4/ltxdocext.dtx | 12 +- Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx | 46 +- Master/texmf-dist/source/latex/revtex4/ltxutil.dtx | 175 +- .../source/latex/revtex4/revtex4-bst.dtx | 2487 ++++++++++++++++++++ Master/texmf-dist/source/latex/revtex4/revtex4.dtx | 4 +- .../texmf-dist/source/latex/revtex4/textcase.dtx | 1 - 6 files changed, 2665 insertions(+), 60 deletions(-) create mode 100644 Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx (limited to 'Master/texmf-dist/source/latex/revtex4') diff --git a/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx b/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx index ee9d71c9c04..67b0c9aa303 100644 --- a/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx +++ b/Master/texmf-dist/source/latex/revtex4/ltxdocext.dtx @@ -10,7 +10,6 @@ % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi -% \CheckSum{938} %% \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 @@ -30,10 +29,8 @@ % \iffalse ltxdoc klootch %%% @LaTeX-file{ %%% filename = "ltxdocext.dtx", -%%% version = "0.0a0", -%%% date = "1999/06/04", -%%% time = "11:23:00 GMT", -%%% checksum = "929", +%%% version = "0.1", +%%% date = "2020/09/30", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com)", %%% copyright = "Copyright (C) 1999 Arthur Ogawa, %%% all rights reserved. Copying of this file is @@ -51,7 +48,6 @@ %%% keywords = "latex, ltxdoc", %%% supported = "yes", %%% abstract = "extensions to the ltxdoc class", -%%% docstring = "The checksum field above generated by ltxdoc", %%% } % \fi % @@ -134,7 +130,7 @@ % consistently in all generated files and in the % typeset documentation. % \begin{macrocode} - [1999/06/04 0.0a0 ltxdoc extensions package]% \fileversion + [2020/09/30 0.1 ltxdoc extensions package]% \fileversion % \end{macrocode} % % @@ -173,7 +169,7 @@ \begin{filecontents}{ltxdocext.sty} % Stub version of ltxdocext.sty \end{filecontents} -\begin{filecontents}{acrofont.sty} +\begin{filecontents}[overwrite]{acrofont.sty} % Stub version of acrofont.sty \end{filecontents} % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx b/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx index ab0209ed098..c2ab9e24435 100644 --- a/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx +++ b/Master/texmf-dist/source/latex/revtex4/ltxgrid.dtx @@ -10,17 +10,16 @@ % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi -% \GetFileInfo{ltxgrid.dtx}\CheckSum{4234} +% \GetFileInfo{ltxgrid.dtx} % % \iffalse ltxdoc klootch %<*ltxgrid> %%% @LaTeX-file{ %%% filename = "ltxgrid.dtx", -%%% version = "1.0rc5", -%%% date = "2001/07/26", -%%% time = "12:23:00 GMT+8", -%%% checksum = "4234", +%%% version = "1.0d", +%%% date = "2020/09/30", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com), +%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org), %%% commissioned by the American Physical Society. %%% ", %%% copyright = "Copyright (C) 1999, 2000 Arthur Ogawa, @@ -37,7 +36,6 @@ %%% keywords = "latex, page grid, main vertical list", %%% supported = "yes", %%% abstract = "package to change page grid, MVL", -%%% docstring = "The checksum field above generated by ltxdoc", %%% } % % \fi @@ -121,7 +119,7 @@ % typeset documentation. % \begin{macrocode} %<*doc|ltxgrid> - [2001/07/26 1.0rc5 page grid package]% \fileversion + [2020/09/30 1.0d page grid package]% \fileversion % % \end{macrocode} % @@ -154,14 +152,10 @@ \documentclass{ltxdoc} \RequirePackage{ltxdocext}% \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% -\ifx\package@font\@undefined\else - \expandafter\expandafter - \expandafter\RequirePackage - \expandafter\expandafter - \expandafter{% - \csname package@font\endcsname - }% -\fi +\makeatletter +\@ifundefined{package@font}{}% + {\expandafter\RequirePackage\expandafter{\csname package@font\endcsname}} +\makeatother \CodelineIndex\EnableCrossrefs % \end{macrocode} % @@ -4037,12 +4031,22 @@ in your filesystem where they will be found by \LaTeX. % FIXME: it should be the job of the page grid to determine the procedure to execute at % the start of the job. Make this a hook. % \begin{macrocode} -\prepdef\@begindocumenthook{% - \open@column@one\@ne - \set@colht - \@floatplacement - \@dblfloatplacement -}% +\rvtx@ifformat@geq{2020-10-01}% + {% + \AddToHook{begindocument}{% + \open@column@one\@ne + \set@colht + \@floatplacement + \@dblfloatplacement + }% + }{% + \prepdef\@begindocumenthook{% + \open@column@one\@ne + \set@colht + \@floatplacement + \@dblfloatplacement + }% + } % \end{macrocode} % \end{macro} % diff --git a/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx b/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx index 5553e3a863e..02947a6a944 100644 --- a/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx +++ b/Master/texmf-dist/source/latex/revtex4/ltxutil.dtx @@ -10,17 +10,16 @@ % For the documentation and more detailed instructions for % installation, typeset this document with \LaTeX. % \fi -% \GetFileInfo{ltxutil.dtx}\CheckSum{3641} +% \GetFileInfo{ltxutil.dtx} % % \iffalse ltxdoc klootch %<*ltxutil> %%% @LaTeX-file{ %%% filename = "ltxutil.dtx", -%%% version = "1.0rc5b", -%%% date = "2001/07/31", -%%% time = "12:23:00 GMT+8", -%%% checksum = "3641", +%%% version = "1.0d", +%%% date = "2020/09/30", %%% author = "Arthur Ogawa (mailto:ogawa@teleport.com), +%%% Phelype Oleinik (mailto:phelype.oleinik at latex-project.org), %%% commissioned by the American Physical Society. %%% ", %%% copyright = "Copyright (C) 1999 Arthur Ogawa, @@ -37,7 +36,6 @@ %%% keywords = "latex, utility, kernel", %%% supported = "yes", %%% abstract = "package to add utilties to LaTeX", -%%% docstring = "The checksum field above generated by ltxdoc", %%% } % % \fi @@ -121,7 +119,7 @@ % typeset documentation. % \begin{macrocode} %<*doc|ltxutil> - [2001/07/31 1.0rc5b utilities package]% \fileversion + [2020/09/30 1.0d utilities package]% \fileversion % % \end{macrocode} % @@ -155,9 +153,14 @@ \RequirePackage{ltxdocext}% \let\url\undefined \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}% -\expandafter\ifx\csname package@font\endcsname\@undefined\else - \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}% -\fi +\pdfstringdefDisableCommands{% + \let\file\relax + \let\sc\relax +} +\makeatletter +\@ifundefined{package@font}{}% + {\expandafter\RequirePackage\expandafter{\csname package@font\endcsname}} +\makeatother \CodelineIndex\EnableCrossrefs % \end{macrocode} % @@ -679,6 +682,22 @@ in your filesystem where they will be found by \LaTeX. % \end{macro} % \end{macro} % +% \begin{macro}{\rvtx@ifformat@geq} +% Some changes in the \LaTeX{} kernel requires us to conditionally +% define some macros depending on the version of the kernel. +% \cmd\rvtx@ifformat@geq{} will check if the release date of the +% currently-running \LaTeXe{} kernel is greater or equal to the +% argument (the argument should be in the format \texttt{yyyy-mm-dd}). +% \changes{4.2d}{2020/09/17}{(PHO) Add \cs{rvtx@ifformat@geq} (from 4.2).}% +% \begin{macrocode} +\ifx\IfFormatAtLeastTF\undefined + \def\rvtx@ifformat@geq{\@ifl@t@r\fmtversion}% +\else + \let\rvtx@ifformat@geq\IfFormatAtLeastTF +\fi +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\@boolean} % \begin{macro}{\@boole@def} % In order to define \cmd\@ifx, we first must create the @@ -820,27 +839,42 @@ in your filesystem where they will be found by \LaTeX. % for deferring the decision about the page grid until \cmd\AtBeginDocument\ time. % We fix things by prepending a hook at the very beginning of \cmd\document. % -% The price we pay for this facility is to depend on the stability of this part -% of \LaTeX's kernel code (the first token of \cmd\document), -% which could change, you see. But considering that \LaTeX\ is -% at this point essentially stagnant once more, we risk it. -% % \begin{macro}{\document} % We begin by installing hooks into \cmd\document\ that % we will manage ourselves. -% First, we do as \cmd\document\ does: end the group -% begun by \cmd\begin. Last, we conclude our shenanigans by absorbing +% +% The 2020-10-01 \LaTeX{} release got a new hook management system and +% several new hooks (several previously provided by \textsf{etoolbox}). +% The one we want here is \texttt{begindocument/before}, the first thing +% executed by \cmd\document{}, right after ending the group started by +% \cmd\begin{}. +% +% Thus, if the \LaTeX{} kernel date is 2020-10-01 we just add to that +% hook, otherwise resort to the old method, patching \cmd\document: +% end the group started by \cmd\begin, apply our hook, and +% conclude our shenanigans by absorbing % the first token of the expansion of \cmd\document, which -% we assume to be \cmd\endgroup. -% \begin{macrocode} -\prepdef\document{% - \endgroup - \init@documenthook - \set@typesize@hook - \normalsize - \set@pica@hook - \true@sw{}% -}% +% we assume to be \cmd\endgroup{} (true until the aforementioned release). +% \changes{4.2d}{2020/09/17}{(PHO) Use \LaTeX's hook management system, if possible (from 4.2).}% +% \begin{macrocode} +\rvtx@ifformat@geq{2020-10-01}% + {% + \AddToHook{begindocument/before}{% + \init@documenthook + \set@typesize@hook + \normalsize + \set@pica@hook + }% + }{% + \prepdef\document{% + \endgroup + \init@documenthook + \set@typesize@hook + \normalsize + \set@pica@hook + \true@sw{}% + }% + } % \end{macrocode} % \end{macro} % @@ -890,7 +924,15 @@ in your filesystem where they will be found by \LaTeX. % We will do this to ensure that the \cmd\@mainaux\ stream is not closed until % the last page of the job is shipped out, and that can only be done by coordinating % with the output routine. +% +% \changes{4.2d}{2020/09/17}{(PHO) Only redefine \cs{enddocument} in older versions.}% +% This approach, however, will only be done for older versions of the +% \LaTeX{} kernel: % \begin{macrocode} +\rvtx@ifformat@geq{2020-10-01}{% + % +}{% + % \def\enddocument{% \@enddocumenthook \@checkend{document}% @@ -924,7 +966,7 @@ in your filesystem where they will be found by \LaTeX. \@if@sw\if@tempswa\fi{% \@latex@warning@no@line{% Label(s) may have changed. - Rerun to get cross-references right + Rerun to get cross-references right% }% }{}% }{% @@ -932,11 +974,88 @@ in your filesystem where they will be found by \LaTeX. }% }{}% }% +} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % +% \changes{4.2d}{2020/09/17}{(PHO) Patch \cs{enddocument} at runtime in newer versions.}% +% \begin{macro}{\rvtx@enddocument@patch} +% For newer \LaTeX{} we'll try to be a bit more future-proof +% (no miracle though). The code for \cmd\enddocument{} +% (in pre-2020-10-01 \LaTeX) is roughly: +% \begin{verbatim} +% \def\enddocument{% +% +% \clearpage +% +% \@@end +% } +% \end{verbatim} +% and the patches above replace the \cmd\clearpage{} by its own +% \cmd\clear@document, and \verb|| by +% \cmd\do@check@aux, which it can later control the timing. +% +% Now we will apply the same changes, but this time without redefining +% \cmd\enddocument: we will instead replace tokens on-the-fly, when +% \cmd\enddocument{} is expanded. This will grant us a slightly safer +% approach that won't depend so much on the internals of +% \cmd\enddocument. +% +% This entire patch should work with the previous definition of +% \cmd\enddocument{} as well (except it cannot be used in the hook), +% but for now leave previous versions untouched. +% +% The entire patching will reside in the \texttt{enddocument} hook: +% \begin{macrocode} +\rvtx@ifformat@geq{2020-10-01}{% + \AddToHook{enddocument}{\rvtx@enddocument@patch{}}% +}{} +% \end{macrocode} +% +% This macro will be executed after \cmd\enddocument{} has expanded, +% so all its tokens are now exposed. Here we will assume that +% \cmd\enddocument{} contains the tokens \verb|\@checkend{document}| +% and \cmd\endgroup, and use them as delimiters: +% \begin{macrocode} +\protected\long\def\rvtx@enddocument@patch#1#2\@checkend#3{% + \begingroup + \edef\x{\detokenize{#3}}% + \edef\y{\detokenize{document}}% + \expandafter\endgroup + \ifx\x\y + \expandafter\rvtx@enddocument@patch@end + \else + \expandafter\rvtx@enddocument@patch@more + \fi + {#1#2}{#3}} +\def\rvtx@enddocument@patch@more#1#2{% + \rvtx@enddocument@patch{#1\@checkend{#2}}} +% \end{macrocode} +% +% When the \verb|\@checkend{document}| is reached, use \cmd\clearpage{} +% and \cmd\enddocument{} as delimiters for the +% \verb|| part, and save it in +% \cmd\do@check@aux{}: +% \begin{macrocode} +\long\def\rvtx@enddocument@patch@end#1#2\clearpage#3\endgroup{% + \def\do@check@aux{#3\endgroup}% +% \end{macrocode} +% Then execute the code consumed in the previous step: +% \begin{macrocode} + #1% + \@checkend{#2}% +% \end{macrocode} +% Do \cmd\clear@document{} instead of \cmd\clearpage{} and +% \cmd\check@aux{} instead of the code grabbed. +% \begin{macrocode} + \clear@document + \check@aux} +\def\check@aux{\do@check@aux}% +\def\clear@document{\clearpage}% +% \end{macrocode} +% \end{macro} % % \subsection{Type Tools}% % diff --git a/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx b/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx new file mode 100644 index 00000000000..63d709e1f98 --- /dev/null +++ b/Master/texmf-dist/source/latex/revtex4/revtex4-bst.dtx @@ -0,0 +1,2487 @@ +% \iffalse meta-comment balanced on line 122 +% revtex-bst.dtx: Package to extract .bst files for RevTeX +% Copyright (c) 2020 American Physical Society. +% https://journals.aps.org/revtex/ +% mailto:revtex@aps.org +% +% Disclaimer +% This file is distributed WITHOUT ANY WARRANTY; +% without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% License +% You may distribute this file under the conditions of the +% LaTeX Project Public License 1.3c or later +% (http://www.latex-project.org/lppl.txt). +% ReadMe +% For the documentation and more detailed instructions for +% installation, typeset this document with \LaTeX. +% Maintenance Status +% This work has the LPPL maintenance status "maintained"; +% Current Maintainer of this work is Phelype Oleinik. +% +% This work consists of the main source file revtex4-bst.dtx +% and the derived files +% apsrev.bst, apsrmp.bst +% Distribution: +% CTAN:macros/latex/contrib/revtex4/ +% +% Unpacking: +% tex revtex-bst.dtx +% +% Installation: +% TDS:bibtex/bst/revtex/ +% +%<*ignore> +\begingroup + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase + 0\expandafter\ifx\csname processbatchFile\endcsname\relax\else1\fi\ifx\fmtname\x\else 1\fi + \relax +\else + \csname fi\endcsname +% +%<*install> +%% This file will generate documentation and runtime files +%% from revtex4-2.dtx when run through TeX. +\input docstrip +\nopreamble +\edef\defaultpostamble{% + \MetaPrefix\space End of customized bst file^^J% + \MetaPrefix ^^J% + \MetaPrefix\space End of file `\outFileName'.% +} +\askforoverwritefalse +\keepsilent +\generate{% + \file{apsrev.bst}{\from{revtex4-bst.dtx}{apsrev}}% + \file{apsrmp.bst}{\from{revtex4-bst.dtx}{apsrmp}}% +}% +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation, please move} +\Msg{* *.bst } +\Msg{* into a directory searched by TeX;} +\Msg{* in a TDS-compliant installation:} +\Msg{* texmf/bibtex/bst/revtex4/.} +\Msg{*} +\Msg{* Happy BibTeXing} +\Msg{***********************************************************} +} +\endbatchfile +% +%<*ignore> +\fi +% +% \fi +% +% \GetFileInfo{revtex-bst.dtx} +% +% \StopEventually{} +% \iffalse ltxdoc klootch +%<*package> +%%% @LaTeX-file{ +%%% filename = "revtex-bst.dtx", +%%% version = "4.0a", +%%% date = "2020/10/06", +%%% author = "Phelype Oleinik (mailto: phelype.oleinik at latex-project.org), +%%% commissioned by the American Physical Society. +%%% ", +%%% copyright = "Copyright (C) 2020 American Physical Society +%%% distributed under the terms of the +%%% LaTeX Project Public License 1.3c, see +%%% ftp://ctan.tug.org/macros/latex/base/lppl.txt +%%% ", +%%% email = "mailto colon revtex at aps.org", +%%% codetable = "ISO/ASCII", +%%% keywords = "", +%%% supported = "yes", +%%% abstract = "", +%%% } +% +% \fi +% +% \subsection{Bill of Materials} +% +% Following is a list of the files in this distribution arranged +% according to provenance. +% +% \subsubsection{Primary Source}% +% One single file generates all. +%\begin{verbatim} +%revtex-bst.dtx +%\end{verbatim} +% +% \subsubsection{Generated by \texttt{tex revtex4-bst.dtx}}% +% Typesetting ths file under \TeX\ itself runs the installer, +% which generates the bibliography style files. +%\begin{verbatim} +%apsrev.bst, apsrmp.bst +%\end{verbatim} +% +% \section{Code common to all modules}% +% +% \begin{macrocode} +%<*apsrev|apsrmp> +%% +%%% This is file `apsrev.bst', +%%% This is file `apsrmp.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%<*apsrev> +%% merlin.mbs (with options: `head,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') +%% physjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') +%% geojour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') +%% photjour.mbs (with options: `ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') +%% merlin.mbs (with options: `tail,ay,nat,seq-no,nm-init,ed-au,nmlm,x10,x0,m10,m0,nmft,nmft-def,fnm-def,nmfted,lab,lab-def,keyxyr,yr-par,note-yr,tit-it,jtit-x,jttl-rm,thtit-x,trtit-x,vol-bf,vnum-x,volp-com,jpg-1,num-xser,jnm-x,pub-date,pre-pub,isbn,issn,edby,blk-com,pp,ed,abr,ednx,ord,jabr,revdata,eprint,url,url-blk,misc-simple,bibinfo,nfss,{}') +% +%<*apsrmp> +%% merlin.mbs (with options: `head,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') +%% physjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') +%% geojour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') +%% photjour.mbs (with options: `ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') +%% merlin.mbs (with options: `tail,ay,nat,vonx,nm-rev1,jnrlst,nmlm,x10,x2,m10,m2,nmft,nmft-def,fnm-def,nmfted,nmand-rm,lab,lab-def,keyxyr,dt-beg,xmth,yr-com,note-yr,jtit-x,jttl-rm,trtit-b,vol-bf,volp-com,jpg-1,pp-last,num-xser,jnm-x,pub-par,pre-pub,isbn,issn,edpar,edby,blk-com,pp,ed,xedn,jabr,and-com,etal-it,revdata,eprint,url,url-blk,pub-over-eprint,bibinfo,nfss,{}') +% +%% ---------------------------------------- +%%% *** REVTeX-compatible apsrev.bst 1702 *** +%%% *** REVTeX-compatible apsrmp.bst 1702 *** +%% +%% Copyright 1994-2000 Patrick W Daly + % =============================================================== + % IMPORTANT NOTICE: + % This bibliographic style (bst) file has been generated from one or + % more master bibliographic style (mbs) files, listed above. + % + % This generated file can be redistributed and/or modified under the terms + % of the LaTeX Project Public License Distributed from CTAN + % archives in directory macros/latex/base/lppl.txt; either + % version 1 of the License, or any later version. + % =============================================================== + % Name and version information of the main mbs file: + % \ProvidesFile{merlin.mbs}[2000/05/04 4.01 (PWD, AO, DPC)] + % For use with BibTeX version 0.99a or later + %------------------------------------------------------------------- + % This bibliography style file is intended for texts in ENGLISH + % This is an author-year citation style bibliography. As such, it is + % non-standard LaTeX, and requires a special package file to function properly. + % Such a package is natbib.sty by Patrick W. Daly + % The form of the \bibitem entries is + % \bibitem[Jones et al.(1990)]{key}... + % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}... + % The essential feature is that the label (the part in brackets) consists + % of the author names, as they should appear in the citation, with the year + % in parentheses following. There must be no space before the opening + % parenthesis! + % With natbib v5.3, a full list of authors may also follow the year. + % In natbib.sty, it is possible to define the type of enclosures that is + % really wanted (brackets or parentheses), but in either case, there must + % be parentheses in the label. + % The \cite command functions as follows: + % \citet{key} ==>> Jones et al. (1990) + % \citet*{key} ==>> Jones, Baker, and Smith (1990) + % \citep{key} ==>> (Jones et al., 1990) + % \citep*{key} ==>> (Jones, Baker, and Smith, 1990) + % \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2) + % \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990) + % \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32) + % \citeauthor{key} ==>> Jones et al. + % \citeauthor*{key} ==>> Jones, Baker, and Smith + % \citeyear{key} ==>> 1990 + %--------------------------------------------------------------------- +% +% +% \subsection{The Frontmatter File} +% As promised above, here is the contents of the frontmatter file. +% This file doesn't have any documentation, so just stop early. +% \begin{macrocode} +%<*ignore> +\stop +\changes{4.0a}{2020/10/06}{(PHO) Initial version---Put all .bst files in a single .dtx} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*apsrev|apsrmp> +% \end{macrocode} +% +% \begin{macrocode} + +ENTRY + { address + archive + author + booktitle + chapter + collaboration + edition + editor + eid + eprint + howpublished + institution + isbn + issn + journal + key + month + note + number + numpages + organization + pages + publisher + school + series + title + type + url + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + skip$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {bolden} +{ duplicate$ empty$ + { pop$ "" } + { "\textbf{" swap$ * "}" * } + if$ +} +FUNCTION {bib.name.font} +{ duplicate$ empty$ + { pop$ "" } + { "\bibnamefont{" swap$ * "}" * } + if$ +} +FUNCTION {bib.fname.font} +{ duplicate$ empty$ + { pop$ "" } + { "\bibfnamefont{" swap$ * "}" * } + if$ +} +FUNCTION {cite.name.font} +{ duplicate$ empty$ + { pop$ "" } + { "\citenamefont{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } + % Here are the language-specific definitions for explicit words. + % Each function has a name bbl.xxx where xxx is the English word. + % The language selected here is ENGLISH +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +%{ "ed." } +%{ "edition" } + +FUNCTION {bbl.volume} +%{ "vol." } +%{ "volume" } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +%{ "no." } +%{ "number" } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.eidpp} +{ "pages" } + +FUNCTION {bbl.chapter} +%{ "chap." } +%{ "chapter" } + +FUNCTION {bbl.techrep} +%{ "Tech. Rep." } +%{ "Technical Report" } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +%<*apsrev> +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"Jan."} + +MACRO {feb} {"Feb."} + +MACRO {mar} {"Mar."} + +MACRO {apr} {"Apr."} + +MACRO {may} {"May"} + +MACRO {jun} {"Jun."} + +MACRO {jul} {"Jul."} + +MACRO {aug} {"Aug."} + +MACRO {sep} {"Sep."} + +MACRO {oct} {"Oct."} + +MACRO {nov} {"Nov."} + +MACRO {dec} {"Dec."} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} +% +%<*apsrmp> +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} +% + + %------------------------------------------------------------------- + + % Begin module: + + % \ProvidesFile{physjour.mbs}[1999/10/05 2.1 (PWD)] + +MACRO {aa}{"Astron. \& Astrophys."} + +MACRO {aasup}{"Astron. \& Astrophys. Suppl. Ser."} + +MACRO {aj} {"Astron. J."} + +MACRO {aph} {"Acta Phys."} + +MACRO {advp} {"Adv. Phys."} + +MACRO {ajp} {"Amer. J. Phys."} + +MACRO {ajm} {"Amer. J. Math."} + +MACRO {amsci} {"Amer. Sci."} + +MACRO {anofd} {"Ann. Fluid Dyn."} + +MACRO {am} {"Ann. Math."} + +MACRO {ap} {"Ann. Phys. (NY)"} + +MACRO {adp} {"Ann. Phys. (Leipzig)"} + +MACRO {ao} {"Appl. Opt."} + +MACRO {apl} {"Appl. Phys. Lett."} + +MACRO {app} {"Astroparticle Phys."} + +MACRO {apj} {"Astrophys. J."} + +MACRO {apjsup} {"Astrophys. J. Suppl."} + +MACRO {apss} {"Astrophys. Space Sci."} + +MACRO {araa} {"Ann. Rev. Astron. Astrophys."} + +MACRO {baas} {"Bull. Amer. Astron. Soc."} + +MACRO {baps} {"Bull. Amer. Phys. Soc."} + +MACRO {cmp} {"Comm. Math. Phys."} + +MACRO {cpam} {"Commun. Pure Appl. Math."} + +MACRO {cppcf} {"Comm. Plasma Phys. \& Controlled Fusion"} + +MACRO {cpc} {"Comp. Phys. Comm."} + +MACRO {cqg} {"Class. Quant. Grav."} + +MACRO {cra} {"C. R. Acad. Sci. A"} + +MACRO {fed} {"Fusion Eng. \& Design"} + +MACRO {ft} {"Fusion Tech."} + +MACRO {grg} {"Gen. Relativ. Gravit."} + +MACRO {ieeens} {"IEEE Trans. Nucl. Sci."} + +MACRO {ieeeps} {"IEEE Trans. Plasma Sci."} + +MACRO {ijimw} {"Interntl. J. Infrared \& Millimeter Waves"} + +MACRO {ip} {"Infrared Phys."} + +MACRO {irp} {"Infrared Phys."} + +MACRO {jap} {"J. Appl. Phys."} + +MACRO {jasa} {"J. Acoust. Soc. America"} + +MACRO {jcp} {"J. Comp. Phys."} + +MACRO {jetp} {"Sov. Phys.--JETP"} + +MACRO {jfe} {"J. Fusion Energy"} + +MACRO {jfm} {"J. Fluid Mech."} + +MACRO {jmp} {"J. Math. Phys."} + +MACRO {jne} {"J. Nucl. Energy"} + +MACRO {jnec} {"J. Nucl. Energy, C: Plasma Phys., Accelerators, Thermonucl. Res."} + +MACRO {jnm} {"J. Nucl. Mat."} + +MACRO {jpc} {"J. Phys. Chem."} + +MACRO {jpp} {"J. Plasma Phys."} + +MACRO {jpsj} {"J. Phys. Soc. Japan"} + +MACRO {jsi} {"J. Sci. Instrum."} + +MACRO {jvst} {"J. Vac. Sci. \& Tech."} + +MACRO {nat} {"Nature"} + +MACRO {nature} {"Nature"} + +MACRO {nedf} {"Nucl. Eng. \& Design/Fusion"} + +MACRO {nf} {"Nucl. Fusion"} + +MACRO {nim} {"Nucl. Inst. \& Meth."} + +MACRO {nimpr} {"Nucl. Inst. \& Meth. in Phys. Res."} + +MACRO {np} {"Nucl. Phys."} + +MACRO {npb} {"Nucl. Phys. B"} + +MACRO {nt/f} {"Nucl. Tech./Fusion"} + +MACRO {npbpc} {"Nucl. Phys. B (Proc. Suppl.)"} + +MACRO {inc} {"Nuovo Cimento"} + +MACRO {nc} {"Nuovo Cimento"} + +MACRO {pf} {"Phys. Fluids"} + +MACRO {pfa} {"Phys. Fluids A: Fluid Dyn."} + +MACRO {pfb} {"Phys. Fluids B: Plasma Phys."} + +MACRO {pl} {"Phys. Lett."} + +MACRO {pla} {"Phys. Lett. A"} + +MACRO {plb} {"Phys. Lett. B"} + +MACRO {prep} {"Phys. Rep."} + +MACRO {pnas} {"Proc. Nat. Acad. Sci. USA"} + +MACRO {pp} {"Phys. Plasmas"} + +MACRO {ppcf} {"Plasma Phys. \& Controlled Fusion"} + +MACRO {phitrsl} {"Philos. Trans. Roy. Soc. London"} + +MACRO {prl} {"Phys. Rev. Lett."} + +MACRO {pr} {"Phys. Rev."} + +MACRO {physrev} {"Phys. Rev."} + +MACRO {pra} {"Phys. Rev. A"} + +MACRO {prb} {"Phys. Rev. B"} + +MACRO {prc} {"Phys. Rev. C"} + +MACRO {prd} {"Phys. Rev. D"} + +MACRO {pre} {"Phys. Rev. E"} + +MACRO {ps} {"Phys. Scripta"} + +MACRO {procrsl} {"Proc. Roy. Soc. London"} + +MACRO {rmp} {"Rev. Mod. Phys."} + +MACRO {rsi} {"Rev. Sci. Inst."} + +MACRO {science} {"Science"} + +MACRO {sciam} {"Sci. Am."} + +MACRO {sam} {"Stud. Appl. Math."} + +MACRO {sjpp} {"Sov. J. Plasma Phys."} + +MACRO {spd} {"Sov. Phys.--Doklady"} + +MACRO {sptp} {"Sov. Phys.--Tech. Phys."} + +MACRO {spu} {"Sov. Phys.--Uspeki"} + +MACRO {st} {"Sky and Telesc."} + + % End module: physjour.mbs + + %------------------------------------------------------------------- + % Begin module: + % \ProvidesFile{geojour.mbs}[1999/11/16 2.0g (PWD)] +MACRO {aisr} {"Adv. Space Res."} +MACRO {ag} {"Ann. Geophys."} +MACRO {anigeo} {"Ann. Geofis."} +MACRO {angl} {"Ann. Glaciol."} +MACRO {andmet} {"Ann. d. Meteor."} +MACRO {andgeo} {"Ann. d. Geophys."} +MACRO {andphy} {"Ann. Phys.-Paris"} +MACRO {afmgb} {"Arch. Meteor. Geophys. Bioklimatol."} +MACRO {atph} {"Atm\'osphera"} +MACRO {aao} {"Atmos. Ocean"} +MACRO {ass}{"Astrophys. Space Sci."} +MACRO {atenv} {"Atmos. Environ."} +MACRO {aujag} {"Aust. J. Agr. Res."} +MACRO {aumet} {"Aust. Meteorol. Mag."} +MACRO {blmet} {"Bound.-Lay. Meteorol."} +MACRO {bams} {"Bull. Amer. Meteorol. Soc."} +MACRO {cch} {"Clim. Change"} +MACRO {cdyn} {"Clim. Dynam."} +MACRO {cbul} {"Climatol. Bull."} +MACRO {cap} {"Contrib. Atmos. Phys."} +MACRO {dsr} {"Deep-Sea Res."} +MACRO {dhz} {"Dtsch. Hydrogr. Z."} +MACRO {dao} {"Dynam. Atmos. Oceans"} +MACRO {eco} {"Ecology"} +MACRO {empl}{"Earth, Moon and Planets"} +MACRO {envres} {"Environ. Res."} +MACRO {envst} {"Environ. Sci. Technol."} +MACRO {ecms} {"Estuarine Coastal Mar. Sci."} +MACRO {expa}{"Exper. Astron."} +MACRO {geoint} {"Geofis. Int."} +MACRO {geopub} {"Geofys. Publ."} +MACRO {geogeo} {"Geol. Geofiz."} +MACRO {gafd} {"Geophys. Astrophys. Fluid Dyn."} +MACRO {gfd} {"Geophys. Fluid Dyn."} +MACRO {geomag} {"Geophys. Mag."} +MACRO {georl} {"Geophys. Res. Lett."} +MACRO {grl} {"Geophys. Res. Lett."} +MACRO {ga} {"Geophysica"} +MACRO {gs} {"Geophysics"} +MACRO {ieeetap} {"IEEE Trans. Antenn. Propag."} +MACRO {ijawp} {"Int. J. Air Water Pollut."} +MACRO {ijc} {"Int. J. Climatol."} +MACRO {ijrs} {"Int. J. Remote Sens."} +MACRO {jam} {"J. Appl. Meteorol."} +MACRO {jaot} {"J. Atmos. Ocean. Technol."} +MACRO {jatp} {"J. Atmos. Terr. Phys."} +MACRO {jce} {"J. Climate"} +MACRO {jcam} {"J. Climate Appl. Meteor."} +MACRO {jcm} {"J. Climate Meteor."} +MACRO {jcy} {"J. Climatol."} +MACRO {jgr} {"J. Geophys. Res."} +MACRO {jga} {"J. Glaciol."} +MACRO {jh} {"J. Hydrol."} +MACRO {jmr} {"J. Mar. Res."} +MACRO {jmrj} {"J. Meteor. Res. Japan"} +MACRO {jm} {"J. Meteor."} +MACRO {jpo} {"J. Phys. Oceanogr."} +MACRO {jra} {"J. Rech. Atmos."} +MACRO {jaes} {"J. Aeronaut. Sci."} +MACRO {japca} {"J. Air Pollut. Control Assoc."} +MACRO {jas} {"J. Atmos. Sci."} +MACRO {jmts} {"J. Mar. Technol. Soc."} +MACRO {jmsj} {"J. Meteorol. Soc. Japan"} +MACRO {josj} {"J. Oceanogr. Soc. Japan"} +MACRO {jwm} {"J. Wea. Mod."} +MACRO {lao} {"Limnol. Oceanogr."} +MACRO {mwl} {"Mar. Wea. Log"} +MACRO {mau} {"Mausam"} +MACRO {meteor} {"``Meteor'' Forschungsergeb."} +MACRO {map} {"Meteorol. Atmos. Phys."} +MACRO {metmag} {"Meteor. Mag."} +MACRO {metmon} {"Meteor. Monogr."} +MACRO {metrun} {"Meteor. Rundsch."} +MACRO {metzeit} {"Meteor. Z."} +MACRO {metgid} {"Meteor. Gidrol."} +MACRO {mwr} {"Mon. Weather Rev."} +MACRO {nwd} {"Natl. Weather Dig."} +MACRO {nzjmfr} {"New Zeal. J. Mar. Freshwater Res."} +MACRO {npg} {"Nonlin. Proc. Geophys."} +MACRO {om} {"Oceanogr. Meteorol."} +MACRO {ocac} {"Oceanol. Acta"} +MACRO {oceanus} {"Oceanus"} +MACRO {paleoc} {"Paleoceanography"} +MACRO {pce} {"Phys. Chem. Earth"} +MACRO {pmg} {"Pap. Meteor. Geophys."} +MACRO {ppom} {"Pap. Phys. Oceanogr. Meteor."} +MACRO {physzeit} {"Phys. Z."} +MACRO {pps} {"Planet. Space Sci."} +MACRO {pss} {"Planet. Space Sci."} +MACRO {pag} {"Pure Appl. Geophys."} +MACRO {qjrms} {"Quart. J. Roy. Meteorol. Soc."} +MACRO {quatres} {"Quat. Res."} +MACRO {rsci} {"Radio Sci."} +MACRO {rse} {"Remote Sens. Environ."} +MACRO {rgeo} {"Rev. Geophys."} +MACRO {rgsp} {"Rev. Geophys. Space Phys."} +MACRO {rdgeo} {"Rev. Geofis."} +MACRO {revmeta} {"Rev. Meteorol."} +MACRO {sgp}{"Surveys in Geophys."} +MACRO {sp} {"Solar Phys."} +MACRO {ssr} {"Space Sci. Rev."} +MACRO {tellus} {"Tellus"} +MACRO {tac} {"Theor. Appl. Climatol."} +MACRO {tagu} {"Trans. Am. Geophys. Union (EOS)"} +MACRO {wrr} {"Water Resour. Res."} +MACRO {weather} {"Weather"} +MACRO {wafc} {"Weather Forecast."} +MACRO {ww} {"Weatherwise"} +MACRO {wmob} {"WMO Bull."} +MACRO {zeitmet} {"Z. Meteorol."} + % End module: geojour.mbs + + %------------------------------------------------------------------- + + % Begin module: + + % \ProvidesFile{photjour.mbs}[1999/02/24 2.0b (PWD)] + +MACRO {appopt} {"Appl. Opt."} + +MACRO {bell} {"Bell Syst. Tech. J."} + +MACRO {ell} {"Electron. Lett."} + +MACRO {jasp} {"J. Appl. Spectr."} + +MACRO {jqe} {"IEEE J. Quantum Electron."} + +MACRO {jlwt} {"J. Lightwave Technol."} + +MACRO {jmo} {"J. Mod. Opt."} + +MACRO {josa} {"J. Opt. Soc. America"} + +MACRO {josaa} {"J. Opt. Soc. Amer.~A"} + +MACRO {josab} {"J. Opt. Soc. Amer.~B"} + +MACRO {jdp} {"J. Phys. (Paris)"} + +MACRO {oc} {"Opt. Commun."} + +MACRO {ol} {"Opt. Lett."} + +MACRO {phtl} {"IEEE Photon. Technol. Lett."} + +MACRO {pspie} {"Proc. Soc. Photo-Opt. Instrum. Eng."} + +MACRO {sse} {"Solid-State Electron."} + +MACRO {sjot} {"Sov. J. Opt. Technol."} + +MACRO {sjqe} {"Sov. J. Quantum Electron."} + +MACRO {sleb} {"Sov. Phys.--Leb. Inst. Rep."} + +MACRO {stph} {"Sov. Phys.--Techn. Phys."} + +MACRO {stphl} {"Sov. Techn. Phys. Lett."} + +MACRO {vr} {"Vision Res."} + +MACRO {zph} {"Z. f. Physik"} + +MACRO {zphb} {"Z. f. Physik~B"} + +MACRO {zphd} {"Z. f. Physik~D"} + +MACRO {CLEO} {"CLEO"} + +MACRO {ASSL} {"Adv. Sol.-State Lasers"} + +MACRO {OSA} {"OSA"} + + % End module: photjour.mbs + +%% Copyright 1994-2000 Patrick W Daly +MACRO {acmcs} {"ACM Comput. Surv."} + +MACRO {acta} {"Acta Inf."} + +MACRO {cacm} {"Commun. ACM"} + +MACRO {ibmjrd} {"IBM J. Res. Dev."} + +MACRO {ibmsj} {"IBM Syst.~J."} + +MACRO {ieeese} {"IEEE Trans. Software Eng."} + +MACRO {ieeetc} {"IEEE Trans. Comput."} + +MACRO {ieeetcad} + {"IEEE Trans. Comput. Aid. Des."} + +MACRO {ipl} {"Inf. Process. Lett."} + +MACRO {jacm} {"J.~ACM"} + +MACRO {jcss} {"J.~Comput. Syst. Sci."} + +MACRO {scp} {"Sci. Comput. Program."} + +MACRO {sicomp} {"SIAM J. Comput."} + +MACRO {tocs} {"ACM Trans. Comput. Syst."} + +MACRO {tods} {"ACM Trans. Database Syst."} + +MACRO {tog} {"ACM Trans. Graphic."} + +MACRO {toms} {"ACM Trans. Math. Software"} + +MACRO {toois} {"ACM Trans. Office Inf. Syst."} + +MACRO {toplas} {"ACM Trans. Progr. Lang. Syst."} + +MACRO {tcs} {"Theor. Comput. Sci."} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {format.url} +{ url empty$ + { "" } + { "\urlprefix\url{" url * "}" * } + if$ +} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr +%<*apsrev> + "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ +% +%<*apsrmp> + nameptr #1 > + { "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + { "{vv~}{ll}" format.name$ bib.name.font + s nameptr + "{f.}{, jj}" + format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + } + if$ +% + * + bibinfo bibinfo.check + 't := + nameptr #1 > + { +% nameptr #0 +% nameptr #2 + #10 + + #1 + = +% numnames #0 +% numnames #2 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { +%<*apsrev> + numnames #2 > + { "," * } + 'skip$ + if$ +% +%<*apsrmp> + "," * +% + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { +% " " * bbl.etal bib.name.font * +% " " * bbl.etal emphasize * + } + { + bbl.and +% bib.name.font + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +%<*apsrev> +FUNCTION {format.names.ed} +{ + format.names +} +% +%<*apsrmp> +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f.}" format.name$ duplicate$ empty$ 'skip$ + { tie.or.space.prefix bib.fname.font swap$ * } + if$ + s nameptr + "{vv~}{ll}" format.name$ bib.name.font * + s nameptr + "{jj}" format.name$ duplicate$ empty$ 'skip$ + { bib.fname.font ", " swap$ * } + if$ + * + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + numnames #2 > + { "," * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal emphasize * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +% +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names + duplicate$ empty$ 'skip$ + { collaboration "collaboration" bibinfo.check + duplicate$ empty$ 'skip$ + { " (" swap$ * ")" * } + if$ + * + } + if$ +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { +%<*apsrev> + "," * + " " * + get.bbl.editor +% +%<*apsrmp> + " " * + get.bbl.editor + "(" swap$ * ")" * +% + * + } + if$ +} +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISBN " swap$ * + } + if$ +} + +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + { + "ISSN " swap$ * + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ + { skip$ } + { "t" change.case$ } + if$ + "title" bibinfo.check +%<*apsrev> + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +% +} + +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { +% nameptr #0 +% nameptr #2 + #10 + + #1 + = +% numnames #0 +% numnames #2 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { +% " " * bbl.etal * + cite.name.font +% " " * bbl.etal emphasize * + } + { + numnames #2 > + { "," * } + 'skip$ + if$ + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + t "others" = + 'skip$ + { cite.name.font } + if$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" + } + 'skip$ + if$ + extra.label * + before.all 'output.state := +% " (" swap$ * ")" * +% ", " swap$ * +} +FUNCTION {format.date.misc} +{ +% year empty$ 'skip$ { + format.date "year" output.check +% } if$ +} +FUNCTION {format.btitle} +{ title "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { output.state mid.sentence = + { bbl.number } + { bbl.number capitalize } + if$ + number tie.or.space.prefix "number" bibinfo.check * * + bbl.in space.word * + series "series" bibinfo.check * + } + if$ + } + if$ + } + { "" } + if$ +} +%<*apsrev> +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} +% + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { +% convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + tie.or.space.prefix + "pages" bibinfo.check + * * + } + if$ +} +FUNCTION {first.page} +{ 't := + "" + { t empty$ not t #1 #1 substring$ "-" = not and } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + first.page + "pages" bibinfo.check + * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'skip$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ + numpages empty$ 'skip$ + { bbl.eidpp numpages tie.or.space.prefix + "numpages" bibinfo.check * * + " (" swap$ * ")" * * + } + if$ + } + if$ * +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + bolden +%<*apsrev> + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +% +%<*apsrmp> + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * +% +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ +% 'format.pages +% { "" } + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * +%<*apsrev> + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ +% + } + if$ +} + +FUNCTION {format.booktitle} +{ + booktitle "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + bbl.edby + " " * swap$ * + swap$ + "," * + " " * swap$ + * } + if$ + word.in swap$ * + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ number "number" bibinfo.check + type duplicate$ empty$ + { pop$ bbl.techrep } + 'skip$ + if$ + "type" bibinfo.check + swap$ duplicate$ empty$ + { pop$ "t" change.case$ } + { tie.or.space.prefix * * } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" +%<*apsrmp> + address empty$ t empty$ and + 'skip$ + { +% + add.blank "(" * + t empty$ + { address "address" bibinfo.check * + } + { t * + address empty$ + 'skip$ + { ", " * address "address" bibinfo.check * } + if$ + } + if$ +%<*apsrev> + year duplicate$ empty$ + { "empty year in " cite$ * "; set to ????" * warning$ + pop$ "????" } + { "year" bibinfo.check extra.label * } + if$ + t empty$ address empty$ and + { * } + { ", " swap$ * * } + if$ +% + ")" * +%<*apsrmp> + } + if$ +% +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + crossref missing$ + { + "" + journal + duplicate$ empty$ + { pop$ pop$ } { + "journal" bibinfo.check + * "journal" output.check + add.blank + } if$ + format.vol.num.pages output +% format.date "year" output.check + } + { format.article.crossref output.nonnull +% format.pages output + } + if$ +%<*apsrmp> + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +% + format.issn output + format.note output +% journal empty$ volume empty$ or { + format.eprint output +% } {} if$ + format.url output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ +%<*apsrmp> + format.date "year" output.check + date.block +% + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.number.series output + format.publisher.address output + } + { + format.book.crossref output.nonnull +% format.date "year" output.check + } + if$ + format.edition output + format.isbn output + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + format.title "title" output.check + howpublished "howpublished" bibinfo.check output + address "address" bibinfo.check output +% format.date "year" output.check + format.isbn output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ +%<*apsrmp> + format.date "year" output.check + date.block +% + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + format.number.series output + } + { + format.chapter.pages "chapter and pages" output.check + format.book.crossref output.nonnull +% format.date "year" output.check + } + if$ + format.edition output + crossref missing$ + { format.isbn output } + 'skip$ + if$ +% format.pages "pages" output.check + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + format.edition output + format.isbn output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ +% format.pages "pages" output.check + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + format.isbn output + format.issn output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + format.btitle "title" output.check + organization "organization" bibinfo.check output + address "address" bibinfo.check output + format.edition output +% format.date "year" output.check + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block + format.btitle + "title" output.check +% + bbl.mthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output +% format.date "year" output.check + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output +%<*apsrmp> + format.date.misc + date.block +% + format.title output + howpublished "howpublished" bibinfo.check output +% format.date.misc + format.note output + format.eprint output + format.url output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block + format.btitle + "title" output.check +% + bbl.phdthesis format.thesis.type output.nonnull + school "school" bibinfo.warn output + address "address" bibinfo.check output +% format.date "year" output.check + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output +%<*apsrmp> + format.date "year" output.check + date.block +% + format.btitle "title" output.check + format.bvolume output + format.number.series output + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.isbn output + format.issn output + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block + format.btitle + "title" output.check +% + format.tr.number output.nonnull + institution "institution" bibinfo.warn output + address "address" bibinfo.check output +% format.date "year" output.check + format.note output + format.eprint output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output +%<*apsrmp> + format.date "year" output.check + date.block + format.title "title" output.check +% +% format.date.misc + format.note "note" output.check + format.eprint output + format.url output + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{ 's := + "" 't := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ +% " " * bbl.etal * + cite.name.font +% " " * bbl.etal emphasize * + "others" 't := + } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { +% " " * bbl.etal * +% cite.name.font +% " " * bbl.etal emphasize * + "others" 't := + } + { bbl.and space.word * s #2 "{vv~}{ll}" format.name$ + * } + if$ + } + if$ + } + if$ + t "others" = + 'skip$ + { cite.name.font } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + short.list key field.or.null = or + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr +% "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" +% "{ll{ }}{ f{ }}{ jj{ }}" + format.name$ 't := + nameptr #1 > + { +% nameptr #0 +% nameptr #2 + #10 + + #1 + = +% numnames #0 +% numnames #2 + #10 + + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} +%<*apsrev> +INTEGERS { seq.num } +FUNCTION {init.seq} +{ #0 'seq.num :=} +EXECUTE {init.seq} +FUNCTION {int.to.fix} +{ "000000000" swap$ int.to.str$ * + #-1 #10 substring$ +} +% +FUNCTION {presort} +{ calc.label + label sortify + " " + * +%<*apsrev> + seq.num #1 + 'seq.num := + seq.num int.to.fix +% +%<*apsrmp> + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ +% + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\expandafter\ifx\csname natexlab\endcsname\relax\def\natexlab#1{#1}\fi" + write$ newline$ + "\expandafter\ifx\csname bibnamefont\endcsname\relax" + write$ newline$ + " \def\bibnamefont#1{#1}\fi" + write$ newline$ + "\expandafter\ifx\csname bibfnamefont\endcsname\relax" + write$ newline$ + " \def\bibfnamefont#1{#1}\fi" + write$ newline$ + "\expandafter\ifx\csname citenamefont\endcsname\relax" + write$ newline$ + " \def\citenamefont#1{#1}\fi" + write$ newline$ + "\expandafter\ifx\csname url\endcsname\relax" + write$ newline$ + " \def\url#1{\texttt{#1}}\fi" + write$ newline$ + "\expandafter\ifx\csname urlprefix\endcsname\relax\def\urlprefix{URL }\fi" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \endinput +% +% \Finale diff --git a/Master/texmf-dist/source/latex/revtex4/revtex4.dtx b/Master/texmf-dist/source/latex/revtex4/revtex4.dtx index 693747ef47f..417e2e2d8b2 100644 --- a/Master/texmf-dist/source/latex/revtex4/revtex4.dtx +++ b/Master/texmf-dist/source/latex/revtex4/revtex4.dtx @@ -28,7 +28,7 @@ %\ProvidesPackage{revsymb} %\ProvidesFile{revtex.drv} %<*!class-pst> - [2001/08/02 v4.0 (http://publish.aps.org/revtex4/ for documentation)]%FileInfo + [2020/09/30 v4.0a (http://publish.aps.org/revtex4/ for documentation)]%FileInfo % %<*driver> \listfiles @@ -51,7 +51,7 @@ % % \fi % -% \GetFileInfo{revtex4.dtx}\CheckSum{7177} +% \GetFileInfo{revtex4.dtx} % % \title{The \classname{revtex4} document class of the American Physical Society} % \author{Arthur Ogawa% diff --git a/Master/texmf-dist/source/latex/revtex4/textcase.dtx b/Master/texmf-dist/source/latex/revtex4/textcase.dtx index 60010e5ee67..9ff5de536b1 100644 --- a/Master/texmf-dist/source/latex/revtex4/textcase.dtx +++ b/Master/texmf-dist/source/latex/revtex4/textcase.dtx @@ -26,7 +26,6 @@ % \fi % % \GetFileInfo{textcase.dtx} -% \CheckSum{110} % % \changes{v0.01}{1997/09/28} % {Posted to c.t.t} -- cgit v1.2.3