0% found this document useful (0 votes)
36 views167 pages

Revtex4 1

Uploaded by

Senthilkumar V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views167 pages

Revtex4 1

Uploaded by

Senthilkumar V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 167

The revtex4-1 document class of the American

Physical Society ∗

Arthur Ogawa

Version 4.1r, dated 2010/07/25/20:33:00

This file embodies the implementation of the APS REVTEX 4.1 document class
for electronic submissions to journals.
The distribution point for this work is http://publish.aps.org/revtex4/,
which contains fully unpacked, prebuilt runtime files and documentation.

Contents
1 Using REVTEX 5
1.1 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Primary Source . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Generated by tex revtex4-1.dtx . . . . . . . . . . . . . . 5
1.1.3 Generated by pdflatex revtex4-1.dtx . . . . . . . . . . . 5
1.1.4 Auxiliary . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Code common to all modules 6

3 The driver module driver 6


3.0.5 Docstrip and info directives . . . . . . . . . . . . . . . . . . 7
3.1 The Frontmatter File . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 The Document Body . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4 Overview 11

5 Writing journal-specifc extensions to REVTEX 13

6 The revtex4 Document Class 13


6.1 Compatibility Processing . . . . . . . . . . . . . . . . . . . . . . . 14

7 Extensions to the LATEX Kernel 14


7.1 Hooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
∗ Work under hire to The American Physical Society.
† First revision of REVTEX4.0 (unreleased) by David Carlisle

1
8 Compatability with the geometry package 15

9 Options 15
9.1 Define Booleans Used in Options . . . . . . . . . . . . . . . . . . . 15
9.2 Declare Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.2.1 Checkin: for Editorial Use . . . . . . . . . . . . . . . . . . . 16
9.2.2 Preprint Style . . . . . . . . . . . . . . . . . . . . . . . . . . 16
9.2.3 Showing PACS and keywords . . . . . . . . . . . . . . . . . 17
9.2.4 Balance the last page when in two-column page grid . . . . 17
9.2.5 Showing preprint numbers . . . . . . . . . . . . . . . . . . . 17
9.2.6 Hypertext Option . . . . . . . . . . . . . . . . . . . . . . . 18
9.2.7 Type Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.2.8 Media Size . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
9.2.9 Bibnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2.10 Footinbib . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2.11 altaffilletter . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2.12 superbib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2.13 citeautoscript . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9.2.14 Variants on the Bibliography Style . . . . . . . . . . . . . . 20
9.2.15 Simplex/Duplex Pages . . . . . . . . . . . . . . . . . . . . . 21
9.2.16 Two-Column Page Grid . . . . . . . . . . . . . . . . . . . . 21
9.2.17 raggedbottom or flushbottom . . . . . . . . . . . . . . . . . 23
9.2.18 tightenlines . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.2.19 lengthcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.2.20 Draft and Final . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.2.21 eqsecnum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.2.22 secnumarabic . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.2.23 floats/endfloats . . . . . . . . . . . . . . . . . . . . . . . . . 25
9.2.24 titlepage/notitlepage . . . . . . . . . . . . . . . . . . . . . . 25
9.2.25 Substyle and Sub-substyle . . . . . . . . . . . . . . . . . . . 25
9.2.26 Optical Society of America . . . . . . . . . . . . . . . . . . 26
9.2.27 Presenting Authors and Their Affiliations . . . . . . . . . . 28
9.2.28 Typeset by REVTEX . . . . . . . . . . . . . . . . . . . . . . 29
9.3 Attempt to fix float placement failure . . . . . . . . . . . . . . . . 29
9.4 Option to relax page height . . . . . . . . . . . . . . . . . . . . . . 30
9.5 Selecting procedure for processing abstract . . . . . . . . . . . . . 30
9.6 Option to turn on diagnostics in the frontmatter . . . . . . . . . . 30
9.7 Default Option, Society, Journal, and pointsize . . . . . . . . . . . 31
9.8 Class-Asserted Options . . . . . . . . . . . . . . . . . . . . . . . . . 33

10 Procedures Dependent Upon Options 34

11 Required Packages 36

12 Incompatible Packages 36

2
13 Society- and Journal-Specific Code 36

14 Body 37
14.1 counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
14.2 float parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
14.3 List Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
14.4 Sectioning Commands . . . . . . . . . . . . . . . . . . . . . . . . . 39
14.4.1 Sectioning Commands and Their Productions . . . . . . . . 39
14.4.2 The Acknowledgments Environment . . . . . . . . . . . . . 40
14.4.3 Part Opener . . . . . . . . . . . . . . . . . . . . . . . . . . 41
14.4.4 Stacked Heads . . . . . . . . . . . . . . . . . . . . . . . . . 42
14.4.5 Runin Heads . . . . . . . . . . . . . . . . . . . . . . . . . . 42
14.5 Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
14.6 Type Size-Dependent Settings . . . . . . . . . . . . . . . . . . . . . 43
14.7 All Point Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
14.8 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
14.8.1 Deferring figure Floats . . . . . . . . . . . . . . . . . . . . 45
14.9 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
14.9.1 Deferring table Floats . . . . . . . . . . . . . . . . . . . . . 47
14.10Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
14.10.1 Deferring video Floats . . . . . . . . . . . . . . . . . . . . . 49

15 Tabular 50

16 Footnote Text 50
16.1 Citations, Bibliography, Endnotes . . . . . . . . . . . . . . . . . . . 51
16.1.1 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . 51
16.1.2 \endnotes and \rtx@bibnotes . . . . . . . . . . . . . . . . 61

17 Initial setup 68

18 \appendix 69

19 Changing the page grid 69


19.1 Avoiding Grid Changes . . . . . . . . . . . . . . . . . . . . . . . . 69
19.2 Galley Style: Margin Changes . . . . . . . . . . . . . . . . . . . . . 70
19.3 Grid Changing Via ltxgrid . . . . . . . . . . . . . . . . . . . . . . 70

20 Old font commands 72

21 English-Language Texts 72

22 Legacy Commands 74

23 Patches for lineno.sty 77

3
24 Endgame for the Document Class 78
24.1 Job Macro Package . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
24.2 Endgame Processing for the Document Class . . . . . . . . . . . . 78

25 Symbols: the revsymb module 80

26 The 10pt class option: the 10pt module 84


26.1 Defend Against Forseeable Errors . . . . . . . . . . . . . . . . . . . 84

27 The 11pt class option: the 11pt module 87


27.1 Defend Against Forseeable Errors . . . . . . . . . . . . . . . . . . . 87

28 The 12pt class option: the 12pt module 89


28.1 Defend Against Forseeable Errors . . . . . . . . . . . . . . . . . . . 89

29 Page parameters 90

30 The aps class extension: the aps module 92


30.1 Defend Against Forseeable Errors . . . . . . . . . . . . . . . . . . . 93
30.2 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
30.3 APS Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
30.3.1 Title block . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
30.3.2 Stacked Heads . . . . . . . . . . . . . . . . . . . . . . . . . 100
30.3.3 Runin Heads . . . . . . . . . . . . . . . . . . . . . . . . . . 101
30.3.4 Table of Contents . . . . . . . . . . . . . . . . . . . . . . . 103
30.3.5 Default column bottom . . . . . . . . . . . . . . . . . . . . 104
30.3.6 Table alignment style . . . . . . . . . . . . . . . . . . . . . 104
30.3.7 Footnote formatting . . . . . . . . . . . . . . . . . . . . . . 105
30.3.8 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
30.3.9 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . 106
30.3.10 Comparing apsrev.bst and apsrmp.bst . . . . . . . . . . . . 111
30.3.11 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
30.4 Journal- and Pointsize-Specific Code . . . . . . . . . . . . . . . . . 114
30.5 Typesize-Specific Code . . . . . . . . . . . . . . . . . . . . . . . . . 115
30.5.1 pra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
30.5.2 prb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
30.5.3 prc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
30.5.4 prd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
30.5.5 pre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
30.5.6 prl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
30.5.7 per . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
30.5.8 prstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
30.5.9 rmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
30.6 Establish APS Defaults . . . . . . . . . . . . . . . . . . . . . . . . 118
30.7 APS Sanity Checking . . . . . . . . . . . . . . . . . . . . . . . . . 119

4
31 The rmp journal substyle: the rmp module 120
31.1 Frontmatter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

32 : 123
32.1 General Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
32.2 Sectioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
32.3 Figure and Table Caption Formatting . . . . . . . . . . . . . . . . 125
32.4 Citations and Bibliography . . . . . . . . . . . . . . . . . . . . . . 126
32.5 Table of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Index 143

1 Using REVTEX
The file README has retrieval and installation information.
User documentation is presented separately in auguide.tex.
The file template.aps is a boilerplate file.

1.1 Bill of Materials


Following is a list of the files in this distribution arranged according to provenance.

1.1.1 Primary Source


One single file generates all.

%revtex4-1.dtx
%

1.1.2 Generated by tex revtex4-1.dtx


Typesetting ths file under TEX itself runs the installer, which generates the package
files.

%revtex4-1.cls, revtex4.ins, revtex4.drv, aps4-1.rtx,


%aps10pt4-1.rtx, aps11pt4-1.rtx, aps12pt4-1.rtx, revsymp.sty
%

1.1.3 Generated by pdflatex revtex4-1.dtx


Typesetting the source file under LATEX generates the documentation.

%revtex4.pdf,
%

5
1.1.4 Auxiliary
The following are auxiliary files generated in the course of running LATEX:

%revtex4.aux revtex4.idx revtex4.ind revtex4.log revtex4.toc


%

2 Code common to all modules


The following may look a bit klootchy, but we want to require only one place in
this file where the version number is stated, and we also want to ensure that the
version number is embedded into every generated file.
Now we declare that these files can only be used with LATEX 2ε . An appropriate
message is displayed if a different TEX format is used.
1 %<*doc|kernel|aps|rmp|revsymb>
2 \NeedsTeXFormat{LaTeX2e}[1996/12/01]%
3 %</doc|kernel|aps|rmp|revsymb>
4 %<kernel>\ProvidesClass{revtex4-1}
5 %<aps>\ProvidesFile{aps4-1}
6 %<rmp>\ProvidesFile{apsrmp4-1}
7 %<10pt>\ProvidesFile{aps10pt4-1}
8 %<11pt>\ProvidesFile{aps11pt4-1}
9 %<12pt>\ProvidesFile{aps12pt4-1}
10 %<revsymb>\ProvidesPackage{revsymb4-1}
11 %<*doc>
12 \ProvidesFile{revtex4-1.dtx}
13 %</doc>
14 %<*!package&!options>
15 %<version>
16 [2010/07/25/20:33:00 4.1r (http://publish.aps.org/revtex4/ for documentation)]% \fileversion
17 %</!package&!options>

The current class name is remembered in \class@name. This is something of a


klootch, relying as it does on knowledge of the implementation of \ProvidesPackage.
18 %<kernel>\let\class@name\@gtempa

3 The driver module driver


This module, consisting of the present section, typesets the programmer’s docu-
mentation, generating the 00readme.txt and sample document as needed.
Because the only uncommented-out lines of code at the beginning of this file
constitute the driver module itself, we can simply typeset the .dtx file directly,
and there is thus rarely any need to generate the “driver” docstrip module.
Module delimiters are nonetheless required so that this code does not find its way
into the other modules.
The \end{document} command concludes the typesetting run.
19 %<*doc>

6
The driver uses packages ltxdoc.sty, ltxdocext.sty, hyperref.sty, and what-
ever font package has been selected.
20 \documentclass{ltxdoc}
21 \RequirePackage{ltxdocext}%
22 \let\url\undefined
23 \RequirePackage[colorlinks=true,linkcolor=blue]{hyperref}%
24 \expandafter\ifx\csname package@font\endcsname\@undefined\else
25 \expandafter\RequirePackage\expandafter{\csname package@font\endcsname}%
26 \fi

We ask for the usual indices and glossaries.


27 \CodelineIndex\EnableCrossrefs % makeindex -s gind.ist revtex4
28 \RecordChanges % makeindex -s gglo.ist -o revtex4.gls revtex4.glo

3.0.5 Docstrip and info directives


We use so many docstrip modules that we set the StandardModuleDepth counter
to 1.
29 \setcounter{StandardModuleDepth}{1}
The following command retrieves the date and version information from this file.
30 \expandafter\GetFileInfo\expandafter{\jobname.dtx}%

3.1 The Frontmatter File


As promised above, here is the contents of the frontmatter file.
31 \begin{filecontents*}{00readme.tex}
32 \title{%
33 The \classname{revtex4-1} document class of the American Physical Society%
34 \protect\thanks{Work under hire to The American Physical Society.}%
35 }%
36 \author{Arthur Ogawa%
37 \protect\thanks{First revision of REV\TeX4.0 (unreleased) by David Carlisle}%
38 }%
39 \date{Version \fileversion, dated \filedate}%
40 \newcommand\revtex{REV\TeX}
41
42 \maketitle
43
44 This file embodies the implementation of the APS \revtex\ 4.1 document class
45 for electronic submissions to journals.
46
47 The distribution point for this work is
48 \url{http://publish.aps.org/revtex4/},
49 which contains fully unpacked, prebuilt runtime files and documentation.
50
51 \tableofcontents
52
53 \section{Using \protect\revtex}

7
54
55 The file \file{README} has retrieval and installation information.
56
57 User documentation is presented separately in \file{auguide.tex}.
58
59 The file \file{template.aps} is a boilerplate file.
60
61 \changes{4.0a}{1998/01/16}{Initial version}
62 \changes{4.0a}{1998/01/31}{Move after process options, so \cs{clearpage} not in scope of twocolu
63 \changes{4.0a}{1998/01/31}{Rearrange the ordering so numerical ones come first. AO: David, what
64 \changes{4.0a}{1998/01/31}{use font-dependent spacing}
65 \changes{4.0a}{1998/01/31}{4.0d had twoside option setting twoside switch to false}
66 \changes{4.0a}{1998/01/31}{Move after process options, so the following test works}
67 \changes{4.0a}{1998/01/31}{print homepage}
68 \changes{4.0a}{1998/01/31}{protect against hyperref revtex kludges which are not needed now}
69 \changes{4.0a}{1998/06/10}{multiple preprint commands}
70 \changes{4.0a}{1998/06/10}{comma not space between email and homepage}
71 \changes{4.0a}{1998/06/10}{single space footnotes}
72 \changes{4.0b}{1999/06/20}{First modifications by Arthur Ogawa (mailto:arthur\_ogawa at sbcgloba
73 \changes{4.0b}{1999/06/20}{Added localization of \cs{figuresname}}
74 \changes{4.0b}{1999/06/20}{Added localization of \cs{tablesname}}
75 \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{10pt} is in this module.}
76 \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{11pt} is in this module.}
77 \changes{4.0b}{1999/06/20}{AO: all code for \protect\classoption{12pt} is in this module.}
78 \changes{4.0b}{1999/06/20}{AO: made aps.rtx part of revtex4.dtx}
79 \changes{4.0b}{1999/06/20}{AO: remove duplicates}
80 \changes{4.0b}{1999/06/20}{call \cs{print@floats}}
81 \changes{4.0b}{1999/06/20}{Defer assignment until \cs{AtBeginDocument} time.}
82 \changes{4.0b}{1999/06/20}{Defer decision until \cs{AtBeginDocument} time}
83 \changes{4.0b}{1999/06/20}{Define three separate environments, defer assignment to \cs{AtBeginDo
84 \changes{4.0b}{1999/06/20}{Frank Mittelbach, has stated in \protect\classname{multicol}: ‘‘The k
85 \changes{4.0b}{1999/06/20}{Move this ‘‘complex’’ option to the front, where it can be overridden
86 \changes{4.0b}{1999/06/20}{New option}
87 \changes{4.0b}{1999/06/20}{One-line caption sets flush left.}
88 \changes{4.0b}{1999/06/20}{only execute if appropriate}
89 \changes{4.0b}{1999/06/20}{Processing delayed to \cs{AtBeginDocument} time}
90 \changes{4.0b}{1999/06/20}{Removed invocation of nonexistent class option \protect\classoption{g
91 \changes{4.0b}{1999/06/20}{Restore all media size class option of \protect\file{classes.dtx}}
92 \changes{4.0b}{1999/06/20}{Stack \cs{preprint} args flush right at right margin.}
93 \changes{4.0c}{1999/11/13}{(AO, 115) If three or more preprints specified, set on single line, w
94 \changes{4.0c}{1999/11/13}{(AO, 129) section* within appendix was producing appendixname}
95 \changes{4.0c}{1999/11/13}{*-form mandates pagebreak}
96 \changes{4.0c}{1999/11/13}{also spelled ‘‘acknowledgements’’.}
97 \changes{4.0c}{1999/11/13}{Do not put by REVTeX in every page foot}
98 \changes{4.0c}{1999/11/13}{grid changes via ltxgrid procedures}
99 \changes{4.0c}{1999/11/13}{grid changes with ltxgrid}
100 \changes{4.0c}{1999/11/13}{Insert procedure \cs{checkindate}}
101 \changes{4.0c}{1999/11/13}{Lose compatability mode.}
102 \changes{4.0c}{1999/11/13}{New ltxgrid-based code, other bug fixes}
103 \changes{4.0c}{1999/11/13}{New option ‘‘checkin’’}

8
104 \changes{4.0c}{1999/11/13}{Prevent an inner footnote from performing twice}
105 \changes{4.0d}{2000/04/10}{Also alter how lists get indented.}
106 \changes{4.0d}{2000/04/10}{eprint takes an optional argument, syntactical only in this case.}
107 \changes{4.0d}{2000/04/10}{New option}
108 \changes{4.0d}{2000/05/10}{More features and bug fixes: compatability with longtable and array p
109 \changes{4.0d}{2000/05/17}{make longtable trigger the head, too}
110 \changes{4.0d}{2000/05/18}{But alternative spelling is deprecated.}
111 \changes{4.0e}{2000/09/20}{New option showkeys}
112 \changes{4.0e}{2000/11/14}{Bug fixes and minor new features: title block affiliations can have a
113 \changes{4.0e}{2000/11/21}{adornments above and below.}
114 \changes{4.0f}{2001/02/13}{Last bug fixes before release.}
115 \changes{4.0rc1}{2001/06/17}{Running headers always as if two-sided}
116 \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
117 \changes{4.0rc1}{2001/06/18}{grid changes with push and pop}
118 \changes{4.0rc4}{2001/07/23}{hyperref is no longer loaded via class option: use a usepackage sta
119 \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
120 \changes{4.1a}{2008/01/18}{(AO, 451) ‘‘Cannot have more than 256 cites in a document’’}%
121 \changes{4.1a}{2008/01/18}{(AO, 457) Endnotes to be sorted in with numerical citations.}%
122 \changes{4.1a}{2008/01/18}{(AO, 460) ‘‘Proper style is "FIG. 1. ..." (no colon)’’}%
123 \changes{4.1a}{2008/01/18}{(AO, 478) \cs{ds@letterpaper}, so that ‘‘letterpaper really is the de
124 \changes{4.1a}{2008/01/18}{(AO, 488) Change processing of options to allow an unused option to s
125 \changes{4.1a}{2008/01/19}{(AO, 461) Change the csname revtex uses from @dotsep to ltxu@dotsep.
126 \changes{4.1a}{2008/01/19}{For natbib versions before 8.21, \cs{NAT@sort} was consulted only as
127 \changes{4.1b}{2008/05/29}{The csname substyle@ext is now defined without a dot (.), to be compa
128 \changes{4.1b}{2008/06/01}{(AO) Implement bibnotes through \cs{frontmatter@footnote@produce} ins
129 \changes{4.1b}{2008/06/01}{Add option reprint, opposite of preprint, and preferred alternative t
130 \changes{4.1b}{2008/06/29}{(AO, 455) Be nice to a list within the abstract (assign \cs{@totallef
131 \changes{4.1b}{2008/06/30}{(AO) Structure the Abstract using the \texttt{bibliography} environme
132 \changes{4.1b}{2008/07/01}{(AO) coordinate \cs{if@twoside} with \cs{twoside@sw}}
133 \changes{4.1b}{2008/07/01}{(AO) make settings at class time instead of deferring them to later.}
134 \changes{4.1b}{2008/07/01}{(AO) No longer need to test \cs{chapter} as of \texttt{natbib} versio
135 \changes{4.1b}{2008/07/01}{(AO) No longer use \cs{secnumarabic@sw}, instead use \cs{setup@secnum
136 \changes{4.1b}{2008/07/01}{(AO) Provide more diagnostics when \cs{@society} is assigned.}
137 \changes{4.1b}{2008/07/01}{(AO) provide option longbibliography}
138 \changes{4.1b}{2008/07/01}{Add \cs{@hangfroms@section}}
139 \changes{4.1b}{2008/07/01}{Break out \cs{@caption@fignum@sep}}
140 \changes{4.1b}{2008/07/01}{Class option galley sets \cs{preprintsty@sw} to false}
141 \changes{4.1b}{2008/07/01}{Code relating to new syntax for frontmatter has been placed in \file{
142 \changes{4.1b}{2008/07/01}{Package textcase is now simply a required package}
143 \changes{4.1b}{2008/07/01}{Procedures \cs{@parse@class@options@society} and \cs{@parse@class@opt
144 \changes{4.1b}{2008/07/01}{Read in all required packages together}
145 \changes{4.1b}{2008/07/01}{Remove options newabstract and oldabstract}
146 \changes{4.1b}{2008/08/01}{Section numbering via procedures \cs{secnums@rtx} and \cs{secnums@ara
147 \changes{4.1b}{2008/08/04}{As with author formatting, rag the right more, and assign \cs{@totall
148 \changes{4.1b}{2008/08/04}{Rag the right even more: .8\cs{hsize}. Also, assign \cs{@totalleftmar
149 \changes{4.1b}{2008/08/04}{The \texttt{rmp} journal substyle selects \texttt{groupedaddress} by
150 \changes{4.1b}{2008/08/04}{Use \cs{setup@hook} to initialize all.}
151 \changes{4.1c}{2008/08/15}{Document class option longbibliography via \cs{substyle@post}}
152 \changes{4.1d}{2009/03/27}{Definition of \cs{ @fnsymbol} follows fixltx2e.sty}
153 \changes{4.1e}{2008/06/29}{(AO, 455) be nice to a list within the abstract}

9
154 \changes{4.1f}{2009/07/07}{(AO, 513) Add class option linenumbers: number the lines a la \classn
155 \changes{4.1f}{2009/07/07}{(AO, 516) Merged references are separated with a semicolon}
156 \changes{4.1f}{2009/07/10}{(AO, 520) Automatically produce \cs{bibliography} command when needed
157 \changes{4.1f}{2009/07/11}{(AO, 521) Lonely bibliography head}%
158 \changes{4.1f}{2009/07/11}{(AO, 522) Warn if software is expired}%
159 \changes{4.1f}{2009/07/15}{(AO, 523) Add class option nomerge, to turn off new natbib 8.3 syntax
160 \changes{4.1f}{2009/07/20}{(AO, 524) Makes no sense if citations are superscript numbers and so
161 \changes{4.1f}{2009/10/05}{(AO, 530) \cs{@fnsymbol}: Failed to import fixltx2e.sty technology. R
162 \changes{4.1g}{2009/10/07}{(AO, 525) Remove phantom paragraph above display math that is given i
163 \changes{4.1g}{2009/10/07}{(AO, 538) \cs{MakeTextUppercase} inappropriately expands the double b
164 \changes{4.1h}{2009/10/09}{(AO) Remove expiry code in the release software}%
165 \changes{4.1i}{2009/10/23}{(AO, 541) Defer assignment of \cs{cite} until after natbib loads}
166 \changes{4.1j}{2009/10/24}{(AO, 549) Repairing natbib’s \cs{BibitemShut} and \cs{bibAnnote}}
167 \changes{4.1j}{2009/10/25}{(AO, 545) hypertext capabilities off by default; enable with \classop
168 \changes{4.1j}{2009/10/25}{(AO, 552) Repair spacing in \cs{onlinecite}}
169 \changes{4.1k}{2009/11/06}{(AO, 554) give the \cs{newlabel} command syntax appropriate to the hy
170 \changes{4.1n}{2009/11/06}{(AO, 565) restore 4.0 behavior: invoking class option preprint implie
171 \changes{4.1n}{2009/11/30}{(AO, 566) restore 4.0 behavior: flush column bottoms}
172 \changes{4.1n}{2009/12/05}{(AO, 569) Use of \classname{hyperref} interferes with column balancin
173 \changes{4.1n}{2009/12/09}{(AO, 569) execute the after-last-shipout procedures from within the s
174 \changes{4.1n}{2010/01/02}{(AO, 571) Interface \cs{set@footnotewidth} for determining the set wi
175 \changes{4.1n}{2010/01/02}{(AO, 572) Independent footnote counter for title block. Abstract foot
176 \changes{4.1n}{2009/12/13}{(AO, 573) arrange to load \classname{lineno} after any other packages
177 \changes{4.1n}{2010/01/04}{(AO, 575) the default for journal prstper is longbibliography}%
178 \changes{4.1n}{2010/01/04}{(AO, 576) In .bst files, remove support for the annote field}%
179 \changes{4.1n}{2010/01/02}{(AO) fine-tune spacing above and below widetext}%
180 \changes{4.1n}{2010/01/02}{(AO, 571) class file must set \cs{splittopskip}; fine tune \cs{skip}\
181 \changes{4.1n}{2010/01/02}{(AO, 572) \cs{@makefntext} and \cs{frontmatter@makefntext} must be de
182 \changes{4.1o}{2010/02/02}{(AO, 575) Automatically incorporate the (Bib\TeX-generated) .bbl into
183 \changes{4.1o}{2010/02/05}{(AO, 549) Remove patch to natbib, which is now at version 8.31a}
184 \changes{4.1o}{2010/02/07}{(AO, 578) accommodate the possible space character preceding \cs{Bibi
185 \changes{4.1o}{2010/02/05}{(AO, 579) Endnote shall comprise their own Bib\TeX\ entry type: @FOOT
186 \changes{4.1o}{2010/02/10}{(AO, 580) Provide a document class option to turn off production of e
187 \changes{4.1o}{2010/02/12}{(AO, 580) Control .bst at run time.}%
188 \changes{4.1o}{2010/02/09}{(AO, 581) Handle case: merged references, with first ending in a stop
189 \changes{4.1p}{2010/02/24}{(AO, 583) Provide interface to \classname{ltxgrid} \cs{onecolumn@grid
190 \changes{4.1p}{2010/02/24}{(AO, 584) Per MD, remove trailing space character from each journal a
191 \changes{4.1q}{2010/04/01}{(AO, 586) When .bbl is pasted into the document, prevent automatic bi
192 \changes{4.1q}{2010/04/13}{(AO, 588) Only write \revtex-specific BibTeX .bib data if the .bst st
193 \changes{4.1r}{2010/06/22}{(AO, 595) Provide \cs{lovname} along with other List of Videos defini
194
195 \end{filecontents*}

3.2 The Document Body


Here is the document body, containing only a \DocInput directive—referring to
this very file. This very cute self-reference is a common ltxdoc idiom.
196 \begin{document}%
197 \expandafter\DocInput\expandafter{\jobname.dtx}%

10
198 \PrintChanges
199 \end{document}
And that is the end of the driver for the programmer’s documentation.
200 %</doc>

4 Overview
REVTEX is a LATEX 2ε document class, somewhat like a hybrid of the standard
LATEX book and article classes.
Certain packages are (should be) loaded by this class in any case: amssymb,
amsmath, bm, natbib.
Certain packages are automatically loaded by this class when a corresponding
class option has been invoked:
REVTEX option package
amsfonts amsfonts
amssymb amssymb
aps overcite
Certain other packages are to be loaded by the document through explicit
use of \usepackage. Some mentioned in the user documentation are graphicx,
longtable, hyperref, and bm.
Certain commonly used packages are known to be incompatible with REVTEX,
among them multicol and cite. If such a package is found to be loaded, REVTEX
issues an error message and halts the job. Halting might be considered severe
punishment for loading an incompatible package, but if we were to proceed, an
even weirder error might be encountered further down the road.
This document class implements the substyle: a set of mutually exclusive class
options that, in this case, allow the document class to address multiple societies.
It also implements a sub-substyle, giving the journal of the given society. Any
society may create a substyle; this file generates one for aps.
FIXME: should always load the graphicx package. No, allow user to load
whichever graphics package is desired.
QUERY: since amsfonts and amssymb extend syntax, why not load them in
any case?
Certain processing occurs at the endgame for reading in REVTEX, thereby
establishing precedence for assignments to LATEX’s (and REVTEX’s) parameters:
1. Figure out which society is operative and read in the indicated .rtx file.
2. Figure out which journal option is operative and execute the indicated jour-
nal command. This may lead to reading in a journal substyle .rtx file.

3. Figure out which pointsize is operative and execute the indicateded pointsize
command. This may lead to reading in a pointsize .rtx file.
4. Execute all of the document’s options, in the order declared within the doc-
ument.

11
5. Read in all required packages (like natbib, amsfonts, amssymb), that were
determined by class, society, and journal.
6. The last required package, if existing, is the document’s style file, the .rty
file. Note that the .rty file can override the assignments of REVTEX, society,
journal, and required packages, and even load its own packages. It can also,
via appendations to \setup@hook, override the setup code itself.
7. Execute all of the setup code accumulated. Such code can be queued by
REVTEX itself, by the society, by the journal, or by the pointsize.
8. At this point, REVTEX has completed the process of inputting itself, and
LATEX will now execute the \AtEndOfClass procedures.

REVTEX will have enqueued code to execute at \AtBeginDocument time, in


two different queues. \document@inithook executes immediately upon encoun-
tering the \begindocument statement, \class@documenthook at the end of all
the code enqueued via \AtBeginDocument.

1. Install procedures to execute at the very end of the class’s \AtBeginDocument


processing, such as
(a) closing out the page grid
(b) putting out the LastPage label.
(c) issuing a \bibliographystyle command, based on the value set by
the society substyle.
(d) setting default values for parameters used in the document. FIXME:
differentiate between class’s parameters that can wait until they are
used in the document, and parameters that are used at \AtBeginDocument
time.

2. Install procedures to execute the very last at \AtEndDocument time, such as


the \clearpage processing.
Certain events are optionally scheduled for \AtBeginDocument time:
1. Setting default values for the Booleans and for other procedures used in
formatting.
2. In response to class options options, adjusting parameters and procedures
used in formatting.
3. Implementing the eqsecnum option, if required.

4. Setting the state engine for data commands.


5. Memorizing procedures for later use.
6. Setting type size and area, for use by later calculations.

12
Certain events are scheduled for \class@enddocumenthook time:
1. Print out the migrated floats or the end notes, if needed.
2. Close out the page grid.
3. Label the last page of the document
4. (natbib) prepare to read in the .aux file.

5 Writing journal-specifc extensions to REVTEX


With this version of REVTEX, we introduce a somewhat different scheme for
adapting REVTEX to the needs of a specific journal.
To create a journal substyle, you create new class options in REVTEX for the
society, say osa, and any of that society’s journals, one of which is, say, josaa,
using the code for the APS as a guide. In particular, each of your new options
should separately define \@society and \@journal. That for the former will be
the same for all options relating to a particular society.
Then, for the society, you create a corresponding .rtx file, in our case osa.rtx.
Within that file, you override procedures and parameter assignments as you see
fit. Ideally they will be generally applicable to all of that society’s journals (see
the file aps.rtx for a realization of this scheme). Also within that file, you include
a section of code for each journal, that for josaa looks like:

% \@ifx{\@journal\journal@josaa}{%
% hcode specific to the josaa i
% }{}%
%

Thus far, the scheme is similar to that used in REVTEX 3.1. However, the new
scheme does differ from the old in that the .rtx file should define no syntactical
extensions to REVTEX.

6 The revtex4 Document Class


Above, we took advantage of 1) the LATEX definition of \ProvidesPackage and 2)
that the line of code immediately afterwards follows the \ProvidesClass state-
ment above.
201 %<*kernel>
Print a banner in the log:
202\GenericInfo{}{\space
203 Copyright (c) 2009 The American Physical Society.^^J
204 mailto:[email protected]^^J
205 Licensed under the LPPL:^^Jhttp://www.ctan.org/tex-archive/macros/latex/base/lppl.txt^^J
206 Arthur Ogawa <arthur_ogawa at sbcglobal dot net>^^J
207 Based on work by David Carlisle <david at dcarlisle.demon.co.uk>%

13
208 \@gobble
209 }%

6.1 Compatibility Processing


If the document has \documentstyle{revtex4}, then, instead of attempting to
run in compatability mode, just complain and exit.
210 \if@compatibility
211 \edef\reserved@a{\errhelp{%
212 Change your \string\documentstyle\space statement to
213 \string\documentclass\space and rerun.
214 }}\reserved@a
215 \errmessage{You cannot run \class@name\space in compatability mode}%
216 \expandafter\@@end
217 \fi

7 Extensions to the LATEX Kernel


218 %</kernel>
Here, we incorporate the utility, frontmatter, and page grid packages. The
ltxutil, ltxfront, and ltxgrid source are distributed with REVTEX.
Here begins the options docstrip module.
219 %<*options>
7.1 Hooks
\setup@hook The procedure \setup@hook serves as the vehicle for all code that gives values
to the class’s parameters once all the society, journal, options, and packages have
been processed.
Arrange for journal substyles to set their own default values.
220 \let\setup@hook\@empty

After preamble processing is complete, detect whether package longtable has


been loaded and patch it.
221 \appdef\document@inithook{%
222 \switch@longtable
223 \let\LT@makecaption\LT@makecaption@rtx
224 }%

\LT@makecaption We override the caption processing method of the longtable package: space below
the caption is created via strut instead of whitespace.
225 \def\LT@makecaption@rtx#1#2#3{%
226 \LT@mcol\LT@cols c{%
227 \hbox to\z@{%
228 \hss
229 \parbox[t]\LTcapwidth{%
230 \sbox\@tempboxa{#1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineski

14
231 \ifdim\wd\@tempboxa>\hsize
232 #1{#2: }#3\unskip\nobreak\vrule\@width\z@\@height\z@\@depth .5\baselineskip
233 \else
234 \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
235 \fi
236 \endgraf
237 }%
238 \hss
239 }%
240 }%
241 }%

\robust@boldmath Robustify the \boldmathcommand. If Team LATEX (or any package) ever gets
around to fixing this problem, we will bow out. (This fix relates to bug #394.)
242 \def\protectdef@boldmath{%
243 \expandafter\@ifnotrelax\csname boldmath \endcsname{}{%
244 \class@info{Robustifying \string\LaTeX’s \string\boldmath\space command}%
245 \expandafter\let\csname boldmath \endcsname\boldmath
246 \expandafter\def\expandafter\boldmath\expandafter{\expandafter\protect\csname boldmath \endcsn
247 }%
248 }%
249 \appdef\document@inithook{%
250 \protectdef@boldmath
251 }%

8 Compatability with the geometry package


The geometry package of Hideo Umeki provides a way to specify the metrics of
the media and page layout. We want to ensure that REVTEX does not foreclose on
the use of this or any other such package, nor to interfere with explicit assignments
of such metric parameters within the document preamble.
The LATEX parameters (resp. TEX primitives) set by geometry are: \paperwidth,
\paperheight, \textwidth, \textheight, \topmargin, \headheight, \headsep,
\footskip, \skip\footins, \marginparwidth, \marginparsep, \oddsidemargin,
\evensidemargin, \columnsep, \hoffset, \voffset, \mag, \if@twocolumn,
\if@twoside, \if@mparswitch, \if@reversemargin,
REVTEX’s assignments can be overridden by any package or other statement
in the document preamble, so it should be compatible.
FIXME: one parameter is rendered semantically void (by ltxgrid.dtx):
\if@twocolumn.

9 Options
9.1 Define Booleans Used in Options
The following Booleans are used within the document class to allow the document
or the substyle to make selections of formatting. An explicit document class option

15
overrides an assignment made by a substyle.

9.2 Declare Options


9.2.1 Checkin: for Editorial Use
A document class option declaring that the document is being processed by the
editorial staff.
This option should:
• put date in footer along with folio
• Have the effect of selecting the preprint class option.
• Have the effect of selecting the showpacs class option.
• specify that when a float is placed h or H, it will be allowed to break over
pages. (Note: be sure that if the enclosed tabular has an optional argument,
you change it to [v], or remove it entirely.)

252 \DeclareOption{checkin}{%
253 \@booleantrue\dateinRH@sw
254 \@booleantrue\preprintsty@sw
255 \def\@pointsize{12}%
256 \@booleantrue\showPACS@sw
257 \@booleantrue\showKEYS@sw
258 \def\fp@proc@h{\allow@breaking@tables}%
259 \def\fp@proc@H{\allow@breaking@tables}%
260 }%
261 \@booleanfalse\dateinRH@sw
262 \def\checkindate{\dateinRH@sw{{\tiny(\today)}}{}}%
263 \def\allow@breaking@tables{%
264 \def\array@default{v}% tabular can break over pages
265 \@booleanfalse\floats@sw % table can break over pages
266 }%

9.2.2 Preprint Style


\preprintsty@sw The boolean \preprintsty@sw signifies that the document is to be formatted in
preprint style.
267 \DeclareOption{preprint}{%
268 \@booleantrue\preprintsty@sw
269 \ExecuteOptions{12pt}%
270 }%
271 \DeclareOption{reprint}{%
272 \@booleanfalse\preprintsty@sw
273 \@booleantrue\twocolumn@sw
274 \ExecuteOptions{10pt}%
275 }%
276 \DeclareOption{manuscript}{%

16
277 \class@warn{Document class option manuscript is obsolete; use preprint instead}%
278 \ExecuteOptions{preprint}%
279 }%
280 \@booleanfalse\preprintsty@sw

\showPACS@sw If \showPACS@sw is true, print the PACS information in the title block, otherwise
\showKEYS@sw not. Similarly for \showKEYS@sw and the keywords.

9.2.3 Showing PACS and keywords


281 \DeclareOption{showpacs}{%
282 \@booleantrue\showPACS@sw
283 }%
284 \DeclareOption{noshowpacs}{%
285 \@booleanfalse\showPACS@sw
286 }%
287 \DeclareOption{showkeys}{%
288 \@booleantrue\showKEYS@sw
289 }%
290 \DeclareOption{noshowkeys}{%
291 \@booleanfalse\showKEYS@sw
292 }%
293 \@booleanfalse\showPACS@sw
294 \@booleanfalse\showKEYS@sw

9.2.4 Balance the last page when in two-column page grid


\balancelastpage@sw If we are in a two-column page grid, we may wish to balance the columns of
the last page. This will be done automatically if the twocolumn document class
option is chosen. This action will be turned off by the nobalancelastpage. A
complementary class option, balancelastpage is also provided.
295 \DeclareOption{balancelastpage}{%
296 \@booleantrue\balancelastpage@sw
297 }%
298 \DeclareOption{nobalancelastpage}{%
299 \@booleanfalse\balancelastpage@sw
300 }%
301 \@booleantrue\balancelastpage@sw

9.2.5 Showing preprint numbers


\preprint@sw The boolean \preprint@sw signifies that the preprints (cf. \preprint) are to be
formatted (usually on the title page). The option preprintnumbers declares to do
so, nopreprintnumbers declares not to; the default is to follow \preprintsty@sw.
302 \DeclareOption{nopreprintnumbers}{\@booleanfalse\preprint@sw}%
303 \DeclareOption{preprintnumbers}{\@booleantrue\preprint@sw}%
304 \appdef\setup@hook{%
305 \@ifxundefined\preprint@sw{\let\preprint@sw\preprintsty@sw}{}%
306 }%

17
9.2.6 Hypertext Option
307 \DeclareOption{hyperref}{%
The following code had been commented out, it is now truly a comment:
%\AtEndOfClass{%
% \begingroup
% \edef\@tempa{%
% \let
% \noexpand\@clsextension
% \noexpand\@empty
% \noexpand\RequirePackage{hyperref}%
% \def\noexpand
% \@clsextension{\@clsextension}%
% }%
% \expandafter
% \endgroup
% \@tempa
%}%
% \def\@pointsize{10}%
%

If you have a hyper-foo enabled browser you may prefer this format which does
not print the URL for the home page, but just makes the name a link, but by
default print it so it works on paper.
308 \class@warn{Class option "hyperref" is no longer supported.^^JEmploy \string\usepackage{hyperre
309 }%

9.2.7 Type Size


Use \@pointsize=10 rather than \@ptsize=0 to allow easy extensions to 9pt or
whatever. Note: the three alternatives are mutually exclusive.
At this point, the parameter \@pointsize is set to \undefined: a society must
give it a definition.
310 \DeclareOption{10pt}{\def\@pointsize{10}}%
311 \DeclareOption{11pt}{\def\@pointsize{11}}%
312 \DeclareOption{12pt}{\def\@pointsize{12}}%
313 \let\@pointsize\@undefined

9.2.8 Media Size


\paperheight
\paperwidth 314 \DeclareOption{a4paper}{%
315 \setlength\paperheight {297mm}%
316 \setlength\paperwidth {210mm}%
317 }%
318 \DeclareOption{a5paper}{%
319 \setlength\paperheight {210mm}%
320 \setlength\paperwidth {148mm}%

18
321 }%
322 \DeclareOption{b5paper}{%
323 \setlength\paperheight {250mm}%
324 \setlength\paperwidth {176mm}%
325 }%
326 \DeclareOption{letterpaper}{%
327 \setlength\paperheight {11in}%
328 \setlength\paperwidth {8.5in}%
329 }%
330 \DeclareOption{legalpaper}{%
331 \setlength\paperheight {14in}%
332 \setlength\paperwidth {8.5in}%
333 }%
334 \DeclareOption{executivepaper}{%
335 \setlength\paperheight {10.5in}%
336 \setlength\paperwidth {7.25in}%
337 }%
338 \DeclareOption{landscape}{%
339 \setlength\@tempdima {\paperheight}%
340 \setlength\paperheight {\paperwidth}%
341 \setlength\paperwidth {\@tempdima}%
342 }%

Effectively select letterpaper.


343 \ds@letterpaper

9.2.9 Bibnotes
\frontmatter@footnote@produce Frontmatter footnotes result from frontmatter commands like \email, \homepage,
\altaffiliation, and \thanks. The default for \frontmatter@footnote@produce
is \frontmatter@footnote@produce@footnote, which formats the frontmatter
footnotes at the foot of the title page. The bibnotes class option defers them to
the bibliography.
344 \DeclareOption{bibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote}
345 \DeclareOption{nobibnotes}{\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footno
346 \let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
347 \appdef\class@enddocumenthook{\auto@bib}%

9.2.10 Footinbib
\footinbib@sw The boolean \footinbib@sw signifies that text footnotes are to be set in the
bibliography, as endnotes.
The document may set the value one way or the other via the following two
class options.
348 \DeclareOption{footinbib}{\@booleantrue\footinbib@sw}
349 \DeclareOption{nofootinbib}{\@booleanfalse\footinbib@sw}
The default value is \false@sw, and the society or journal may override the de-
fault.
350 \@booleanfalse\footinbib@sw

19
9.2.11 altaffilletter
\altaffilletter@sw Determine the procedure \thefootnote used in frontmatter: the footnote symbol
used in titlepage footnotes.
351 \DeclareOption{altaffilletter}{\@booleantrue\altaffilletter@sw}%
352 \DeclareOption{altaffilsymbol}{\@booleanfalse\altaffilletter@sw}%
353 \@booleanfalse\altaffilletter@sw

9.2.12 superbib
\place@bibnumber The procedure \place@bibnumber produces the number at the head of the
\bibitem, in the bibliography. By default, it has the \bibnumfmt meaning as-
signed by the natbib package. It may be overridden by society, journal, or by the
document options.
354 \DeclareOption{superbib}{%
355 \let\place@bibnumber\place@bibnumber@sup
356 }%
357 \def\place@bibnumber{\NATx@bibnumfmt}%

\place@bibnumber@sup For producing the \bibitem device, we define two procedures to select from.
\place@bibnumber@inl Note that we could have used natbib’s \ifNAT@super switch, but it does not
allow for altering the meaning of \bibnumfmt.
358 \def\place@bibnumber@sup#1{\textsuperscript{#1}}%
359 \def\place@bibnumber@inl#1{[#1]}%

9.2.13 citeautoscript
\citeautoscript@sw This class option allows you to automatically accomodate a change from non-
superscripted, numbered references to superscripted, bunmbered references.
Note: you should always mark up your document with the assumption that
references are not going to be superscripted. Otherwise this option has no hope
of working properly.
360 \DeclareOption{citeautoscript}{\@booleantrue\citeautoscript@sw}%
361 \@booleanfalse\citeautoscript@sw

9.2.14 Variants on the Bibliography Style


REVTEX anticipates that a society or journal will provide two related BibTEXbibliography
style variants, designating one as the default. A pair of document class options
longbibliography and nolongbibliography allows the user to explicitly select
between them.
\longbibliography@sw REVTEX’s default for \longbibliography@sw is \false@sw.
362 \DeclareOption{longbibliography}{\@booleantrue\longbibliography@sw}%
363 \DeclareOption{nolongbibliography}{\@booleanfalse\longbibliography@sw}%
364 \@booleanfalse\longbibliography@sw

20
\eprint@enable@sw The document class options eprint and noeprint give the user the ability to turn
off production of the eprint field in the bibliography.
365 \DeclareOption{eprint}{\@booleantrue\eprint@enable@sw}%
366 \DeclareOption{noeprint}{\@booleanfalse\eprint@enable@sw}%
367 \@booleantrue\eprint@enable@sw

9.2.15 Simplex/Duplex Pages


\twoside@sw The flag \twoside@sw signifies that the document is to be formatted for duplex
printing. After the preamble is processed, we align the value of the kernel \newif
switch \if@twoside to that of \twoside@sw. \if@twoside itself is used in the
kernel’s \cleardoublepage and \@outputpage procedures.
368 \@booleanfalse\twoside@sw
369 \appdef\document@inithook{%
370 \twoside@sw{\@twosidetrue}{\@twosidefalse}%
371 }%

The complementary options twoside and oneside assert formatting for duplex or
simplex printing, respectively. At the same time, we arrange for the selection of
the page grid with respect to the marginal column: Because \if@reversemargin
remains default (false), if duplex printing, this column will always be on the (right),
if simplex printing, it will always be on the (outside). QUERY: correct choice?
FIXME: assign \if@mparswitch later (and protect the assignment, too).
372 \DeclareOption{twoside}{\@booleantrue \twoside@sw\@mparswitchfalse}%
373 \DeclareOption{oneside}{\@booleanfalse\twoside@sw\@mparswitchtrue}%

9.2.16 Two-Column Page Grid


\twocolumn@sw The flag \twocolumn@sw signifies that the document is to be formatted in the
two-column page grid.
If no options relating to page grid are invoked by \AtBeginDcoument time,
we set default values. Up to that point, the class can check if \twocolumn@sw is
\undefined to see if any related options have been invoked.
onecolumn specifies one-column page grid. The twocolumn class option em-
ploys the standard mechanism for changing the column grid: the ltxgrid package.
374 \DeclareOption{onecolumn}{\@booleanfalse\twocolumn@sw}%
375 \DeclareOption{twocolumn}{\@booleantrue \twocolumn@sw}%
376 \@booleanfalse\twocolumn@sw

The column grid is determined by the state of the switch \twocolumn@swand is


effected at \class@documenthook time. The society or journal file may re-define
\select@column@grid to accomodate, e.g., more than two choices for the page
grid.
Note that \open@column@two adds items to the Main Vertical List, so consti-
tutes the true beginning of the document.
Note also that if the selected column grid is a one-column grid, there is nothing
to do, because ltxgrid has already set that up via \@begindocumenthook.
377 \def\select@column@grid{%

21
378 \twocolumn@sw{%
379 \twocolumn@grid@setup
380 \open@twocolumn
381 }{%
382 \onecolumn@grid@setup

% \open@onecolumn
%

383 }%
384 }%
385 \appdef\class@documenthook{%
386 \select@column@grid
387 }%

\clear@document We install into \class@enddocumenthook a trap for the procedure \clearpage


that attempts to end the current page. This procedure needs to be headpatched
with \close@column to end the current page grid.
This procedure is executed after all typesetting is complete i.e., after items like
\printtables, as well as all commands queued up by \AtEndDocument.
388 \appdef\setup@hook{%
389 \let\clearpage@ltx\clearpage
390 \prepdef\clear@document{\let\clearpage\clearpage@ltx\let\clear@document\@empty\close@column}%
391 \appdef\class@documenthook{%
392 \appdef\class@enddocumenthook{%
393 \let\clearpage\clear@document
394 }%
395 }%
396 }%

\authoryear@sw The boolean \authoryear@sw signifies that we are to use author-year citations
rather than numerical citations.
The author-year class option selects “’author-year” citations; numerical se-
lectes “numerical” citations. The former is the default.
397 \DeclareOption{author-year}{\@booleantrue\authoryear@sw}%
398 \DeclareOption{numerical}{\@booleanfalse\authoryear@sw}%
399 \@booleanfalse\authoryear@sw

\galley@sw The boolean \galley@sw signifies that the document is to be formatted in galley
style.
Asserting both \galley@sw and \preprintsty@sw may produce strange for-
matting results, but it is not illegal. However, it is illegal to assert galley and any
twocolumn option.
galley emulates setting the galleys of a two-column journal. CHANGED: this
option should effectively set \preprintsty@sw false. NOTE: it makes no sense to
assert both galley and twocolumn.
400 \DeclareOption{galley}{%
401 \ExecuteOptions{onecolumn}%

22
402 \@booleantrue\galley@sw
403 \@booleanfalse\preprintsty@sw
404 \appdef\setup@hook{%
405 \advance\textwidth-\columnsep
406 \textwidth.5\textwidth
407 }%
408 }%
409 \@booleanfalse\galley@sw

9.2.17 raggedbottom or flushbottom


\raggedcolumn@sw The class options raggedbottom and flushbottom determine whether the columns
(page) are ragged bottom or flush bottom. Note that we do not select a default
here; that is done by the journal substyle.
410 \DeclareOption{raggedbottom}{\@booleantrue\raggedcolumn@sw}
411 \DeclareOption{flushbottom}{\@booleanfalse\raggedcolumn@sw}
412 \@booleanfalse\raggedcolumn@sw
413 \appdef\setup@hook{%
414 \raggedcolumn@sw{\raggedbottom}{\flushbottom}%
415 }%

9.2.18 tightenlines
This class option specifies that standard leading is to be used to set the type. If
lacking, the leading will be loose.

\tightenlines@sw The boolean \tightenlines@sw signifies that the leading is to be made standard
amount. If false, it means that the leading is to be set extra open. Has no effect
on 10pt size option.
416 \DeclareOption{tightenlines}{\@booleantrue\tightenlines@sw}
417 \@booleanfalse\tightenlines@sw

9.2.19 lengthcheck
\lengthcheck@sw The flag \lengthcheck@sw signifies that the length checking is in effect. It is up
to the individual journal substyle to alter its formatting accordingly.
418 \@booleanfalse\lengthcheck@sw
This class option specifies that the formatted document should approach as closely
as possible the formatting of an actual journal article to facilitate the author’s
performance of a length check.
FIXME: society or journal may have its own definition of this option.
419 \DeclareOption{lengthcheck}{%
420 \@booleantrue\lengthcheck@sw
421 \ExecuteOptions{reprint}%
422 }%

23
In addition, if length checking is in effect, we will enable the tally of text length.
423 \appdef\setup@hook{%
424 \lengthcheck@sw{\@booleantrue\tally@box@size@sw}{}%
425 }%

9.2.20 Draft and Final


\draft@sw The flag \draft@sw signifies that the document is to be formatted in draft mode.
426 \appdef\setup@hook{%
427 \draft@sw{\overfullrule 5\p@}{\overfullrule\z@}%
428 }%

Certain packages may pay attention to the class option draft that sets this
Boolean.
429 \DeclareOption{draft}{\@booleantrue\draft@sw}%
430 \DeclareOption{final}{\@booleanfalse\draft@sw}%
431 \@booleanfalse\draft@sw

9.2.21 eqsecnum
\eqsecnum@sw The flag \eqsecnum@sw signifies that equations are to be numbered with the sec-
tion, e.g., “Eq. (2.13)”.
432 \appdef\setup@hook{%
433 \eqsecnum@sw{%
434 \@addtoreset{equation}{section}%
435 \def\theequation@prefix{\arabic{section}.}%
436 }{}%
437 }%

The eqsecnum class option signifies that equations are to be numbered within
sections.
438 \DeclareOption{eqsecnum}{\@booleantrue\eqsecnum@sw}%
439 \@booleanfalse\eqsecnum@sw

9.2.22 secnumarabic
The secnumarabic class option signifies that sectioning commands are to be num-
bered arabic: the procedure \secnums@arabic is executed as the default. Oth-
erwise, the procedure \secnums@rtx determines things. The society or journal
may redefine either procedure, and may change the definition of \setup@secnums
itself, thereby establishing a different default.
440 \appdef\setup@hook{%
441 \setup@secnums
442 }%
443 \DeclareOption{secnumarabic}{%
444 \def\setup@secnums{\secnums@arabic}%
445 }%
446 \def\setup@secnums{\secnums@rtx}%

24
The code that defines \secnums@rtx and \secnums@arabic appears in Sec-
tion 14.4.

fleqn FIXME: model fleqn after amsfonts. I no longer understand why I said this.
fleqn.clo is not a package, so it can simply be \input.
447 \DeclareOption{fleqn}{%
448 \input{fleqn.clo}%
449 }%

9.2.23 floats/endfloats
\floats@sw The Boolean \floats@sw signifies that floats are to be floated; if false, that floats
\floatp@sw are to be deferred to the end of the document. By default, the former. Note that
the state of this Boolean is to be changed by the document class in response to
user-selected options.
This boolean and the assignment of its default value is done by the ltxutil
package.
The Boolean \floatp@sw signifies that endfloats are to be set one per page;
if false, that endfloats are to be set with multiple floats per page permitted. By
default, the latter. Note that the state of this Boolean is to be changed by the
document class in response to user-selected options. The default is established
here.
These options control, via the Boolean \floats@sw, whether floats are to be
migrated to the end of the document.
450 \DeclareOption{floats}{\@booleantrue\floats@sw\@booleanfalse\floatp@sw}
451 \DeclareOption{endfloats}{\@booleanfalse\floats@sw\@booleanfalse\floatp@sw}
452 \DeclareOption{endfloats*}{\@booleanfalse\floats@sw\@booleantrue\floatp@sw}
453 \@booleantrue\floats@sw
454 \@booleantrue\floatp@sw

9.2.24 titlepage/notitlepage
These options control, via \titlepage@sw, whether the title block is to be set on
a separate page.

\titlepage@sw The flag \titlepage@sw signifies that a forced page break is to follow the title
page: the article title appears on a page by itself.
455 \DeclareOption{titlepage}{\@booleantrue\titlepage@sw}
456 \DeclareOption{notitlepage}{\@booleanfalse\titlepage@sw}
457 \@booleanfalse\titlepage@sw

9.2.25 Substyle and Sub-substyle


\change@society If the society or, resp., journal has already been assigned, notify user whether it
\change@journal is being overridden.
458 \def\change@society#1{%
459 \def\@tempa{#1}%

25
460 \@ifxundefined\@society{%
461 \class@info{Selecting society \@tempa}%
462 \let\@society\@tempa
463 }{%
464 \@ifx{\@tempa\@society}{}{%
465 \class@warn{Conflicting society \@tempa<>\@society; not selected}%
466 }%
467 }%
468 }%
469 \def\change@journal#1{%
470 \def\@tempa{#1}%
471 \@ifxundefined\@journal{%
472 \class@info{Selecting journal \@tempa}%
473 \let\@journal\@tempa
474 }{%
475 \@ifx{\@tempa\@journal}{}{%
476 \class@warn{Conflicting journal \@tempa<>\@journal; not selected}%
477 }%
478 }%
479 }%

Here had been the class options relating to the APS. Now that all societies are
on an equal footing, this code is in the respective .rtx file.

9.2.26 Optical Society of America


Here are the class options relating to the Optical Society of America.
Note: as of 2008, the only OSA module being distributed by ctan is
osajnl.rtx. The class options declared here are, I think, unused.
480 \DeclareOption{osa}{\change@society{osa}\let\@journal\@undefined}%
481 \DeclareOption{osameet}{\change@society{osa}\def\@journal{osameet}}%
482 \DeclareOption{opex}{\change@society{osa}\def\@journal{opex}}%
483 \DeclareOption{tops}{\change@society{osa}\def\@journal{tops}}%
484 \DeclareOption{josa}{\change@society{osa}\def\@journal{josa}}%

\rtx@require@packages The procedure \rtx@require@packages accumulates all \RequirePackage state-


ments in the course of loading the document class. Carrying out these operations
at that time is needed: \ProcessOptions must be executed first.
485 \let\rtx@require@packages\@empty

\MakeUppercase We load the textcase package of David Carlisle. Now that its bug of long standing
\MakeLowercase has been repaired, we no longer need to doctor it up. And, because its loading has
been deferred until \rtx@require@packages time, we no longer override LATEX
here. Instead, the textcase package will be asked to do that.
486 \appdef\rtx@require@packages{%
487 \RequirePackage[overload]{textcase}%
488 }%

The following code used to let the textcase commands override those of LATEX:

26
%\appdef\setup@hook{%
% \expandafter
% \let\csname MakeUppercase \expandafter\endcsname
% \csname MakeTextUppercase \endcsname
% \expandafter
% \let\csname MakeLowercase \expandafter\endcsname
% \csname MakeTextLowercase \endcsname
% }%
%

amsfonts The class option amsfonts has the same effect as if the document preamble con-
tained a \usepackage{amsfonts} statement.
489 \DeclareOption{amsfonts}{%
490 \def\class@amsfonts{\RequirePackage{amsfonts}}%
491 }%
492 \DeclareOption{noamsfonts}{%
493 \let\class@amsfonts\@empty
494 }%
495 \appdef\rtx@require@packages{%
496 \@ifxundefined\class@amsfonts{}{\class@amsfonts}%
497 }%

amssymb The class option amssymb has the same effect as if the document preamble con-
tained a \usepackage{amssymb} statement.
498 \DeclareOption{amssymb}{%
499 \def\class@amssymb{\RequirePackage{amssymb}}%
500 }%
501 \DeclareOption{noamssymb}{%
502 \let\class@amssymb\@empty
503 }%
504 \appdef\rtx@require@packages{%
505 \@ifxundefined\class@amssymb{}{\class@amssymb}%
506 }%

amsmath The class option amsmath has the same effect as if the document preamble con-
tained a \usepackage{amsmath} statement.
We require version 1.2 (datestamped 1997/03/20) or later. The \[email protected],
will
LATEX note: Certain LATEX procedures have an arbitrary and pointless restric-
tion that they may be used only within the preamble. We get around this by
preserving the procedures in private \csnames.
FIXME note: it is difficult to ensure that an error summary will be printed
on the console at the very end, but ltxgrid allows accomplishing this via an
interrupt, put down at \AtEndDocument time.
507 \DeclareOption{amsmath}{%
508 \def\class@amsmath{\RequirePackage{amsmath}[\ver@amsmath@prefer]}%
509 }%
510 \DeclareOption{noamsmath}{%

27
511 \let\class@amsmath\@empty
512 }%
513 \appdef\rtx@require@packages{%
514 \preserve@LaTeX
515 \@ifxundefined\class@amsmath{}{\class@amsmath}%
516 \appdef\class@enddocumenthook{\test@amsmath@ver}%
517 }%
518 \appdef\preserve@LaTeX{%
519 \let\@ifl@aded@LaTeX\@ifl@aded
520 \let\@ifpackageloaded@LaTeX\@ifpackageloaded
521 \let\@pkgextension@LaTeX\@pkgextension
522 \let\@ifpackagelater@LaTeX\@ifpackagelater
523 \let\@ifl@ter@LaTeX\@ifl@ter
524 \let\@ifl@t@r@LaTeX\@ifl@t@r
525 \let\@parse@version@LaTeX\@parse@version
526 }%
527 \appdef\restore@LaTeX{%
528 \let\@ifl@aded\@ifl@aded@LaTeX
529 \let\@ifpackageloaded\@ifpackageloaded@LaTeX
530 \let\@pkgextension\@pkgextension@LaTeX
531 \let\@ifpackagelater\@ifpackagelater@LaTeX
532 \let\@ifl@ter\@ifl@ter@LaTeX
533 \let\@ifl@t@r\@ifl@t@r@LaTeX
534 \let\@parse@version\@parse@version@LaTeX
535 }%
536 \def\test@amsmath@ver{%
537 \begingroup
538 \restore@LaTeX
539 \@ifpackageloaded{amsmath}{%
540 \@ifpackagelater{amsmath}{\ver@amsmath@prefer}{}{%
541 \class@warn{%
542 You have loaded amsmath, version "\csname [email protected]\endcsname",\MessageBreak
543 but this class requires version "\ver@amsmath@prefer", or later.\MessageBreak
544 Please update your LaTeX installation.
545 }%
546 }%
547 }{%
548 }%
549 \endgroup
550 }%
551 \def\ver@amsmath@prefer{2000/01/15 v2.05 AMS math features}%

9.2.27 Presenting Authors and Their Affiliations


Class options for presenting authors and their affiliations are now defined in
ltxfront.dtx.

28
9.2.28 Typeset by REVTEX
\byrevtex@sw The flag \byrevtex@sw signifies that the document should bear an imprint to the
effect that it was formatted by this document class.
The class option byrevtex signifies that you want the “Typeset by REVTEX”
byline to appear on your formatted output. By default, no such byline appears.
552 \DeclareOption{byrevtex}{\@booleantrue\byrevtex@sw}%
553 \@booleanfalse\byrevtex@sw

9.3 Attempt to fix float placement failure


\force@deferlist@sw REVTEX uses the ltxgrid package, which provides the ability to attempt repairs
when LATEX’s float placement mechanism is about to fail, but that facility is turned
off by default. Users should invoke the floatfix document class option to enable
this LATEX extension. If not, a helpful message is printed in the log, indicating
how to work around the difficulty.
554 \DeclareOption{floatfix}{\@booleantrue\force@deferlist@sw}%
555 \DeclareOption{nofloatfix}{\@booleanfalse\force@deferlist@sw}%
556 \@booleanfalse\force@deferlist@sw

\@fltovf The LATEX kernel error message \@fltovf may now be a bit more helpful to the
\@fltstk user; likewise for the \@fltstk message of ltxgrid.
557 \gdef\@fltovf{%
558 \@latex@error{%
559 Too many unprocessed floats%
560 \force@deferlist@sw{}{; try class option [floatfix]}%
561 }\@ehb
562 }%
563 \def\@fltstk{%
564 \@latex@warning{%
565 A float is stuck (cannot be placed)%
566 \force@deferlist@sw{}{; try class option [floatfix]}%
567 }%
568 }%

\ltxgrid@info@sw The two options ltxgridinfo and outputdebug turn on informative diagnostics
\outputdebug@sw within the package ltxgrid. Only people who really want to see this output will
select these class options. Consult documentation for the ltxgrid package to see
what output the related switches enable.
569 \DeclareOption{ltxgridinfo}{%
570 \@booleantrue\ltxgrid@info@sw
571 %\@booleantrue\ltxgrid@foot@info@sw
572 }%
573 \DeclareOption{outputdebug}{%
574 \@booleantrue\outputdebug@sw
575 \@booleantrue\ltxgrid@info@sw
576 \@booleantrue\ltxgrid@foot@info@sw
577 \traceoutput
578 }%

29
9.4 Option to relax page height
\textheight@sw The ltxgrid package can set text pages to their natural height or force them to
the full text height; the latter is the default. If setting the pages with a variable
length, the running foot will move up or down with the natural length of the text
column. While I recommend against doing so, this option will turn that switch to
the latter setting.
579 \DeclareOption{raggedfooter}{\@booleanfalse\textheight@sw}%
580 \DeclareOption{noraggedfooter}{\@booleantrue\textheight@sw}%

9.5 Selecting procedure for processing abstract


Code defining options newabstract and oldabstract has been removed.

9.6 Option to turn on diagnostics in the frontmatter


\frontmatterverbose@sw A diagnostic option, not for the average enduser, which reveals the workings of
the frontmatter. This code interfaces to that of ltxfront.dtx.
581 \DeclareOption{frontmatterverbose}{\@booleantrue\frontmatterverbose@sw}%
582 \@booleanfalse\frontmatterverbose@sw

\linenumbers@sw An option to number the lines of type in the output in the manner of 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 amsmath requires that lineno be loaded after-
wards. Therefore, we defer loading of this package until after the preamble is
completed.
583 \DeclareOption{linenumbers}{%
584 \appdef
585 \class@documenthook{%
586 \RequirePackage{lineno}[2005/11/02 v4.41]%
587 \linenumbersep4pt\relax
588 \linenumbers\relax
589 }%
590 }%

By default, line numbering is off.

\NAT@merge Add class option nomerge, to turn off natbib 8.3 syntax for citation key. The
default value of REVTeX 4.1 for \NAT@mergeis \thr@@, which turns on the new
syntax along with its semantics. Legacy documents that would be incompatible
with the new syntax can be successfully processed with class option nomerge.
591 \DeclareOption{nomerge}{%
592 \appdef\setup@hook{%
593 \@ifnum{\NAT@merge>\z@}{\let\NAT@merge\z@}{}%
594 }%
595 }%

30
9.7 Default Option, Society, Journal, and pointsize
This change will not break OSA documents because that society is still built in to
revtex4.

\@parse@class@options@society The procedure \@parse@class@options@society parses the options passed to


\@parse@class@options@ this document class for the \@society. It is like \ProcessOptions* in that it
accesses \@ptionlist{\@currname.\@currext}. Any undefined option is consid-
ered: if there is a corresponding .rtx file, it will change the society accordingly
and define a placeholder class option for the society thus found (thus preventing
a spurious ”option not found” message).
The procedure \@parse@class@options@ parses the document’s options for
any that set the \csname provided.
596 \def\@parse@class@options@society{%
597 \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
598 \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
599 \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{}{%
600 \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
601 \expandafter\change@society\expandafter{\CurrentOption}%
602 \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
603 }{}%
604 }%
605 }%
606 }%
607 \def\@parse@class@options@#1{%
608 \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
609 \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
610 \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
611 \begingroup\csname ds@\CurrentOption\endcsname
612 \@ifxundefined#1{%
613 \endgroup
614 }{%
615 \expandafter\endgroup\expandafter\def\expandafter#1\expandafter{#1}%
616 }%
617 }{}%
618 }%
619 }%
620 \def\@parse@class@options@journal{%
621 \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
622 \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
623 \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
624 \begingroup
625 \csname ds@\CurrentOption\endcsname
626 \@ifxundefined\@journal{%
627 \endgroup
628 }{%
629 \expandafter\endgroup\expandafter\def\expandafter\@journal\expandafter{\@journal}%
630 }%
631 }{}%

31
632 }%
633 }%
634 \def\@parse@class@options{%
635 \edef\@tempa{\@ptionlist{\@currname.\@currext}}%
636 \expandafter\@for\expandafter\CurrentOption\expandafter:\expandafter=\@tempa\do{%
637 \expandafter\@ifnotrelax\csname ds@\CurrentOption\endcsname{%
638 \begingroup
639 \csname ds@\CurrentOption\endcsname
640 \@ifxundefined\@pointsize{%
641 \endgroup
642 }{%
643 \expandafter\endgroup\expandafter\def\expandafter\@pointsize\expandafter{\@pointsize}%
644 }%
645 }{%
646 \IfFileExists{\CurrentOption\substyle@post.\substyle@ext}{%
647 \expandafter\change@society\expandafter{\CurrentOption}%
648 \expandafter\let\csname ds@\CurrentOption\endcsname\@empty
649 }{}%
650 }%
651 }%
652 }%

The class option hypertext enables the built-in hypertext capabilities, which
coincide with those of custom-bib-generated BIBTeX styles using the guard code
hypertext.
Note that APS has these capabilities turned off by default; Loading the hyper-
ref package turns them on.
653 \DeclareOption{hypertext}{\hypertext@enable@ltx}%
654 \appdef\document@inithook{\@ifpackageloaded{hyperref}{\hypertext@enable@ltx}{}}%
The default handling for a document class option depends upon whether the
\@society is defined.
If not, then hunt for a .rtx file with that name. If it exists, then we will take
this option as the name of the society, otherwise, declare the option as not used.
(This behavior is similar to the LATEX2.09 handling, where one looked for a
.sty file, except that in this case, we must provide for journal substyles that may
be defined in the society file, or have their own journal substyle file.)
At the point where the class file is finished loading, we then read in the society
file. That file can define further class options, such as the journal substyle.
For users, this will mean that they can specify the society and journal simply
by specifying first the former and then the latter among their document class
options. The society must have a corresponding .rtx.
655 %</options>
656 %<*package>

\@process@society
\@process@journal 657 \def\substyle@post{4-1}%
\@process@pointsize 658 \def\substyle@ext{rtx}%
659 \DeclareOption*{\OptionNotUsed}%

32
A society substyle may define its own options, via \DeclareOption.
At the end of this document class, we process the society file, using aps.rtx
if none has been specified in the document.
660 \def\@process@society#1{%
661 \@ifxundefined\@society{%
662 \class@warn{No Society specified, using default society #1}%
663 \def\@society{#1}\let\@journal\@undefined
664 }{}%
665 \expandafter\input\expandafter{\@society\substyle@post.\substyle@ext}%
666 }%

A society substyle can encompass any number of journal substyles; we use the
following procedure to invoke the proper one.
667 \def\@process@journal#1{%
668 \@ifxundefined\@journal{%
669 \class@warn{No journal specified, using default #1}%
670 \def\@journal{#1}%
671 }{}%
672 \expandafter\expandafter
673 \expandafter\rtx@do@substyle
674 \expandafter\expandafter
675 \expandafter{\expandafter\@society\@journal}%
676 }%
677 \def\rtx@do@substyle#1{%
678 \InputIfFileExists{#1\substyle@post.\substyle@ext}{}{\csname rtx@#1\endcsname}%
679 }%

Document class options 10pt, 11pt, and 12pt are implemented by REVTEX
itself and determine \@pointsize. These provide formatting settings appropriate
to the society’s journals.
If not specified by the document, a value \@pointsize@default is used. This
default can be set by the journal. Here, the society sets its default.
680 \def\@process@pointsize#1{%
681 \@ifxundefined\@pointsize{%
682 \def\@pointsize{#1}%
683 \class@warn{No type size specified, using default \@pointsize}%
684 }{}%
685 \expandafter\expandafter
686 \expandafter\rtx@do@substyle
687 \expandafter\expandafter
688 \expandafter{\expandafter\@society\@pointsize pt}%
689 }%

9.8 Class-Asserted Options


Here we establish the default document class options. Those of the document
itself will override these.

33
10 Procedures Dependent Upon Options
Here we introduce classes.dtx definitions for the page styles that people will
expect to be able to use.
\ps@headings
\ps@myheadings 690 \def\ps@headings{%
691 \let\@oddfoot\@empty\let\@evenfoot\@empty
692 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
693 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
694 \let\@mkboth\markboth
695 \def\sectionmark##1{%
696 \markboth {\MakeUppercase{%
697 \ifnum \c@secnumdepth >\z@
698 \thesection\quad
699 \fi
700 ##1}}{}}%
701 \def\subsectionmark##1{%
702 \markright {%
703 \ifnum \c@secnumdepth >\@ne
704 \thesubsection\quad
705 \fi
706 ##1}}}%
707 \def\ps@myheadings{%
708 \let\@oddfoot\@empty\let\@evenfoot\@empty
709 \def\@evenhead{\thepage\hfil\slshape\leftmark}%
710 \def\@oddhead{{\slshape\rightmark}\hfil\thepage}%
711 \let\@mkboth\@gobbletwo
712 \let\sectionmark\@gobble
713 \let\subsectionmark\@gobble
714 }%

\ps@article
\ps@article@final 715 \def\ps@article{%
\ps@preprint 716 \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
717 \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
718 \def\@oddfoot{}%
719 \def\@evenfoot{}%
720 \let\@mkboth\markboth
721 \let\sectionmark\@gobble
722 \let\subsectionmark\@gobble
723 }%
724 \def\ps@article@final{%
725 \def\@evenhead{\let\\\heading@cr\thepage\quad\checkindate\hfil{\leftmark}}%
726 \def\@oddhead{\let\\\heading@cr{\rightmark}\hfil\checkindate\quad\thepage}%
727 \def\@oddfoot{}%
728 \def\@evenfoot{}%
729 \let\@mkboth\markboth
730 \def\sectionmark##1{%
731 \markboth{%

34
732 \MakeTextUppercase{%
733 \@ifnum{\c@secnumdepth >\z@}{\thesection\hskip 1em\relax}{}%
734 ##1%
735 }%
736 }{}%
737 }%
738 \def\subsectionmark##1{%
739 \markright {%
740 \@ifnum{\c@secnumdepth >\@ne}{\thesubsection\hskip 1em\relax}{}%
741 ##1%
742 }%
743 }%
744 }%
745 \def\heading@cr{\unskip\space\ignorespaces}%

746 \def\ps@preprint{%
747 \def\@oddfoot{\hfil\thepage\quad\checkindate\hfil}%
748 \def\@evenfoot{\hfil\thepage\quad\checkindate\hfil}%
749 \def\@oddhead{}%
750 \def\@evenhead{}%
751 \let\@mkboth\@gobbletwo
752 \let\sectionmark\@gobble
753 \let\subsectionmark\@gobble
754 }%

755 \let\@oddhead\@empty
756 \let\@evenhead\@empty
757 \let\@oddfoot\@empty
758 \let\@evenfoot\@empty

\lastpage@putlabel Support the default meaning of \@endpage. Name of this macro (and the \label
key) taken from CTAN:/macros/latex/contrib/other/lastpage with code op-
timised slightly.
759 \def\lastpage@putlabel{%
760 \if@filesw
761 \begingroup
762 \advance\c@page\m@ne
763 \immediate\write\@auxout{\string\newlabel{LastPage}{{}{\thepage}{}{}{}}}%
764 \endgroup
765 \fi
766 }%

Install a procedure into document endgame processing that labels the last page of
the document. This is done just before the .aux file is closed, and does not require
a \shipout, because it writes directly to the .aux file. Note that we assume no
further \shipouts will be done past this point.
767 \appdef\clear@document{%
768 \do@output@cclv{%
769 \lastpage@putlabel
770 \tally@box@size@sw{\total@text}{}%

35
771 }%
772 }%
773 \providecommand\write@column@totals{}%

11 Required Packages
CTAN:macros/latex/contrib/other/misc/url.sty
774 \appdef\rtx@require@packages{%
775 \RequirePackage{url}%
776 }%

12 Incompatible Packages
We wait until after the preamble is processed, then check for any packages that
might have been loaded which we know to be incompatible with REVTEX.
The multicol package is incompatible with ltxgrid, which replaces it. The
cite package is incompatible with natbib, which replaces its functionality. The
functionality of the mcite package is provided by natbib.
777 \appdef\document@inithook{%
778 \incompatible@package{cite}%
779 \incompatible@package{mcite}%
780 \incompatible@package{multicol}%
781 }%

13 Society- and Journal-Specific Code


\@journal Journal test helper, used as

%\@ifx{\@journal\journal@pra}{%
% hjournal-specific setup i
%\fi
%

Journal code might like to further specify (if as yet undefined) or distinguish on
the following Booleans.
Note: the journal substyle code should only alter the value of one of these
Booleans if the Boolean is \undefined. This convention is what makes the docu-
ment’s options take precedence over the values set by the journal.
FIXME: make this table an exhaustive listing of all the parameters set by the
class options.

36
\@pointsize (101112), depending on the type size
\footinbib@sw true if footnotes are to be formatted in the bibliography
\preprintsty@sw true for preprint and hyperpreprint
\eqsecnum@sw true means that equations are numbered within sections
\groupauthors@sw true means authors listed separately for each address
\preprint@sw true means to produce the preprint numbers as part of the title block
\showPACS@sw true means to produce the PACS as part of the title block
\showKEYS@sw true means to produce the keywords as part of the title block
\@affils@sw true means each affiliation is printed, for each author
\runinaddress@sw true means author addresses are printed run-in
\draft@sw true implies that PACS will be printed
\tightenlines@sw true if preprint single spaced
\lengthcheck@sw true if length checking is in effect
\byrevtex@sw true means to announce “typeset by REVTEX”
\titlepage@sw true for title is to be set on a separate page
\twocolumn@sw true if two-column page grid
\twocolumn@sw true if we are to automatically balance the columns of the last page
\twoside@sw true means to format pages for duplex printing
\floats@sw false means floats are migrated to end of document
\floatp@sw true means endfloats are set one to a page
\class@amsfonts if \@empty, means that amsfonts will not be loaded
\class@amssymb if \@empty, means that amssymb will not be loaded
\frontmatter@footnote if \undefined, means that the default (\footnote) will be used
\place@bibnumber if \undefined, means that the default (inline) will be used
Note: if \twocolumn@sw and \preprintsty@sw are both false, then ‘galley’
style is in effect. The galley option invokes onecolumn, but does not affect the
\preprintsty@sw.
Note: \paperwidth and \paperheight are not integrated into this scheme,
and should be selected by the document alone.

14 Body
14.1 counters
The following definitions are probably identical to those in classes.dtx
782 \def\labelenumi{\theenumi.}
783 \def\theenumi{\arabic{enumi}}
784 \def\labelenumii{(\theenumii)}
785 \def\theenumii{\alph{enumii}}
786 \def\p@enumii{\theenumi}

787 \def\labelenumiii{\theenumiii.}
788 \def\theenumiii{\roman{enumiii}}
789 \def\p@enumiii{\theenumi(\theenumii)}

790 \def\labelenumiv{\theenumiv.}
791 \def\theenumiv{\Alph{enumiv}}

37
792 \def\p@enumiv{\p@enumiii\theenumiii}
793 \def\labelitemi{\textbullet}
794 \def\labelitemii{\normalfont\bfseries\textendash}
795 \def\labelitemiii{\textasteriskcentered}
796 \def\labelitemiv{\textperiodcentered}

797 \pagenumbering{arabic}

14.2 float parameters


from the old aps.sty. (DPC: same as article I think) AO: here, LATEX’s stan-
dard classes fail very poorly (the price of backward compatability): the values
for \floatpagefraction and \dblfloatpagefraction need to be raised to avoid
creating extremely short float pages.
798 \setcounter{topnumber}{2}
799 \def\topfraction{.9}
800 \setcounter{bottomnumber}{1}
801 \def\bottomfraction{.9}
802 \setcounter{totalnumber}{3}
803 \def\textfraction{.1}
804 \def\floatpagefraction{.9}
805 \setcounter{dbltopnumber}{2}
806 \def\dbltopfraction{.9}
807 \def\dblfloatpagefraction{.9}

14.3 List Environments


808 \newenvironment{verse}{%
809 \let\\=\@centercr
810 \list{}{%
811 \itemsep\z@ \itemindent -1.5em\listparindent \itemindent
812 \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]%
813 }{%
814 \endlist
815 }%

816 \newenvironment{quotation}{%
817 \list{}{%
818 \listparindent 1.5em
819 \itemindent\listparindent
820 \rightmargin\leftmargin \parsep \z@ \@plus\p@}\item[]%
821 }{%
822 \endlist
823 }%

824 \newenvironment{quote}{%
825 \list{}{%
826 \rightmargin\leftmargin}\item[]%
827 }{%
828 \endlist

38
829 }%
830 \def\descriptionlabel#1{%
831 \hspace\labelsep \normalfont\bfseries #1\unskip:%
832 }%

833 \newenvironment{description}{%
834 \list{}{%
835 \labelwidth\z@ \itemindent-\leftmargin
836 \let\makelabel\descriptionlabel
837 }%
838 }{%
839 \endlist
840 }%

14.4 Sectioning Commands


14.4.1 Sectioning Commands and Their Productions
The following counters are defined by LaTeX’s standard document classes. We do
likewise, then assign flag values to the productions, awaiting overrides.
841 \newcounter{part}%
842 \let\thepart\@undefined
843 \newcounter{section}%
844 \let\thesection\@undefined
845 \newcounter{subsection}[section]%
846 \let\thesubsection\@undefined
847 \newcounter{subsubsection}[subsection]%
848 \let\thesubsubsection\@undefined
849 \newcounter{paragraph}[subsubsection]%
850 \let\theparagraph\@undefined
851 \newcounter{subparagraph}[paragraph]%
852 \let\thesubparagraph\@undefined

The procedure invoked by \setup@secnums provides meanings for these produc-


tions.

\secnums@rtx These two procedures define the meanings of each of the productions of the coun-
\secnums@arabic ters of the sectioning commands, but only if nothing else has defined it.
853 \def\secnums@rtx{%
854 \@ifxundefined\thepart{%
855 \def\thepart{\Roman{part}}%
856 }{}%
857 \@ifxundefined\thesection{%
858 \def\thesection {\Roman{section}}%
859 \def\p@section {}%
860 }{}%
861 \@ifxundefined\thesubsection{%
862 \def\thesubsection {\Alph{subsection}}%
863 \def\p@subsection {\thesection\,}%
864 }{}%
865 \@ifxundefined\thesubsubsection{%

39
866 \def\thesubsubsection {\arabic{subsubsection}}%
867 \def\p@subsubsection {\thesection\,\thesubsection\,}%
868 }{}%
869 \@ifxundefined\theparagraph{%
870 \def\theparagraph {\alph{paragraph}}%
871 \def\p@paragraph {\thesection\,\thesubsection\,\thesubsubsection\,}%
872 }{}%
873 \@ifxundefined\thesubparagraph{%
874 \def\thesubparagraph {\arabic{subparagraph}}%
875 \def\p@subparagraph {\thesection\,\thesubsection\,\thesubsubsection\,\theparagraph\,}%
876 }{}%
877 }%
878 \def\secnums@arabic{%
879 \@ifxundefined\thepart{%
880 \def\thepart {\Roman{part}}%
881 }{}%
882 \@ifxundefined\thesection{%
883 \def\thesection {\Roman{section}}%
884 \def\p@section {}%
885 }{}%
886 \@ifxundefined\thesubsection{%
887 \def\thesubsection {\thesection.\arabic{subsection}}%
888 \def\p@subsection {}%
889 }{}%
890 \@ifxundefined\thesubsubsection{%
891 \def\thesubsubsection {\thesubsection.\arabic{subsubsection}}%
892 \def\p@subsubsection {}%
893 }{}%
894 \@ifxundefined\theparagraph{%
895 \def\theparagraph {\thesubsubsection.\arabic{paragraph}}%
896 \def\p@paragraph {}%
897 }{}%
898 \@ifxundefined\thesubparagraph{%
899 \def\thesubparagraph {\theparagraph.\arabic{subparagraph}}%
900 \def\p@subparagraph {}%
901 }{}%
902 }%

14.4.2 The Acknowledgments Environment


This user-level markup produces a head introducing the acknowledgments, and
acts as a wrapper for the text. In this implementation, it is an unnumbered
section, but appears within the toc.
For compatiability’s sake, we implement it under the alternative spelling
acknowledgements.
903 \newenvironment{acknowledgments}{%
904 \acknowledgments@sw{%
905 \expandafter\section\expandafter*\expandafter{\acknowledgmentsname}%
906 }{%

40
907 \par
908 \phantomsection
909 \addcontentsline{toc}{section}{\protect\numberline{}\acknowledgmentsname}%
910 }%
911 }{%
912 \par
913 }%
914 \@booleantrue\acknowledgments@sw
915 \newenvironment{acknowledgements}{%
916 \replace@environment{acknowledgements}{acknowledgments}%
917 }{%
918 \endacknowledgments
919 }%

14.4.3 Part Opener


section setup copied verbatim from revtex3 aps/osa. Does not explicitly depend
on pointsize options.
920 \def\part{\par
921 \addvspace{4ex}%
922 \@afterindentfalse
923 \secdef\@part\@spart}%
924 \def\@part[#1]#2{%
925 \@ifnum{\c@secnumdepth >\m@ne}{%
926 \refstepcounter{part}%
927 \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
928 }{%
929 \addcontentsline{toc}{part}{#1}%
930 }%
931 \begingroup
932 \parindent \z@ \raggedright
933 \interlinepenalty\@M
934 \@ifnum{\c@secnumdepth >\m@ne}{%
935 \Large \bf \partname~\thepart%
936 \par\nobreak
937 }{}%
938 \huge \bf
939 #2%
940 \markboth{}{}\par
941 \endgroup
942 \nobreak
943 \vskip 3ex
944 \@afterheading
945 }%

946 \def\@spart#1{{\parindent \z@ \raggedright


947 \interlinepenalty\@M
948 \huge \bf
949 #1\par}
950 \nobreak

41
951 \vskip 3ex
952 \@afterheading}

14.4.4 Stacked Heads


Here are the class default definitions for sectioning commands. A society or a
journal substyle will likely override these definitions.
In doing so, you can customize the formatting for a particular level by defining,
e.g., \@hangfrom@section or \@subsectioncntformat.
953 \def\section{%
954 \@startsection
955 {section}%
956 {1}%
957 {\z@}%
958 {0.8cm \@plus1ex \@minus .2ex}%
959 {0.5cm}%
960 {\normalfont\small\bfseries}%
961 }%

962 \def\subsection{%
963 \@startsection
964 {subsection}%
965 {2}%
966 {\z@}%
967 {.8cm \@plus1ex \@minus .2ex}%
968 {.5cm}%
969 {\normalfont\small\bfseries}%
970 }%

971 \def\subsubsection{%
972 \@startsection
973 {subsubsection}%
974 {3}%
975 {\z@}%
976 {.8cm \@plus1ex \@minus .2ex}%
977 {.5cm}%
978 {\normalfont\small\itshape}%
979 }%

14.4.5 Runin Heads


980 \def\paragraph{%
981 \@startsection
982 {paragraph}%
983 {4}%
984 {\parindent}%
985 {\z@}%
986 {-1em}%
987 {\normalfont\normalsize\itshape}%
988 }%

42
989 \def\subparagraph{%
990 \@startsection
991 {subparagraph}%
992 {5}%
993 {\parindent}%
994 {3.25ex \@plus1ex \@minus .2ex}%
995 {-1em}%
996 {\normalfont\normalsize\bfseries}%
997 }%

14.5 Math
\theequation We change the production of the equation counter so that we can accomodate the
eqsecnum option.
998 \def\theequation{%
999 \theequation@prefix\arabic{equation}%
1000 }%
1001 \def\theequation@prefix{}%

14.6 Type Size-Dependent Settings


14.7 All Point Sizes
1002 \setcounter{secnumdepth}{4}
1003 \lineskip 1pt
1004 \normallineskip 1pt
1005 \def\baselinestretch{1}%

1006 \@lowpenalty 51
1007 \@medpenalty 151
1008 \@highpenalty 301

1009 \@beginparpenalty -\@lowpenalty


1010 \@endparpenalty -\@lowpenalty
1011 \@itempenalty -\@lowpenalty
1012 \arraycolsep 3pt
1013 \tabcolsep 2pt
1014 \arrayrulewidth .4pt
1015 \doublerulesep 2pt

1016 \skip\@mpfootins = 0pt


1017 \fboxsep = 3.0pt
1018 \fboxrule = 0.4pt

14.8 Figures
figure We define the figure environment. Later, we will horse around with its meaning
in order to accomodate \floats@sw.
1019 \newenvironment{figure}
1020 {\@float{figure}}
1021 {\end@float}

43
1022 \newenvironment{figure*}
1023 {\@dblfloat{figure}}
1024 {\end@dblfloat}

1025 \def\listoffigures{\print@toc{lof}}%
1026 \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}%

\@makecaption If caption is one line long, to be centered; if lines turn, then set justified.
1027 \newlength\abovecaptionskip
1028 \newlength\belowcaptionskip
1029 \setlength\abovecaptionskip{10\p@}
1030 \setlength\belowcaptionskip{2\p@}

There is a hook \@caption@fignum@sep for determining the separator follow-


ing the float number, e.g., “Fig.1”. Formerly, we had defined it to be “: ”, now
the colon has been replace by a period (full stop).
1031 \long\def\@makecaption#1#2{%
1032 \par
1033 % \nobreak
1034 \vskip\abovecaptionskip
1035 \begingroup
1036 \small\rmfamily
1037 \sbox\@tempboxa{%
1038 \let\\\heading@cr
1039 \@make@capt@title{#1}{#2}%
1040 }%
1041 \@ifdim{\wd\@tempboxa >\hsize}{%
1042 \begingroup
1043 \samepage
1044 \flushing
1045 \let\footnote\@footnotemark@gobble
1046 \@make@capt@title{#1}{#2}\par
1047 \endgroup
1048 }{%
1049 \global \@minipagefalse
1050 \hb@xt@\hsize{\hfil\unhbox\@tempboxa\hfil}%
1051 }%
1052 \endgroup
1053 \vskip\belowcaptionskip
1054 }%
1055 \def\@make@capt@title#1#2{%
1056 \@ifx@empty\float@link{\@firstofone}{\expandafter\href\expandafter{\float@link}}%
1057 {#1}\@caption@fignum@sep#2%
1058 }%
1059 \def\@footnotemark@gobble{%
1060 \@footnotemark
1061 \@ifnextchar[{\@gobble@opt@i}{\@gobble}%
1062 }%
1063 \def\@gobble@opt@i[#1]#2{}%
1064 \def\@mpmakefntext#1{%

44
1065 \flushing
1066 \parindent=1em
1067 \noindent
1068 \hb@xt@1em{\hss\@makefnmark}%
1069 #1%
1070 }%
1071 \def\@caption@fignum@sep{. }%
1072 \def\setfloatlink{\def\float@link}%
1073 \let\float@link\@empty

\thefigure The figure counter and float placement defaults.


1074 \newcounter{figure}
1075 \renewcommand \thefigure {\@arabic\c@figure}
Note that we give the ‘!’ modifier by default. This is an effort to avoid the
syndrome wherein a deferred float finds itself unqualified for placement, thereby
getting carried until \clearpage.
1076 \def\fps@figure{tbp}
1077 \def\ftype@figure{1}
1078 \def\ext@figure{lof}
1079 \def\fnum@figure{\figurename~\thefigure}

We allocate a box register for use in tallying the column inches of floats of this
type.
1080 \expandafter\newbox\csname fbox@\ftype@figure\endcsname
1081 \expandafter\setbox\csname fbox@\ftype@figure\endcsname\hbox{}%

14.8.1 Deferring figure Floats


We determine if figures are to float or be deferred until \printfigures time. If
so, we open the stream that will receive the deferred document portions.
1082 \appdef\class@documenthook{%
1083 \do@if@floats{figure}{.fgx}%
1084 }%
1085 \appdef\class@enddocumenthook{%
1086 \printfigures\relax
1087 }%

\printfigures The user-level command \printfigures determines where the figures are to ap-
pear in a document in which \floats@sw is false. If the user invokes the endfloats
class option and fails to insert a \printfigures command, the figures will be
printed at the end of the document. If the command is given, but floats are not
being deferred, it amounts to a no-op.
1088 \newcommand\printfigures{%
1089 \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
1090 {%
1091 \print@float{figure}{\oneapage}%
1092 }{%
1093 \print@float{figure}{}%

45
1094 }%
1095 }%

\@xfloat@prep We patch into the procedure \@xfloat@prep. This patch applies to all floats (not
figure alone) and makes the type center.
1096 \appdef\@xfloat@prep{%
1097 \appdef\@parboxrestore{\centering}%
1098 %\let\@makefnmark\@makefnmark@latex
1099 }%

14.9 Tables
DPC: More or less taken from revtex2 aps.sty, but using dcolumn for decimal
alignment.
table We define the table environment. Later, we will horse around with its meaning
in order to accomodate \floats@sw.
1100 \newenvironment{table}
1101 {\@float{table}}
1102 {\end@float}
1103 \newenvironment{table*}
1104 {\@dblfloat{table}}
1105 {\end@dblfloat}

\thetable Table counter and default float placement declarations.


1106 \newcounter{table}
1107 \renewcommand\thetable{\@Roman\c@table}
Note that we give the ‘!’ modifier by default. This is an effort to avoid the
syndrome wherein a deferred float finds itself unqualified for placement, thereby
getting carried until \clearpage.
1108 \def\fps@table{tbp}
1109 \def\ftype@table{2}
1110 \def\ext@table{lot}
1111 \def\fnum@table{\tablename~\thetable}

We allocate a box register for use in tallying the column inches of floats of this
type.
1112 \expandafter\newbox\csname fbox@\ftype@table\endcsname
1113 \expandafter\setbox\csname fbox@\ftype@table\endcsname\hbox{}%
1114 \def\listoftables{\print@toc{lot}}%
1115 \let\l@table\l@figure

\table@hook Assign a meaning to the hook installed into float processing.


\squeezetable By default floats are \small. The \squeezetable declaration makes them
smaller (\scriptsize). In general you can locally redefine \table@hook to be
whatever you like. (DPC: \Huge\color{magenta}. . . ?)
1116 \def\table@hook{\small}%
1117 \def\squeezetable{\def\table@hook{\scriptsize}}%
1118 \appdef\@floatboxreset{\table@hook}%

46
14.9.1 Deferring table Floats
After all packages are loaded, we decide if tables will float or will be deferred until
\printtables time.
We also deal with the possibility of longtable environments.
1119 \def\set@table@environments{%
1120 \floats@sw{}{%
1121 \let@environment{longtable@float}{longtable}%
1122 \let@environment{longtable}{longtable@write}%
1123 \let@environment{longtable*@float}{longtable*}%
1124 \let@environment{longtable*}{longtable*@write}%
1125 \let@environment{turnpage@float}{turnpage}%
1126 \let@environment{turnpage}{turnpage@write}%
1127 }%
1128 \do@if@floats{table}{.tbx}%
1129 }%
1130 \appdef\document@inithook{%
1131 \set@table@environments
1132 }%
1133 \appdef\class@enddocumenthook{%
1134 \printtables\relax
1135 }%
1136 \newenvironment{longtable@write}{%
1137 \write@@float{longtable}{table}%
1138 }{%
1139 \endwrite@float
1140 }%
1141 \newenvironment{longtable*@write}{%
1142 \write@@float{longtable*}{table}%
1143 }{%
1144 \endwrite@float
1145 }%
1146 \newenvironment{turnpage@write}{%
1147 \immediate\write\tablewrite{\string\begin{turnpage}}%
1148 }{%
1149 \immediate\write\tablewrite{\string\end{turnpage}}%
1150 }%

\printtables The user-level command \printtables determines where the tables are to appear
in a document in which \floats@sw is false. If the user invokes the nofloats and
fails to insert a \printtables command, the tables will be printed at the end
of the document. If the command is given, but floats are not being deferred, it
amounts to a no-op.
1151 \newcommand\printtables{%
1152 \begingroup
1153 \let@environment{longtable}{longtable@float}%
1154 \let@environment{longtable*}{longtable*@float}%
1155 \let@environment{turnpage}{turnpage@anchored}%
1156 \prepdef\longtable{\trigger@float@par}%

47
1157 \expandafter\prepdef\csname longtable*\endcsname{\trigger@float@par}%
1158 \expandafter\prepdef\csname table@floats\endcsname{%
1159 \onecolumngrid@push
1160 }%
1161 \expandafter\appdef\csname endtable@floats\endcsname{%
1162 \onecolumngrid@pop
1163 }%
1164 \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
1165 {%
1166 \print@float{table}{\oneapage}%
1167 }{%
1168 \print@float{table}{}%
1169 }%
1170 \endgroup
1171 }%
1172 \newenvironment{turnpage@anchored}{%
1173 \onecolumngrid@push
1174 \setbox\z@\vbox to\textwidth\bgroup
1175 \columnwidth\textheight
1176 }{%
1177 \vfil
1178 \egroup
1179 \rotatebox{90}{\box\z@}%
1180 \onecolumngrid@pop
1181 }%

14.10 Videos
video We define the video environment analogously to the figure and table environ-
ments; it is intended to contain a video.
1182 \newenvironment{video}
1183 {\@float{video}}
1184 {\end@float}%
1185 \newenvironment{video*}
1186 {\@dblfloat{video}}
1187 {\end@dblfloat}%

\thevideo The video counter, float placement defaults, strings.


1188 \newcounter{video}
1189 \renewcommand \thevideo {\@arabic\c@video}
File extension and localizable strings.
1190 \def\ext@video{lov}%
1191 \def\fname@video{Video}%
1192 \def\lovname{List of Videos}%

Float type and default placement.


1193 \def\fps@video{tbp}%
1194 \def\ftype@video{4}%
1195 \def\fnum@video{\fname@video~\thevideo}%

48
1196 \appdef\document@inithook{%
1197 \@ifxundefined\c@float@type{}{%
1198 \global\setcounter{float@type}{8}%
1199 }%
1200 }%

We allocate a box register for use in tallying the column inches of floats of this
type.
1201 \expandafter\newbox\csname fbox@\ftype@video\endcsname
1202 \expandafter\setbox\csname fbox@\ftype@video\endcsname\hbox{}%
The documentation for the hyperref package, hyperref.dtx states: “classes or
package which introduce new elements need to define an equivalent \theH<name>
for every \the<name>” We do accordingly here.
1203 \let\theHvideo\thevideo
But hyperref.dtx goes on to say, “We do make a trap to make \theH<name> be
the same as \arabic{<name>}, if \theH<name> is not defined. . . ” However, it’s
not doing that right now (as of 6.77u), and I cannot find any such code in there
anymore.

1204 \def\listofvideos{\print@toc{lov}}%
1205 \let\l@video\l@figure

14.10.1 Deferring video Floats


We determine if videos are to float or be deferred until \printvideos time. If so,
we open the stream that will receive the deferred document portions.
1206 \appdef\class@documenthook{%
1207 \do@if@floats{video}{.vdx}%
1208 }%
1209 \appdef\class@enddocumenthook{%
1210 \printvideos\relax
1211 }%

\printvideos The user-level command \printvideos determines where the videos are to appear
in a document in which \floats@sw is false. If the user invokes the endfloats
class option and fails to insert a \printvideos command, the videos will be
printed at the end of the document. If the command is given, but floats are not
being deferred, it amounts to a no-op.
1212 \newcommand\printvideos{%
1213 \@ifstar{\true@sw}{\floatp@sw{\true@sw}{\false@sw}}%
1214 {%
1215 \print@float{video}{\oneapage}%
1216 }{%
1217 \print@float{video}{}%
1218 }%
1219 }%

49
15 Tabular
Every APS tabular has a double (Scotch) rule above and below. The column
specifier “d” is implemented using the dcolumn package, if available. FIXME:
always load dcolumn!
\tabular@hook
\endtabular@hook 1220 \def\endtabular@hook{}%
ruledtabular
%\RequirePackage{dcolumn}%
%

1221 \appdef\document@inithook{%
1222 \@ifpackageloaded{dcolumn}{%
1223 \expandafter\@ifnotrelax\csname NC@find@d\endcsname{}{%
1224 \newcolumntype{d}{D{.}{.}{-1}}%
1225 }%
1226 }{}%
1227 }%
1228 \def\toprule{\hline\hline}%
1229 \def\colrule{\hline}%
1230 \def\botrule{\hline\hline}%
1231 \newenvironment{ruledtabular}{%
1232 \def\array@default{v}%
1233 \appdef\tabular@hook{\def\@halignto{to\hsize}}%
1234 \let\tableft@skip@default\tableft@skip
1235 \let\tableft@skip\tableft@skip@float
1236 \let\tabmid@skip@default\tabmid@skip
1237 \let\tabmid@skip\tabmid@skip@float
1238 \let\tabright@skip@default\tabright@skip
1239 \let\tabright@skip\tabright@skip@float
1240 \let\array@row@pre@default\array@row@pre
1241 \let\array@row@pre\array@row@pre@float
1242 \let\array@row@pst@default\array@row@pst
1243 \let\array@row@pst\array@row@pst@float
1244 \appdef\array@row@rst{%
1245 \let\array@row@pre\array@row@pre@default
1246 \let\array@row@pst\array@row@pst@default
1247 \let\tableft@skip\tableft@skip@default
1248 \let\tabmid@skip\tabmid@skip@default
1249 \let\tabright@skip\tabright@skip@default
1250 \appdef\tabular@hook{\let\@halignto\@empty}%
1251 }%
1252 }{%
1253 }%

16 Footnote Text
\@makefntext We customize the presentation of the footnote mark: it will not be italic.
\@makefnmark

50
1254 \def\@makefntext#1{%
1255 \def\baselinestretch{1}%
1256 \parindent1em%
1257 \noindent
1258 \hb@[email protected]{%
1259 \hss\@makefnmark
1260 }%
1261 #1%
1262 \par
1263 }%
1264 \def\@makefnmark{%
1265 \hbox{%
1266 \@textsuperscript{%
1267 \normalfont\@thefnmark
1268 }%
1269 }%
1270 }%

16.1 Citations, Bibliography, Endnotes


16.1.1 Bibliography
Load Patrick Daly’s natbib package, ftp://ctan.tug.org/macros/latex/contrib/
supported/natbib
Note that natbib assumes that it loads over a document class, such as the
article class, that has already defined thebibliography and \@listi.
Note also that natbib also installs a command \NAT@set@cites into \AtBeginDocument
which presumes that the proper \bibpunct command has been issued.
Note that the macro \NAT@sort controls whether citations are left alone
(\NAT@sort=0), sorted (\NAT@sort=1), or sorted and compressed (\NAT@sort=2).
Since we give natbib the sort&compress option, if you prefer sort, you need only
\let\NAT@sort to be \@ne. However, if you prefer the effect of having neither
sort nor sort&compress, you must \let\NAT@sort to be \z@and you must also
define \let\NAT@cmprs to be \z@.
As of version 8.2, natbib now no longer binds at the point where it is read
in. This means that we can freely change \NAT@sort, \NAT@cmprs, and the new
\NAT@merge. Henceforth, we require that this later version be used.
For other natbib customizations, you may proceed as if you were going to use
the natbib.cfg file: anything that you can modify by this means is fair game.
Once REVTEX is finished loading, you can assert any definitions for natbib that
you wish.

\rev@citet We define variants on natbib’s commands \citet, \citealp, and \citealpnum.


\rev@citealp \rev@citealpnum uses a numerical citation. \rev@citealp and \rev@citealpnum
\rev@citealpnum are the aliases of \onlinecite, \rev@citet that of \textcite.
In each case, we invoke \rtx@swap@citea to effect different productions be-
tween multiple arguments to the \cite command.

51
\rev@citealpnum provides textual citations where superscript citations are
the default. These should be accessible via the \citet command.
Therefore we remember how to do a numerical citation even when the super-
script citation has been selected.
1271 \expandafter\DeclareRobustCommand
1272 \expandafter\rev@citet
1273 \expandafter{%
1274 \expandafter\begingroup
1275 \expandafter\rtx@swap@citea
1276 \expandafter\g@bblefirsttoken
1277 \csname citet \endcsname
1278 }%
1279 \expandafter\DeclareRobustCommand
1280 \expandafter\rev@citealp
1281 \expandafter{%
1282 \expandafter\begingroup
1283 \expandafter\rtx@swap@citea
1284 \expandafter\g@bblefirsttoken
1285 \csname citealp \endcsname
1286 }%
1287 \expandafter\DeclareRobustCommand
1288 \expandafter\rev@citealpnum
1289 \expandafter{%
1290 \expandafter\begingroup
1291 \expandafter\rtx@swap@citenum
1292 \expandafter\g@bblefirsttoken
1293 \csname citealp \endcsname
1294 }%
1295 \def\rtx@swap@citenum{%
1296 \rtx@swap@citea
1297 \let\@cite\NAT@citenum
1298 \let\NAT@mbox\mbox
1299 \let\citeyear\NAT@citeyear
1300 \let\NAT@space\NAT@spacechar
1301 }%
1302 \def\g@bblefirsttoken{%
1303 \expandafter\true@sw
1304 \expandafter\@empty
1305 }%

\rtx@citesuper We prepare to redefine natbib’s procedure \NAT@citesuper, which is executed


when setting a superscript citation. The \hspace is removed: in any case, it
should really be \hspace*, to prevent an unwanted pagebreak.
1306 \newcommand\rtx@citesuper[3]{%
1307 \ifNAT@swa
1308 \leavevmode
1309 \unskip
1310 % \hspace{1\p@}%
1311 \textsuperscript{\normalfont#1}%

52
1312 \if*#3*\else\ (#3)\fi
1313 \else
1314 #1%
1315 \fi
1316 \endgroup
1317 }%

\@makefnmark@cite We define a procedure that will set a footnote mark the same way that a citation
is set. If footnotes are put in the bibliography with \footinbib@sw, then the
corresponding mark should look the same as the result of a \cite. This is how
we do it.
1318 \def\@makefnmark@cite{\begingroup\NAT@swatrue\@cite{{\@thefnmark}}{}{}}%

\rtx@bibsection Prepare to override natbib’s definition of \bibsection.


1319 \def\rtx@bibsection{%
1320 \@ifx@empty\refname{%
1321 \par
1322 }{%
1323 % \let\@hangfroms@section\@hang@froms
1324 \expandafter\section\expandafter*\expandafter{\refname}%
1325 \@nobreaktrue
1326 }%
1327 }%

\rtx@swap@citea The procedures \rtx@def@citea, \rtx@def@citea@close, and \rtx@def@citea@box


\rtx@def@citea can take over the management of natbib’s \@citea macro to effect more sophis-
\rtx@def@citea@close ticated behavior of the punctuation between textual citations. The switch is per-
\rtx@def@citea@box formed by \rtx@swap@citea.
In these procedures, we use \count@ to count the number of arguments of the
\cite command, and we use \c@NAT@ctr to keep track of which argument we
are processing. The latter counter is created by 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 \count@, we are vulnerable to other
TEX programmers who patch in to 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 \count@ in a private \csname!
Note that \rtx@def@citea begins the same as \NAT@def@citea, which it re-
places, then makes further decisions based on the values of the counters.
Note also that, in natbib, the replacement part of \NAT@def@citea@close
could be rewritten as \NAT@def@citea\prepdef\@citea{\NAT@@close}, which
would them obviate the need for us to override its meaning.
Note, too, the effect of \rtx@def@citea@box, which replaces \NAT@def@citea@box,
is almost the same as the latter, except the entire \@citea is given as the argument
of \NAT@mbox.

53
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).
1328 \def\rtx@swap@citea{%
1329 \let\NAT@def@citea\rtx@def@citea
1330 \let\NAT@def@citea@close\rtx@def@citea@close
1331 \let\NAT@def@citea@box\rtx@def@citea@box
1332 }%
1333 \def\rtx@def@citea{%
1334 \def\@citea{\NAT@separator\NAT@space}%
1335 \advance\c@NAT@ctr\@ne
1336 \@ifnum{\count@>\tw@}{%
1337 \@ifnum{\c@NAT@ctr=\count@}{\appdef\@citea{\NAT@conj\NAT@space}}{}%
1338 }{%
1339 \def\@citea{\NAT@space\NAT@conj\NAT@space}%
1340 }%
1341 }%
1342 \def\rtx@def@citea@close{%
1343 \rtx@def@citea
1344 \prepdef\@citea{\NAT@@close}%
1345 }%
1346 \def\rtx@def@citea@box{%
1347 \rtx@def@citea@close
1348 \expandafter\def\expandafter\@citea\expandafter{\expandafter\NAT@mbox\expandafter{\@citea}}%
1349 }%
1350 \def\NAT@conj{and}%

\BibitemShut We remember a temporary patch to natbib’s definition of \BibitemShut.


\bibAnnote 1351 \def\NAT@BibitemShut#1{%
1352 \def\@bibstop{#1}%
1353 \let\bibitem@Stop\bibitemStop
1354 \let\bibitem@NoStop\bibitemNoStop
1355 \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
1356 \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
1357 }%
1358 }%

The following is a bug fix to natbib version 8.31b.


1359 \def\BibitemShut@ltx#1{%
1360 \unskip
1361 \def\@bibstop{#1}%
1362 \let\bibitem@Stop\bibitemStop
1363 \let\bibitem@NoStop\bibitemNoStop
1364 \@ifx{\bibitemShut\relax}{\let\@bibitemShut\@empty}{%
1365 \expandafter\def\expandafter\@bibitemShut\expandafter{\bibitemShut}%
1366 }%
1367 }%

%\providecommand{\bibAnnote}[3]{%
% \BibitemShut{#1}%

54
% \def\@tempa{#3}\@ifx{\@tempa\@empty}{}{%
% \begin{quotation}\noindent
% \textsc{Key:}\ #2\\\textsc{Annotation:}\ \@tempa
% \end{quotation}%
% }%
% \ignorespaces
%}%
%\def\@bibitemShut{}%
%

1368 \newenvironment{thebibliography}{}{}%
1369 \let\@listi\@empty
1370 \appdef\rtx@require@packages{%
1371 \RequirePackage[sort&compress]{natbib}[2009/11/07 8.31a (PWD, AO)]%
1372 \let@environment{NAT@thebibliography}{thebibliography}%
1373 \let@environment{thebibliography}{rtx@thebibliography}%
1374 \let\bibliographystyle@latex\bibliographystyle
1375 \let\NAT@citesuper\rtx@citesuper

\NAT@bibsetnum We define the sectioning command to use when starting the bibliography and
\NAT@bibsetup gently coax natbib into using the formatting procedures that we want it to use.
\bibpreamble This way of setting up thebibliography automatically sets the label width
\newblock based on the largest number used within the bibliography. This scheme will not
\bibnumfmt work properly using the author/year style of bib entry, though.
\NAT@merge We define \bibnumfmt to be \place@bibnumber, which is a macro managed by
REVTEX. If the document defines \bibnumfmt, then that definition will be used
instead, which is what the natbib package gives as its programming interface.
We set \NAT@merge to \tw@, which turns on natbib’s mcite capabilities. This
is the default setting. If numerical citations are not to be used, then \NAT@merge
should be set to \@ne (syntax is still enabled, but semantics are turned off).
1376 \let\bibsection\rtx@bibsection
1377 \let\NATx@bibsetnum\NAT@bibsetnum
1378 \def\NAT@bibsetnum#1{%
1379 \setlength{\topsep}{\z@}%
1380 \NATx@bibsetnum{\ref{LastBibItem}}%
1381 }%
1382 \let\NATx@bibsetup\NAT@bibsetup
1383 \def\NAT@bibsetup{%
1384 \setlength{\labelwidth}{\z@}%
1385 \setlength{\labelsep}{\z@}%
1386 \setlength{\itemindent}{\z@}%
1387 \setlength{\listparindent}{\z@}%
1388 \setlength{\topsep}{\z@}%
1389 \setlength{\parsep}{\z@}%
1390 \NATx@bibsetup
1391 }%
1392 \let\bibpreamble\@empty
1393 \def\newblock{\ }%
1394 \let\NATx@bibnumfmt\bibnumfmt

55
1395 \def\bibnumfmt{\place@bibnumber}%
1396 \let\NAT@merge\thr@@
1397 \let\NAT@citeyear\citeyear
1398 \let\onlinecite\rev@citealp
1399 \let\textcite\rev@citet

The following is needed until natbib is at 8.31b.


1400 \@ifx{\BibitemShut\NAT@BibitemShut}{%
1401 \class@info{Repairing natbib’s \string\BibitemShut}%
1402 \let\BibitemShut\BibitemShut@ltx
1403 }{}%

\bibliographystyle We arrange for the selection of bibliography style to occur either due to the doc-
ument’s explicit \bibliographystyle statement or via the journal substyle.
Note that REVTEX is incompatible with any package that patches \bibliographystyle.
Since natbib does this, we need a fix.
The Boolean \bibliographystyle@sw signifies that the document contains
explicit \bibliographystyle markup. If, on the contrary, the bibliography style
is set by the the society or the journal, then no explicit \bibliographystyle
command appears in the document instance. In this case \bibliographystyle@sw
will be \false@sw.
1404 \let\bibliographystyle@latex\bibliographystyle
1405 \def\bibliographystyle{\@booleantrue\bibliographystyle@sw\def\@bibstyle}%
1406 \@booleanfalse\bibliographystyle@sw

The following had been bug fixes to natbib version 8.31a.

%\def\bibitemStop{\@bibitemShut}%
%\def\NAT@bibitem@cont{%
% \let\bibitem@Stop\bibitemContinue
% \let\bibitem@NoStop\bibitemContinue
%}%
%

The following are alterations to natbib version 8.31a to accommodate the pos-
sible space character preceding \BibitemShut, and to handle the case of merged
references, where the first ends with a stop character.
1407 \def\NAT@bibitem@cont{%
1408 \let\bibitem@Stop\bibitemContinue@Stop
1409 \let\bibitem@NoStop\bibitemContinue
1410 }%

1411 \def\bibitemNoStop{%
1412 \@ifx@empty\@bibitemShut{.\spacefactor\@mmm\space}{\@bibitemShut}%
1413 }%

1414 \def\bibitemContinue{%
1415 \@ifx@empty\@bibitemShut{;\spacefactor\@mmm\space}{\@bibitemShut}%
1416 }%

56
1417 \def\bibitemContinue@Stop{%
1418 \@ifx@empty\@bibitemShut{\spacefactor\@mmm\space}{\@bibitemShut}%
1419 }%

We used to customize one of the productions of natbib, but no longer.

%\let\bibitemContinue\bibitemContinue@rtx
%

Here ends the code to be executed at \rtx@require@packages time.


1420 }%
Redefine a macro of natbib so that merged references are separated with a semi-
colon.

% \def\bibitemContinue@rtx{;\spacefactor\@mmm\space}%
%

\onlinecite We extend natbib’s syntax with two commands to set a citation on the baseline
\textcite (as opposed to superscripted) and as text (rather than parenthetical), respectively.
A journal substyle that makes citations be superscripted or parenthetical as the
case may be, should ensure that the author has continued access to these two
styles.
Note that the society or journal substyle override the meanings of \@onlinecite
or \@textcite given here.
1421 \DeclareRobustCommand\onlinecite{\@onlinecite}%
1422 \DeclareRobustCommand\textcite{\@textcite}%

\bibliography Provide a hook for supplying BibTEX a bibliographic database that may contain,
say, footnotes.
Note that BibTEX chokes if the argument of the \bibdata command has null
fields, hence these tests.
1423 \let\bibliography@latex\bibliography
1424 \def\bibliography#1{%
1425 \auto@bib@empty
1426 \begingroup
1427 \let\auto@bib@innerbib\@empty
1428 \@ifx@empty{\pre@bibdata}{%
1429 \bibliography@latex{#1}%
1430 }{%
1431 \@if@empty{#1}{%
1432 \expandafter\bibliography@latex\expandafter{\pre@bibdata}%
1433 }{%
1434 \expandafter\bibliography@latex\expandafter{\pre@bibdata,#1}%
1435 }%
1436 }%
1437 \endgroup
1438 }%
1439 \let\pre@bibdata\@empty

57
rtx@thebibliography We put a tail patch into \thebibliogrphy and a headpatch into \endthebibliography.
\present@bibnote Here we provide a default treatment for frontmatter notes deferred to
the bibliography; a journal substyle might want to override the definition of
\present@bibnote.
We make provisions for the case where there are no \bibitems for the bibliog-
raphy: we produce no bibliography head at all.
1440 \newenvironment{rtx@thebibliography}[1]{%
1441 \NAT@thebibliography{#1}%
1442 \let\@TBN@opr\present@bibnote
1443 \@FMN@list
1444 }{%

The following line was commented out:


%\@endnotesinbib
%

The \auto@bib@innerbib directive has been moved from the begin processing
to the end processing. This means that the content of the thebibliography
environment can itself prevent the automatic reading in of the .bbl file. This
would be needed when the user has pasted in the content of the .bbl file into the
document itself, something required by APS and AIP editorial direction.
1445 \auto@bib@innerbib
1446 \edef\@currentlabel{\arabic{NAT@ctr}}%
1447 \label{LastBibItem}%
1448 \endNAT@thebibliography
1449 \aftergroup\auto@bib@empty
1450 }%
1451 \def\present@bibnote#1#2{%
1452 \item[%
1453 \textsuperscript{%
1454 \normalfont
1455 \Hy@raisedlink{\hyper@anchorstart{frontmatter.#1}\hyper@anchorend}%
1456 \begingroup
1457 \csname c@\@mpfn\endcsname#1\relax
1458 \frontmatter@thefootnote
1459 \endgroup
1460 }%
1461 ]#2\par

The following line was commented out:

%\global\let\NAT@bibitem@first@sw\@secondoftwo
%

1462 }%

write@bibliographystyle We wish to delay committing the \bibliographystyle until as late as possible.


The journal substyle will define a default bibliography style, and the document’s
explicit \bibliographystyle command, if any, will override that default.

58
The \bibstyle command is allowed appear quite late in the .aux file. We now
delay the automatic writing of the \bibstyle command to the end of the job.
The procedure \write@bibliographystyle tests whether a \bibliographystyle
command has already been given. If not, it effectively executes the needed
\bibliographystyle command, then neutralizes itself (we only need to do this
once per job).
If the document lacks explicit \bibliographystyle markup, we execute
\@bibdataout@rev, a hook for REVTEX-aware processing.
1463 \def\write@bibliographystyle{%
1464 \@ifxundefined\@bibstyle{}{%
1465 \expandafter\bibliographystyle@latex\expandafter{\@bibstyle}%
1466 \bibliographystyle@sw{}{\@bibdataout@rev}%
1467 }%
1468 \global\let\write@bibliographystyle\relax
1469 }%
1470 \AtEndDocument{\write@bibliographystyle}%

\rtx@@citetp We wish to extend natbib to move spaces and citations around a superscript-style
\rtx@citex citation, imitating Donald Arseneau’s cite package with the super.
\super@cite@let The \rtx@@citetp procedure is substituted for \NAT@@citetp; it then calls
\super@cite@end the \rtx@citex procedure and implements the features of the citeautoscript
\super@cite@swap class option. In the end, \@citex is called with its customary parameters.
The document should be marked up as if citations were not superscripted, and
then if you select a journal substyle that has superscripted citations, REVTEX will
do its best to alter the formatting of the \cites to accomodate superscript style.
Only citations set as superscript are affected by this procedure, because we
check \@cite against \NAT@citesuper.
Here’s a subtle point: when is the argument of \super@cite@swap not the
same as the token \@let@token? Answer: when the latter is \@sptoken! This
case has to be handled separately.
Note that whether a punctuation is movable is determined by the definition of
a particular control sequence name. A society or journal can alter things: to re-
move a character from the set, do, say, \expandafter\let\csnamertx@automove;
\endcsname\relax. To add a character to the set, do, say, \expandafter\let\csnamertx@automove;
\endcsname\@empty.
Implementation note: due to a TEX peculiarity, we have to check for the case
where \@let@token is a space token before we parse forward. At issue is the corner
case where an end of file is at hand. If we were to let \super@cite@swap parse
forward, we would encounter a TEX end-of-file error. Note that the test will be
true in many distinct cases: the file ends, the next character is a line terminator,
the next character is a space.
1471 \def\rtx@@citetp[#1]{\@ifnextchar[{\rtx@citex[#1]}{\rtx@citex[][#1]}}%
1472 \def\rtx@citex[#1][#2]#3{%
1473 \begingroup
1474 \def\@tempa{[#1][#2]{#3}}%
1475 \@ifx{\@cite\NAT@citesuper}{%
1476 \leavevmode

59
1477 \skip@\lastskip
1478 \unskip
1479 \super@cite@let
1480 }{%
1481 \super@cite@end
1482 }%
1483 }%
1484 \def\super@cite@let{%
1485 \futurelet\@let@token\super@cite@check
1486 }%
1487 \def\super@cite@end{%
1488 \aftergroup\@citex\expandafter\endgroup\@tempa
1489 }%
1490 \def\super@cite@check{%
1491 \@ifx{\@let@token\@sptoken}{%
1492 \super@cite@end
1493 }{%
1494 \super@cite@swap
1495 }%
1496 }%
1497 \long\def\super@cite@swap#1{%
1498 \expandafter\@ifx\expandafter{\csname rtx@automove#1\endcsname\@empty}{%
1499 #1%
1500 \super@cite@let
1501 }{%
1502 \super@cite@end
1503 #1%
1504 }%
1505 }%
1506 \expandafter\let\csname rtx@automove.\endcsname\@empty
1507 \expandafter\let\csname rtx@automove,\endcsname\@empty
1508 \expandafter\let\csname rtx@automove:\endcsname\@empty
1509 \expandafter\let\csname rtx@automove;\endcsname\@empty

The following must execute only after natbib is loaded and has set up its
parameters (which it does at \AtBeginDocument time). If superscript citations
have been selected, and if the citeautoscript class option has been selected, we
patch into natbib’s mechanism to migrate punctuation around the citation, as in
class cite with the superscript option.
1510 \appdef\class@documenthook{%
1511 \citeautoscript@sw{%
1512 \@ifx{\@cite\NAT@citesuper}{%
1513 \let\NAT@@citetp\rtx@@citetp
1514 }{}%
1515 }{}%
1516 }%

Resolve an incompatability between natbib and listings. The latter package


tests \chapter(which has now been \let to \relax as a side effect natbib’s use
of LATEX’s \@ifundefined).

60
We couch our fix in such terms that will not be disruptive if \chapter is
actually defined at this point.

%\@ifx{\chapter\relax}{\let\chapter\@undefined}{}%
%

16.1.2 \endnotes and \rtx@bibnotes


\mini@note QUERY: how do footnotes get thrown to the bibliography. \footinbib@sw ap-
\save@note pears to be irrelevant.
1517 \def\mini@note{\save@note\mini@notes}%Implicit #2
1518 \def\save@note#1#2{%
1519 \stepcounter\@mpfn
1520 \protected@xdef\@thefnmark{\thempfn}%
1521 \@footnotemark
1522 \expandafter\g@addto@macro
1523 \expandafter#1%
1524 \expandafter{%
1525 \expandafter \@@footnotetext
1526 \expandafter {\@thefnmark}{#2}%
1527 }%
1528 }%
1529 \long\def\@@footnotetext#1{\def\@thefnmark{#1}\@footnotetext}%
1530 \let\mini@notes\@empty

\endnote A version of footnote that appears in the bibliography, or where \printendnotes


appears.
%\def\@endnote{%
% \begingroup
% \aftergroup\@footnotemark
% \aftergroup\@endnotetext
% \@ifnextchar[{%
% \@xendnote
% }{%
% \stepcounter{footnote}%
% \protected@xdef\@tempa{\thefootnote}%
% \expandafter\@xendnote\expandafter[\the\c@footnote]%
% }%
%}%
%

\@xendnote %\def\unused@xendnote[#1]{%
% \begingroup
% \c@footnote#1\relax
% \end{macrocode}
% New for 4.1
% \begin{macrocode}
% \unrestored@protected@xdef\@endnotelabel{Note\thefootnote}%
% \authoryear@sw{%

61
% \unrestored@protected@xdef\@thefnmark{\noexpand\ref{\@endnotelabel}}%
% }{%
% \unrestored@protected@xdef\@thefnmark{\@endnotelabel}%
% }%
% \end{macrocode}
% Was:
% \unrestored@protected@xdef\@thefnmark{endnote\thefootnote}%
% End 4.1 changes
% \begin{macrocode}
% \endgroup
% \endgroup
%}%
%\def\@endnotemark{%
% \expandafter\cite\expandafter{\@thefnmark}%
%}%
%
1531 \def\rev@citemark#1{%
1532 \expandafter\cite\expandafter{\@thefnmark}%
1533 }%
1534 \def\rev@endtext#1{%
1535 \let\@endnotelabel\@thefnmark
1536 \@endnotetext
1537 }%

\endnote@ext The macro \endnote@ext is the file extension for the auxiliary file holding foot-
\bibdata@app notes. The \bibdata@app and \bibdata@ext macros are used to form the name
\bibdata@ext of a BibTEX database file holding footnotes.
1538 \def\endnote@ext{.end}%
1539 \def\bibdata@app{Notes}%
1540 \def\bibdata@ext{bib}%

\@endnotetext The procedure \@endnotetext writes a BibTEX .bib file for the purpose of insering
a footnote into the (numbered, unsorted) bibliography.
We need to define \pre@bibdata to be \jobname\endnote@ext, and we prob-
ably should define \endnote@ext to be something like “Notes.bib”.
In each case, the material to be written out requires robustification, provided
by \endnote@relax. The commands \label, \index, and \glossary, which are
robustified for \markright and \addcontentsline, are likewise robustified here.
Procedure \@endnotetext@note is the alias for \@endnotetext when the end-
notes are to be processed separately from the bibliography (generally true when
citations are not sorted).
%\long\def\unused@endnotetext@note#1{%
% \@ifxundefined\@endnoteout{%
% \newwrite\@endnoteout
% \gdef\endnote@stream{\jobname\endnote@ext}%
% \immediate\openout\@endnoteout\endnote@stream\relax
% }{}%
% \begingroup

62
% \endnote@relax
% \immediate\write\@endnoteout{\string\@doendnote{\@endnotelabel}{#1}}%
% \endgroup
%}%
%

\@doendnote is obsolete.
%\def\@doendnote#1#2{\bibitem{#1}#2}%
%

Procedure \@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 (\@bibdataout) with
each endnote typed as a @FOOTNOTE entry.
Timing note: doing \openout should be deferred until the beginning of the
document, as is done here. This allows one to make a format (revtex4-1.dtx.fmt)
file out of this class.
1541 \long\def\@endnotetext#1{%
1542 \begingroup
1543 \endnote@relax
1544 \immediate\write\@bibdataout{%
1545 @FOOTNOTE{%
1546 \@endnotelabel,%
The key field is recommended in cases where there is no author (see revtex4-
1.dtxbtxdoc).
1547 key="\@endnotelabel",%
The note field is simply the content of the footnote.
1548 note="#1"%
1549 }%
1550 }%
1551 \endgroup
1552 }%
1553 \newwrite\@bibdataout

\endnote@relax At \AtBeginDocument time, we open the job’s revtex4-1.dtx.bib file.


Procedure \endnote@relax robustifies commands that ought not to be
expanded when the endnote is written out. Note the similarity between
\endnote@relax and \protected@write.
1554\def\endnote@relax{%
1555 \let\label\relax \let\index\relax \let\glossary\relax
1556 \let\cite \relax \let\ref \relax \let\pageref \relax
1557 \let\( \relax \let\) \relax \let\\ \relax
1558 \let~\relax

%\let\protect\noexpand
%

63
1559 \let \protect \@unexpandable@protect
1560 \newlinechar‘\^^M%

%\newlinechar‘\ %
%

1561 \let\begin\relax \let\end\relax


1562 }%

\@bibdataout@init At \AtBeginDocument time, we open the job’s revtex4-1.dtx.bib file. The hook
\@bibdataout@aps is available for use by a society to place its own @CONTROL record in the
\@bibdataout stream.
1563 \appdef\class@documenthook{\@bibdataout@init}%
1564 \def\@bibdataout@init{%
1565 \immediate\openout\@bibdataout\pre@bibdata.\bibdata@ext\relax
1566 }%
1567 \def\@bibdataout@rev{%
1568 \immediate\write\@bibdataout{%

The entry that controls processing of the revtex4-1.dtx.bst file has entry type
@CONTROL. The citation key (REVTEX41Control) is effectively a version number,
which the revtex4-1.dtx.bst can use to interpret the bib entry.
1569 @CONTROL{%
1570 REVTEX41Control%
Say if we want the eprint field disabled. Otherwise accept the default of the
revtex4-1.dtx.bst.
1571 \eprint@enable@sw{}{,eprint=""}%
1572 }%
1573 }%
Place a \citation into the auxiliary file corresponding to this entry.
1574 \if@filesw
1575 \immediate\write\@auxout{\string\citation{REVTEX41Control}}%
1576 \fi
1577 }%

\printendnotes We have removed the endnotes facility from REVTeX, so the \printendnotes
command now does nothing.
Moving footnotes to the bibliogrphy is now accomplished through the auto-
matic generation of a job BiBTEX database (called \pre@bibdata) containing the
footnotes.
1578 \def\printendnotes{%
1579 \class@warn{The \string\printendnotes\space command no longer serves any function. Please remov
1580 }%

\@endnotesinbib We define a function \@endnotesinbib, and a variant \@endnotesinbibliography.


\@endnotesinbibliography The former is invoked at the start of the end processing for \end{thebibliography};
the latter is a synonym.

64
The procedure typesets the footnotes that are to appear in the bibliography;
the default is to simply arrange for the footnote counter to be reset at the start
of the document.
Note that this code make the assumption that the counter used in thebibliography
is \c@NAT@ctr.
Here is the sole place where \footinbib@sw has an effect, other code simple
assigning its value. If it is false, or \authoryear@sw is true, then footnotes are
handled by the default mechanism.
1581 \def\make@footnote@endnote{%
1582 \footinbib@sw{%
1583 \authoryear@sw{}{%
1584 \ltx@footnote@push
1585 \def\thempfn{Note\thefootnote}%
1586 \let\ltx@footmark\rev@citemark
1587 \let\ltx@foottext\rev@endtext
The endnotes facility has been removed. Also, there is no need to queue up
\auto@bib here, since it is always queued up elsewhere.
% \appdef\class@enddocumenthook{\auto@bib}%
% \let\printendnotes\relax
%

1588 }%
1589 }{}%
1590 }%

1591 \def\ltx@footnote@push{%
1592 \let\ltx@footmark@latex\ltx@footmark
1593 \let\ltx@foottext@latex\ltx@foottext
1594 \let\thempfn@latex\thempfn
1595 \def\ltx@footnote@pop{%
1596 \let\ltx@footmark\ltx@footmark@latex
1597 \let\ltx@foottext\ltx@foottext@latex
1598 \let\thempfn\thempfn@latex
1599 }%
1600 }%

The switchover to setting footnotes in the bibliography changes the meaning


of \footnote and substitutes the synonym for \@endnotesinbib.
We arrange for the procedure \make@footnote@endnote to be executed at
\class@documenthook time (we mustn’t do this earlier because the meaning of
\@footnotemark must not be changed before then, for the sake of ltxutil.dtx).
1601 \appdef\class@documenthook{%
1602 \make@footnote@endnote
1603 }%

\auto@bib Under some circumstances, we must typeset the bibliography automatically. If the
\auto@bib@empty document requires footnotes to be set in the bibliography (effectively, class option
\test@bbl@sw footinbib), or that frontmatter footnotes be set in the bibliography (effectively,
\bibitem@set class option bibnotes), but contains no explicit \bibliography statement.
\auto@bib@innerbib
\thebibliography@nogroup
65
Note that this facility is not able to work more than once per document. If
multiple bibliographys are required (e.g., per article), it will be the responsibility
of the journal style to restore \auto@bib to its original meaning so it can be
re-invoked.
In procedure \auto@bib, we first test for the presence of frontmatter footnotes
deferred to the bibliography. If none, we further test for the presence of \bibitem
commands in the job’s revtex4-1.dtx.bbl file. If either condition is met, we ask
for a bibliography. We know that the document itself lacks a \bibliography
statement, so we know the argument of the \bibliography that we will issue.
1604 \def\auto@bib{%
1605 \@ifx@empty\@FMN@list{%
1606 \footinbib@sw{%
1607 \@ifnum{\csname c@\@mpfn\endcsname>\z@}{%
1608 \true@sw
1609 }{%
1610 \test@bbl@sw
1611 }%
1612 }{%
1613 \test@bbl@sw
1614 }%
1615 }{%
1616 \true@sw
1617 }%
1618 {%
1619 \bibliography{}%
1620 }{}%
1621 }%
1622 \def\auto@bib@empty{%
1623 \let\auto@bib\@empty
1624 }%

Testing the revtex4-1.dtx.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 \bibitem command: it queues a Boolean.
1625 \def\test@bbl@sw{%
1626 \setbox\z@\vbox\bgroup
1627 \let\providecommand\providecommand@j@nk
1628 \let\bibfield\@gobbletwo
1629 \let\bibinfo\@gobbletwo
1630 \let\translation\@gobble
1631 \let\BibitemOpen\@empty
1632 \let\bibitemStop\@empty
1633 \let\bibitemNoStop\@empty
1634 \let\EOS\@empty
1635 \let\BibitemShut\@gobble
1636 \let\bibAnnoteFile\@gobbletwo
1637 \let\bibAnnote\@gobblethree
1638 \let\textbf\@gobble
1639 \let\emph\@gobble

66
1640 \@booleanfalse\bibitem@sw
1641 \let\bibitem\bibitem@set
1642 \auto@bib@innerbib
1643 \bibitem@sw{\aftergroup\true@sw}{\aftergroup\false@sw}%
1644 \egroup
1645 }%

The \bibitem@set is an alias for \bibitem for the purpose of detecting a non-
trivial bibliography.
1646 \newcommand\bibitem@set[1][]{%
1647 \bibitem@sw{}{%
1648 \@booleantrue\bibitem@sw
1649 \aftergroup\@booleantrue\aftergroup\bibitem@sw
1650 }%
1651 }%

The \auto@bib@innerbib procedure reads in the revtex4-1.dtx.bbl file (if it exists)


within a context where its thebibliography environment does nothing, not even
establishing a group.
1652 \def\auto@bib@innerbib{%
1653 \begingroup
1654 \let@environment{thebibliography}{thebibliography@nogroup}%
1655 \bibliography{}%
1656 \endgroup
1657 }%

Environment thebibliography@nogroup is an alias of the thebibliography envi-


ronment that cancels itself. It assumes that it is called within a thebibliography
environment.
1658 \def\thebibliography@nogroup#1{%
1659 \endgroup
1660 \def\@currenvir{thebibliography}%
1661 }%
1662 \def\endthebibliography@nogroup{\begingroup}%

The following should be part of revtex4-1.dtxltxutil.


1663 \long\def \@gobblethree #1#2#3{}%
1664 \def\providecommand@j@nk#1[#2]{%
1665 \@ifnum{#2=\z@}{\def\j@nk}{%
1666 \@ifnum{#2=\@ne}{\def\j@nk##1}{%
1667 \@ifnum{#2=\tw@}{\def\j@nk##1##2}{%
1668 \@ifnum{#2=\thr@@}{\def\j@nk##1##2##3}{%
1669 }%
1670 }%
1671 }%
1672 }%
1673 }%

67
17 Initial setup
The standard LaTeX document classes execute certain commands that are
best deferred until \class@documenthook time. Here, we effectively split
\pagenumbering into two halves, with a default definition for \thepageand an
initialization of \c@page at \class@documenthook time.
The meaning of \thepage can be overridden by society, journal, or anywhere
within the document pramble, and the counter itself will be preset at the beginning
of the document.
1674 \def\thepage{\@arabic\c@page}%
Note that this code is executed at \setup@hook time to allow for the possibility
of overrides by packages like geometry.
1675 \appdef\setup@hook{%
1676 \tabbingsep \labelsep
1677 \leftmargin\leftmargini
1678 \labelwidth\leftmargin\advance\labelwidth-\labelsep
1679 \let\@listi\@listI
1680 \@listi
1681 }%
1682 % \begin{macrocode}
1683 %
1684 % We ensure that the ‘‘environment’’ component mark (implemented by \file{ltxgrid.dtx})
1685 % is initialized properly (via a hook, itself defined via \file{ltxutil.dtx}).
1686 % \begin{macrocode}
1687 \appdef\class@documenthook{%
1688 \global\c@page\@ne
1689 \def\curr@envir{document}%
1690 \mark@envir{\curr@envir}%
1691 }%

\open@onecolumn When setting the column grid, we have to override the procedure for formatting
\open@column@two lists. Because \twocolumngrid requires rebalancing columns at some points, type-
setting must employ only the manipulation of \leftskip and \rightskip, and
must avoid the use of \moveleft, \moveright, and \parshape.
It is one of the stranger features of TEX that these two separate mechanisms
exist. The latter three have the effect of adding things to the Main Vertical List
that cannot be removed and later added back with all their properties intact.
In detail, \moveleft, say, adds a box to the MVL with its reference point
shifted horizontally by some amount relative to the reference point of the enclosing
list. If that box is removed from the MVL (via a \lastbox operation in the output
routine), and later thrown back to the MVL, the shift of the box will have been
“forgotten” by TEX. This is a bug, but not one “acceptible to D. E. Knuth”, so
it will never be fixed.
1692\def\open@onecolumn{%
1693 \open@column@one\@ne
1694 \set@colht
1695 \@floatplacement

68
1696 \@dblfloatplacement
1697 }%
1698 \def\open@twocolumn{%
1699 \open@column@mlt\tw@
1700 \set@colht
1701 \@floatplacement
1702 \@dblfloatplacement
1703 \sloppy
1704 \let\set@listindent\set@listindent@
1705 }%

18 \appendix
1706 %\newif\ifappendixon
Note that, within appendices, equations are numbered within sections (appen-
dices).
1707 \def\appendix{%
1708 \par
1709 %\appendixontrue
1710 \setcounter{section}\z@
1711 \setcounter{subsection}\z@
1712 \setcounter{subsubsection}\z@
1713 \def\thesubsection{\arabic{subsection}}%
1714 \def\thesubsubsection{\alph{subsubsection}}%
1715 \@addtoreset{equation}{section}%
1716 \def\theequation@prefix{\thesection}%
1717 \addtocontents{toc}{\protect\appendix}%
1718 \@ifstar{%
1719 \def\thesection{\unskip}%
1720 \def\theequation@prefix{A.}%
1721 }{%
1722 \def\thesection{\Alph{section}}%
1723 }%
1724 }%

19 Changing the page grid


19.1 Avoiding Grid Changes
In preprint styles, “wide text” is a no-op, and the title page processing involves
no grid change.

\title@column Provide default meanings for \title@column and \close@column, in case they
\close@column were never defined. Note that the society or journal substyle may define
\title@column or \close@column: this code will not override.
1725\def\title@column#1{%
1726 \minipagefootnote@init
1727 #1%

69
1728 \minipagefootnote@foot
1729 }%
1730 \def\close@column{%
1731 \newpage
1732 }%

19.2 Galley Style: Margin Changes


A variant of preprint processing. Emulate journal appearance somewhat.

widetext@galley 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 that both \twocolumn@sw and \preprintsty@sw be false.
1733 \def\galley@outdent{\rightmargin-\columnwidth\advance\rightmargin-\columnsep}%
1734 \let\widetext@outdent\@empty
1735 \newenvironment{widetext@galley}{%
1736 \list{}{%
1737 \topsep \z@skip
1738 \listparindent \parindent
1739 \itemindent \parindent
1740 \leftmargin \z@
1741 \parsep \z@\@plus\p@
1742 \widetext@outdent
1743 \relax
1744 }%
1745 \item\relax
1746 }{
1747 \endlist
1748 }%

19.3 Grid Changing Via ltxgrid


In case twocolumngrid has been invoked, switch column grid using the column
grid-changing commands. Supply stub definitions of those commands here.

\title@column@grid The title block always starts at the top of a new page.
\close@column@grid Note that, for the procedure \close@column@grid, we balance columns by
switching to the one-column page grid.
1749 \def\title@column@grid#1{%
1750 \minipagefootnote@init
1751 \onecolumngrid
1752 \begingroup
1753 \let\@footnotetext\frontmatter@footnotetext
1754 %<ignore> \let\set@footnotewidth\set@footnotewidth@two
1755 \ltx@no@footnote
1756 #1%
1757 \endgroup
1758 \twocolumngrid
1759 \minipagefootnote@foot

70
1760 }%
1761 \def\close@column@grid{%
1762 \balancelastpage@sw{%
1763 \onecolumngrid
1764 %<ignore> \twocolumngrid
1765 }{}%
1766 }%

widetext@grid We slip into the one-column page grid within the scope of this environment.
Note that we set adornments above and below the widettext. These are set
as leaders, so they will disappear at a page break.
1767 \newenvironment{widetext@grid}{%
1768 \par\ignorespaces
1769 \setbox\widetext@top\vbox{%
1770 %<ignore> \vskip15\p@
1771 \hb@xt@\hsize{%
1772 \leaders\hrule\hfil
1773 \vrule\@height6\p@
1774 }%
1775 %<ignore> \vskip6\p@
1776 }%
1777 \setbox\widetext@bot\hb@xt@\hsize{%
1778 \vrule\@depth6\p@
1779 \leaders\hrule\hfil
1780 }%
1781 \onecolumngrid
1782 \vskip10\p@
1783 \dimen@\ht\widetext@top\advance\dimen@\dp\widetext@top
1784 \cleaders\box\widetext@top\vskip\dimen@
1785 %<ignore> \let\set@footnotewidth\set@footnotewidth@two
1786 \vskip6\p@
1787 \prep@math@patch
1788 }{%
1789 \par
1790 \vskip6\p@
1791 \setbox\widetext@bot\vbox{%
1792 \hb@xt@\hsize{\hfil\box\widetext@bot}%
1793 %<ignore> \vskip14\p@
1794 }%
1795 \dimen@\ht\widetext@bot\advance\dimen@\dp\widetext@bot
1796 \cleaders\box\widetext@bot\vskip\dimen@
1797 \vskip8.5\p@
1798 \twocolumngrid\global\@ignoretrue
1799 \@endpetrue
1800 }%
1801 \newbox\widetext@top
1802 \newbox\widetext@bot

Decide, finally, how the page grid is to be manipulated.

71
1803 \def\set@page@grid{%
1804 \twocolumn@sw{%
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.
1805 \let\set@footnotewidth\set@footnotewidth@two
1806 \let\compose@footnotes\compose@footnotes@two
1807 \let@environment{widetext}{widetext@grid}%
1808 \let\title@column\title@column@grid
1809 \let\close@column\close@column@grid
1810 }{%
1811 \let@environment{widetext}{widetext@galley}%
1812 \preprintsty@sw{%
Change the page grid not at all.
1813 }{%
If we are galley style, change the page margin only.
1814 \galley@sw{%
1815 \let\widetext@outdent\galley@outdent
1816 }{}%
1817 }%
1818 }%
1819 }%
1820 \appdef\setup@hook{\set@page@grid}%

20 Old font commands


1821 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
1822 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
1823 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
1824 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
1825 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
1826 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
1827 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
1828 \DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal}
1829 \DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal}

21 English-Language Texts
As this class is just for English language journals, we could hardwire these texts,
but to make it easier to use this as a basis for the code for similar journal styles,
separate out all the fixed text strings into babel-style macros of the form \. . . name
Note: for babel compatability, use version 1999/05/05 v3.6x or later.
Some of these might need changing in the society-specific code.

\today Procedure \today is used in the article class, but not in this document class.

72
1830 \def\today{\ifcase\month\or
1831 January\or February\or March\or April\or May\or June\or
1832 July\or August\or September\or October\or November\or December\fi
1833 \space\number\day, \number\year}

\notesname Text entity \notesname had been used in \printendnotes. However, we have
removed the endnotes facility from REVTeX.
%\def\notesname{Notes}
%

\partname Text entity \partname is used in \@part.


1834 \def\partname{Part}

\tocname Text entity \tocname is used in \tableofcontents, as defined in the standard


LATEX book class.
1835 \def\tocname{Contents}

\lofname Text entity \lofname is used in \listoffigures, as defined in the standard LATEX
book class.
1836 \def\lofname{List of Figures}

\lotname Text entity \lotname is used in \listoftables, as defined in the standard LATEX
book class.
1837 \def\lotname{List of Tables}

\refname Text entity \refname is used in thebibliography.


1838 \def\refname{References}

\indexname Text entity \indexname is used in theindex, as defined in the standard LATEX
book class.
1839 \def\indexname{Index}

\figurename Text entity \figurename is used in figure, \figuresname in \printfigures.


1840 \def\figurename{FIG.}
1841 \def\figuresname{Figures}%

\tablename Text entity \tablename is used in table, \tablesname in \printtables.


1842 \def\tablename{TABLE}
1843 \def\tablesname{Tables}%

\abstractname Text entity \abstractname is used in abstract.


1844 \def\abstractname{Abstract}

\appendixesname Text entity \appendixesname is used in TOC.


\appendixname 1845 \def\appendixesname{Appendixes}%
1846 \def\appendixname{Appendix}%

73
\acknowledgmentsname Text entity \acknowledgmentsname is used in acknowledgments.
1847 \def\acknowledgmentsname{Acknowledgments}

\journalname This should be set by the society journal options, eg ‘pra’.


1848 \def\journalname{??}

\copyrightname Default layout does not assign copyright, but a journal that wants to might use
this.
1849 \def\copyrightname{??}

\andname The text string “and” for use in author lists.


1850 \def\andname{and}

\@pacs@name The text string prepended to PACS numbers, resp. to keywords.


\@keys@name 1851 \def\@pacs@name{PACS numbers: }%
1852 \def\@keys@name{Keywords: }%

\ppname The text string “pp” for use in page ranges.


1853 \def\ppname{pp}

\numbername The text string “number” for use in article reference.


1854 \def\numbername{number}

\volumename The text string “volume” for use in article reference.


1855 \def\volumename{volume}

\Dated@name These texts are used in the \date, et al. commands.


\Received@name 1856 \def\Dated@name{Dated: }%
\Revised@name 1857 \def\Received@name{Received }%
\Accepted@name 1858 \def\Revised@name{Revised }%
\Published@name 1859 \def\Accepted@name{Accepted }%
1860 \def\Published@name{Published }%

22 Legacy Commands
We define some commands left over from version 3.1, or give default meanings.
Some definitions can be overridden in the document preamble or in included pack-
ages.
Note on the namespace: command names like \REV@name are used here, be-
cause it is not clear that any of this code is generally useful.
1861 \def\address{\replace@command\address\affiliation}%
1862 \def\altaddress{\replace@command\altaddress\altaffiliation}%
1863 \newenvironment{references}{%
1864 \class@warn@end{The references environment is not supported; use thebibliography instead.}
1865 \gdef\references{\thebibliography{}}\references
1866 }{%
1867 \endthebibliography

74
1868 }%
1869 \def\draft{%
1870 \class@warn@end{Command \string\draft\space is obsolete;^^JInvoke option draft instead.}%
1871 \@booleantrue\draft@sw
1872 }%
1873 \def\tighten{%
1874 \class@warn@end{Command \string\tighten\space is obsolete;^^JInvoke option tightenlines instead
1875 \@booleantrue\tightenlines@sw
1876 }%
1877 \def\tableline{%
1878 \noalign{%
1879 \class@warn@end{Command \string\tableline\space is obsolete;^^JUse \string\colrule\space inste
1880 \global\let\tableline\colrule
1881 }%
1882 \tableline
1883 }%
1884 \def\case{\replace@command\case\frac}%
1885 \def\slantfrac{\replace@command\slantfrac\frac}%
1886 \def\tablenote{\replace@command\tablenote\footnote}%
1887 \def\tablenotemark{\replace@command\tablenotemark\footnotemark}%
1888 \def\tablenotetext{\replace@command\tablenotetext\footnotetext}%
1889 % Lose the following definition:
1890 \DeclareRobustCommand\REV@text[1]{%
1891 \relax
1892 \ifmmode
1893 \mathchoice
1894 {\hbox{{\everymath{\displaystyle }#1}}}%
1895 {\hbox{{\everymath{\textstyle }#1}}}%
1896 {\hbox{{\everymath{\scriptstyle }\let\f@size\sf@size\selectfont#1}}}%
1897 {\hbox{{\everymath{\scriptscriptstyle}\let\f@size\ssf@size\selectfont#1}}}%
1898 \glb@settings
1899 \else
1900 \mbox{#1}%
1901 \fi
1902 }%
1903 % Lose the following definition:
1904 \DeclareRobustCommand\REV@bbox[1]{%
1905 \relax
1906 \ifmmode
1907 \mathchoice
1908 {\hbox{{\everymath{\displaystyle }\boldmath$#1$}}}%
1909 {\hbox{{\everymath{\textstyle }\boldmath$#1$}}}%
1910 {\hbox{{\everymath{\scriptstyle }\boldmath$#1$}}}%
1911 {\hbox{{\everymath{\scriptscriptstyle}\boldmath$#1$}}}%
1912 \glb@settings
1913 \else
1914 \mbox{#1}%
1915 \fi
1916 }%
1917 \DeclareRobustCommand\REV@bm[1]{%

75
1918 \class@warn@end{To use \string\bm, please load the bm package!}%
1919 \global\let\bm\relax
1920 }%
1921 \def\FL{\obsolete@command\FL}%
1922 \def\FR{\obsolete@command\FR}%
1923 \def\narrowtext{\obsolete@command\narrowtext}%
1924 \def\mediumtext{\obsolete@command\mediumtext}%
1925 \newenvironment{quasitable}{%
1926 \let@environment{tabular}{longtable}%
1927 }{%
1928 }%

\text If not otherwise defined, give default meanings to certain commands. FIXME:
\bm \bibinfo?
\bibinfo 1929 \let\text\REV@text
\eprint 1930 \let\bm\REV@bm
\url 1931 \appdef\setup@hook{%
1932 \providecommand\bibinfo[2]{#2}%
1933 \providecommand\eprint[2][]{#2}%
1934 %\providecommand\url[1]{#1}%
1935 }%

\bbox
1936 \def\bbox#1{%
1937 \class@warn@end{\string\bbox\space is obsolete,^^Jload the bm package and use \string\bm\space
1938 \global\let\bbox\relax
1939 }%

\mathletters
1940 \newenvironment{mathletters}{%
1941 \class@warn@end{Environment {mathletters} is obsolete;^^Jload the amsmath package and use {sube
1942 \global\let\mathletters\@empty
1943 }{%
1944 }%

\eqnum
1945 \def\eqnum#1{%
1946 \class@warn@end{\string\eqnum\space is obsolete, load the amsmath package and use \string\tag!}
1947 \global\let\eqnum\@gobble
1948 }%

We read in the symbol definitions.


1949 \appdef\rtx@require@packages{%
1950 \RequirePackage{revsymb4-1}%
1951 }%
1952 \appdef\class@documenthook{\revsymb@inithook}%

76
23 Patches for lineno.sty
The lineno package detects the case where the package has been loaded and the
document invokes \linelabel, but the \linenumbers command has not been
issued: it treats this case as an error.
It is wrong for validity of document syntax to be dependent upon package
semantics: we make the condition a warning rather than an error.
1953 \def\@LN@LLerror@org{%
1954 \PackageError{lineno}{%
1955 \string\linelabel\space without \string\linenumbers
1956 }{%
1957 Just see documentation. (New feature v4.11)%
1958 }%
1959 \@gobble
1960 }%
1961 \def\@LN@LLerror@ltx{%
1962 \PackageWarning{lineno}{%
1963 To make the \string\linelabel\space command work, you must issue the \string\linenumbers\ comm
1964 }%
1965 \@gobble
1966 }%

If appropriate, enable line numbering within the abstract.


This mechanism applies generally: Create the box in a context in which
the meaning of \par has been patched by lineno, then \unvbox the box in
a context where \set@linepenalties has been executed, and follow up with
\@linenumberpar, which forces a visit to the output routine just there. Note
that here, we have to de-fang \@LN@parpgbrk, which would otherwise causes the
appearance of a box with depth -1000 points. Go figure.
1967 \appdef\class@documenthook{%
1968 \@ifx{\@LN@LLerror\@LN@LLerror@org}{%
1969 \class@info{Overriding \string\@LN@LLerror}%
1970 \let\@LN@LLerror\@LN@LLerror@ltx
1971 }{}%
1972 \@ifpackageloaded{lineno}{%
1973 \@ifxundefined{\set@linepenalties}{}{%
1974 \def\prep@absbox{\set@linepenalties}%
1975 \def\post@absbox{\let\@LN@parpgbrk\@empty\@linenumberpar}%
1976 }%
1977 }{}%
1978 }%

One may well ask: how to obtain line numbering within an alignment in a
float? This objective, along with line numbering within footnotes, would require
extraordinary measures. The float would have to be thrown onto the MVL in
order to acquire its line numbers, but that fragment of MVL would then have to
be protected from being shipped out. The question of how to coordinate those
lines’ numbers with those of lines in the MVL would also require dealing with.

77
24 Endgame for the Document Class
We provide for a “job macro package” that can override definitions and assign-
ments made by the class or any other packages it loads.

24.1 Job Macro Package


You can create a “job macro package” for your document that will be read in
automatically every time your document is processed. Thus, if your job is a
file called myarticle.tex, then the file myarticle.rty will be read in just the
same as if you had placed a \usepackage{myarticle.rty} statement immediately
following your \documentclass statement.
Within your .rty file, you can define and use control sequence names that use
the @ character and you can override any of the definitions or assignments made
by the REVTEX document class or the selected journal substyle. That is, you
have the power to really mess things up badly.
If you choose to have a job macro package, you are well advised to read the
LATEX guide to document classes, clsguide.tex or read up on the subject in a
book like the LATEX Companion.
The file template.rty contains a template for creating your own job macro
package.
1979 \appdef\rtx@require@packages{%
1980 \InputIfFileExists{\jobname.rty}{}{}%
1981 }%

24.2 Endgame Processing for the Document Class


The remaining steps in processing the document class involve determining the
needed society, journal, and pointsize from the document’s class options and in-
putting the needed files or executing the indicated procedures.
Note that the society file is expected to declare options that will allow us to
determine the journal involved, and the society and journal themselves determine
the which pointsize options are declared, along with their meanings.
Note also that required packages are read in only after the document options
have been processed, because the latter can affect the former.
Finally, the setup code is executed: this is code that depends on the meanings
of the switches we define and on the code within the packages we load.
Note that there are other hooks in use: \document@inithook, which is exe-
cuted right at the beginning of the document, and \class@documenthook, which
serves as a vehicle for any \AtBeginDocument code we might wish to execute.
FIXME: use \class@documenthook only for things that bear on the MVL; use
\document@inithook for all patches to procedures defined within the preamble.
Remember that natbib changes its state at \AtBeginDocument time, so we
have to install our own code at a later point in the processing.
We determine the proper \@society by examining the document’s class op-
tions.

78
1982 \@parse@class@options@society
Then, we input the society’s substyle (which may in turn lead to loading a
journal substyle or a pointsize substyle). The substyle should not assume the
value of any class option: instead, it should install code into \setup@hook.
1983 \@process@society{aps}%
Now that the society has defined the class options relating to journals, and has
defined \@journal@default, we can process the journal substyle. We parse the
options for one that sets \@journal.
1984 \@parse@class@options@\@journal
And we process the journal. Note that it is an error for a society file to fail to
define \@journal@default.
1985 \expandafter\@process@journal\expandafter{\@journal@default}%
Now that the society and journal have finished defining any options relating
to point size, we process the class options for any that set \@pointsize.
1986 \@parse@class@options@\@pointsize
And we process the pointsize. Note that it is an error for the society and journal
to leave \@pointsize@default undefined at this point, however, the journal may
have overriden the assignment of the society.
1987 \expandafter\@process@pointsize\expandafter{\@pointsize@default}%
Next, we process the class options for once and all. Doing so sets values
for some of the Booleans that were introduced along with the \DeclareOption
statements above.
CHANGE: We process the options in the order declared in the document; this
gives the document greater control.
1988 \@options
Now that the class options have been processed, we can load all the packages
that we know need loading.
1989 \rtx@require@packages
At this point, the society substyle, the journal substyle, and the pointsize have
all been processed, along with the document class options. Some of these have left
things for later; we do these now.

\setup@hook This portion of the code for this class file must appear at the very end: The
procedure \setup@hook should be executed at the very end of the class file. Any
code that relies on the value of any of the @sw switches or will patch the code of
one of the required packages should be executed here.
1990 \setup@hook

Warn if past maturation date. This code to be enabled only in beta software.
1991%<*ignore>
1992 \def\rtx@fin@year{2010}%
1993 \def\rtx@fin@month{01}%

79
1994 \def\rtx@fin@day{01}%
1995 \def\rtx@fin@warn{%
1996 \@ifnum{\rtx@fin@year>\the\year\relax}{\true@sw}{%
1997 \@ifnum{\rtx@fin@month>\the\month\relax}{\true@sw}{%
1998 \@ifnum{\rtx@fin@day>\the\day\relax}{\true@sw}{%
1999 \false@sw
2000 }%
2001 }%
2002 }%
2003 {%
2004 \class@info{Beta software expires \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; updates availabl
2005 }{%
2006 \class@warn{Outdated software expired \rtx@fin@year-\rtx@fin@month-\rtx@fin@day; please retri
2007 }%
2008 }%
2009 %</ignore>

In shipping (non-beta) software, the following line should be commented out.

%\appdef\class@enddocumenthook{\rtx@fin@warn}%
%

End of the class file.


2010 %</package>

25 Symbols: the revsymb module


We immediately define a utility command: this module’s warning.
2011 %<*revsymb>
2012 \def\REVSYMB@warn#1{\PackageWarningNoLine{revsymb}{#1}}%

\lambdabar
2013 \DeclareRobustCommand\lambdabar{%
2014 \bgroup
2015 \def\@tempa{%
2016 \hbox{%
2017 \raise.73\ht\z@
2018 \hb@xt@\z@{%
2019 \kern.25\wd\z@
2020 \vrule \@width.5\wd\z@\@height.1\p@\@depth.1\p@
2021 \hss
2022 }%
2023 \box\z@
2024 }%
2025 }%
2026 \mathchoice
2027 {\setbox\z@\hbox{$\displaystyle \lambda$}\@tempa}%
2028 {\setbox\z@\hbox{$\textstyle \lambda$}\@tempa}%
2029 {\setbox\z@\hbox{$\scriptstyle \lambda$}\@tempa}%

80
2030 {\setbox\z@\hbox{$\scriptscriptstyle\lambda$}\@tempa}%
2031 \egroup
2032 }%

\openone DPC: Really should use a font that includes this glyph. Unfortunately not in AMS
ones, but is in bbold, cmbb. (I think, must check), FIXME: check for bbold.
2033 \DeclareRobustCommand\openone{\leavevmode\hbox{\small1\normalsize\kern-.33em1}}%

\corresponds Jörg Knappen suggests the replacements: replace \corresponds with \triangleq,
\overdots source amssymb; replace \overcirc with \mathring, source latex2e; replace
\overcirc \overdots with \dddot, source amsmath.
Any use of any of these commands will result in a warning message at the end
of the log file. If the corresponding package is not loaded, a definition will quietly
be provided.
2034 \DeclareRobustCommand\corresponds{\replace@command\corresponds\triangleq}%
2035 \DeclareRobustCommand\overcirc{\replace@command\overcirc\mathring}%
2036 \DeclareRobustCommand\overdots{\replace@command\overdots\dddot}%
2037 \DeclareRobustCommand\REV@triangleq{%
2038 {\lower.2ex\hbox{=}}{\kern-.75em^\triangle}%
2039 }%
2040 \DeclareRobustCommand\REV@dddot[1]{%
2041 \@ontopof{#1}{\cdots}{1.0}\mathord{\box2}%
2042 }%

\succsim These version 3.1 commands are always supplied, but the definitions in amssymb
\precsim are preferred.
\lesssim 2043 \DeclareRobustCommand\altsuccsim{\succ\kern-.9em_\sim\kern.3em}%
\gtrsim 2044 \DeclareRobustCommand\altprecsim{\prec\kern-1em_\sim\kern.3em}%
\alt 2045 \let\REV@succsim\altsuccsim
\agt 2046 \let\REV@precsim\altprecsim
2047 \DeclareRobustCommand\REV@lesssim{\mathrel{\mathpalette\vereq{<}}}%
2048 \DeclareRobustCommand\REV@gtrsim{\mathrel{\mathpalette\vereq{>}}}%
2049 \DeclareRobustCommand\alt{\lesssim}
2050 \DeclareRobustCommand\agt{\gtrsim}
2051 \def\vereq#1#2{%
2052 \lower3\p@\vbox{%
2053 \baselineskip1.5\p@
2054 \lineskip1.5\p@
2055 \ialign{$\m@th#1\hfill##\hfil$\crcr#2\crcr\sim\crcr}%
2056 }%
2057 }%

\tensor
\overstar 2058 \DeclareRobustCommand\tensor[1]{\@ontopof{#1}{\leftrightarrow}{1.15}\mathord{\box2}}
\loarrow 2059 \DeclareRobustCommand\overstar[1]{\@ontopof{#1}{\ast}{1.15}\mathord{\box2}}
\roarrow 2060 \DeclareRobustCommand\loarrow[1]{\@ontopof{#1}{\leftarrow}{1.15}\mathord{\box2}}
2061 \DeclareRobustCommand\roarrow[1]{\@ontopof{#1}{\rightarrow}{1.15}\mathord{\box2}}

81
\@ontopof
2062 \def\@ontopof#1#2#3{%
2063 {%
2064 \mathchoice
2065 {\@@ontopof{#1}{#2}{#3}\displaystyle \scriptstyle }%
2066 {\@@ontopof{#1}{#2}{#3}\textstyle \scriptstyle }%
2067 {\@@ontopof{#1}{#2}{#3}\scriptstyle \scriptscriptstyle}%
2068 {\@@ontopof{#1}{#2}{#3}\scriptscriptstyle\scriptscriptstyle}%
2069 }%
2070 }%

\@@ontopof Same as REVTEX3, more or less.


2071 \def\@@ontopof#1#2#3#4#5{%
2072 \setbox\z@\hbox{$#4#1$}%
2073 \setbox\f@ur\hbox{$#5#2$}%
2074 \setbox\tw@\null\ht\tw@\ht\z@ \dp\tw@\dp\z@
2075 \@ifdim{\wd\z@>\wd\f@ur}{%
2076 \setbox\f@ur\hb@xt@\wd\z@{\hss\box\f@ur\hss}%
2077 \mathord{\rlap{\raise#3\ht\z@\box\f@ur}\box\z@}%
2078 }{%
2079 \setbox\f@ur\hb@[email protected]\wd\f@ur{\hss\box\f@ur\hss}%
2080 \setbox\z@\hb@xt@\wd\f@ur{\hss$#4\relax#1$\hss}%
2081 \mathord{\rlap{\copy\z@}\raise#3\ht\z@\box\f@ur}%
2082 }%
2083 }%

\frak Deal with legacy \frak: if amsfonts not loaded, defined in such a way as to ask
for that package. Also, says to use \mathfrak instead.
2084 \DeclareRobustCommand\frak{%
2085 \REVSYMB@warn{%
2086 Command \string\frak\space unsupported:^^J%
2087 please use \string\mathfrak\space instead.%
2088 }%
2089 \global\let\frak\mathfrak
2090 \frak
2091 }%
2092 \DeclareRobustCommand\REV@mathfrak{%
2093 \REVSYMB@warn{%
2094 Command \string\mathfrak\space undefined:^^J%
2095 please specify the amsfonts or amssymb option!%
2096 }%
2097 \global\let\mathfrak\@firstofone
2098 \mathfrak
2099 }%

\Bbb Deal with legacy \Bbb: if amsfonts not loaded, defined in such a way as to ask
for that package. Also, says to use \mathbb instead.
2100 \DeclareRobustCommand\Bbb{%
2101 \REVSYMB@warn{%

82
2102 Command \string\Bbb\space unsupported:^^J%
2103 please use \string\mathbb\space instead.%
2104 }%
2105 \global\let\Bbb\mathbb
2106 \Bbb
2107 }%
2108 \DeclareRobustCommand\REV@mathfrak{%
2109 \REVSYMB@warn{%
2110 Command \string\mathbb\space undefined:^^J%
2111 please specify the amsfonts or amssymb option!%
2112 }%
2113 \global\let\mathbb\@firstofone
2114 \mathbb
2115 }%

\Bigglb Deal with legacy bold delimiters. Each of the following takes an implicit
argument consisting of the delimiter to be made big and bold. FIXME:
\DeclareBoldMathCommand is not the right tool!
2116 \def\Bigglb{\REV@boldopen \Bigg}%
2117 \def\Biglb {\REV@boldopen \Big }%
2118 \def\bigglb{\REV@boldopen \bigg}%
2119 \def\biglb {\REV@boldopen \big }%
2120 \def\Biggrb{\REV@boldclose\Bigg}%
2121 \def\Bigrb {\REV@boldclose\Big }%
2122 \def\biggrb{\REV@boldclose\bigg}%
2123 \def\bigrb {\REV@boldclose\big }%
2124 \def\REV@pmb#1{%
2125 \hbox{%
2126 \setbox\z@=\hbox{#1}%
2127 \kern-.02em\copy\z@\kern-\wd\z@
2128 \kern .04em\copy\z@\kern-\wd\z@
2129 \kern-.02em
2130 \raise.04em\copy\z@
2131 }%
2132 }%
2133 \def\REV@boldopen #1#2{\mathopen {\REV@pmb{$#1#2$}}}%
2134 \def\REV@boldclose#1#2{\mathclose{\REV@pmb{$#1#2$}}}%

\revsymb@inithook Package dependencies are taken care of at \setup@hook time.


2135 \def\revsymb@inithook{%
2136 \@ifxundefined\dddot{\let\dddot\REV@dddot}{}%
2137 \@ifxundefined\triangleq{\let\triangleq\REV@triangleq}{}%
2138 \@ifxundefined\succsim{\let\succsim\altsuccsim}{}%
2139 \@ifxundefined\precsim{\let\precsim\altprecsim}{}%
2140 \@ifxundefined\lesssim{\let\lesssim\REV@lesssim}{}%
2141 \@ifxundefined\gtrsim {\let\gtrsim \REV@gtrsim }{}%
2142 \@ifxundefined\mathfrak{\let\mathfrak\REV@mathfrak}{}%
2143 \@ifxundefined\mathbb{\let\mathbb\REV@mathbb}{}%
2144 }%

83
2145 %</revsymb>

26 The 10pt class option: the 10pt module


The file aps10pt.rtx is read in by the revtex4 document class if \@pointsize
has the value 10.
2146 %<*10pt>

26.1 Defend Against Forseeable Errors


Protect this file from being read in by anything but REVTEX.
2147 \ifx\undefined\substyle@ext
2148 \def\@tempa{%
2149 \endinput
2150 \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
2151 }%
2152 \expandafter\else
2153 \def\@tempa{}%
2154 \expandafter\fi\@tempa
2155 \class@info{RevTeX pointsize 10pt selected}%

2156 \def\normalsize{%
2157 \@setfontsize\normalsize\@xpt{11.5}%
2158 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
2159 \belowdisplayskip \abovedisplayskip
2160 \abovedisplayshortskip \abovedisplayskip
2161 \belowdisplayshortskip \abovedisplayskip
2162 \let\@listi\@listI
2163 }%

2164 \def\small{%
2165 \@setfontsize\small\@ixpt{10.5}%
2166 \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
2167 \belowdisplayskip \abovedisplayskip
2168 \abovedisplayshortskip \z@ \@plus2\p@
2169 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
2170 \def\@listi{%
2171 \leftmargin\leftmargini
2172 \topsep 4\p@ \@plus2\p@ \@minus2\p@
2173 \parsep 2\p@ \@plus\p@ \@minus\p@
2174 \itemsep \parsep
2175 }%
2176 }%

2177 \def\footnotesize{%
2178 \@setfontsize\footnotesize\@viiipt{9.5pt}%
2179 \abovedisplayskip 6\p@ \@plus2\p@ \@minus4\p@
2180 \belowdisplayskip \abovedisplayskip
2181 \abovedisplayshortskip \z@ \@plus\p@

84
2182 \belowdisplayshortskip 3\p@ \@plus\p@ \@minus2\p@
2183 \def\@listi{%
2184 \leftmargin\leftmargini
2185 \topsep 3\p@ \@plus\p@ \@minus\p@
2186 \parsep 2\p@ \@plus\p@ \@minus\p@
2187 \itemsep \parsep
2188 }%
2189 }%
2190 \def\scriptsize{%
2191 \@setfontsize\scriptsize\@viipt\@viiipt
2192 }%
2193 \def\tiny{%
2194 \@setfontsize\tiny\@vpt\@vipt
2195 }%
2196 \def\large{%
2197 \@setfontsize\large\@xiipt{14pt}%
2198 }%
2199 \def\Large{%
2200 \@setfontsize\Large\@xivpt{18pt}%
2201 }%
2202 \def\LARGE{%
2203 \@setfontsize\LARGE\@xviipt{22pt}%
2204 }%
2205 \def\huge{%
2206 \@setfontsize\huge\@xxpt{25pt}%
2207 }%
2208 \def\Huge{%
2209 \@setfontsize\Huge\@xxvpt{30pt}%
2210 }%

The values of these margin parameters are dependent upon \twoside@sw; any
society or journal that has its own preferences should override these assignments
by doing \appdef\setup@hook.
2211 \appdef\setup@hook{%
2212 \twoside@sw{%
2213 % \oddsidemargin -.1in
2214 % \evensidemargin -.4in
2215 \oddsidemargin -20pt
2216 \evensidemargin -20pt
2217 \marginparwidth 107pt
2218 }{%
2219 \oddsidemargin -.25in
2220 \evensidemargin -.25in
2221 \marginparwidth 30pt
2222 }%
2223 }%

2224 \marginparsep 6pt


2225 \topmargin -61pt

85
2226 \headheight 25pt
2227 \headsep 16pt

2228 \topskip 10pt


2229 \splittopskip\topskip
2230 \footskip 30pt
2231 \textheight = 56pc
2232 \textwidth42.5pc
2233 \columnsep 1.5pc
2234 \columnseprule 0pt

2235 \footnotesep 1pt


2236 \skip\footins 39pt plus 4pt minus 12pt
2237 \def\footnoterule{%
2238 \dimen@\skip\footins\divide\dimen@\tw@
2239 \kern-\dimen@\hrule width.5in\kern\dimen@
2240 }%

2241 \floatsep 12pt plus 2pt minus 2pt


2242 \textfloatsep 20pt plus 2pt minus 4pt
2243 \intextsep 12pt plus 2pt minus 2pt

2244 \dblfloatsep 12pt plus 2pt minus 2pt


2245 \dbltextfloatsep 20pt plus 2pt minus 4pt
2246 \@fptop 0pt plus 1fil
2247 \@fpsep 8pt plus 2fil
2248 \@fpbot 0pt plus 1fil
2249 \@dblfptop 0pt plus 1fil
2250 \@dblfpsep 8pt plus 2fil
2251 \@dblfpbot 0pt plus 1fil

2252 \marginparpush 5pt


2253 \parskip 0pt plus 1pt
2254 \parindent 10pt
2255 \emergencystretch8\p@

2256 \partopsep 2pt plus 1pt minus 1pt


2257 \leftmargini 25pt
2258 \leftmarginii 22pt
2259 \leftmarginiii 18.7pt
2260 \leftmarginiv 17pt
2261 \leftmarginv 10pt
2262 \leftmarginvi 10pt

2263 \def\@listI{%
2264 \leftmargin\leftmargini
2265 \parsep 4\p@ plus2\p@ minus\p@
2266 \topsep 8\p@ plus2\p@ minus4\p@
2267 \itemsep 4\p@ plus2\p@ minus\p@
2268 }%

86
2269 \labelsep 4pt
2270 \def\@listii{%
2271 \leftmargin\leftmarginii
2272 \labelwidth\leftmarginii
2273 \advance\labelwidth-\labelsep
2274 \topsep 4\p@ plus2\p@ minus\p@
2275 \parsep 2\p@ plus\p@ minus\p@
2276 \itemsep \parsep
2277 }%

2278 \def\@listiii{%
2279 \leftmargin\leftmarginiii
2280 \labelwidth\leftmarginiii
2281 \advance\labelwidth-\labelsep
2282 \topsep 2\p@ plus\p@ minus\p@
2283 \parsep \z@
2284 \partopsep \p@ plus\z@ minus\p@
2285 \itemsep \topsep
2286 }%

2287 \def\@listiv{%
2288 \leftmargin\leftmarginiv
2289 \labelwidth\leftmarginiv
2290 \advance\labelwidth-\labelsep
2291 }%

2292 \def\@listv{%
2293 \leftmargin\leftmarginv
2294 \labelwidth\leftmarginv
2295 \advance\labelwidth-\labelsep
2296 }%

2297 \def\@listvi{%
2298 \leftmargin\leftmarginvi
2299 \labelwidth\leftmarginvi
2300 \advance\labelwidth-\labelsep
2301 }%

2302 %</10pt>

27 The 11pt class option: the 11pt module


The file 11pt.rtx is read in by the revtex4 document class if \@pointsize has
the value 11.
2303 %<*11pt>

27.1 Defend Against Forseeable Errors


Protect this file from being read in by anything but REVTEX.
2304 \ifx\undefined\substyle@ext

87
2305 \def\@tempa{%
2306 \endinput
2307 \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
2308 }%
2309 \expandafter\else
2310 \def\@tempa{}%
2311 \expandafter\fi\@tempa
2312 \class@info{RevTeX pointsize 11pt selected}%
2313 \def\normalsize{%
2314 \@setfontsize\normalsize\@xipt{13.6}%
2315 \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@
2316 \belowdisplayskip \abovedisplayskip
2317 \abovedisplayshortskip \abovedisplayskip
2318 \belowdisplayshortskip \abovedisplayskip
2319 \let\@listi\@listI
2320 }%

2321 \def\small{%
2322 \@setfontsize\small\@xpt\@xiipt
2323 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
2324 \abovedisplayshortskip \z@ \@plus3\p@
2325 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
2326 \def\@listi{\leftmargin\leftmargini
2327 \topsep 6\p@ \@plus2\p@ \@minus2\p@
2328 \parsep 3\p@ \@plus2\p@ \@minus\p@
2329 \itemsep \parsep
2330 }%
2331 \belowdisplayskip \abovedisplayskip
2332 }%

2333 \def\footnotesize{%
2334 \@setfontsize\footnotesize\@ixpt{11}%
2335 \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
2336 \abovedisplayshortskip \z@ \@plus\p@
2337 \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
2338 \def\@listi{\leftmargin\leftmargini
2339 \topsep 4\p@ \@plus2\p@ \@minus2\p@
2340 \parsep 2\p@ \@plus\p@ \@minus\p@
2341 \itemsep \parsep
2342 }%
2343 \belowdisplayskip \abovedisplayskip
2344 }%

2345 \def\scriptsize{%
2346 \@setfontsize\scriptsize\@viiipt{9.5}%
2347 }%
2348 \def\tiny{%
2349 \@setfontsize\tiny\@vipt\@viipt
2350 }%
2351 \def\large{%
2352 \@setfontsize\large\@xiipt{14}%

88
2353 }%
2354 \def\Large{%
2355 \@setfontsize\Large\@xivpt{18}%
2356 }%
2357 \def\LARGE{%
2358 \@setfontsize\LARGE\@xviipt{22}%
2359 }%
2360 \def\huge{%
2361 \@setfontsize\huge\@xxpt{25pt}%
2362 }%
2363 \def\Huge{%
2364 \@setfontsize\Huge\@xxvpt{30pt}%
2365 }%

2366 %</11pt>

28 The 12pt class option: the 12pt module


The file 12pt.rtx is read in by the revtex4 document class if \@pointsize has
the value 12.
2367 %<*12pt>

28.1 Defend Against Forseeable Errors


Protect this file from being read in by anything but REVTEX.
2368 \ifx\undefined\substyle@ext
2369 \def\@tempa{%
2370 \endinput
2371 \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
2372 }%
2373 \expandafter\else
2374 \def\@tempa{}%
2375 \expandafter\fi\@tempa
2376 \class@info{RevTeX pointsize 12pt selected}%

2377 \def\normalsize{%
2378 \@setfontsize\normalsize\@xiipt{14pt}%
2379 \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
2380 \belowdisplayskip \abovedisplayskip
2381 \abovedisplayshortskip \z@ plus3\p@
2382 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
2383 \let\@listi\@listI
2384 }%

2385 \def\small{%
2386 \@setfontsize\small\@xipt{14.5pt}%
2387 \abovedisplayskip 8\p@ \@plus3\p@ \@minus6\p@
2388 \belowdisplayskip \abovedisplayskip
2389 \abovedisplayshortskip \z@ \@plus3\p@

89
2390 \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
2391 \def\@listi{%
2392 \leftmargin\leftmargini
2393 \topsep 9\p@ \@plus3\p@ \@minus5\p@
2394 \parsep 4.5\p@ \@plus2\p@ \@minus\p@
2395 \itemsep \parsep
2396 }%
2397 }%
Same baselineskip as \small ?
2398 \def\footnotesize{%
2399 \@setfontsize\footnotesize\@xpt{14.5pt}%
2400 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
2401 \belowdisplayskip \abovedisplayskip
2402 \abovedisplayshortskip \z@ \@plus3\p@
2403 \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
2404 \def\@listi{%
2405 \leftmargin\leftmargini
2406 \topsep 6\p@ \@plus2\p@ \@minus2\p@
2407 \parsep 3\p@ \@plus2\p@ \@minus\p@
2408 \itemsep \parsep
2409 }%
2410 }%

2411 \def\scriptsize{%
2412 \@setfontsize\scriptsize\@viiipt{9.5pt}%
2413 }%
2414 \def\tiny{%
2415 \@setfontsize\tiny\@vipt{7pt}%
2416 }%
2417 \def\large{%
2418 \@setfontsize\large\@xivpt{18pt}%
2419 }%
2420 \def\Large{%
2421 \@setfontsize\Large\@xviipt{22pt}%
2422 }%
2423 \def\LARGE{%
2424 \@setfontsize\LARGE\@xxpt{25pt}%
2425 }%
2426 \def\huge{%
2427 \@setfontsize\huge\@xxvpt{30pt}%
2428 }%
2429 \let\Huge=\huge

2430 %</12pt>

29 Page parameters
This code is common to both 11pt and 12pt.
2431 %<*11pt|12pt>

90
2432 \appdef\setup@hook{%
2433 \twoside@sw{%
2434 \oddsidemargin 0pt
2435 \evensidemargin 0pt
2436 \marginparwidth 60pt
2437 }{%
2438 \oddsidemargin 0pt
2439 \evensidemargin 0pt
2440 \marginparwidth 44pt
2441 }%
2442 }%

2443 \marginparsep 10pt


2444 \topmargin -37pt
2445 \headheight 12pt
2446 \headsep 25pt

2447 \topskip 10pt


2448 \splittopskip\topskip
2449 \footskip 30pt
2450 \textheight=665.5\p@
2451 \appdef\setup@hook{%
2452 \tightenlines@sw{%
2453 \def\baselinestretch{1}%
2454 }{%
2455 \def\baselinestretch{1.5}%
2456 }%
2457 }%

2458 \textwidth 468pt


2459 \columnsep 10pt
2460 \columnseprule 0pt

2461 \footnotesep 1pt


2462 \skip\footins 25.25pt plus 4pt minus 12pt
2463 \def\footnoterule{%
2464 \dimen@\skip\footins\divide\dimen@\f@ur
2465 \kern-\dimen@\hrule width.5in\kern\dimen@
2466 }%

2467 \floatsep 14pt plus 2pt minus 4pt


2468 \textfloatsep 20pt plus 2pt minus 4pt
2469 \intextsep 14pt plus 4pt minus 4pt
2470 \dblfloatsep 14pt plus 2pt minus 4pt
2471 \dbltextfloatsep 20pt plus 2pt minus 4pt
2472 \@fptop 0pt plus 1fil
2473 \@fpsep 10pt plus 2fil
2474 \@fpbot 0pt plus 1fil

91
2475 \@dblfptop 0pt plus 1fil
2476 \@dblfpsep 10pt plus 2fil%
2477 \@dblfpbot 0pt plus 1fil

2478 \marginparpush 7pt


2479 \parskip 0pt plus 1pt
2480 \parindent 15pt
2481 \emergencystretch8\p@
2482 \partopsep 3pt plus 2pt minus 2pt

2483 \leftmargini 30pt


2484 \leftmarginii 26pt
2485 \leftmarginiii 22pt
2486 \leftmarginiv 20pt
2487 \leftmarginv 12pt
2488 \leftmarginvi 12pt
2489 \def\@listI{\leftmargin\leftmargini \parsep 5\p@ plus2.5\p@ minus\p@
2490 \topsep 10\p@ plus4\p@ minus6\p@
2491 \itemsep 5\p@ plus2.5\p@ minus\p@
2492 }%

2493 \labelsep 6pt


2494 \def\@listii{\leftmargin\leftmarginii
2495 \labelwidth\leftmarginii\advance\labelwidth-\labelsep
2496 \topsep 5\p@ plus2.5\p@ minus\p@
2497 \parsep 2.5\p@ plus\p@ minus\p@
2498 \itemsep \parsep
2499 }%

2500 \def\@listiii{\leftmargin\leftmarginiii
2501 \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
2502 \topsep 2.5\p@ plus\p@ minus\p@
2503 \parsep \z@ \partopsep \p@ plus\z@ minus\p@
2504 \itemsep \topsep
2505 }%

2506 \def\@listiv{\leftmargin\leftmarginiv
2507 \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
2508 }%

2509 \def\@listv{\leftmargin\leftmarginv
2510 \labelwidth\leftmarginv\advance\labelwidth-\labelsep
2511 }%

2512 \def\@listvi{\leftmargin\leftmarginvi
2513 \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
2514 }%

2515 %</11pt|12pt>

30 The aps class extension: the aps module


The file aps.rtx is read in by the revtex4 document class if \@society has the
value aps.

92
Here, code specific to APS journals is separated out from the REVTEX docu-
ment class. (Other societies can customize REVTEX by supplying their own .rtx
file.)
This class extension file is a model for a class extension you might write your-
self.
First, incorporate a \ProvidesFile command with an optional argument giv-
ing the version information, e.g.,
% \ProvidesFile{foo}[2001/09/11 v1.1 Docinfo]%
%

Within the society substyle, there are two things we must do as well: define
the default journal,
% \def\@journal@default{pra}%
%

And do likewise for the point size:


% \def\@pointsize@default{10}%
%

We first define some text entities (amounting to journal abbreviations), then


some APS-specific initialisations, then code for particular APS journals. In the
latter case, the choice is keyed off the macro \@journal.
2516 %<*aps>

30.1 Defend Against Forseeable Errors


Protect this file from being read in by anything but REVTEX.
2517 \ifx\undefined\substyle@ext
2518 \def\@tempa{%
2519 \endinput
2520 \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
2521 }%
2522 \expandafter\else
2523 \def\@tempa{}%
2524 \expandafter\fi\@tempa
2525 \class@info{RevTeX society APS selected}%

Here are the class options relating to the APS:


2526 \DeclareOption{pra}{\change@journal{pra}}%
2527 \DeclareOption{prb}{\change@journal{prb}}%
2528 \DeclareOption{prc}{\change@journal{prc}}%
2529 \DeclareOption{prd}{\change@journal{prd}}%
2530 \DeclareOption{pre}{\change@journal{pre}}%
2531 \DeclareOption{prl}{\change@journal{prl}}%
2532 \DeclareOption{prstab}{\change@journal{prstab}}%
2533 \DeclareOption{prstper}{\change@journal{prstper}}%
2534 \DeclareOption{rmp}{\change@journal{rmp}}%

93
30.2 Abbreviations
The following macros constitute typing shortcuts for certain journal names.
2535 \def\ao{Appl.\ Opt.}%
2536 \def\ap{Appl.\ Phys.}%
2537 \def\apl{Appl.\ Phys.\ Lett.}%
2538 \def\apj{Astrophys.\ J.}%
2539 \def\bell{Bell Syst.\ Tech.\ J.}%
2540 \def\jqe{IEEE J.\ Quantum Electron.}%
2541 \def\assp{IEEE Trans.\ Acoust.\ Speech Signal Process.}%
2542 \def\aprop{IEEE Trans.\ Antennas Propag.}%
2543 \def\mtt{IEEE Trans.\ Microwave Theory Tech.}%
2544 \def\iovs{Invest.\ Ophthalmol.\ Vis.\ Sci.}%
2545 \def\jcp{J.\ Chem.\ Phys.}%
2546 \def\jmo{J.\ Mod.\ Opt.}%
2547 \def\josa{J.\ Opt.\ Soc.\ Am.}%
2548 \def\josaa{J.\ Opt.\ Soc.\ Am.\ A}%
2549 \def\josab{J.\ Opt.\ Soc.\ Am.\ B}%
2550 \def\jpp{J.\ Phys.\ (Paris)}%
2551 \def\nat{Nature (London)}%
2552 \def\oc{Opt.\ Commun.}%
2553 \def\ol{Opt.\ Lett.}%
2554 \def\pl{Phys.\ Lett.}%
2555 \def\pra{Phys.\ Rev.\ A}%
2556 \def\prb{Phys.\ Rev.\ B}%
2557 \def\prc{Phys.\ Rev.\ C}%
2558 \def\prd{Phys.\ Rev.\ D}%
2559 \def\pre{Phys.\ Rev.\ E}%
2560 \def\prl{Phys.\ Rev.\ Lett.}%
2561 \def\rmp{Rev.\ Mod.\ Phys.}%
2562 \def\pspie{Proc.\ Soc.\ Photo-Opt.\ Instrum.\ Eng.}%
2563 \def\sjqe{Sov.\ J.\ Quantum Electron.}%
2564 \def\vr{Vision Res.}%

30.3 APS Setup


Here we define the default procedures for APS journals. Individual APS journals
may override these definitions.

30.3.1 Title block


The specifics of the title block. Apply to all APS journals; individual journals
may override these settings.

\@fnsymbol The LATEX kernel definition of \@fnsymbol is overridden. The definition in revtex4-
1.dtxfixltx2e.sty serves as a guide to the new way to symbol, working in both text-
and math modes.
revtex4-1.dtxfixltx2e.sty duplicates some features of revtex4-1.dtxltxgrid and
revtex4-1.dtxltxutil, however, so it may be incompatible with REVTEX. In case

94
it is not loaded, we must provide a meaning for \TextOrMath, which that package
makes robust. I believe that it is \@fnsymbol itself that ought to be robustified.
eTEX further complicates matters; we do not especially accomodate it.
Not! \TextOrMath must be made robust in any case (Bug 530). I return things
to follow core LATEX 2ε (revtex4-1.dtxlatex.ltx).
2565 \def\@fnsymbol#1{%
2566 \ensuremath{%
2567 \ifcase#1\or
2568 *\or
2569 \dagger\or
2570 \ddagger\or
2571 \mathsection\or
2572 \mathparagraph\or
2573 % \|\or
2574 **\or
2575 \dagger\dagger\or
2576 \ddagger\ddagger\else
2577 \mathsection\mathsection\or
2578 \mathparagraph\mathparagraph\or
2579 ***\or
2580 \dagger\dagger\dagger\or
2581 \ddagger\ddagger\ddagger\else
2582 \mathsection\mathsection\mathsection\or
2583 \mathparagraph\mathparagraph\mathparagraph\or
2584 %
2585 \@ctrerr
2586 \fi
2587 }%
2588 }%
2589 \appdef\document@inithook{%
2590 \@ifxundefined\TextOrMath{%
2591 \DeclareRobustCommand\TextOrMath{\@ifmmode{\false@sw}{\true@sw}}%
2592 }{}%
2593 }%
2594 \let\thefootnote@latex\thefootnote

We assign the default titlepage style for APS; a journal or document instance
may override by invoking one of the other \clo@... procedures defined in REVTEX.
2595 \clo@groupedaddress

\titlepage
2596 \renewenvironment{titlepage}{%
2597 \let\wastwocol@sw\twocolumn@sw
2598 \onecolumngrid
2599 \newpage
2600 \thispagestyle{titlepage}%
2601 \c@page\z@
A comment: “article.cls sets this to one not zero?”

95
2602 }{%
2603 \wastwocol@sw{\twocolumngrid}{\newpage}%
2604 }%

\frontmatter@abstractheading APS Journals all set the abstract head the same way, with no head. However,
if the user has specified the preprint class option, then the abstract will have a
head.
2605 \def\frontmatter@abstractheading{%
2606 \preprintsty@sw{%
2607 \begingroup
2608 \centering\large
2609 \abstractname
2610 \par
2611 \endgroup
2612 }{}%
2613 }%

\frontmatter@abstractwidth All APS journals set the abstract to the same width.
2614 \def\frontmatter@abstractwidth{400\p@}%

\frontmatter@abstractfont All APS journals set the abstract body the same way.
2615 \def\frontmatter@abstractfont{%
2616 \small
2617 \parindent1em\relax
2618 \adjust@abstractwidth
2619 }%
2620 \def\adjust@abstractwidth{%
2621 \dimen@\textwidth\advance\dimen@-\frontmatter@abstractwidth
2622 \divide\dimen@\tw@
2623 \galley@sw{%
2624 \advance\rightskip\tw@\dimen@
2625 }{%
2626 \advance\leftskip\dimen@
2627 \advance\rightskip\dimen@
2628 }%
2629 \@totalleftmargin\leftskip
2630 }%

All APS journal preprints use separate titlepage and full-width abstract.
In effect, we establish a society default value for \preprintsty@sw, and for
\titlepage@sw.
2631 \@booleanfalse\preprintsty@sw
2632 \@booleantrue\titlepage@sw
We choose the page style for all APS journals. The journal may override by
inserting its own code in \setup@hook. Users wishing to customize their docu-
ments will be able to invoke a \pagestyle command anywhere in the preamble;
it will override the assignments here.

96
Here is the big switch for APS preprints. Note that \preprintsty@swis also
consulted in various procedures, but we assume its value does not change after
\setup@hook time.
2633 \appdef\setup@hook{%
2634 \preprintsty@sw{%
2635 \ps@preprint
2636 \def\frontmatter@abstractwidth{\textwidth}%
2637 \def\frontmatter@affiliationfont{\it}%
2638 \let\section\section@preprintsty
The following line of code had been commented out at this point.
% \let\@hangfrom@section\@hangfrom@section@preprintsty
%

2639 \let\subsection\subsection@preprintsty
2640 \let\subsubsection\subsubsection@preprintsty
2641 }{%
2642 \ps@article
2643 }%
2644 }%

\frontmatter@authorformat All APS journals set the author list the same. The leading is 11.5 points, and there
is 11.5 points of extra space above the first author line (which amounts to the same
thing as 11.5 points extra below the title) for a total of 23 points base-to-base.
2645\def\frontmatter@authorformat{%
2646 \skip@\@flushglue
2647 \@flushglue\z@ plus.3\hsize\relax
2648 \centering
2649 \advance\baselineskip\p@
2650 \parskip11.5\p@\relax
2651 \@flushglue\skip@

The following line of code had been commented out at this point.
%\preprintsty@sw{}{%
% \addvspace{0\p@}%
%}%
%

2652 }%

\frontmatter@above@affilgroup The default amount of space above affiliation. APS Journals have 24 points b-b
above an affiliation group.
2653 \def\frontmatter@above@affilgroup{%
The following line of code had been commented out at this point.
%\preprintsty@sw{}{%
% \addvspace{11\p@}%
%}%
%

97
2654 }%

\frontmatter@above@affiliation The default amount of space above affiliation. APS Journals have no extra space
matter@above@affiliation@script between author group down to common affiliation.
2655 \def\frontmatter@above@affiliation@script{%
2656 \skip@\@flushglue
2657 \@flushglue\z@ plus.3\hsize\relax
2658 \centering
2659 \@flushglue\skip@
2660 \addvspace{3.5\p@}%
2661 }%
2662 \def\frontmatter@above@affiliation{%
2663 \preprintsty@sw{}{%

The following line of code had been commented out at this point.
% \addvspace{12\p@}%
%

2664 }%
2665 }%

\frontmatter@affiliationfont All APS journals set the affiliation the same.


2666 \def\frontmatter@affiliationfont{%
2667 \small\it
2668 }%

frontmatter@collaboration@above PRL: 1.5 points extra: 13 points base-to-base above.


2669 \def\frontmatter@collaboration@above{%
2670 \preprintsty@sw{%
2671 }{%
2672 \parskip1.5\p@\relax
2673 }%
2674 }%

\frontmatter@setup All APS journals set the title page using the same font and size. However, justifi-
cation varies for the title block elements, so we assert none here.
2675 \def\frontmatter@setup{%
2676 \normalfont
2677 }%

\frontmatter@title@above All APS journals set the article title the same.
\frontmatter@title@format Note: Spacing from title to author is 23 points base-to-base.
\frontmatter@title@below 2678 \def\frontmatter@title@above{\addvspace{6\p@}}%
2679 \def\frontmatter@title@format{\large\bfseries\centering\parskip\z@skip}%
2680 \def\frontmatter@title@below{}%

\frontmatter@makefnmark All APS journals share this procedure for setting the titlepage footnote text.
2681 \def\@author@parskip{3\p@}%
2682 \def\frontmatter@makefnmark{%

98
2683 \@textsuperscript{%
2684 \normalfont\@thefnmark
2685 }%
2686 }%
2687 \def\frontmatter@authorbelow{%
2688 \addvspace{3\p@}%
2689 }%

\frontmatter@RRAP@format All APS journals use the same format for the “Received, Revised, etc.” block on
the title page.
Change note: 11.5 points b-b from author/affiliation down to date.
2690 \def\frontmatter@RRAP@format{%
2691 \small
2692 \centering
The following line of code had been commented out at this point.

% \preprintsty@sw{}{\parskip.5ex\relax}%
%

2693 \everypar{\hbox\bgroup(\@gobble@leavemode@uppercase}%
2694 \def\par{\@ifvmode{}{\unskip)\egroup\@@par}}%
2695 }%
2696 \def\punct@RRAP{;\egroup\ \hbox\bgroup}%
2697 \def\@gobble@leavemode@uppercase#1#2{\expandafter\MakeTextUppercase}%

\frontmatter@PACS@format
2698 \def\frontmatter@PACS@format{%
2699 \addvspace{11\p@}%
2700 \footnotesize
2701 \adjust@abstractwidth
2702 \parindent\z@
2703 \parskip\z@skip
2704 \samepage
2705 }%

\frontmatter@keys@format
2706 \def\frontmatter@keys@format{%
2707 \footnotesize
2708 \adjust@abstractwidth
2709 \parindent\z@
2710 \samepage
2711 }%

\ps@titlepage Title page style. Currently empty except for preprint header, which consists of all
the \preprint arguments, stacked flush right at the right margin.
2712 \def\ps@titlepage{%
2713 \def\@oddhead{%
2714 \hfill
2715 \preprint@sw{%

99
2716 \expandafter\produce@preprints\expandafter{\@preprint}%
2717 }{}%
2718 }%
2719 \let\@evenhead\@oddhead
2720 \def\@oddfoot{%
2721 \hb@xt@\z@{\byrevtex\hss}%
2722 \hfil
2723 \preprintsty@sw{\thepage}{}%
2724 \quad\checkindate
2725 \hfil
2726 }%
2727 \let\@evenfoot\@oddfoot
2728 }%
2729 \def\byrevtex{\byrevtex@sw{Typeset by REV\TeX}{}}%

\produce@preprints
2730 \def\produce@preprints#1{%
2731 \vtop to \z@{%
2732 \def\baselinestretch{1}%
2733 \small
2734 \let\preprint\preprint@count
2735 \count@\z@
2736 #1%
2737 \@ifnum{\count@>\tw@}{%
2738 \hbox{%
2739 \let\preprint\preprint@hlist
2740 #1%
2741 \setbox\z@\lastbox
2742 }%
2743 }{%
2744 \let\preprint\preprint@cr
2745 \halign{\hfil##\cr#1\crcr}%
2746 \par
2747 \vss
2748 }%
2749 }%
2750 }%
2751 \def\preprint@cr#1{#1\cr}%
2752 \def\preprint@count#1{\advance\count@\@ne}%
2753 \def\preprint@hlist#1{#1\hbox{, }}%

30.3.2 Stacked Heads


All APS journals put a period (.), followed by quad space, after the section number.
Also, no hanging section number.
2754 \def\@seccntformat#1{\csname the#1\endcsname.\quad}%
2755 \def\@hang@from#1#2#3{#1#2#3}%
Note that in the following, we wish to set the section head uppercase, so
we use David Carlisle’s \MakeTextUppercase. However, because this procedure

100
effectively parses its argument (looking for things to not translate), it has to be
invoked in such a way that the argument of the \section command is passed to
it as its own argument.
To accomplish this, we use the \@hangfrom@ hook, which was developed for
this purpose.
2756 \def\section{%
2757 \@startsection
2758 {section}%
2759 {1}%
2760 {\z@}%
2761 {0.8cm \@plus1ex \@minus .2ex}%
2762 {0.5cm}%
2763 {%
2764 \normalfont\small\bfseries
2765 \centering
2766 }%
2767 }%
2768 \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
2769 \def\@hangfroms@section#1#2{#1\MakeTextUppercase{#2}}%

2770 \def\subsection{%
2771 \@startsection
2772 {subsection}%
2773 {2}%
2774 {\z@}%
2775 {.8cm \@plus1ex \@minus .2ex}%
2776 {.5cm}%
2777 {%
2778 \normalfont\small\bfseries
2779 \centering
2780 }%
2781 }%

2782 \def\subsubsection{%
2783 \@startsection
2784 {subsubsection}%
2785 {3}%
2786 {\z@}%
2787 {.8cm \@plus1ex \@minus .2ex}%
2788 {.5cm}%
2789 {%
2790 \normalfont\small\itshape
2791 \centering
2792 }%
2793 }%

30.3.3 Runin Heads


2794 \def\paragraph{%
2795 \@startsection

101
2796 {paragraph}%
2797 {4}%
2798 {\parindent}%
2799 {\z@}%
2800 {-1em}%
2801 {\normalfont\normalsize\itshape}%
2802 }%
2803 \def\subparagraph{%
2804 \@startsection
2805 {subparagraph}%
2806 {5}%
2807 {\parindent}%
2808 {3.25ex \@plus1ex \@minus .2ex}%
2809 {-1em}%
2810 {\normalfont\normalsize\bfseries}%
2811 }%

\section@preprintsty Here are the formatting procedures specific to the preprint style; the only difference
\subsection@preprintsty is that the heads are flush left instead of centered.
\subsubsection@preprintsty 2812 \def\section@preprintsty{%
2813 \@startsection
2814 {section}%
2815 {1}%
2816 {\z@}%
2817 {0.8cm \@plus1ex \@minus .2ex}%
2818 {0.5cm}%
2819 {%
2820 \normalfont\small\bfseries
2821 % \centering
2822 }%
2823 }%
2824 %\def\@hangfrom@section@preprintsty#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%

2825 \def\subsection@preprintsty{%
2826 \@startsection
2827 {subsection}%
2828 {2}%
2829 {\z@}%
2830 {.8cm \@plus1ex \@minus .2ex}%
2831 {.5cm}%
2832 {%
2833 \normalfont\small\bfseries
2834 % \centering
2835 }%
2836 }%

2837 \def\subsubsection@preprintsty{%
2838 \@startsection
2839 {subsubsection}%
2840 {3}%
2841 {\z@}%

102
2842 {.8cm \@plus1ex \@minus .2ex}%
2843 {.5cm}%
2844 {%
2845 \normalfont\small\itshape
2846 % \centering
2847 }%
2848 }%

By default, APS journals set titlepage notes as footnotes.


\let\frontmatter@footnote@produce\frontmatter@footnote@produce@footnote
%

30.3.4 Table of Contents


The toc will itself make an entry in the toc, but we temporarily turn off toc
formatting for the duration.
2849 \def\@pnumwidth{1.55em}%
2850 \def\@tocrmarg {2.55em}%
2851 \def\@dotsep{2}%
2852 \def\ltxu@dotsep{4.5pt}%
2853 \setcounter{tocdepth}{3}%

2854 \def\tableofcontents{%
2855 \addtocontents{toc}{\string\tocdepth@munge}%
2856 \print@toc{toc}%
2857 \addtocontents{toc}{\string\tocdepth@restore}%
2858 }%

2859 \def\tocdepth@munge{%
2860 \let\l@section@saved\l@section
2861 \let\l@section\@gobble@tw@
2862 }%
2863 \def\@gobble@tw@#1#2{}%

2864 \def\tocdepth@restore{%
2865 \let\l@section\l@section@saved
2866 }%

The following definition of \l@part is a variant on the definition of \l@@sections


in ltxutil.dtx.
2867 \def\l@part#1#2{\addpenalty{\@secpenalty}%
2868 \begingroup
2869 \set@tocdim@pagenum\@tempboxa{#2}%
2870 % \@tempdima 3em %
2871 \parindent \z@
2872 \rightskip\tocleft@pagenum plus 1fil\relax
2873 \skip@\parfillskip\parfillskip\z@
2874 \addvspace{2.25em plus\p@}%
2875 \large \bf %
2876 \leavevmode\ignorespaces#1\unskip\nobreak\hskip\skip@
2877 \hb@xt@\rightskip{\hfil\unhbox\@tempboxa}\hskip-\rightskip\hskip\z@skip

103
2878 \par
2879 \nobreak %
2880 \endgroup
2881 }%

\l@section Determine which TOC elements are automatically indented.


We set the TOC to the standard of RMP. If APS has its own specification, we
will code it, and RMP must override.
2882 \def\tocleft@{\z@}%
2883 \def\tocdim@min{5\p@}%
2884 \def\l@section{%
2885 \l@@sections{}{section}% Implicit #3#4
2886 }%
2887 \def\l@f@section{%
2888 \addpenalty{\@secpenalty}%
2889 \addvspace{1.0em plus\p@}%
2890 %\bf
2891 }%
2892 \def\l@subsection{%
2893 \l@@sections{section}{subsection}% Implicit #3#4
2894 }%
2895 \def\l@subsubsection{%
2896 \l@@sections{subsection}{subsubsection}% Implicit #3#4
2897 }%
2898 \def\l@paragraph#1#2{}%
2899 \def\l@subparagraph#1#2{}%

Activate the auto TOC processing.


2900 \let\toc@pre\toc@pre@auto
2901 \let\toc@post\toc@post@auto

30.3.5 Default column bottom


All APS journal styles have flush bottoms.
2902 \@booleanfalse\raggedcolumn@sw

30.3.6 Table alignment style


\tableft@skip@float All APS publications have the same table specification: Scotch rules above and
\tabmid@skip@float below, centered in column.
\tabright@skip@float 2903 \def\tableft@skip@float{\z@ plus\hsize}%
\array@row@pre@float 2904 \def\tabmid@skip@float{\@flushglue}%
\array@row@pst@float 2905 \def\tabright@skip@float{\z@ plus\hsize}%
2906 \def\array@row@pre@float{\hline\hline\noalign{\vskip\doublerulesep}}%
2907 \def\array@row@pst@float{\noalign{\vskip\doublerulesep}\hline\hline}%

104
30.3.7 Footnote formatting
We customize the formatting of footnotes for all APS journals.
\@makefntext
2908 \long\def\@makefntext#1{%
2909 \def\baselinestretch{1}%
2910 \leftskip1em%
2911 \parindent1em%
2912 \noindent
2913 \nobreak\hskip-\leftskip
2914 \hb@xt@\leftskip{%
2915 \hss\@makefnmark\ %
2916 }%
2917 #1%
2918 \par
2919 }%

\frontmatter@makefntext We ensure that frontmatter footnotes format similarly to body footnotes. But we
provide our own hypertext anchor, otherwise not provided.
2920 \long\def\frontmatter@makefntext#1{%
2921 \def\baselinestretch{1}%
2922 \leftskip1em%
2923 \parindent1em%
2924 \noindent
2925 \nobreak\hskip-\leftskip
2926 \Hy@raisedlink{\hyper@anchorstart{frontmatter.\expandafter\the\csname c@\@mpfn\endcsname}\hyper
2927 \hb@xt@\leftskip{%
2928 \hss\@makefnmark\ %
2929 }%
2930 #1%
2931 \par
2932 }%

30.3.8 Appendix
\appendix
\@hangfrom@appendix 2933 \prepdef\appendix{%
\@hangfroms@appendix 2934 \par
\@appendixcntformat 2935 \let\@hangfrom@section\@hangfrom@appendix
2936 %\let\@hangfroms@section\@hangfroms@appendix
2937 \let\@sectioncntformat\@appendixcntformat
2938 }%
2939 \def\@hangfrom@appendix#1#2#3{%
2940 #1%
2941 \@if@empty{#2}{%
2942 #3%
2943 }{%
2944 #2\@if@empty{#3}{}{:\ #3}%
2945 }%

105
2946 }%
2947 \def\@hangfroms@appendix#1#2{%
2948 #1#2%
2949 }%
2950 \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%

30.3.9 Bibliography
Customize REVTEX for the journal substyle; this task requires three components:
the BibTEX apsrev.bst and apsrmp.bst style files, and customizations of the
thebibliography environment.

\@bibstyle Define the argument of the \bibliographystyle command (if the document does
not do so). The user must have installed a .bst file of the corresponding name.
This file will then be used by BibTEX when compiling the document’s .bbl file.
To generate apsrev.bst, use custom-bib version 4.21 or later. Run the .bst
generator, makebst.tex, and accept all defaults, with the following exceptions:

1. LANGUAGE FIELD: l: lang—Use language field to switch hyphenation


patterns for title
2. PRESENTATIONS: b: pres,pres-bf—Presentation, speaker bold face

3. ORDERING OF REFERENCES: c: seq-no—Citation order (unsorted, like


unsrt.bst)
4. ORDER ON VON PART: x: vonx—Sort without von part (de la Maire after
Mahone)

5. AUTHOR NAMES: i: nm-init,ed-au—Initials + surname (J. F. Smith)


6. POSITION OF JUNIOR: *: jnrlst—Junior comes last as Smith, John, Jr.
7. TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft,nmft-def—
User defined author font (\bibnamefont)

8. FONT FOR FIRST NAMES: u: fnm-def—First names in user defined font


(\bibfnamefont)
9. EDITOR NAMES IN INCOLLECTION ETC: a: nmfted—Editors incollec-
tion like authors font
10. FONT FOR ‘AND’ IN LIST: r: nmand-rm—‘And’ in normal font (JONES
and JAMES)
11. FONT OF CITATION LABELS IN TEXT: u: lab,lab-def—User defined
citation font (\citenamefont)
12. FONT FOR ‘AND’ IN CITATIONS: r: and-rm—Cited ‘and’ in normal font

13. DATE FORMAT: *: yr-par—Date in parentheses as (May 1993)

106
14. DATE EMPTY: -: date-nil-x—If date is empty, then do not produce the
surrounding punctuation (parens, brackets, colon, comma)
15. TITLE OF ARTICLE: d: tit-qq—Title and punctuation in double quotes
(“Title,” ..)

16. INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK: -: inproceedings-chapter—


produce pages after chapter, just as in InBook
17. TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEED-
INGS: x: jtit-x—Title is ignored
18. INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK: y: inproceedings-chapter—
produce pages after chapter, just as in InBook
19. ARTICLE BOOKTITLE PRESENT: : article-booktitle—format book-
title
20. ARTICLE SERIES PRESENT: : article-series—article can has series

21. JOURNAL NAME FONT: r: jttl-rm—Journal name normal font


22. JOURNAL NAME WITH ADDRESS: y: journal-address—Include ad-
dress field (in parentheses) along with journal name
23. BOOK TITLE FIELDS: y: book-bt—Field ‘booktitle’, or if absent field
‘title’, is book title
24. THESIS TITLE OPTIONAL: : thesis-title-o—Title is optional: no
warning issued if empty
25. TECHNICAL REPORT TITLE: b: trtit-b—Tech. report title like books

26. TECHNICAL REPORT INSTITUTION: : techreport-institution-par—


format tech report institution like book publisher
27. JOURNAL VOLUME: b: vol-bf—Volume bold as vol(num)
28. JOURNAL VOL AND NUMBER: x: vnum-x—Journal vol, without number
as 34

29. VOLUME PUNCTUATION: c: volp-com—Volume with comma as vol(num),


ppp
30. PAGE NUMBERS: f : jpg-1—Only start page number
31. BOOK EDITOR W/O AUTHOR: : book-editor-booktitle—Book per-
mits empty author, produces title before editor in this case
32. INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR: a: inbook-editor-booktitle—
Allow using both title/booktitle, both author/editor

107
33. CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, IN-
PROCEEDINGS, PROCEEDINGS: a: bookaddress—Italic booktitle fol-
lowed by bookaddress in roman
34. NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, IN-
PROCEEDINGS, PROCEEDINGS: *: num-xser—Allows number without
series and suppresses word ”number”
35. WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES: c:
number-cap—Capitalize word ‘number’ as: ”Number 123”
36. WORD CHAPTER CAPITALIZED: c: chapter-cap—Capitalize word
‘chapter’ as: ‘Chapter 42’
37. COMBINING NUMBER AND SERIES: x: series-number—Series number
as: ‘Springer Lecture Notes No. 125’
38. POSITION OF NUMBER AND SERIES: b: numser-booktitle—After
book title and conference address, and before editors
39. VOLUME AND SERIES FOR BOOKS/COLLECTIONS: s: ser-vol—
Series, vol. 23
40. VOLUME AND SERIES FORMATTING: y: ser-rm—format series roman
, even when used with volume
41. WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES: y:
volume-cap—Capitalize word ‘volume’, as: ‘Volume 7 in Lecture Series’
42. POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK,
AND INPROCEEDINGS: e: ser-ed—Series and volume after booktitle and
before editors
43. JOURNAL NAME PUNCTUATION: x: jnm-x—Space after journal name
44. PAGES IN BOOK: *: pg-bk,book-chapter-pages—As chapter and page:
chapter 42, page 345
45. PUBLISHER IN PARENTHESES: d: pub-date—Publisher with address
and date in parentheses (Oxford, 1994)
46. EMPTY PUBLISHER PARENTHESES: y: ay-empty-pub-parens-x—
eliminate parentheses altogether if nothing inside
47. PUBLISHER POSITION: : pre-pub—Publisher before volume, chapter,
pages
48. : : pre-edn—Edition before publisher
49. : p: pre-pub,pre-edn—Edition, publisher, volume, chapter, pages
50. ISBN NUMBER: *: isbn—Include ISBN for books, booklets, etc.

108
51. ISSN NUMBER: *: issn—Include ISSN for periodicals
52. DOI NUMBER: a: doi-link,doi—Doi forms a link to the publication,
anchored to the volume or title
53. EDITOR IN COLLECTIONS: b: edby—In booktitle, edited by .. (where ..
is names)
54. PUNCTUATION BETWEEN SECTIONS (BLOCKS): c: blk-com—Comma
between blocks
55. FINAL PUNCTUATION: c: fin-endbibitem—Command at end instead
of period

56. ABBREVIATE WORD ‘PAGES’: a: pp—‘Page’ abbreviated as p. or pp.


57. ABBREVIATE WORD ‘EDITORS’: a: ed—‘Editor’ abbreviated as ed. or
eds.
58. OTHER ABBREVIATIONS: a: abr—Abbreviations of such words

59. ABBREVIATION FOR ‘EDITION’: a: ednx—‘Edition’ abbreviated as ‘ed’


60. EDITION NUMBERS: n: ord—Numerical editions as 1st, 2nd, 3rd, etc
61. STORED JOURNAL NAMES: a: jabr—Abbreviated journal names

62. FONT OF ‘ET AL’: i: etal-it—Italic et al


63. ADDITIONAL REVTeX DATA FIELDS: r: revdata,eprint,url,url-blk,translation—
Include REVTeX data fields collaboration, eid, eprint, archive, url, transla-
tion
64. SLACcitation FIELD: : SLACcitation—Produce SLACcitation field

65. NUMPAGES DATA FIELD: *: numpages-x—Do not include numpages field


66. URL ADDRESS: *: url,url-prefix-x—URL without prefix (default:
‘URL ’)
67. REFERENCE COMPONENT TAGS: b: bibinfo—Reference component
tags like \bibinfoin the content of \bibitem
68. ELEMENT TAGS: b: bibfield—Element tags like \bibfieldin the con-
tent of \bibitem
69. COMPATIBILITY WITH PLAIN TEX: *: nfss—Use LaTeX commands
which may not work with Plain TeX

A file apsrev.dbj file equivalent to the following should result:

109
%\input docstrip
%\preamble
%----------------------------------------
%*** REVTeX-compatible Phys Rev 2010-02-12 ***
%\endpreamble
%\postamble
%End of customized bst file
%\endpostamble
%\keepsilent
%\askforoverwritefalse
%\def\MBopts{\from{merlin.mbs}{%
% head,\MBopta}
%\from{physjour.mbs}{\MBopta}
%\from{geojour.mbs}{\MBopta}
%\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
% pres,pres-bf,%: Presentation, speaker bold face
% 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.
% nmft,nmft-def,%: User defined author font (\bibnamefont)
% fnm-def,%: First names in user defined font (\bibfnamefont)
% nmfted,%: Editors incollection like authors font
% nmand-rm,%: ‘And’ in normal font (JONES and JAMES)
% lab,lab-def,%: User defined citation font (\citenamefont)
% and-rm,%: Cited ‘and’ in normal font
% 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, bracke
% tit-qq,%: Title and punctuation in double quotes (‘‘Title,’’ ..)
% inproceedings-chapter,%: produce pages after chapter, just as in InBook
% jtit-x,%: Title is ignored
% inproceedings-chapter,%: produce pages after chapter just as in InBook
% article-booktitle,%: format booktitle
% article-series,%: article can has series
% jttl-rm,%: Journal name normal font
% journal-address,%: Include address field (in parentheses) along with journal name
% book-bt,%: Field ‘booktitle’, or if absent field ‘title’, is book title
% thesis-title-o,%: Title is optional: no warning issued if empty
% trtit-b,%: Tech. report title like books
% techreport-institution-par,%: format tech report institution like book publisher
% vol-bf,%: Volume bold as {\bf vol}(num)
% vnum-x,%: Journal vol, without number as 34

110
% volp-com,%: Volume with comma as vol(num), ppp
% jpg-1,%: Only start page number
% book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
% inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
% bookaddress,%: Italic booktitle followed by bookaddress in roman
% num-xser,%: Allows number without series and suppresses word "number"
% number-cap,%: Capitalize word ‘number’ as: "Number 123"
% chapter-cap,%: Capitalize word ‘chapter’ as: ‘Chapter 42’
% series-number,%: Series number as: ‘Springer Lecture Notes No. 125’
% numser-booktitle,%: After book title and conference address, and before editors
% ser-vol,%: Series, vol. 23
% ser-rm,%: format series roman , even when used with volume
% volume-cap,%: Capitalize word ‘volume’, as: ‘Volume 7 in Lecture Series’
% ser-ed,%: Series and volume after booktitle and before editors
% jnm-x,%: Space after journal name
% pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
% pub-date,%: Publisher with address and date in parentheses (Oxford, 1994)
% ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
% pre-pub,pre-edn,%: Edition, publisher, volume, chapter, pages
% isbn,%: Include ISBN for books, booklets, etc.
% issn,%: Include ISSN for periodicals
% doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
% edby,%: In booktitle, edited by .. (where .. is names)
% blk-com,%: Comma between blocks
% fin-endbibitem,%: Command at end instead of period
% pp,%: ‘Page’ abbreviated as p. or pp.
% ed,%: ‘Editor’ abbreviated as ed. or eds.
% abr,%: Abbreviations of such words
% ednx,%: ‘Edition’ abbreviated as ‘ed’
% ord,%: Numerical editions as 1st, 2nd, 3rd, etc
% jabr,%: Abbreviated journal names
% etal-it,%: Italic et al
% revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint
% SLACcitation,%: Produce SLACcitation field
% numpages-x,%: Do not include numpages field
% url,url-prefix-x,%: URL without prefix (default: ‘URL ’)
% bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
% bibfield,%: Element tags like \bibfield in the content of \bibitem
% nfss,%: Use LaTeX commands which may not work with Plain TeX
%,{%
% }}
%\generate{\file{apsrev4-1.bst}{\MBopts}}
%\endbatchfile
%

30.3.10 Comparing apsrev.bst and apsrmp.bst


These two bibliographic styles differ as follows: apsrev.dbj has the following
guard codes, which apsrmp.dbj does not:

111
• seq-no— Citation order (unsorted, like unsrt.bst)
• nm-init,ed-au— Initials + surname (J. F. Smith)
• blkyear— Missing date left blank
• date-nil-x— If date is empty, then do not produce the surrounding punc-
tuation (parens, brackets, colon, comma)
• inproceedings-chapter— produce pages after chapter, just as in InBook
• techreport-institution-par— format tech report institution like book
publisher
• vnum-x— Journal vol, without number as ‘34’
• pub-date— Publisher with address and date in parentheses (Oxford, 1994)
• pre-pub— Edition, publisher, volume, chapter, pages. Note that both use
guard code pre-edn.
apsrmp.dbj has the following guard codes, which apsrev.dbj does not:
• nm-rev1— Only first name reversed, initials (AGU style: Smith, J. F., H.
K. Jones)
• dt-beg— Date after authors
• vnum-sp— Journal vol (num) as ‘34 (2)’
• pp-last— Pages at end, but before any notes
• pub-par— Publisher in parentheses
• school-par— School/address in parens: ‘(school, address)’
• bkedcap— ‘Name Editor,’ as above, editor upper case
• and-com— Comma even with 2 authors as ‘Tom, and Harry’
We ensure that the journal substyle has the first word in the matter by in-
stalling the (default) APS code later on (see Section 30.6).

\authoryear@sw Numerical citations: default value of \authoryear@sw is false.


2951 \@booleanfalse\authoryear@sw

\bibpunct The following commands effectively establish the style in which \cite commands
are formatted. You can think of them as the second needed component for the
bibliography.
Set up for APS numerical citations (once the packages are loaded). The journal
substyle can override these choices.
Note that, prior to natbib version 8.21, changing \NAT@sort at this late hour
would not be totally effective; you would have to give natbib the relevant options

112
at load time. From version 8.21 on, \NAT@sort and \NAT@cmprs are not bound at
all.
2952 \appdef\setup@hook{%
2953 \bibpunct{[}{]}{,}{n}{}{,}%
2954 }%

\pre@bibdata Set up to write endnotes to a .bib file; its data will be incorporated into the
bibliography.
2955 \def\pre@bibdata{\jobname\bibdata@app}%

\bibsection We define the sectioning command to use when starting the bibliography.
2956 \appdef\setup@hook{%
2957 \def\bibsection{%
2958 \par
2959 \onecolumngrid@push
2960 \begingroup
2961 \baselineskip26\p@
2962 \bib@device{\textwidth}{245.5\p@}%
2963 \endgroup
2964 \nobreak\@nobreaktrue
2965 \addvspace{19\p@}%
2966 \par
2967 \onecolumngrid@pop
2968 }%
2969 }%

\bib@device We define the sectioning command to use when starting the bibliography.
\bibpreamble 2970 \def\bib@device#1#2{%
\bibsep 2971 \hb@xt@\z@{%
\newblock 2972 \hb@xt@#1{%
2973 \hfil
2974 \phantomsection
2975 \addcontentsline {toc}{section}{\protect\numberline{}\refname}%
2976 % \hyper@anchorstart {\@currentHref }%
2977 \hb@xt@#2{%
2978 \skip@\z@\@plus-1fil\relax
2979 \leaders\hrule height.25 \p@ depth.25 \p@ \hskip\z@\@plus1fil
2980 \hskip\skip@
2981 \hskip\z@\@plus0.125fil\leaders\hrule height.375\p@ depth.375\p@ \hskip\z@\@plus0.75fil \hsk
2982 \hskip\skip@
2983 \hskip\z@\@plus0.25 fil\leaders\hrule height.5 \p@ depth.5 \p@ \hskip\z@\@plus0.5 fil \hsk
2984 \hskip\skip@
2985 \hskip\z@\@plus0.375fil\leaders\hrule height.625\p@ depth.625\p@ \hskip\z@\@plus0.25fil \hsk
2986 % \hskip\skip@
2987 % \hfil
2988 }%
2989 % \hyper@anchorend
2990 \hfil
2991 }%

113
2992 \hss
2993 }%
2994 }%
2995 \appdef\setup@hook{%
2996 \let\bibpreamble\@empty
2997 \bibsep\z@\relax
2998 \def\newblock{\ }%
2999 }%

\bibfont We define the font switch that applies to the body of the bibliography.
3000 \appdef\setup@hook{%
3001 \def\bibfont{%
3002 \small
3003 \@clubpenalty\clubpenalty
3004 }%
3005 }%

30.3.11 Index
FIXME: the following call to \twocolumn appears wrong if we were in two-column
grid.
3006 \newenvironment{theindex}{%
3007 \columnseprule \z@
3008 \columnsep 35\p@
3009 \c@secnumdepth-\maxdimen
3010 \onecolumngrid@push
3011 \section{\indexname}%
3012 \thispagestyle{plain}%
3013 \parindent\z@
3014 \parskip\z@ plus.3\p@\relax
3015 \let\item\@idxitem
3016 \onecolumngrid@pop
3017 }{%
3018 %\onecolumngrid@pop
3019 }%
3020 %
3021 \def\@idxitem{\par\hangindent 40\p@}%
3022 %
3023 \def\subitem{\par\hangindent 40\p@ \hspace*{20\p@}}%
3024 %
3025 \def\subsubitem{\par\hangindent 40\p@ \hspace*{30\p@}}%
3026 %
3027 \def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}%

30.4 Journal- and Pointsize-Specific Code


After this substyle is read in, we will execute the code specific to the selected jour-
nal: execute the society/journal .rtx file if it exists, or execute the society/journal

114
macro (if the latter is not defined, it will \relax out). Here we define the default
journal.
3028 \def\@journal@default{pra}%

30.5 Typesize-Specific Code


After this society file is read in, we will process the \@pointsize-specific code.
Here we define the default.
3029 \def\@pointsize@default{10}%
Note: the convention in REVTEX and its substyles is that the substyle must
not override any explicit class options declared by the document. This means
that the various Booleans of Section 9 may be assigned here only if they are still
undefined at this point.
For the APS, we supply code specific to journals PRA, PRB, PRC, PRD, PRE,
PRL, and RMP. At present, they are identical, with the exception of PRB and
RMP.
For most all of the APS journals, the journal-dependent code is relatively mea-
ger and is therefore embedded in this file. However, the RMP code is sufficiently
extensive that splitting it out into a separate file is more convenient.

30.5.1 pra
There is no code specific to pra.
3030 \def\rtx@apspra{%
3031 \class@info{APS journal PRA selected}%
3032 }%

30.5.2 prb
We define a \citealp-like procedure that uses a numerical citation; it is for use
in the PRB journal.
3033 \def\rtx@apsprb{%
3034 \class@info{APS journal PRB selected}%
PRB requires superscript citations. We use Patrick Daly’s natbib package, and
hyperref and other packages are already set up to cope with this.
\bibpunct By default, PRB selects the bibnotes option. We also set up for numerical cita-
tions.
3035 \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote
3036 \appdef\setup@hook{%
3037 \bibpunct{}{}{,}{s}{}{\textsuperscript{,}}%
3038 \let\onlinecite\rev@citealpnum
3039 }%

\pre@bibdata Set up to write endnotes to a .bib file; its data will be incorporated into the
\@endnotetext bibliography.
3040 \def\pre@bibdata{\jobname\bibdata@app}%

115
Invoke superbib option. If the document makes a selection of its own, it will
override this assignment.
3041 \let\place@bibnumber\place@bibnumber@sup
End of prb code.
3042 }%

30.5.3 prc
There is no code specific to prc.
3043 \def\rtx@apsprc{%
3044 \class@info{APS journal PRC selected}%
3045 }%

30.5.4 prd
There is no code specific to prd.
3046 \def\rtx@apsprd{%
3047 \class@info{APS journal PRD selected}%
3048 }%

30.5.5 pre
There is no code specific to pre.
3049 \def\rtx@apspre{%
3050 \class@info{APS journal PRE selected}%
3051 }%

30.5.6 prl
3052 \def\rtx@apsprl{%
3053 \class@info{APS journal PRL selected}%
In PRL, the default is the bibnotes option, and the Acknowledgments section has
no head.
The References head is a device that may be described as a lozenge centered
on the baseline, 71 points wide by 2 points thick, with the ends tapering to a half
point in thickness. Space above 26 points base to base, below 31 base to base.
FIXME: this code may confound geometry
3054 \let\frontmatter@footnote@produce\frontmatter@footnote@produce@endnote
3055 \@booleanfalse\acknowledgments@sw
3056 \appdef\setup@hook{%
3057 \def\bibsection{%
3058 \par
3059 \begingroup
3060 \baselineskip26\p@
3061 \bib@device{\hsize}{72\p@}%
3062 \endgroup
3063 \nobreak\@nobreaktrue

116
3064 \addvspace{19\p@}%
3065 }%
3066 }%
Implement length checking. Use the times and mathtime packages, plus whatever
other processing is required to make the formatted output be true to the metrics
of the journal.
3067 \appdef\setup@hook{%
3068 \lengthcheck@sw{%
3069 \RequirePackage{times}%
Wait. Do not use mathtime after all. APS has their own way of doing math pi,
involving Adobe Mathematical Pi and other fonts.
% \RequirePackage{mathtime}%
%

3070 }{}%
3071 }%
A PRL does not have numbered sections.
3072 \c@secnumdepth=-\maxdimen
Note: we defer this code until after type size file is read in.
3073 \appdef\setup@hook{%
3074 \@ifnum{\@pointsize=10\relax}{%
3075 \lengthcheck@sw{%
3076 \def\large{%
3077 \@setfontsize\large{12.5}{14\p@}%
3078 }%
3079 \def\normalsize{%
3080 \@setfontsize\normalsize{10.5}\@xiipt
3081 \abovedisplayskip 6\p@ \@plus6\p@ \@minus5\p@
3082 \belowdisplayskip \abovedisplayskip
3083 \abovedisplayshortskip \abovedisplayskip
3084 \belowdisplayshortskip \abovedisplayskip
3085 \let\@listi\@listI
3086 }%
3087 \def\small{%
3088 \@setfontsize\small{9.5}\@xipt
3089 \abovedisplayskip 5\p@ \@plus5\p@ \@minus4\p@
3090 \belowdisplayskip \abovedisplayskip
3091 \abovedisplayshortskip \abovedisplayskip
3092 \belowdisplayshortskip \abovedisplayskip
3093 \let\@listi\@listI
3094 }%
3095 \DeclareMathSizes{12.5}{12.5}{9}{6}%
3096 \DeclareMathSizes{10.5}{10.5}{7.5}{5}%
3097 \DeclareMathSizes{9.5}{9.5}{7.0}{5}%
3098 }{%
3099 \def\normalsize{%
3100 \@setfontsize\normalsize\@xpt\@xiipt

117
3101 \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
3102 \belowdisplayskip \abovedisplayskip
3103 \abovedisplayshortskip \abovedisplayskip
3104 \belowdisplayshortskip \abovedisplayskip
3105 \let\@listi\@listI
3106 }%
3107 }%
3108 }{}%
3109 }%
3110 \textheight = 694.0\p@
End of prl code.
3111 }%

30.5.7 per
Here is code specific to per.
3112 \def\rtx@apsprstper{%
3113 \class@info{APS journal PRST-PER selected}%
To first order, PER is the same as PRB, with superscript citations.
3114 \rtx@apsprb
Per Mark Doyle (2009-12-22), the default is longbibliography.
3115 \@booleantrue\longbibliography@sw
“Section heads are bold, centered (Roman numeral, Latin letter)”
Article titles do not have surrounding double-quotes!
End of prb code.
3116 }%

30.5.8 prstab
There is no code specific to prstab.
3117 \def\rtx@apsprstab{%
3118 \class@info{APS journal PRSTAB selected}%
3119 }%

30.5.9 rmp
If this option has been selected, we will read in the needed code from the file
apsrmp.rtx.

30.6 Establish APS Defaults


\footinbib@sw All APS journals except RMP effectively invoke the footinbib option. We rely
on the RMP-specific code to override this assignment.
3120 \@booleantrue\footinbib@sw

118
\@bibdataout@init Procedure \@bibdataout@aps has the job of writing the control record into
\@bibdataout@aps the job’s \jobnamerevtex4-1.dtx.bib file, where it will adjust the options to
revtex4-1.dtx.bst processing. It is installed into the initialization procedure
\@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 apsrmp.rtx.
3121\appdef\@bibdataout@rev{\@bibdataout@aps}%
3122\def\@bibdataout@aps{%
3123 \immediate\write\@bibdataout{%

An entry that controls processing of the revtex4-1.dtx.bst file has entry type
@CONTROL.
3124 @CONTROL{%
3125 apsrev41Control%
Say whether we want long bibliography style (the default), or the abbreviated
style.
3126 \longbibliography@sw{%
3127 ,author="00",editor="1",pages="1",title="0",year="0"%
3128 }{%
3129 ,author="08",editor="1",pages="0",title="",year="1"%
3130 }%
3131 }%
3132 }%
Place a \citation into the auxiliary file corresponding to this entry.
3133 \if@filesw
3134 \immediate\write\@auxout{\string\citation{apsrev41Control}}%
3135 \fi
3136 }%

\place@bibnumber We install code that will select the presentation for \bibitems and govern the
\@bibstyle BibTEX processing.
3137 \let\place@bibnumber\place@bibnumber@inl
3138 \def\@bibstyle{apsrev\substyle@post}%

%\appdef\setup@hook{%
% \longbibliography@sw{%
% \appdef\@bibstyle{long}%
% }{}%
%}%
%

30.7 APS Sanity Checking


Rule: if \place@bibnumber is \place@bibnumber@sup (citations are numbered
and set superscript), then it makes no sense for \footinbib@sw to be \false@sw
(footnotes set in the bibliography, as endnotes). If both conditions prevailed,

119
then the document would have footnotes and citations both as superscript arabic
numbers, but independently numbered, which would be confusing.
Any society that provides for both superscript numbered citations as well as
for numbered footnotes should check for this same condition, and deal with it.
Note: an alternative would be for footnotes to use the same sequence of foot-
note devices that are used by the frontmatter footnotes (\frontmatter@thefootnote
instead of arabic numbers).
In this case, we would want to refrain from resetting \c@footnote at the end of
the title page formatting. We would also want to treat body footnotes identically
to frontmatter footnotes: the assignments in \titleblock@produce would persist
throughout the document.
But APS do not choose to go that route.
3139 \appdef\setup@hook{%
3140 \@ifx{\place@bibnumber\place@bibnumber@sup}{%
3141 \footinbib@sw{}{%
3142 \class@warn{Citations are superscript numbers: footnotes must be endnotes; changing to that c
3143 \@booleantrue\footinbib@sw
3144 }%
3145 }{}%
3146 }%

Here ends the substyle for society APS.


3147 %</aps>

31 The rmp journal substyle: the rmp module


The file apsrmp.rtx is read in by the revtex4 document class if \@society has
the value aps and \@journal has the value rmp.
It is read at the end of the aps.rtx, so all definitions and assignments in that
file are operative unless overridden here.
3148 %<*rmp>
Protect this file from being read in by anything but REVTEX.
3149 \ifx\undefined\substyle@ext
3150 \def\@tempa{%
3151 \endinput
3152 \GenericWarning{I must be read in by REVTeX! (Bailing out)}%
3153 }%
3154 \expandafter\else
3155 \def\@tempa{}%
3156 \expandafter\fi\@tempa

Protect this file from being read in as a society instead of a journal. In such a
case, \@journal will be undefined.
3157 \@ifxundefined\@journal{%
One alternative: abort the document. Another alternative: try to recover: force
load the aps society file

120
3158 \class@warn{Please specify the REVTeX options [aps,rmp]!}%
3159 \@@end
3160 }{}%

Log the journal substyle.


3161 \class@info{APS journal RMP selected}%

31.1 Frontmatter
We assign the titlepage style for RMP; a document instance may override by
invoking one of the class options of REVTEX.
3162 \clo@groupedaddress

\frontmatter@setup
3163 \def\frontmatter@setup{%
3164 \normalfont\sffamily\raggedright
3165 }%

\PACS@warn Per Mark Doyle, RMP never displays the PACS, so they don’t want the ‘use
showpacs’ warning spit out.
3166 \def\PACS@warn{RMP documents do not display PACS. Your \string\pacs\space will be ignored}%

\frontmatter@title@above
\frontmatter@title@format 3167 \def\frontmatter@title@above{}%
\frontmatter@title@below 3168 \def\frontmatter@title@format{\Large\bfseries\raggedright}% HelveticaNeue-Medium(Italic) 14pt.
3169 \def\frontmatter@title@below{\addvspace{12\p@}}% 24pt b-b down to first author

\frontmatter@authorformat Set the rag to a milder value, because we want to do true ragged right typesetting,
as opposed to the LATEX default, which gives very poor results.
Note: author font is 9.8bp. 19.2bp/14.3bp above/below.
3170 \def\frontmatter@authorformat{%
3171 \preprintsty@sw{\vskip0.5pc\relax}{}%
3172 \@tempskipa\@flushglue
3173 \@flushglue\z@ plus.8\hsize
3174 \raggedright\advance\leftskip.5in\relax
3175 \@flushglue\@tempskipa
3176 \parskip\z@skip
3177 \@totalleftmargin\leftskip
3178 }%

\frontmatter@affiliationfont The hook \frontmatter@affiliationfont controls the formatting of affiliations


and affiliation groups. The hook \frontmatter@above@affilgroup is invoked
just before proceeding with author/affiliation processing. The \frontmatter@above@affiliation
is the amount of space above affiliations in the groupedaddress style, and
\frontmatter@above@affiliation@script is that for superscriptaddress.
Note: affiliation font is 9.03/10.4bp, 14.3bp/19.2bp b-b above/below
3179 \def\frontmatter@affiliationfont{% Helvetica 9/10.2
3180 \small\slshape\selectfont\baselineskip10.5\p@\relax

121
3181 \@tempskipa\@flushglue
3182 \@flushglue\z@ plus.8\hsize
3183 \raggedright\advance\leftskip.5in\relax
3184 \@flushglue\@tempskipa
3185 \@totalleftmargin\leftskip
3186 \let\def@after@address\def@after@address@empty
3187 }%
3188 \def\frontmatter@above@affilgroup{\addvspace{7.2\p@}}% additional leading above an author
3189 \def\frontmatter@above@affiliation{\addvspace{5.3\p@}}%
3190 \def\frontmatter@above@affiliation@script{}%

Set up the default RMP style for title block authors and affiliations. We assign
the titlepage style for RMP; a document instance may override by invoking one
of the class options of REVTEX.
This command should override the effect of the corresponding command in
the society substyle, and any document class option bearing on same will in turn
override.
3191 \clo@groupedaddress

\frontmatter@RRAP@format Note: in RMP, if we are not in preprint mode, the date will not be produced.
Note: Helvetica C/lc, 8.98bp, space above: 16.3bp b-b.
3192 \def\frontmatter@RRAP@format{%
3193 \addvspace{7.3\p@}%
3194 \small
3195 \raggedright\advance\leftskip.5in\relax
3196 \@totalleftmargin\leftskip
3197 }%
3198 \def\produce@RRAP#1{%
3199 \@if@empty{#1}{}{%
3200 \@ifvmode{\leavevmode}{}%
3201 \unskip(\ignorespaces#1\unskip)\quad
3202 }%
3203 }%

\frontmatter@abstractheading Space above 21.8bp b-b.


3204 \def\frontmatter@abstractheading{%
3205 \preprintsty@sw{%
3206 \begingroup
3207 \centering\large
3208 \abstractname
3209 \par
3210 \endgroup
3211 \vspace{.5pc}%
3212 }{}%
3213 }%

\frontmatter@abstractfont TimesTen 8.93bp/9.6bp X 360bp, indented 36bp, with 21.9/37.6bp b-b above/below

3214 \def\frontmatter@abstractfont{%

122
3215 \footnotesize
3216 \hsize360\p@
3217 \leftskip=0.5in
3218 \parindent\z@
3219 \@totalleftmargin\leftskip
3220 }%

\frontmatter@preabstractspace Space above and space below abstract in title block. Should be 22/36 points
\frontmatter@postabstractspace base-to-base.
3221 \def\frontmatter@preabstractspace{7.7\p@}%
3222 \def\frontmatter@postabstractspace{24.6\p@}%

FIXME: Not done: PACS. FIXME: TOC: Head is same as

32 :
HelveticaNeue 8.98. 32/22bp b-b above/below, Body: TimesTen 8/10.5.

32.1 General Text


If not in preprint mode, RMP sets the type size to 10/12 point. Note: s/b 11.6bp
leading FIXME: define \normalsize only if nobody else has done so.
3223 \appdef\setup@hook{%
3224 \preprintsty@sw{}{%
3225 \def\normalsize{%
3226 \@setsize\normalsize{12pt}\xpt\@xpt
3227 \abovedisplayskip 10\p@ plus2\p@ minus5\p@
3228 \belowdisplayskip \abovedisplayskip
3229 \abovedisplayshortskip \abovedisplayskip
3230 \belowdisplayshortskip \abovedisplayskip
3231 \let\@listi\@listI
3232 }%
3233 }%
3234 }%
Footnote mods:
3235 \footnotesep 9.25pt
3236 \skip\footins 36pt plus 4pt minus 12pt
3237 \def\footnoterule{%
3238 \dimen@\skip\footins\divide\dimen@\thr@@
3239 \kern-\dimen@\hrule width.5in\kern\dimen@
3240 }%

32.2 Sectioning
We override the meaning of \secnums@rtx. The class option secnumarabic will
continue to work.
3241 \def\secnums@rtx{%

123
3242 \@ifxundefined\thepart{%
3243 \def\thepart{\Roman{part}}%
3244 }{}%
3245 \@ifxundefined\thesection{%
3246 \def\thesection {\Roman{section}}%
3247 \def\p@section {}%
3248 }{}%
3249 \@ifxundefined\thesubsection{%
3250 \def\thesubsection {\Alph{subsection}}%
3251 \def\p@subsection {\thesection.}%
3252 }{}%
3253 \@ifxundefined\thesubsubsection{%
3254 \def\thesubsubsection {\arabic{subsubsection}}%
3255 \def\p@subsubsection {\thesection.\thesubsection.}%
3256 }{}%
3257 \@ifxundefined\theparagraph{%
3258 \def\theparagraph {\alph{paragraph}}%
3259 \def\p@paragraph {\thesection.\thesubsection.\thesubsubsection.}%
3260 }{}%
3261 \@ifxundefined\thesubparagraph{%
3262 \def\thesubparagraph {\arabic{subparagraph}}%
3263 \def\p@subparagraph {\thesection.\thesubsection.\thesubsubsection.\theparagraph.}%
3264 }{}%
3265 }%

In RMP, put a period (.), followed by ‘nut space’, after the section number.
Also, hang the section number (the LATEX default).
3266 \def\@seccntformat#1{\csname the#1\endcsname.\hskip0.5em\relax}%
Note that we wish to set the section head uppercase, so we use David Carlisle’s
\MakeTextUppercase. However, because this procedure effectively parses its ar-
gument (looking for things to not translate), it has to be invoked in such a way
that the argument of the \section command is passed to it as its own argument.
To accomplish this, we use the \@hangfrom@ hook, which was developed for
this purpose.
3267 \def\section{%
3268 \@startsection{section}{1}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
3269 {%
3270 \small\sffamily\bfseries\selectfont
3271 \raggedright
3272 \parindent\z@
3273 }%
3274 }%
3275 \def\@hangfrom@section#1#2#3{\@hangfrom{#1#2}\MakeTextUppercase{#3}}%
3276 \def\@hangfroms@section#1#2{#1\MakeTextUppercase{#2}}%
3277 \def\subsection{%
3278 \@startsection{subsection}{2}{\z@}{0.8cm plus1ex minus.2ex}{0.4cm}%
3279 {%
3280 \small\sffamily\bfseries
3281 \raggedright

124
3282 \parindent\z@
3283 }%
3284 }%
3285 \def\subsubsection{%
3286 \@startsection{subsubsection}{3}{\z@}{.8cm plus1ex minus.2ex}{0.4cm}%
3287 {%
3288 \small\sffamily\selectfont
3289 \raggedright
3290 \parindent\z@
3291 }%
3292 }%
3293 \def\paragraph{%
3294 \@startsection{paragraph}{4}{\z@}{.8cm plus1ex minus.2ex}{-1em}%
3295 {%
3296 \small\slshape\selectfont
3297 \raggedright
3298 \parindent\z@
3299 }%
3300 }%
3301 \def\subparagraph{%
3302 \@startsection{subparagraph}{4}{\parindent}{3.25ex plus1ex minus.2ex}{-1em}%
3303 {\normalsize\bfseries\selectfont}%
3304 }%
3305 %
3306 \setcounter{tocdepth}{4}% FIXME: has no effect

\appendix
\@hangfrom@appendix 3307 \appdef\appendix{%
\@hangfroms@appendix 3308 \let\@hangfrom@section\@hangfrom@appendix
\@appendixcntformat 3309 \let\@sectioncntformat\@appendixcntformat
3310 }%
3311 \def\@hangfrom@appendix#1#2#3{%
3312 #1%
3313 \@if@empty{#2}{%
3314 #3%
3315 }{%
3316 #2\@if@empty{#3}{}{:\ #3}%
3317 }%
3318 }%
3319 \def\@hangfroms@appendix#1#2{%
3320 #1\appendixname\@if@empty{#2}{}{:\ #2}%
3321 }%
3322 \def\@appendixcntformat#1{\appendixname\ \csname the#1\endcsname}%

32.3 Figure and Table Caption Formatting


\@makecaption
3323 \setlength\belowcaptionskip{2\p@}
3324 \long\def\@makecaption#1#2{%

125
3325 \vskip\abovecaptionskip
3326 \vbox{%
3327 \flushing
3328 \small\rmfamily
3329 \noindent
3330 #1\@caption@fignum@sep#2\par
3331 }%
3332 \vskip\belowcaptionskip
3333 }%
3334 \def\@caption@fignum@sep{\nobreak\hskip.5em plus.2em\ignorespaces}%

32.4 Citations and Bibliography


Customize REVTEX for the journal substyle; this task requires three components:
a BibTEX .bst style file, customizing code for natbib, and customizations of the
thebibliography environment.

\@bibstyle Define the argument of the \bibliographystyle command (if the document does
not do so).
The user must have installed a .bst file of the corresponding name. This file
will then be used by BibTEX when compiling the document’s .bbl file.
To generate apsrmp.bst, use custom-bib version 3.89d1 or later. Run the
.bst generator, makebst.tex, with the following options:

1. STYLE OF CITATIONS: a: ay—Author-year with some non-standard in-


terface
2. AUTHOR: *: nat—Natbib for use with natbib v5.3 or later
3. LANGUAGE FIELD: l: lang—Use language field to switch hyphenation
patterns for title
4. PRESENTATIONS: b: pres,pres-bf—Presentation, speaker bold face
5. ORDER ON VON PART : x: vonx—Sort without von part (de la Maire
after Mahone)
6. AUTHOR NAMES: a: nm-rev1—Only first name reversed, initials (AGU
style: Smith, J. F., H. K. Jones)
7. POSITION OF JUNIOR : *: jnrlst—Junior comes last as Smith, John,
Jr.
8. TYPEFACE FOR AUTHORS IN LIST OF REFERENCES: u: nmft,nmft-def—
User defined author font (\bibnamefont)
9. FONT FOR FIRST NAMES : u: fnm-def—First names in user defined font
(\bibfnamefont)
10. EDITOR NAMES IN INCOLLECTION ETC: a: nmfted—Editors incollec-
tion like authors font

126
11. FONT FOR ‘AND’ IN LIST: r: nmand-rm—‘And’ in normal font (JONES
and JAMES)
12. FONT OF CITATION LABELS IN TEXT : u: lab,lab-def—User defined
citation font (\citenamefont)
13. FONT FOR ‘AND’ IN CITATIONS : r: and-rm—Cited ‘and’ in normal font
14. LABEL WHEN AUTHORS MISSING : *: keyxyr—Year blank when KEY
replaces missing author (for natbib 7.0)
15. DATE POSITION: b: dt-beg—Date after authors
16. DATE FORMAT : m: yr-com—Date preceded by comma as ‘, 1993’
17. INCLUDE MONTHS: m: aymth—Include month in date
18. REVERSED DATE : r: dtrev—Date as year month
19. TRUNCATE YEAR : *: note-yr—Year text full as 1990–1993 or ‘in press’
20. TITLE OF ARTICLE: d: tit-qq—Title and punctuation in double quotes
(“Title,” ..)
21. TITLE PRESENT IN ARTICLE, INCOLLECTION, AND INPROCEED-
INGS: x: jtit-x—Title is ignored
22. INPROCEEDINGS CHAPTER AND PAGES, LIKE INBOOK: y: inproceedings-chapter—
produce pages after chapter just as in InBook
23. ARTICLE BOOKTITLE PRESENT: ?: article-booktitle—format book-
title
24. ARTICLE SERIES PRESENT: ?: article-series—article can has series
25. JOURNAL NAME FONT: r: jttl-rm—Journal name normal font
26. JOURNAL NAME WITH ADDRESS: y: journal-address—Include ad-
dress field (in parentheses) along with journal name
27. BOOK TITLE FIELDS: y: book-bt—Field ‘booktitle’, or if absent field
‘title’, is book title
28. THESIS TITLE OPTIONAL: ?: thesis-title-o—Title is optional: no
warning issued if empty
29. TECHNICAL REPORT TITLE: b: trtit-b—Tech. report title like books
30. JOURNAL VOLUME: b: vol-bf—Volume bold as vol(num)
31. JOURNAL VOL AND NUMBER: s: vnum-sp—Journal vol (num) as 34 (2)
32. VOLUME PUNCTUATION: c: volp-com—Volume with comma as vol(num),
ppp

127
33. PAGE NUMBERS: f : jpg-1—Only start page number
34. POSITION OF PAGES: e: pp-last—Pages at end but before any notes
35. BOOK EDITOR W/O AUTHOR: : book-editor-booktitle—Book per-
mits empty author, produces title before editor in this case

36. INBOOK PERMITS TITLE, BOOKTITLE, AUTHOR, EDITOR: a: inbook-editor-booktitle—


Allow using both title/booktitle, both author/editor
37. CONFERENCE ADDRESS FOR BOOK, INBOOK, INCOLLECTION, IN-
PROCEEDINGS, PROCEEDINGS: a: bookaddress—Italic booktitle fol-
lowed by bookaddress in roman

38. NUMBER AND SERIES FOR BOOK, INBOOK, INCOLLECTION, IN-


PROCEEDINGS, PROCEEDINGS: *: num-xser—Allows number without
series and suppresses word ”number”
39. WORD NUMBER CAPITALIZED FOR NUMBER AND SERIES: c:
number-cap—Capitalize word ‘number’ as: ”Number 123”
40. WORD CHAPTER CAPITALIZED: c: chapter-cap—Capitalize word
‘chapter’ as: ‘Chapter 42’
41. COMBINING NUMBER AND SERIES: x: series-number—Series number
as: ‘Springer Lecture Notes No. 125’

42. POSITION OF NUMBER AND SERIES: b: numser-booktitle—After


book title and conference address, and before editors
43. VOLUME AND SERIES FOR BOOKS: s: ser-vol—Series, vol. 23
44. VOLUME AND SERIES FORMATTING: y: ser-rm—format series roman
, even when used with volume
45. WORD VOLUME CAPITALIZED FOR VOLUME AND SERIES: y:
volume-cap—Capitalize word ‘volume’, as: ‘Volume 7 in Lecture Series’
46. POSITION OF VOLUME AND SERIES FOR INCOLLECTION, INBOOK,
AND INPROCEEDINGS: e: ser-ed—Series and volume after booktitle and
before editors
47. JOURNAL NAME PUNCTUATION: x: jnm-x—Space after journal name
48. PAGES IN BOOK: *: pg-bk,book-chapter-pages—As chapter and page:
chapter 42, page 345

49. PUBLISHER IN PARENTHESES: p: pub-par—Publisher in parentheses


50. EMPTY PUBLISHER PARENTHESES: y: ay-empty-pub-parens-x—
eliminate parentheses altogether if nothing inside

128
51. PUBLISHER POSITION: e: pre-edn—Edition before publisher
52. SCHOOL: p: school-par—school/address in parens: ‘(school, address)’
53. ISBN NUMBER: *: isbn—Include ISBN for books, booklets, etc.
54. ISSN NUMBER: *: issn—Include ISSN for periodicals
55. DOI NUMBER: a: doi-link,doi—Doi forms a link to the publication,
anchored to the volume or title
56. ‘EDITOR’ AFTER NAMES: a: bkedcap—‘Name Editor,’ as above, editor
upper case
57. EDITOR IN COLLECTIONS: b: edby—In booktitle, edited by .. (where ..
is names)
58. PUNCTUATION BETWEEN SECTIONS : c: blk-com—Comma between
blocks
59. FINAL PUNCTUATION: c: fin-endbibitem—Command at end instead
of period
60. ABBREVIATE WORD ‘PAGES’ : a: pp—‘Page’ abbreviated as p. or pp.
61. ABBREVIATE WORD ‘EDITORS’: a: ed—‘Editor’ abbreviated as ed. or
eds.
62. OTHER ABBREVIATIONS: a: abr—Abbreviations of such words
63. ABBREVIATION FOR ‘EDITION’ : a: ednx—‘Edition’ abbreviated as ‘ed’
64. EDITION NUMBERS: n: ord—Numerical editions as 1st, 2nd, 3rd, etc
65. STORED JOURNAL NAMES: a: jabr—Abbreviated journal names
66. COMMA BEFORE ‘AND’: c: and-com—Comma even with 2 authors as
‘Tom, and Harry’
67. FONT OF ‘ET AL’: i: etal-it—Italic et al
68. ADDITIONAL REVTeX DATA FIELDS: r: revdata,eprint,url,url-blk,translation—
Include REVTeX data fields collaboration, eid, eprint, archive, url, transla-
tion
69. SLACcitation FIELD: ?: SLACcitation—Produce SLACcitation field
70. NUMPAGES DATA FIELD: *: numpages-x—Do not include numpages field
71. REFERENCE COMPONENT TAGS: b: bibinfo—Reference component
tags like \bibinfo in the content of \bibitem
72. ELEMENT TAGS: b: bibfield—Element tags like \bibfield in the con-
tent of \bibitem

129
73. COMPATIBILITY WITH PLAIN TEX: *: nfss—Use LaTeX commands
which may not work with Plain TeX

A file apsrmp.dbj file equivalent to the following should result:


%\input docstrip
%\preamble
%----------------------------------------
%*** REVTeX-compatible RMP 2010-02-12 ***
%\endpreamble
%\postamble
%End of customized bst file
%\endpostamble
%\keepsilent
%\askforoverwritefalse
%\def\MBopts{\from{merlin.mbs}{%
% head,\MBopta}
%\from{physjour.mbs}{\MBopta}
%\from{geojour.mbs}{\MBopta}
%\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
% 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)
% jnrlst,%: Junior comes last as Smith, John, Jr.
% nmft,nmft-def,%: User defined author font (\bibnamefont)
% fnm-def,%: First names in user defined font (\bibfnamefont)
% nmfted,%: Editors incollection like authors font
% nmand-rm,%: ‘And’ in normal font (JONES and JAMES)
% lab,lab-def,%: User defined citation font (\citenamefont)
% 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-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, bracke
% tit-qq,%: Title and punctuation in double quotes (‘‘Title,’’ ..)
% inproceedings-chapter,%: produce pages after chapter, just as in InBook
% jtit-x,%: Title is ignored
% inproceedings-chapter,%: produce pages after chapter just as in InBook
% article-booktitle,%: format booktitle
% article-series,%: article can has series
% jttl-rm,%: Journal name normal font
% journal-address,%: Include address field (in parentheses) along with journal name
% book-bt,%: Field ‘booktitle’, or if absent field ‘title’, is book title
% thesis-title-o,%: Title is optional: no warning issued if empty

130
% trtit-b,%: Tech. report title like books
% techreport-institution-par,%: format tech report institution like book publisher
% vol-bf,%: Volume bold as {\bf vol}(num)
% vnum-sp,%: Journal vol (num) as 34 (2)
% volp-com,%: Volume with comma as vol(num), ppp
% jpg-1,%: Only start page number
% pp-last,%: Pages at end but before any notes
% book-editor-booktitle,%: Book permits empty author, produces title before editor in this case
% inbook-editor-booktitle,%: Allow using both title/booktitle, both author/editor
% bookaddress,%: Italic booktitle followed by bookaddress in roman
% num-xser,%: Allows number without series and suppresses word "number"
% number-cap,%: Capitalize word ‘number’ as: "Number 123"
% chapter-cap,%: Capitalize word ‘chapter’ as: ‘Chapter 42’
% series-number,%: Series number as: ‘Springer Lecture Notes No. 125’
% numser-booktitle,%: After book title and conference address, and before editors
% ser-vol,%: Series, vol. 23
% ser-rm,%: format series roman , even when used with volume
% volume-cap,%: Capitalize word ‘volume’, as: ‘Volume 7 in Lecture Series’
% ser-ed,%: Series and volume after booktitle and before editors
% jnm-x,%: Space after journal name
% pg-bk,book-chapter-pages,%: As chapter and page: chapter 42, page 345
% pub-par,%: Publisher in parentheses
% ay-empty-pub-parens-x,%: eliminate parentheses altogether if nothing inside
% pre-edn,%: Edition before publisher
% school-par,%: school/address in parens: ‘(school, address)’
% isbn,%: Include ISBN for books, booklets, etc.
% issn,%: Include ISSN for periodicals
% doi-link,doi,%: Doi forms a link to the publication, anchored to the volume or title
% bkedcap,%: ‘Name Editor,’ as above, editor upper case
% edby,%: In booktitle, edited by .. (where .. is names)
% blk-com,%: Comma between blocks
% fin-endbibitem,%: Command at end instead of period
% pp,%: ‘Page’ abbreviated as p. or pp.
% ed,%: ‘Editor’ abbreviated as ed. or eds.
% abr,%: Abbreviations of such words
% ednx,%: ‘Edition’ abbreviated as ‘ed’
% ord,%: Numerical editions as 1st, 2nd, 3rd, etc
% jabr,%: Abbreviated journal names
% and-com,%: Comma even with 2 authors as ‘Tom, and Harry’
% etal-it,%: Italic et al
% revdata,eprint,url,url-blk,translation,%: Include REVTeX data fields collaboration, eid, eprint
% SLACcitation,%: Produce SLACcitation field
% numpages-x,%: Do not include numpages field
% url,url-prefix-x,%: URL without prefix (default: ‘URL ’)
% bibinfo,%: Reference component tags like \bibinfo in the content of \bibitem
% bibfield,%: Element tags like \bibfield in the content of \bibitem
% nfss,%: Use LaTeX commands which may not work with Plain TeX
%,{%
% }}
%\generate{\file{apsrmp4-1.bst}{\MBopts}}

131
%\endbatchfile
%

For a comparison between apsrmp.bst and apsrev.bst, see Section 30.3.10.


3335 \def\@bibstyle{apsrmp\substyle@post}%

\authoryear@sw Author-year citations: default value of \authoryear@sw is true.


3336 \@booleantrue\authoryear@sw

\@bibdataout@rmp When the journal is RMP, the meaning of the procedure \@bibdataout@aps needs
to be different because of the way the author names are formatted. In other
respects, it is the same.
3337 \def\@bibdataout@aps{%
3338 \immediate\write\@bibdataout{%
An entry that controls processing of the revtex4-1.dtx.bst file has entry type
@CONTROL. This entry’s cite key is apsrmp41Control, which serves as a version
number.
3339 @CONTROL{%
3340 apsrmp41Control%
Say whether we want long bibliography style (the default), or the abbreviated
style.
3341 \longbibliography@sw{%
3342 ,author="03",editor="0",pages="1",title="0",year="0"%
3343 }{%
3344 ,author="0B",editor="0",pages="0",title="",year="1"%
3345 }%
3346 }%
3347 }%
Place a \citation into the auxiliary file corresponding to this entry.
3348 \if@filesw
3349 \immediate\write\@auxout{\string\citation{apsrmp41Control}}%
3350 \fi
3351 }%

\bibpunct The following commands effectively establish the style in which \cite commands
\bibsection are formatted. You can think of them as the second needed component for the
\bibpreamble bibliography.
\newblock Set up for author-year citations: when \NAT@set@cites executes (at \begin{document}
\bibhang time), the \@biblabel will be set to \NAT@biblabel.
\bibsep Per Karie Friedman ([email protected]), multiple citations are
\cite separated by semicolons, e.g., (Jones, 1999; Abbott and Smith, 2000; Wortley,
2001a), and multiple citations by the same author by commas, e.g., Abela et al.
(1995, 1997a, 1997b). The third argument of \bibpunct handles the former.
The fifth argument puts a comma after the author when the year is not in
parens: (Lee et al., 1996).
Incidently, this \bibpunct command specifies the natbib default values.

132
We define the sectioning command to use when starting the bibliography.
We change natbib’s \NAT@def@citea procedure to effect more elaborate
punctuation for RMP: see item 473: \cite order punctuation: “If possible,
\textciteshould put the word ’and’ between two citations and before the last
citation in a list of 3 or more.”
3352 \appdef\setup@hook{%
We define the punctuation to use in the \cite command’s production.
3353 \bibpunct{(%)
3354 }{%(
3355 )}{;}{a}{,}{,}%
We define the sectioning command to use when starting the bibliography.
3356 \def\bibsection{%
3357 \expandafter\section\expandafter*\expandafter{\refname}%
3358 \@nobreaktrue
3359 }%
3360 \let\bibpreamble\@empty
3361 \def\newblock{\ }%
3362 \bibhang10\p@
3363 \bibsep\z@
Per Mark Doyle, \cite is mapped to \citep in RMP.
3364 \let\cite\citep
End of code to be delayed until after natbib loads.
3365 }%

\footinbib@sw Footnotes in bibliography are consistent only with numbered citations, and are
particularly nasty under natbib: the packcage will automatically change to num-
bered references if any \bibitem commands lack the optional argument. There-
fore, we must uninvoke it now, even if invoked by the document. The same is
quietly done with natbib’s mcite and compress options.
(AO 523) I changed the code that alters \NAT@merge so that it will not override
when \NAT@merge has been set to \z@.
3366 \@booleanfalse\footinbib@sw
3367 \appdef\setup@hook{%
3368 \footinbib@sw{%
3369 \class@warn{%
3370 Footnotes in bibliography are incompatible with RMP.^^J%
3371 Undoing the footinbib option.
3372 }%
3373 \@booleanfalse\footinbib@sw
3374 }{}%
3375 \@ifnum{\NAT@merge>\@ne}{\let\NAT@merge\@ne}{}%
3376 \def\NAT@cmprs{\z@}%
3377 }%

133
\eprint RMP requires the \eprint field in the bib entry to be set off with the word
“eprint”.
3378 \def\eprint#1{eprint #1}%

32.5 Table of Contents


We set up for auto-sizing of certain TOC elements.
To do this, we override the definitions for the default TOC font (\toc@@font),
and define formatting for the needed elements (\l@. . . ). Finally, we activate the
autosizing by assigning \toc@pre and \toc@post.

\toc@@font Set the formatting characteristics of the auto-indenting part of the TOC.
3379 \def\toc@@font{%
3380 \footnotesize\rmfamily
3381 \def\\{\space\ignorespaces}%
3382 }%
3383 \def\ltxu@dotsep{5.5pt}%

\l@section Determine which TOC elements are automatically indented.


3384 \def\tocleft@{\z@}%
3385 \def\tocdim@min{5\p@}%
3386 \def\l@section{%
3387 \l@@sections{}{section}% Implicit #3#4
3388 }%
3389 \def\l@subsection{%
3390 \l@@sections{section}{subsection}% Implicit #3#4
3391 }%
3392 \def\l@subsubsection{%
3393 \l@@sections{subsection}{subsubsection}% Implicit #3#4
3394 }%
3395 %\def\l@subsubsection#1#2{}%
3396 \def\l@paragraph#1#2{}%
3397 \def\l@subparagraph#1#2{}%

Activate the TOC processing.


3398 \let\toc@pre\toc@pre@auto
3399 \let\toc@post\toc@post@auto
3400 %</rmp>
Here ends the programmer’s documentation.

Change History

4.0a comma not space between email


and homepage . . . . . . . . . . . . 5
General: 4.0d had twoside option
setting twoside switch to false . 5 Initial version ............. 5

134
Move after process options, so call \print@floats . . . . . . . . . 5
\clearpage not in scope of Defer assignment until
twocolumn . . . . . . . . . . . . . . . 5 \AtBeginDocument time. . . 5, 68
Move after process options, so Defer decision until \AtBeginDocument
the following test works . . . . . . 5 time . . . . . . . . . . . . . . . . . . . . 5
multiple preprint commands . . . 5 Define three separate environ-
print homepage . . . . . . . . . . 5, 18 ments, defer assignment to
protect against hyperref revtex \AtBeginDocument time. . . 5, 69
kludges which are not needed First modifications by Arthur
now . . . . . . . . . . . . . . . . . 5, 18 Ogawa (mailto:arthur ogawa at
Rearrange the ordering so nu- sbcglobal dot net) . . . . . . . . . . 5
merical ones come first. AO: Frank Mittelbach, has stated in
David, what does this mean? . . 5 multicol: “The kernel com-
single space footnotes . . . . . . 5, 50 mand \@footnotetext should
use font-dependent spacing . . . . 5 not be modified.” Thus, I
\lastpage@putlabel: Move after have removed David Carlisle’s
process options, so \clearpage redefinition of that command.
not in scope of twocolumn . . . 35 Note, however, that later ver-
\openone: use font-dependent spac- sions of multicol do not require
ing . . . . . . . . . . . . . . . . . . . . 81 this workaround. Belt and sus-
\preprintsty@sw: comma not penders. . . . . . . . . . . . . . . 5, 50
space between email and home- Move this “complex” option to
page . . . . . . . . . . . . . . . . . . . 16 the front, where it can be over-
Rearrange the ordering so nu- ridden by “simple” options. 5, 18
merical ones come first. AO: New option . . . . . . . . . . . . . . . 5
David, what does this mean? . 16 One-line caption sets flush left. . 5
\ps@preprint: Move after process only execute if appropriate . . . . 5
options, so the following test Processing delayed to
works . . . . . . . . . . . . . . . . . . 34 \AtBeginDocument time 5, 43, 46
\ps@titlepage: multiple preprint Removed invocation of nonexis-
commands . . . . . . . . . . . . . . 99 tent class option groupauthors
\twoside@sw: 4.d had twoside op- and all other class options that
tion setting twoside switch to should only be invoked by the
false . . . . . . . . . . . . . . . . . . . 21 document. (Otherwise prece-
4.0b dence of class options does not
\@makecaption: One-line caption work.) . . . . . . . . . . . . . . . 5, 33
sets flush left. . . . . . . . . . . . . 44 Restore all media size class op-
General: Added localization of tion of classes.dtx . . . . . . . . . 5
\figuresname . . . . . . . . . . . . . 5 Stack \preprint args flush right
Added localization of at right margin. . . . . . . . . . . . 5
\tablesname . . . . . . . . . . . . . . 5 \figurename: Added localization of
AO: all code for 10pt is in this \figuresname . . . . . . . . . . . . 73
module. . . . . . . . . . . . . . . 5, 84 \paperwidth: Restore all media size
AO: all code for 11pt is in this class option of classes.dtx . . 18
module. . . . . . . . . . . . . . . 5, 87 \preprintsty@sw: Move this “com-
AO: all code for 12pt is in this plex” option to the front, where
module. . . . . . . . . . . . . . . 5, 89 it can be overridden by “simple”
AO: made aps.rtx part of rev- options. . . . . . . . . . . . . . . . . 16
tex4.dtx . . . . . . . . . . . . . . 5, 92 \printfigures: call \print@floats
AO: remove duplicates . . . . . . . 5 . . . . . . . . . . . . . . . . . . . . . . . 45

135
\printtables: only execute if ap- \produce@preprints: (AO, 115) If
propriate . . . . . . . . . . . . . . . 47 three or more preprints spec-
\ps@preprint: Defer decision until ified, set on single line, with
\AtBeginDocument time . . . . . 34 commas. . . . . . . . . . . . . . . . 100
\ps@titlepage: Stack \preprint \ps@preprint: Do not put by REV-
args flush right at right margin. 99 TeX in every page foot . . . . . 35
\roarrow: AO: remove duplicates 81 Insert procedure \checkindate
\showKEYS@sw: New option . . . . . 17 . . . . . . . . . . . . . . . . . . . . 34, 35
\tablename: Added localization of \ps@titlepage: Insert procedure
\tablesname . . . . . . . . . . . . . 73 \checkindate . . . . . . . . . . . . 99
4.0c 4.0d
\@appendixcntformat: (AO, 129)
General: Also alter how lists get in-
section* within appendix was
dented. . . . . . . . . . . . . . . . . . . 5
producing appendixname . . . 105
\@makecaption: Prevent an inner But alternative spelling is depre-
footnote from performing twice 44 cated. . . . . . . . . . . . . . . . . 5, 40
General: (AO, 115) If three or more eprint takes an optional argu-
preprints specified, set on single ment, syntactical only in this
line, with commas. . . . . . . . . . 5 case. . . . . . . . . . . . . . . . . . . . . 5
(AO, 129) section* within ap- make longtable trigger the head,
pendix was producing ap- too . . . . . . . . . . . . . . . . . . . . . 5
pendixname . . . . . . . . . . . . . . 5 More features and bug fixes:
*-form mandates pagebreak . . . 5 compatability with longtable
also spelled “acknowledge- and array packages. Now cer-
ments”. . . . . . . . . . . . . . . 5, 40 tainly incompatible with multi-
Do not put by REVTeX in every col. . . . . . . . . . . . . . . . . . . . . 5
page foot . . . . . . . . . . . . . . . . 5 New option . . . . . . . . . . . . . . . 5
grid changes via ltxgrid proce- \open@column@two: Also alter how
dures . . . . . . . . . . . . . . . . . . . 5 lists get indented. . . . . . . . . . 68
grid changes with ltxgrid 5, 70, 114 \preprint@sw: New option . . . . . 17
Insert procedure \checkindate . 5 \printtables: make longtable trig-
Lose compatability mode. . . . 5, 14 ger the head, too . . . . . . . . . 47
New ltxgrid-based code, other \url: eprint takes an optional ar-
bug fixes . . . . . . . . . . . . . . . . 5 gument, syntactical only in this
New option “checkin” . . . . . . 5, 16 case. . . . . . . . . . . . . . . . . . . . 76
Prevent an inner footnote from
4.0e
performing twice . . . . . . . . . . . 5
\close@column@grid: grid changes General: adornments above and be-
with ltxgrid . . . . . . . . . . . . . 70 low. . . . . . . . . . . . . . . . . . . . . 5
\frontmatter@abstractfont: Bug fixes and minor new fea-
(AO, 123) add parskip to the tures: title block affiliations can
abstract. . . . . . . . . . . . . . . . . 96 have ancillary data, just like au-
widetext@grid: grid changes via thors; clearpage processing re-
ltxgrid procedures . . . . . . . . . 71 vamped, with floats staying in
\open@column@two: Grid changes order; widetext ornaments. . . . 5
with ltxgrid . . . . . . . . . . . . . 68 New option showkeys . . . . . . . . 5
\printfigures: *-form mandates widetext@grid: adornments above
pagebreak . . . . . . . . . . . . . . . 45 and below. . . . . . . . . . . . . . . 71
\printtables: *-form mandates \showKEYS@sw: New option
pagebreak . . . . . . . . . . . . . . . 47 showkeys . . . . . . . . . . . . . . . 17

136
4.0f as natbib was being read in.
General: Last bug fixes before re- Now it is fully dynamic. . . . . . 5
lease. . . . . . . . . . . . . . . . . . . . 5 \authoryear@sw: (AO, 457) End-
4.0rc1 notes to be sorted in with nu-
General: grid changes with push merical citations. . . 22, 112, 132
and pop . . . . . . . . . . . . . 5, 114 \bibliography: (AO, 457) End-
Running headers always as if notes to be sorted in with nu-
two-sided . . . . . . . . . . . . . . . . 5 merical citations. . . . . . . . . . 57
\bibsection: grid changes with \bibpunct: For natbib versions be-
push and pop . . . . . . . . . . . 113 fore 8.21, \NAT@sort was con-
\ps@preprint: Running headers al- sulted only as natbib was be-
ways as if two-sided . . . . . . . 34 ing read in. Now it is fully dy-
4.0rc4 namic. . . . . . . . . . . . . . . . . 113
General: hyperref is no longer \paperwidth: (AO, 478)
loaded via class option: use a \ds@letterpaper, so that “let-
usepackage statement instead terpaper really is the default” 19
. . . . . . . . . . . . . . . . . . . . . 5, 18 \toc@@font: (AO, 461) Change the
4.1a csname revtex uses from @dot-
\@endnotesinbibliography: (AO, sep to ltxu@dotsep. The former
457) Endnotes to be sorted in is understood in mu. (What we
with numerical citations. . . . . 64 wanted was a dimension.) . . 134
\@endnotetext: (AO, 457) End- 4.1b
notes to be sorted in with nu-
\@appendixcntformat: Add
merical citations. . . . . . 62, 115
\@hangfroms@section . . . . . 125
\@makecaption: (AO, 460) “Proper
\@makecaption: Break out
style is ”FIG. 1. ...” (no colon)” 44
\@caption@fignum@sep . . . . 125
\@xendnote: (AO, 457) Endnotes to
\@parse@class@options@: Proce-
be sorted in with numerical ci-
dures \@parse@class@options@society
tations. . . . . . . . . . . . . . . . . 61
and \@parse@class@options@journal
General: (AO, 451) “Cannot have
and friends . . . . . . . . . . . . . . 31
more than 256 cites in a docu-
ment” . . . . . . . . . . . . . . . . . . 5 General: (AO) Implement bibnotes
(AO, 457) Endnotes to be sorted through \frontmatter@footnote@produce
in with numerical citations. . . . 5 instead of \bibnotes@sw . . . . . 5
(AO, 460) “Proper style is ”FIG. (AO) No longer need to test
1. ...” (no colon)” . . . . . . . . . . 5 \chapter as of natbib version
(AO, 461) Change the csname 8.2 . . . . . . . . . . . . . . . . . . 5, 61
revtex uses from @dotsep to (AO) No longer use
ltxu@dotsep. The former is un- \secnumarabic@sw, instead use
derstood in mu. (What we \setup@secnums . . . . . . . . 5, 24
wanted was a dimension.) 5, 103 (AO) Provide more diagnostics
(AO, 478) \ds@letterpaper, so when \@society is assigned. . . 5
that “letterpaper really is the (AO) Structure the Abstract us-
default” . . . . . . . . . . . . . . . . . 5 ing the bibliography environ-
(AO, 488) Change processing of ment . . . . . . . . . . . . . . . . 5, 39
options to allow an unused op- (AO) coordinate \if@twoside
tion to specify society and jour- with \twoside@sw . . . . . . . . . . 5
nal . . . . . . . . . . . . . . . . . . 5, 31 (AO) make settings at class time
For natbib versions before 8.21, instead of deferring them to
\NAT@sort was consulted only later. . . . . . . . . . 5, 18, 122, 123

137
(AO) provide option longbibliog- \byrevtex@sw: (AO) make settings
raphy . . . . . . . . . . . . . . . . 5, 20 at class time instead of deferring
(AO, 455) Be nice to a list them to later. . . . . . . . . . . . . 29
within the abstract (assign \change@journal: (AO) Pro-
\@totalleftmargin). . . . . . . . 5 vide more diagnostics when
Add \@hangfroms@section . 5, 124 \@society is assigned. . . . . . . 25
Add option reprint, opposite of \draft@sw: (AO) make settings at
preprint, and preferred alterna- class time instead of deferring
tive to twocolumn . . . . . . . . . . 5 them to later. . . . . . . . . . . . . 24
As with author formatting, rag \floatp@sw: (AO) make settings at
the right more, and assign class time instead of deferring
\@totalleftmargin. Also neu- them to later. . . . . . . . . . . . . 25
tralize \def@after@address. . . 5 \footinbib@sw: (AO) make set-
Break out \@caption@fignum@sep tings at class time instead of de-
........................ 5 ferring them to later. . . . . . . . 19
Class option galley sets \force@deferlist@sw: (AO) make
\preprintsty@sw to false . . . . 5 settings at class time instead of
Code relating to new syntax for deferring them to later. . . . . . 29
frontmatter has been placed in
\frontmatter@abstractfont:
ltxfront.dtx . . . . . . . . . . 5, 28
(AO, 455) Be nice to a list
Package textcase is now simply a
within the abstract (assign
required package . . . . . . . . . . . 5
\@totalleftmargin). . . . . . 122
Procedures \@parse@class@options@society
\frontmatter@affiliationfont:
and \@parse@class@options@journal
(AO, 455) Be nice to a list
and friends . . . . . . . . . . . . . . . 5
within the abstract (assign
Rag the right even more:
\@totalleftmargin). . . . . . 121
.8\hsize. Also, assign
\@totalleftmargin. . . . . . . . . 5 As with author formatting, rag
Read in all required packages to- the right more, and assign
gether . . . . . . . . . . . . . . . . . . 5 \@totalleftmargin. Also neu-
Remove options newabstract and tralize \def@after@address. 121
oldabstract . . . . . . . . . . . . 5, 30 \frontmatter@authorformat:
Section numbering via pro- (AO, 455) Be nice to a list
cedures \secnums@rtx and within the abstract (assign
\secnums@arabic. . . . . . . 5, 123 \@totalleftmargin). . . . . . 121
The rmp journal substyle selects Rag the right even more:
groupedaddress by default. 5, 122 .8\hsize. Also, assign
The csname substyle@ext is now \@totalleftmargin. . . . . . . 121
defined without a dot (.), to \frontmatter@footnote@produce:
be compatible with LATEXusage (AO) Implement bibnotes
(see @clsextension and @pkgex- through \frontmatter@footnote@produce
tension). . . . . . . . . . . . . . . 5, 32 instead of \bibnotes@sw . . . . 19
Use \setup@hook to initialize all. \frontmatter@RRAP@format: (AO,
. . . . . . . . . . . . . . . . . . . . 5, 123 455) Be nice to a list
\altaffilletter@sw: (AO) make within the abstract (assign
settings at class time instead of \@totalleftmargin). . . . . . 122
deferring them to later. . . . . . 20 \frontmatterverbose@sw: Code re-
\balancelastpage@sw: (AO) make lating to new syntax for front-
settings at class time instead of matter has been placed in
deferring them to later. . . . . . 17 ltxfront.dtx . . . . . . . . . . . . . . 30

138
\galley@sw: Class option galley General: Document class op-
sets \preprintsty@sw to false 22 tion longbibliography via
\lengthcheck@sw: (AO) make set- \substyle@post . . . . . . . . . . . 5
tings at class time instead of de- 4.1d
ferring them to later. . . . . . . . 23 \@fnsymbol: Definition of
\MakeLowercase: Package textcase \@fnsymbol follows fixltx2e.sty 95
is now simply a required pack- General: Definition of \@fnsymbol
age . . . . . . . . . . . . . . . . . . . . 26 follows fixltx2e.sty . . . . . . . . . 5
Read in all required packages to- 4.1e
gether . . . . . . . . . . . . . . . . . 26 General: (AO, 455) be nice to a list
amsfonts: Read in all required within the abstract . . . . . . . . . 5
packages together . . . . . . . . . 27 \frontmatter@abstractfont:
amsmath: Read in all required pack- (AO, 455) be nice to a list
ages together . . . . . . . . . . . . 27 within the abstract . . . . . . . . 96
amssymb: Read in all required pack- 4.1f
ages together . . . . . . . . . . . . 27 \@endnotesinbibliography: (AO,
\place@bibnumber: (AO) make set- 520) Automatically produce
tings at class time instead of de- \bibliography command when
ferring them to later. . . . . . . . 20 needed . . . . . . . . . . . . . . . . . 65
\preprint@sw: (AO) make settings \@fnsymbol: (AO, 530) \@fnsymbol:
at class time instead of deferring Failed to import fixltx2e.sty
them to later. . . . . . . . . . . . . 17 technology. Return to LaTeX
\preprintsty@sw: Add option core. . . . . . . . . . . . . . . . . . . . 95
reprint, opposite of preprint, General: (AO, 513) Add class op-
and preferred alternative to tion linenumbers: number the
twocolumn . . . . . . . . . . . . . . 16 lines a la lineno . . . . . . . . . . . 5
\raggedcolumn@sw: (AO) make set- (AO, 516) Merged references are
tings at class time instead of de- separated with a semicolon 5, 57
ferring them to later. . . . . . . . 23 (AO, 520) Automatically pro-
\revsymb@inithook: (AO) make duce \bibliography command
settings at class time instead of when needed . . . . . . . . . . . . . . 5
deferring them to later. . . . . . 83 (AO, 521) Lonely bibliography
\rtx@require@packages: Read in head . . . . . . . . . . . . . . . . . . . . 5
all required packages together 26 (AO, 522) Warn if software is ex-
\tightenlines@sw: (AO) make set- pired . . . . . . . . . . . . . 5, 79, 80
tings at class time instead of de- (AO, 523) Add class option
ferring them to later. . . . . . . . 23 nomerge, to turn off new natbib
\titlepage@sw: (AO) make set- 8.3 syntax . . . . . . . . . . . . . . . 5
tings at class time instead of de- (AO, 524) Makes no sense if ci-
ferring them to later. . . . . . . . 25 tations are superscript numbers
\twocolumn@sw: (AO) make set- and so are footnotes . . . . 5, 119
tings at class time instead of de- (AO, 530) \@fnsymbol: Failed to
ferring them to later. . . . . . . . 21 import fixltx2e.sty technology.
\twoside@sw: (AO) coordi- Return to LaTeX core. . . . . . . 5
nate \if@twoside with \footinbib@sw: (AO, 523) Add
\twoside@sw . . . . . . . . . . . . . 21 class option nomerge, to turn off
4.1c new natbib 8.3 syntax . . . . . 133
\@bibstyle: Document class op- \linenumbers@sw: (AO, 513) Add
tion longbibliography via class option linenumbers: num-
\substyle@post . . . . . . . . . 132 ber the lines a la lineno . . . . 30

139
\NAT@merge: (AO, 523) Add class reference when optional argu-
option nomerge, to turn off new ments to the cite key are given. 56
natbib 8.3 syntax . . . . . . . . . 30 (AO, 552) Repair spacing in
\notesname: (AO, 520) Automat- \onlinecite . . . . . . . . . . . . . . 5
ically produce \bibliography \bibAnnote: (AO, 549) Repair-
command when needed . . . . . 73 ing natbib’s \BibitemShut and
\present@bibnote: (AO, 521) \bibAnnote . . . . . . . . . . . . . 54
Lonely bibliography head . . . 58 \rtx@def@citea@box: (AO, 552)
\printendnotes: (AO, 520) Repair spacing in \onlinecite 53
Automatically produce 4.1k
\bibliography command when General: (AO, 554) give the
needed . . . . . . . . . . . . . . . . . 64 \newlabel command syntax ap-
\thebibliography@nogroup: (AO, propriate to the hyperref pack-
520) Automatically produce age . . . . . . . . . . . . . . . . . . . . . 5
\bibliography command when (AO, 561) remove dead code re-
needed . . . . . . . . . . . . . . . . . 65 lating to \bibitemContinue . . 57
4.1g \lastpage@putlabel: (AO, 554)
General: (AO, 525) Remove phan- give the \newlabel command
tom paragraph above display syntax appropriate to the hy-
math that is given in vertical perref package . . . . . . . . . . . 35
mode . . . . . . . . . . . . . . . . . . . 5 4.1n
(AO, 538) \MakeTextUppercase General: (AO) fine-tune spacing
inappropriately expands the above and below widetext . . . . 5
double backslash . . . . . . . . . . . 5 (AO, 565) restore 4.0 behavior:
widetext@grid: (AO, 525) Remove invoking class option preprint
phantom paragraph above dis- implies class option preprint-
play math that is given in ver- numbers . . . . . . . . . . . . . . . . . 5
tical mode . . . . . . . . . . . . . . 71 (AO, 566) restore 4.0 behavior:
\MakeLowercase: (AO, 538) flush column bottoms . . . 5, 104
\MakeTextUppercase inappro- (AO, 569) Use of hyperref inter-
priately expands the double feres with column balancing of
backslash . . . . . . . . . . . . . . . 26 last page . . . . . . . . . . . . . . . . 5
4.1h (AO, 569) execute the after-last-
General: (AO) Remove expiry code shipout procedures from within
in the release software . . . . 5, 79 the safety of the output routine 5
4.1i (AO, 571) Interface \set@footnotewidth
General: (AO, 541) Defer assign- for determining the set width of
ment of \cite until after natbib footnotes . . . . . . . . . . . . . . . . 5
loads . . . . . . . . . . . . . . . . . . . 5 (AO, 571) class file must set
\cite: (AO, 541) Defer assign- \splittopskip; fine tune
ment of \cite until after natbib \skip\footins; \footnoterule
loads . . . . . . . . . . . . . . . . . 133 defined in terms of
4.1j \skip\footins . . . 5, 86, 91, 123
General: (AO, 545) hypertext ca- (AO, 572) Independent footnote
pabilities off by default; enable counter for title block. Ab-
with hypertext . . . . . . . . 5, 32 stract footnote counter shared
(AO, 549) Repairing natbib’s with body. . . . . . . . . . . . . . . . 5
\BibitemShut and \bibAnnote 5 (AO, 572) \@makefntext and
(AO, 551) Punctuation at end of \frontmatter@makefntext

140
must be defined harmoniously \@bibdataout@rmp: (AO, 580) Con-
. . . . . . . . . . . . . . . . . . . . 5, 105 trol .bst at run time. . . . . . . 132
(AO, 573) arrange to load lineno \@endnotetext: (AO, 579) End-
after any other packages. . . . . . 5 note shall comprise their own
(AO, 575) the default for journal BibTEX entry type: @FOOT-
prstper is longbibliography 5, 118 NOTE. . . . . . . . . . . . . . . . . . 63
(AO, 576) In .bst files, remove General: (AO, 549) Remove patch
support for the annote field 5, 106 to natbib, which is now at ver-
\clear@document: (AO, 569) Use sion 8.31a . . . . . . . . . . . . . . . . 5
of hyperref interferes with col- (AO, 575) Automatically in-
umn balancing of last page . . 22 corporate the (BibTEX-
\frontmatter@makefntext: (AO, generated) .bbl into an explicit
572) Independent footnote thebibliography . . . . . . . . . . 5
counter for title block. Ab- (AO, 578) accommodate the pos-
stract footnote counter shared sible space character preceding
with body. . . . . . . . . . . . . . 105 \BibitemShut. . . . . . . . . . 5, 56
widetext@grid: (AO) fine-tune (AO, 579) Endnote shall com-
spacing above and below wide- prise their own BibTEX entry
text . . . . . . . . . . . . . . . . . . . 71 type: @FOOTNOTE. . . . . . . . 5
\lastpage@putlabel: (AO, 569) (AO, 580) Control .bst at run
execute the after-last-shipout time. . . . . . . . . . . . . . . . . . . . 5
procedures from within the (AO, 580) Provide a document
safety of the output routine . . 35 class option to turn off produc-
\linenumbers@sw: (AO, 573) ar- tion of eprint field in bibliogra-
range to load lineno after any phy. . . . . . . . . . . . . . . . . . . . . 5
other packages. . . . . . . . . . . . 30 (AO, 581) Handle case: merged
\preprint@sw: (AO, 565) re- references, with first ending in
store 4.0 behavior: default a stop character. . . . . . . . . 5, 56
value of \preprint@sw follows \bibAnnote: (AO, 549) Remove
\preprintsty@sw . . . . . . . . . 17 patch to natbib, which is now
\present@bibnote: (AO, 572) In- at version 8.31a . . . . . . . . . . 54
dependent footnote counter for (AO, 578) accommodate the pos-
title block. Abstract footnote sible space character preceding
counter shared with body. . . . 58 \BibitemShut. . . . . . . . . . . . 54
\save@note: (AO, 572) Indepen- \eprint@enable@sw: (AO, 580)
dent footnote counter for ti- Provide a document class op-
tle block. Abstract footnote tion to turn off production of
counter shared with body. . . . 61 eprint field in bibliography. . . 21
\thebibliography@nogroup: (AO, \present@bibnote: (AO, 575) Au-
572) Independent footnote tomatically incorporate the
counter for title block. Ab- (BibTEX-generated) .bbl into
stract footnote counter shared an explicit thebibliography . 58
with body. . . . . . . . . . . . . . . 65 \thebibliography@nogroup:
4.1o (AO, 575) Automatically
\@bibdataout@aps: (AO, 580) Con- incorporate the (BibTEX-
trol .bst at run time. . . . 64, 119 generated) .bbl into an explicit
(AO, 580) Provide a document thebibliography . . . . . . . . . 65
class option to turn off produc- 4.1p
tion of eprint field in bibliogra- General: (AO, 583) Pro-
phy. . . . . . . . . . . . . . . . . . . . 64 vide interface to ltxgrid

141
\onecolumn@grid@setup and specific BibTeX .bib data if the
\twocolumn@grid@setup . . . . . 5 .bst style is set by REVTeX. . . 5
(AO, 584) Per MD, remove trail- \bibliographystyle: (AO, 586)
ing space character from each When .bbl is pasted into the
journal abbreviation: it had document, prevent automatic
caused an extraneous space in bibliography inclusion. . . . . . 56
the .bbl . . . . . . . . . . . . . . 5, 94 (AO, 588) Only write REVTEX-
\twocolumn@sw: (AO, 583) Pro- specific BibTeX .bib data if the
vide interface to ltxgrid .bst style is set by REVTeX. . 56
\onecolumn@grid@setup and \present@bibnote: (AO, 586)
\twocolumn@grid@setup . . . . 21 When .bbl is pasted into the
4.1q document, prevent automatic
\@bibdataout@aps: (AO, 588) Only bibliography inclusion. . . . . . 58
write REVTEX-specific BibTeX write@bibliographystyle: (AO,
.bib data if the .bst style is set 588) Only write REVTEX-
by REVTeX. . . . . . . . . . . . . . 64 specific BibTeX .bib data if the
General: (AO, 586) When .bbl is .bst style is set by REVTeX. . 58
pasted into the document, pre- 4.1r
vent automatic bibliography in- General: (AO, 595) Provide
clusion. . . . . . . . . . . . . . . . . . 5 \lovname along with other List
(AO, 588) Only write REVTEX- of Videos definitions. . . . . . 5, 48

142
Index
Symbols \@bibitemShut . 1355, 1356, 1364,
\( . . . . . . . . . . . . . . . . . . . 1557 1365, 1412, 1415, 1418
\) . . . . . . . . . . . . . . . . . . . 1557 \@biblabel . . . . . . . . . . . . . 132
\, . . . . . . . . . . 863, 867, 871, 875 \@bibstop . . . . . . . . . 1352, 1361
.aux . . . . . . . . . . . . . . 13, 35, 59 \@bibstyle 1405, 1464, 1465, 2951,
.bbl . . . . . . . . . . . . . . . 106, 126 3137, 3335
.bst . . . . . . . . . . . . . . . 106, 126 \@booleanfalse . . . . . . . . . . . . .
.dtx . . . . . . . . . . . . . . . . . . . . 6 . . 261, 265, 272, 280, 285,
.rtx . . 11, 13, 26, 31, 32, 93, 114 291, 293, 294, 299, 302, 349,
.rty . . . . . . . . . . . . . . . . 12, 78 350, 352, 353, 361, 363, 364,
.sty . . . . . . . . . . . . . . . . . . . 32 366, 368, 373, 374, 376, 398,
\@@end . . . . . . . . . . . . . 216, 3159 399, 403, 409, 411, 412, 417,
\@@footnotetext . . . . 1525, 1529 418, 430, 431, 439, 450–452,
\@@ontopof . . . . 2065–2068, 2071 456, 457, 553, 555, 556, 579,
\@@par . . . . . . . . . . . . . . . . 2694 582, 1406, 1640, 2631, 2902,
\@FMN@list . . . . . . . . 1443, 1605 2951, 3055, 3366, 3373
\@LN@LLerror . . . . . . 1968–1970 \@booleantrue . . . . . . . 253, 254,
\@LN@LLerror@ltx . . . 1961, 1970 256, 257, 268, 273, 282, 288,
\@LN@LLerror@org . . . 1953, 1968 296, 301, 303, 348, 351, 360,
\@LN@parpgbrk . . . . . . . . . . . . 77 362, 365, 367, 372, 375, 397,
\@LN@parpgbrk . . . . . . . . . . 1975 402, 410, 416, 420, 424, 429,
\@Roman . . . . . . . . . . . . . . . 1107 438, 450, 452–455, 552, 554,
\@TBN@opr . . . . . . . . . . . . . 1442 570, 571, 574–576, 580, 581,
\@affils@sw . . . . . . . . . . . . . 37 914, 1405, 1648, 1649, 1871,
\@afterheading . . . . . . . 944, 952 1875, 2632, 3115, 3120, 3143,
\@afterindentfalse . . . . . . 922 3336
\@appendixcntformat 2933, 3307 \@caption@fignum@sep . . . . . 44
\@author@parskip . . . . . . . 2681 \@caption@fignum@sep . . . 1057,
\@auxout . . 763, 1575, 3134, 3349 1071, 3330, 3334
\@begindocumenthook . . . . . . 21 \@cite . . . . . . . . . . . . . . . . . . 59
\@beginparpenalty . . . . . . 1009 \@citea . . . . . . . . . . . . . . . . . 53
\@bibdataout . . . . . . . . . 63, 64 \@citea . . 1334, 1337, 1339, 1344,
\@bibdataout . 1544, 1553, 1565, 1348
1568, 3123, 3338 \@citex . . . . . . . . . . . . . . . . . 59
\@bibdataout@aps . . . . . 119, 132 \@citex . . . . . . . . . . . . . . . 1488
\@bibdataout@aps . . 1563, 3121, \@clubpenalty . . . . . . . . . . 3003
3337 \@ctrerr . . . . . . . . . . . . . . 2585
\@bibdataout@init . . . . . . . 119 \@currentHref . . . . . . . . . . 2976
\@bibdataout@init . . 1563, 3121 \@currentlabel . . . . . . . . . 1446
\@bibdataout@rev . . . . . . . . . 59 \@currenvir . . . . . . . . . . . 1660
\@bibdataout@rev . . 1466, 1567, \@currext . . . . . . . . . . . . . . . 31
3121 \@currext . . . . 597, 608, 621, 635
\@bibdataout@rmp . . . . . . . 3337 \@currname . . . . . . . . . . . . . . 31

143
\@currname . . . 597, 608, 621, 635 \@fpbot . . . . . . . . . . . 2248, 2474
\@dblfloat . . . . 1023, 1104, 1186 \@fpsep . . . . . . . . . . . 2247, 2473
\@dblfloatplacement 1696, 1702 \@fptop . . . . . . . . . . . 2246, 2472
\@dblfpbot . . . . . . . . 2251, 2477 \@gobble@leavemode@uppercase
\@dblfpsep . . . . . . . . 2250, 2476 . . . . . 2693, 2697
\@dblfptop . . . . . . . . 2249, 2475 \@gobble@opt@i . . . . . 1061, 1063
\@depth . . . . 230, 232, 1778, 2020 \@gobble@tw@ . . . . . . 2861, 2863
\@doendnote . . . . . . . . . . . . . 63 \@gobblethree . . . . . . 1637, 1663
\@dottedtocline . . . . . . . . 1026 \@gtempa . . . . . . . . . . . . . . . . 18
\@ehb . . . . . . . . . . . . . . . . . . 561 \@halignto . . . . . . . . 1233, 1250
\@empty . . . . . . . . . . . . . . 37, 59 \@hang@from . . . . . . . . . . . 2755
\@endnotelabel . 1535, 1546, 1547 \@hang@froms . . . . . . . . . . 1323
\@endnotesinbib . . . . . . . 64, 65 \@hangfrom . . . . 2768, 2824, 3275
\@endnotesinbib . . . . . . . . 1581 \@hangfrom@ . . . . . . . . . 101, 124
\@endnotesinbibliography . . 64 \@hangfrom@appendix 2933, 3307
\@endnotesinbibliography 1581 \@hangfrom@section . . . . . . . 42
\@endnotetext . . . . . . . . . 62, 63 \@hangfrom@section 2768, 2935,
\@endnotetext . . 1536, 1541, 3040 3275, 3308
\@endnotetext@note . . . . . . . 62 \@hangfrom@section@preprintsty
\@endpage . . . . . . . . . . . . . . . 35 . . . . . . . . 2824
\@endparpenalty . . . . . . . . 1010 \@hangfroms@appendix 2933, 3307
\@endpetrue . . . . . . . . . . . 1799 \@hangfroms@section 1323, 2769,
\@evenfoot . . 691, 708, 719, 728, 2936, 3276
748, 758, 2727 \@height . . . 230, 232, 1773, 2020
\@evenhead . . 692, 709, 716, 725, \@highpenalty . . . . . . . . . . 1008
750, 756, 2719 \@idxitem . . . . . . . . . 3015, 3021
\@firstofone . . 1056, 2097, 2113 \@if@empty 1431, 2941, 2944, 3199,
\@floatboxreset . . . . . . . . 1118 3313, 3316, 3320
\@floatplacement . . . 1695, 1701 \@ifdim . . . . . . . . . . . 1041, 2075
\@fltovf . . . . . . . . . . . . . . . . 29 \@ifl@aded . . . . . . . . . . 519, 528
\@fltovf . . . . . . . . . . . . . . . 557 \@ifl@aded@LaTeX . . . . . 519, 528
\@fltstk . . . . . . . . . . . . . . . . 29 \@ifl@t@r . . . . . . . . . . . 524, 533
\@fltstk . . . . . . . . . . . . . . . 557 \@ifl@t@r@LaTeX . . . . . . 524, 533
\@flushglue . . . . . . . . . . . . . . . \@ifl@ter . . . . . . . . . . . 523, 532
. . 2646, 2647, 2651, 2656, \@ifl@ter@LaTeX . . . . . . 523, 532
2657, 2659, 2904, 3172, 3173, \@ifmmode . . . . . . . . . . . . . 2591
3175, 3181, 3182, 3184 \@ifnextchar . . . . . . 1061, 1471
\@fnsymbol . . . . . . . . . . . 94, 95 \@ifnotrelax 243, 599, 610, 623,
\@fnsymbol . . . . . . . . . . . . 2565 637, 1223
\@fontswitch . . . . . . 1828, 1829 \@ifnum . . . . . . . . . 593, 733, 740,
\@footnotemark . . . . . . . . . . . 65 925, 934, 1336, 1337, 1607,
\@footnotemark . . . . . 1060, 1521 1665–1668, 1996–1998, 2737,
\@footnotemark@gobble . . . 1045, 3074, 3375
1059 \@ifpackagelater . 522, 531, 540
\@footnotetext . . . . . 1529, 1753 \@ifpackagelater@LaTeX 522, 531
\@for . . . . . . . . 598, 609, 622, 636

144
\@ifpackageloaded 520, 529, 539, \@lowpenalty . . 1006, 1009–1011
654, 1222, 1972 \@make@capt@title . 1039, 1046,
\@ifpackageloaded@LaTeX . . 520, 1055
529 \@makecaption . . . . . . 1027, 3323
\@ifstar . 1089, 1164, 1213, 1718 \@makefnmark . 1068, 1098, 1254,
\@ifundefined . . . . . . . . . . . . 60 2915, 2928
\@ifvmode . . . . . . . . . 2694, 3200 \@makefnmark@cite . . . . . . 1318
\@ifx . . . . . . . . . . . . . . . . . . 464, \@makefnmark@latex . . . . . 1098
475, 1355, 1364, 1400, 1475, \@makefntext . . . . . . 1254, 2908
1491, 1498, 1512, 1968, 3140 \@medpenalty . . . . . . . . . . 1007
\@ifx@empty . . 1056, 1320, 1412, \@minipagefalse . . . . . . . . 1049
1415, 1418, 1428, 1605 \@mmm . . . . . . . . . 1412, 1415, 1418
\@ifxundefined 305, 460, 471, 496, \@mparswitchfalse . . . . . . . 372
505, 515, 612, 626, 640, 661, \@mparswitchtrue . . . . . . . . 373
668, 681, 854, 857, 861, 865, \@mpfn . . . 1457, 1519, 1607, 2926
869, 873, 879, 882, 886, 890, \@mpfootins . . . . . . . . . . . 1016
894, 898, 1197, 1464, 1973, \@mpmakefntext . . . . . . . . . 1064
2136–2143, 2590, 3157, 3242, \@ne . . . . . . . . . . . . . . . . 51, 55
3245, 3249, 3253, 3257, 3261 \@nobreaktrue . 1325, 2964, 3063,
\@itempenalty . . . . . . . . . . 1011 3358
\@journal . . . . . . 13, 79, 93, 120 \@oddfoot 691, 708, 718, 727, 747,
\@journal . . . 471, 473, 475, 476, 757, 2720, 2727
480–484, 626, 629, 663, 668, \@oddhead 693, 710, 717, 726, 749,
670, 675, 782, 1984, 3157 755, 2713, 2719
\@journal@default . . . . . . . . 79 \@onlinecite . . . . . . . . . . . . 57
\@journal@default . . 1985, 3028 \@onlinecite . . . . . . . . . . 1421
\@keys@name . . . . . . . . . . . 1851 \@ontopof 2041, 2058–2061, 2062
\@latex@error . . . . . . . . . . . 558 \@options . . . . . . . . . . . . . 1988
\@latex@warning . . . . . . . . . 564 \@outputpage . . . . . . . . . . . . 21
\@let@token . . . . . . . . . . . . . 59 \@pacs@name . . . . . . . . . . . 1851
\@let@token . . . . . . . 1485, 1491 \@parboxrestore . . . . . . . . 1097
\@linenumberpar . . . . . . . . . . 77 \@parse@class@options . . . . 634
\@linenumberpar . . . . . . . . 1975 \@parse@class@options@ . . . . 31
\@listI . . 1679, 2162, 2263, 2319, \@parse@class@options@ . . . 596,
2383, 2489, 3085, 3093, 3105, 1984, 1986
3231 \@parse@class@options@journal
\@listi . . . . . . . . . . . . . . . . . 51 . . . . . . . . 620
\@listi . . 1369, 1679, 1680, 2162, \@parse@class@options@society
2170, 2183, 2319, 2326, 2338, . . . . . . . . 31
2383, 2391, 2404, 3085, 3093, \@parse@class@options@society
3105, 3231 . . . . . . 596, 1982
\@listii . . . . . . . . . . 2270, 2494 \@parse@version . . . . . . 525, 534
\@listiii . . . . . . . . . 2278, 2500 \@parse@version@LaTeX . 525, 534
\@listiv . . . . . . . . . . 2287, 2506 \@part . . . . . . . . . . . . . . . . . . 73
\@listv . . . . . . . . . . . 2292, 2509 \@part . . . . . . . . . . . . . . 923, 924
\@listvi . . . . . . . . . . 2297, 2512 \@pkgextension . . . . . . . 521, 530

145
\@pkgextension@LaTeX . 521, 530 3155, 3156
\@pnumwidth . . . . . . . . . . . 2849 \@tempskipa . . 3172, 3175, 3181,
\@pointsize 18, 33, 37, 79, 84, 87, 3184
89, 115 \@textcite . . . . . . . . . . . . . . 57
\@pointsize . . . . . . . . . . . . 255, \@textcite . . . . . . . . . . . . 1422
310–313, 640, 643, 681–683, \@textsuperscript . . 1266, 2683
688, 1986, 3074 \@thefnmark . . . . . . . . . . . . . . .
\@pointsize@default . . . 33, 79 . . 1267, 1318, 1520, 1526,
\@pointsize@default 1987, 3029 1529, 1532, 1535, 2684
\@preprint . . . . . . . . . . . . 2716 \@tocrmarg . . . . . . . . . . . . 2850
\@process@journal . . . 657, 1985 \@totalleftmargin . 2629, 3177,
\@process@pointsize . 657, 1987 3185, 3196, 3219
\@process@society . . . 657, 1983 \@twosidefalse . . . . . . . . . . 370
\@ptionlist . . . . . . . . . . . . . 31 \@twosidetrue . . . . . . . . . . . 370
\@ptionlist . . 597, 608, 621, 635 \@undefined . . 24, 313, 480, 663,
\@ptsize . . . . . . . . . . . . . . . . 18 842, 844, 846, 848, 850, 852
\@seccntformat . . . . . 2754, 3266 \@unexpandable@protect . . 1559
\@secpenalty . . . . . . 2867, 2888 \@width . . . . . . . . 230, 232, 2020
\@sectioncntformat . 2937, 3309 \@xendnote . . . . . . . . . . . . 1531
\@setfontsize . . . . . . . . . . . . . . \@xfloat@prep . . . . . . . . . . . . 46
. . 2157, 2165, 2178, 2191, \@xfloat@prep . . . . . . . . . . 1096
2194, 2197, 2200, 2203, 2206, \^ . . . . . . . . . . . . . . . . . . . 1560
2209, 2314, 2322, 2334, 2346, \_ . . . . . . . . . . . . . . . . . . . . . 72
2349, 2352, 2355, 2358, 2361, \| . . . . . . . . . . . . . . . . . . . 2573
2364, 2378, 2386, 2399, 2412, 00readme.txt . . . . . . . . . . . . . 6
2415, 2418, 2421, 2424, 2427, 10pt document class option . 4, 33,
3077, 3080, 3088, 3100 84, 135
\@setsize . . . . . . . . . . . . . 3226 11pt document class option . 4, 33,
\@society . 13, 31, 32, 78, 92, 120 87, 90, 135
\@society 460, 462, 464, 465, 661, 11pt.rtx . . . . . . . . . . . . . . . . 87
663, 665, 675, 688 12pt document class option . 4, 33,
\@spart . . . . . . . . . . . . . 923, 946 89, 90, 135
\@sptoken . . . . . . . . . . . . . . . 59 12pt.rtx . . . . . . . . . . . . . . . . 89
\@sptoken . . . . . . . . . . . . . 1491
\@startsection 954, 963, 972, 981,
990, 2757, 2771, 2783, 2795, . . . . . . . . . . . . . . . . . . 135, 138
2804, 2813, 2826, 2838, 3268, \ 44, 185, 1312, 1393, 1963, 2535–
3278, 3286, 3294, 3302 2550, 2552–2563, 2696, 2915,
\@subsectioncntformat . . . . . 42 2928, 2944, 2950, 2998, 3316,
\@tempa . . . . . 459, 461, 462, 464, 3320, 3322, 3361
465, 470, 472, 473, 475, 476,
597, 598, 608, 609, 621, 622, A
635, 636, 1474, 1488, 2015, \abovecaptionskip . 1027, 1029,
2027–2030, 2148, 2153, 2154, 1034, 3325
2305, 2310, 2311, 2369, 2374, \abovedisplayshortskip . . . . . .
2375, 2518, 2523, 2524, 3150, . . 2160, 2168, 2181, 2317,

146
2324, 2336, 2381, 2389, 2402, amsfonts document class option 11,
3083, 3091, 3103, 3229 27
\abovedisplayskip . . . . . . . . . . \amsmath . . . . . . . . . . . . . . . 507
. . 2158–2161, 2166, 2167, amsmath document class 11, 30, 81
2179, 2180, 2315–2318, 2323, amsmath document class option 27
2331, 2335, 2343, 2379, 2380, \amssymb . . . . . . . . . . . . . . . 498
2387, 2388, 2400, 2401, 3081– amssymb document class 11, 12, 37,
3084, 3089–3092, 3101–3104, 81
3227–3230 amssymb document class option 11,
abstract environment . . . . . . 73 27
\abstractname . . . . . . . . . . . . 73 \andname . . . . . . . . . . . . . . 1850
\abstractname . . 1844, 2609, 3208 \ao . . . . . . . . . . . . . . . . . . 2535
\Accepted@name . . . . . . . . . 1856 \ap . . . . . . . . . . . . . . . . . . 2536
acknowledgements environment 40 \apj . . . . . . . . . . . . . . . . . 2538
acknowledgments environment 74 \apl . . . . . . . . . . . . . . . . . 2537
\acknowledgments@sw . 904, 914, \appdef . . . . . . . . . . . . . . . . . 85
3055 \appdef . . . . . . . . . 221, 249, 304,
\acknowledgmentsname . . . . . 74 347, 369, 385, 388, 391, 392,
\acknowledgmentsname 905, 909, 404, 413, 423, 426, 432, 440,
1847 486, 495, 504, 513, 516, 518,
\addcontentsline . . . . . . . . . 62 527, 584, 592, 654, 767, 774,
\addcontentsline . 909, 927, 929, 777, 1082, 1085, 1096, 1097,
2975 1118, 1130, 1133, 1161, 1196,
\address . . . . . . . . . . . . . . 1861 1206, 1209, 1221, 1233, 1244,
\addtocontents . 1717, 2855, 2857 1250, 1337, 1370, 1510, 1563,
\adjust@abstractwidth . . . 2618, 1601, 1675, 1687, 1820, 1931,
2620, 2701, 2708 1949, 1952, 1967, 1979, 2211,
\affiliation . . . . . . . . . . 1861 2432, 2451, 2589, 2633, 2952,
\aftergroup . . 1449, 1488, 1643, 2956, 2995, 3000, 3036, 3056,
1649 3067, 3073, 3121, 3139, 3223,
\agt . . . . . . . . . . . . . . . . . 2043 3307, 3352, 3367
\allow@breaking@tables . . . 258, \appendix 1707, 1717, 2933, 3307
259, 263 \appendixesname . . . . . . . . . . 73
\Alph . . . . . . 791, 862, 1722, 3250 \appendixesname . . . . . . . . 1845
\alph . . . . . . 785, 870, 1714, 3258 \appendixname . 1845, 2950, 3320,
\alt . . . . . . . . . . . . . . . . . 2043 3322
\altaddress . . . . . . . . . . . 1862 \appendixontrue . . . . . . . . 1709
\altaffiliation . . . . . . . . . . 19 \aprop . . . . . . . . . . . . . . . . 2542
\altaffiliation . . . . . . . . 1862 aps document class option . . 4, 11,
\altaffilletter@sw . . . . . . 351 92, 120
\altprecsim . . . 2044, 2046, 2139 aps.rtx . . . . . . . . 13, 33, 92, 120
\altsuccsim . . . 2043, 2045, 2138 aps.sty . . . . . . . . . . . . . . . . . 46
\amsfonts . . . . . . . . . . . . . . 489 aps10pt.rtx . . . . . . . . . . . . . 84
amsfonts document class . 11, 12, apsrev.bst . . . . . . . . . . . . . 106
37, 82 apsrev.dbj . . . . . . 109, 111, 112
apsrmp.bst . . . . . . . . . . 106, 126

147
apsrmp.dbj . . . . . . 111, 112, 130 \baselinestretch . . . . . . . . . . .
apsrmp.rtx . . . . . . . . . . 118–120 . . 1005, 1255, 2453, 2455,
\arabic . . . . . . . . . 435, 783, 866, 2732, 2909, 2921
874, 887, 891, 895, 899, 999, \Bbb . . . . . . . . . . . . . . . . . . . 82
1446, 1713, 3254, 3262 \Bbb . . . . . . . . . . . . . . . . . 2100
\array@default . . . . . . 264, 1232 \bbox . . . . . . . . . . . . . . . . . 1936
\array@row@pre . 1240, 1241, 1245 \begin . . . . . . . . . . . . . . . . . . 12
\array@row@pre@default . . 1240, \bell . . . . . . . . . . . . . . . . . 2539
1245 \belowcaptionskip . 1028, 1030,
\array@row@pre@float 1241, 2903 1053, 3323, 3332
\array@row@pst . 1242, 1243, 1246 \belowdisplayshortskip . . . . . .
\array@row@pst@default . . 1242, . . 2161, 2169, 2182, 2318,
1246 2325, 2337, 2382, 2390, 2403,
\array@row@pst@float 1243, 2903 3084, 3092, 3104, 3230
\array@row@rst . . . . . . . . . 1244 \belowdisplayskip . . . . . . . . . .
\arraycolsep . . . . . . . . . . 1012 . . 2159, 2167, 2180, 2316,
\arrayrulewidth . . . . . . . . 1014 2331, 2343, 2380, 2388, 2401,
article document class . . 11, 51 3082, 3090, 3102, 3228
\assp . . . . . . . . . . . . . . . . . 2541 \bf 935, 938, 948, 1824, 2875, 2890
\AtBeginDcoument . . . . . . . . . 21 \bib@device . . . 2962, 2970, 3061
\AtBeginDocument 12, 51, 60, 63, \bibAnnote . . . . . . . . 1351, 1637
64, 78 \bibAnnoteFile . . . . . . . . . 1636
\AtEndDocument . . . . . . 12, 22, 27 \bibdata . . . . . . . . . . . . . . . . 57
\AtEndDocument . . . . . . . . . 1470 \bibdata@app . . . . . . . . . . . . 62
\AtEndOfClass . . . . . . . . . . . . 12 \bibdata@app . . 1538, 2955, 3040
auguide.tex . . . . . . . . . . . . . . 5 \bibdata@ext . . . . . . . . . . . . 62
\author . . . . . . . . . . . . . . . . . 36 \bibdata@ext . . . . . . 1538, 1565
author-year document class option \bibfield . . . . . . . . . . . 109, 129
. . . . . . . . 22 \bibfield . . . . . . . . . . . . . 1628
\authoryear@sw . 22, 65, 112, 132 \bibfnamefont . . . . . . . . 106, 126
\authoryear@sw . 397, 1583, 2951, \bibfont . . . . . . . . . . . . . . 3000
3336 \bibhang . . . . . . . . . . . . . . 3352
\auto@bib . . . . . . . . . . . . 65, 66 \bibinfo . . . . . . . . . 76, 109, 129
\auto@bib . . . . . . . . . . 347, 1604 \bibinfo . . . . . . . . . . 1629, 1929
\auto@bib@empty 1425, 1449, 1604 \bibitem 20, 58, 66, 67, 109, 119,
\auto@bib@innerbib . . . . 58, 67 129, 133
\auto@bib@innerbib 1427, 1445, \bibitem . . . . . . . . . . . . . . 1641
1604 \bibitem@NoStop 1354, 1363, 1409
\bibitem@set . . . . . . . . . . . . 67
B \bibitem@set . . . . . . . . . . 1604
balancelastpage document class op- \bibitem@Stop . . 1353, 1362, 1408
tion . . . . . . . . . . . . . 17 \bibitem@sw . . . . . . 1640, 1643,
\balancelastpage@sw . 295, 1762 1647–1649
\baselineskip . . . 230, 232, 2053, \bibitemContinue . . . 1409, 1414
2649, 2961, 3060, 3180 \bibitemContinue@Stop . . . 1408,
1417

148
\bibitemNoStop 1354, 1363, 1411, \bigrb . . . . . . . . . . . . . . . . 2123
1633 \bm . . . . . 1918, 1919, 1929, 1937
\BibitemOpen . . . . . . . . . . 1631 bm document class . . . . . . . . . . 11
\BibitemShut . . . . . . . . . 54, 56 \boldmath . . . . . . . . . . . . . . . 15
\BibitemShut . 1351, 1400–1402, \boldmath . . 244–246, 1908–1911
1635 book document class . . . . . . . . 11
\bibitemShut . 1355, 1356, 1364, \botrule . . . . . . . . . . . . . . 1230
1365 \bottomfraction . . . . . . . . . 801
\BibitemShut@ltx . . . 1359, 1402 \byrevtex . . . . . . . . . 2721, 2729
\bibitemStop . . 1353, 1362, 1632 byrevtex document class option 29
\bibliography . . . . . . . . . 65, 66 \byrevtex@sw . . . . . . . . . 29, 37
\bibliography . . 1423, 1619, 1655 \byrevtex@sw . . . . . . . 552, 2729
\bibliography@latex 1423, 1429,
1432, 1434 C
\bibliographystyle . 12, 56, 58, \c@figure . . . . . . . . . . . . . 1075
59, 106, 126 \c@float@type . . . . . . . . . . 1197
\bibliographystyle . 1374, 1404 \c@footnote . . . . . . . . . . . . 120
\bibliographystyle@latex 1374, \c@NAT@ctr . . . . . . . . . . . 53, 65
1404, 1465 \c@NAT@ctr . . . . . . . . 1335, 1337
\bibliographystyle@sw . . . . . 56 \c@page . . . . . . . . . . . . . . . . . 68
\bibliographystyle@sw . . . 1405, \c@page . . . 762, 1674, 1688, 2601
1406, 1466 \c@secnumdepth . . . 697, 703, 733,
\bibnamefont . . . . . . . . 106, 126 740, 925, 934, 3009, 3072
bibnotes document class option 19, \c@table . . . . . . . . . . . . . . 1107
115, 116 \c@video . . . . . . . . . . . . . . 1189
\bibnumfmt . . . . . . . . . . . 20, 55 \cal . . . . . . . . . . . . . . . . . 1828
\bibnumfmt . . . . . . . . . . . . 1376 \case . . . . . . . . . . . . . . . . . 1884
\bibpreamble . . 1376, 2970, 3352 \cdots . . . . . . . . . . . . . . . . 2041
\bibpunct . . . . . . . . . . . 51, 132 \centering 1097, 2608, 2648, 2658,
\bibpunct . . . . . 2952, 3035, 3352 2679, 2692, 2765, 2779, 2791,
\bibsection . . . . . . . . . . . . . 53 2821, 2834, 2846, 3207
\bibsection . . 1376, 2956, 3057, \change@journal . 458, 2526–2534
3352 \change@society . . 458, 480–484,
\bibsep . . . . . . . . . . . 2970, 3352 601, 647
\bibstyle . . . . . . . . . . . . . . . 59 \changes . . . . . . . . . . . . . 61–193
\Big . . . . . . . . . . . . . 2117, 2121 \chapter . . . . . . . . . . . . . 60, 61
\big . . . . . . . . . . . . . 2119, 2123 \checkindate 262, 716, 717, 725,
\Bigg . . . . . . . . . . . . . 2116, 2120 726, 747, 748, 2724
\bigg . . . . . . . . . . . . . 2118, 2122 \citation . . . . . . . . 64, 119, 132
\Bigglb . . . . . . . . . . . . . . . 2116 \citation . . . . . 1575, 3134, 3349
\bigglb . . . . . . . . . . . . . . . 2118 \cite . . . 51, 53, 59, 112, 132, 133
\Biggrb . . . . . . . . . . . . . . . 2120 \cite . . . . . . . . . . . . . . . . . 3352
\biggrb . . . . . . . . . . . . . . . 2122 cite document class 11, 36, 59, 60
\Biglb . . . . . . . . . . . . . . . . 2117 \citealp . . . . . . . . . . . . 51, 115
\biglb . . . . . . . . . . . . . . . . 2119 \citealpnum . . . . . . . . . . . . . 51
\Bigrb . . . . . . . . . . . . . . . . 2121

149
citeautoscript document class op- \clearpage@ltx . . . . . . . 389, 390
tion . . . . . . . . . . . . . 59, \clo@ . . . . . . . . . . . . . . . . . . . 95
60 \clo@groupedaddress 2595, 3162,
\citeautoscript@sw . . 360, 1511 3191
\citenamefont . . . . . . . . 106, 127 \close@column . . . . . . . . . 22, 69
\citep . . . . . . . . . . . . . . . . . 133 \close@column . . 390, 1725, 1809
\citep . . . . . . . . . . . . . . . . 3364 \close@column@grid . . . . . . . 70
\citet . . . . . . . . . . . . . . . 51, 52 \close@column@grid . 1749, 1809
\citeyear . . . . . . . . . 1299, 1397 clsguide.tex . . . . . . . . . . . . 78
\class@amsfonts . . . . . . . . . . 37 \clubpenalty . . . . . . . . . . 3003
\class@amsfonts . . 490, 493, 496 hcode specific to the josaai placeholder
\class@amsmath . . . 508, 511, 515 . . . . . . . . 13
\class@amssymb . . . . . . . . . . . 37 \colrule . . . . . . 1229, 1879, 1880
\class@amssymb . . . 499, 502, 505 \columnsep . . . . . . . . . . . . . . 15
\class@documenthook 12, 21, 65, \columnsep 405, 1733, 2233, 2459,
68, 78 3008
\class@documenthook . 385, 391, \columnseprule . 2234, 2460, 3007
585, 1082, 1206, 1510, 1563, \columnwidth . . . . . . 1175, 1733
1601, 1687, 1952, 1967 \compose@footnotes . . . . . 1806
\class@enddocumenthook . 13, 22 \compose@footnotes@two . . 1806
\class@enddocumenthook . . . 347, compress document class option 133
392, 516, 1085, 1133, 1209 \copy . . . . 2081, 2127, 2128, 2130
\class@info . . . . . . . . 244, 461, \copyrightname . . . . . . . . . 1849
472, 1401, 1969, 2004, 2155, \corresponds . . . . . . . . . . . . 81
2312, 2376, 2525, 3031, 3034, \corresponds . . . . . . . . . . 2034
3044, 3047, 3050, 3053, 3113, \count@ . . . . . . . . . . . . . . . . . 53
3118, 3161 \count@ . . 1336, 1337, 2735, 2737,
\class@name . . . . . . . . . . . . . . 6 2752
\class@name . . . . . . . . . 18, 215 \crcr . . . . . . . . . . . . . 2055, 2745
\class@warn . . . . . . . . . . . . 277, \cs . . . . . . 62, 73, 74, 80–84, 89,
308, 465, 476, 541, 662, 669, 92, 100, 123, 126, 128, 130,
683, 1579, 2006, 3142, 3158, 132, 134–136, 138–140, 143,
3369 146–148, 150–152, 156, 161,
\class@warn@end . . . . . . . . . . . . 163, 165, 166, 168, 169, 174,
. . 1864, 1870, 1874, 1879, 180, 181, 184, 189, 193
1918, 1937, 1941, 1946 \csname . . . . . . . . . 27, 31, 53, 59
classes.dtx . . . . . . . . . . . . . 37 \csname . . . . . . . . . . 24, 25, 243,
classes.dtx document class . . 34 245, 246, 542, 599, 602, 610,
\classname 33, 84, 154, 172, 176, 611, 623, 625, 637, 639, 648,
189 678, 1080, 1081, 1112, 1113,
\classoption . . . 75–77, 90, 167 1157, 1158, 1161, 1201, 1202,
\cleaders . . . . . . . . . 1784, 1796 1223, 1277, 1285, 1293, 1457,
\clear@document . . . . . . 388, 767 1498, 1506–1509, 1607, 2754,
\cleardoublepage . . . . . . . . . 21 2926, 2950, 3266, 3322
\clearpage . . . . . . 12, 22, 45, 46 \curr@envir . . . . . . . 1689, 1690
\clearpage . . . . . . 389, 390, 393 \CurrentOption . . . . . . 598–602,

150
609–611, 622, 623, 625, 636, document class
637, 639, 646–648 amsfonts . . . . . 11, 12, 37, 82
custom-bib document class . . 32, amsmath . . . . . . . . 11, 30, 81
106, 126 amssymb . . . . . 11, 12, 37, 81
article . . . . . . . . . . 11, 51
D bm . . . . . . . . . . . . . . . . . . 11
\dagger . . . . . . . 2569, 2575, 2580 book . . . . . . . . . . . . . . . . 11
\date . . . . . . . . . . . . . . . . . . . 74 cite . . . . . . . . 11, 36, 59, 60
\date . . . . . . . . . . . . . . . . . . . 39 classes.dtx . . . . . . . . . . 34
\Dated@name . . . . . . . . . . . 1856 custom-bib . . . . 32, 106, 126
\dateinRH@sw . . . . 253, 261, 262 dcolumn . . . . . . . . . . . . . 50
\dblfloatpagefraction . . . . . 38 geometry . . . . . . . 15, 68, 116
\dblfloatpagefraction . . . . 807 graphicx . . . . . . . . . . . . . 11
\dblfloatsep . . . . . . 2244, 2470 hyperref . . . 11, 49, 140, 141
\dbltextfloatsep . . . 2245, 2471 latex2e . . . . . . . . . . . . . 81
\dbltopfraction . . . . . . . . . 806 lineno . . . . 30, 77, 139, 141
dcolumn document class . . . . . 50 listings . . . . . . . . . . . . . 60
\ddagger . . . . . . 2570, 2576, 2581 longtable . . . . . . . . . 11, 14
\dddot . . . . . . . . . . . . . . . . . . 81 ltxdoc . . . . . . . . . . . . . . 10
\dddot . . . . . . . . . . . . 2036, 2136 ltxfront . . . . . . . . . . . . . 14
\DeclareBoldMathCommand . . . 83 ltxgrid 3, 14, 21, 27, 29, 30,
\DeclareMathSizes . . 3095–3097 36, 70, 141, 142
\DeclareOldFontCommand . 1821– ltxutil . . . . . . . . . . 14, 25
1827 mathtime . . . . . . . . . . . . 117
\DeclareOption . . . . . . . . 33, 79 mcite . . . . . . . . . . . . 36, 55
\DeclareRobustCommand . . . . . . . multicol . . . . . . . 11, 36, 135
. . 1271, 1279, 1287, 1421, natbib . . . . . . 11–13, 20, 36,
1422, 1828, 1829, 1890, 1904, 51–57, 59, 60, 78, 112, 115,
1917, 2013, 2033–2037, 2040, 132, 133
2043, 2044, 2047–2050, 2058– overcite . . . . . . . . . . . . . 11
2061, 2084, 2092, 2100, 2108, revtex4 1, 13, 84, 87, 89, 92,
2591 120
\def@after@address . . . . . 3186 revtex4-1 . . . . . . . . . . . . . 1
\def@after@address@empty 3186 textcase . . . . . . . . . . . . . 26
\descriptionlabel . . . . 830, 836 times . . . . . . . . . . . . . . 117
\dimen@ . . 1783, 1784, 1795, 1796, document class option
2238, 2239, 2464, 2465, 2621, 10pt . . . . . . . . 4, 33, 84, 135
2622, 2624, 2626, 2627, 3238, 11pt . . . . . 4, 33, 87, 90, 135
3239 12pt . . . . . 4, 33, 89, 90, 135
\displaystyle . 1894, 1908, 2027, amsfonts . . . . . . . . . . 11, 27
2065 amsmath . . . . . . . . . . . . . 27
\do . . . . . . . . . 598, 609, 622, 636 amssymb . . . . . . . . . . 11, 27
\do@if@floats . . 1083, 1128, 1207 aps . . . . . . . . . 4, 11, 92, 120
\do@output@cclv . . . . . . . . . 768 author-year . . . . . . . . . . 22
\DocInput . . . . . . . . . . . . . . . 10 balancelastpage . . . . . . 17
bibnotes . . . . . . 19, 115, 116

151
byrevtex . . . . . . . . . . . . . 29 sort . . . . . . . . . . . . . . . . 51
citeautoscript . . . . 59, 60 sort\&compress . . . . . . . 51
compress . . . . . . . . . . . . 133 super . . . . . . . . . . . . . . . 59
draft . . . . . . . . . . . . . . . 24 superbib . . . . . . . . . . . . 116
endfloats . . . . . . . . . 45, 49 superscript . . . . . . . . . . 60
eprint . . . . . . . . . . . . . . 21 superscriptaddress . . . 121
eqsecnum . . . . . . . . 12, 24, 43 twocolumn . . . . . . . . . 17, 21
floatfix . . . . . . . . . . . . . 29 twocolumngrid . . . . . . . . 70
flushbottom . . . . . . . . . . 23 twoside . . . . . . . . . . . . . 21
footinbib . . . . . . . . . . . 118 document environment . 6, 12, 132
galley . . . . . . . . . . . 22, 37 \document@inithook . . . . 12, 78
groupauthors . . . . . . . . 135 \document@inithook 221, 249, 369,
groupedaddress . . . . . . 121 654, 777, 1130, 1196, 1221,
hypertext . . . . . . . . 32, 140 2589
josaa . . . . . . . . . . . . . . . 13 \documentclass . . . . . . . . . . . 78
letterpaper . . . . . . . . . . 19 \documentstyle . . . . . . . . . . . 14
longbibliography . . . . . . 20 \documentstyle . . . . . . . . . . 212
ltxgridinfo . . . . . . . . . . 29 \doublerulesep . 1015, 2906, 2907
mcite . . . . . . . . . . . . . . 133 \dp . . . . . . . . . . 1783, 1795, 2074
newabstract . . . . . . . . . . 30 \draft . . . . . . . . . . . . 1869, 1870
nobalancelastpage . . . . . 17 draft document class option . . 24
noeprint . . . . . . . . . . . . . 21 \draft@sw . . . . . . . . . . . . 24, 37
nofloats . . . . . . . . . . . . . 47 \draft@sw . . . . . . . . . . 426, 1871
nolongbibliography . . . . 20 driver . . . . . . . . . . . . . . . . . . . 6
nomerge . . . . . . . . . . . . . 30 \ds@letterpaper . . . . . . . . . 343
nopreprintnumbers . . . . . 17
numerical . . . . . . . . . . . . 22 E
oldabstract . . . . . . . . . . 30 \edef 211, 597, 608, 621, 635, 1446
onecolumn . . . . . . . . . 21, 37 \email . . . . . . . . . . . . . . . . . . 19
oneside . . . . . . . . . . . . . 21 \emergencystretch . . 2255, 2481
osa . . . . . . . . . . . . . . . . . 13 \emph . . . . . . . . . . . . . . . . . 1639
outputdebug . . . . . . . . . . 29 \endacknowledgments . . . . . 918
per . . . . . . . . . . . . . . 4, 118 \endcsname . . . . . . . . . . . . . . 59
pra . . . . . . . . . . . . . . 4, 115 \endcsname . . . . . . . 24, 25, 243,
prb . . . . . . . 4, 115, 116, 118 245, 246, 542, 599, 602, 610,
prc . . . . . . . . . . . . . . 4, 116 611, 623, 625, 637, 639, 648,
prd . . . . . . . . . . . . . . 4, 116 678, 1080, 1081, 1112, 1113,
pre . . . . . . . . . . . . . . 4, 116 1157, 1158, 1161, 1201, 1202,
preprint . . . . . . . . . . 16, 96 1223, 1277, 1285, 1293, 1457,
preprintnumbers . . . . . . 17 1498, 1506–1509, 1607, 2754,
prl . . . . . . . . . . . 4, 116, 118 2926, 2950, 3266, 3322
prstab . . . . . . . . . . . 4, 118 endfloats document class option
raggedbottom . . . . . . . . . 23 . . . . . . . 45, 49
rmp . . . . . . . . . 4, 5, 118, 120 \endgraf . . . . . . . . . . . . . . . 236
secnumarabic . . . . . 24, 123 \endinput 2149, 2306, 2370, 2519,
showpacs . . . . . . . . . . . . . 16 3151

152
\endNAT@thebibliography . 1448 \eqsecnum@sw . . . . . . . . . . . 432
\endnote . . . . . . . . . . . . . . 1531 \errhelp . . . . . . . . . . . . . . . 211
\endnote@ext . . . . . . . . . . . . 62 \errmessage . . . . . . . . . . . . 215
\endnote@ext . . . . . . . . . . 1538 \evensidemargin . . . . . . . . . . 15
\endnote@relax . . . . . . . . 62, 63 \evensidemargin 2214, 2216, 2220,
\endnote@relax . . . . . 1543, 1554 2435, 2439
\endtabular@hook . . . . . . . 1220 \everymath 1894–1897, 1908–1911
\endthebibliography . . . . . . 58 \expandafter . . . . . . . . . . . . 59
\endthebibliography . . . . 1867 \ext@figure . . . . . . . . . . . 1078
\endthebibliography@nogroup . \ext@table . . . . . . . . . . . . 1110
. . . . . . . . 1662 \ext@video . . . . . . . . . . . . 1190
\endwrite@float . . . . 1139, 1144
\ensuremath . . . . . . . . . . . 2566 F
\env . . . . . . . . . . . . . . . . . . 182 \f@size . . . . . . . . . . . 1896, 1897
environment \f@ur 2073, 2075–2077, 2079–2081,
abstract . . . . . . . . . . . . . 73 2464
acknowledgements . . . . . . 40 \false@sw . . . . . . 19, 20, 56, 119
acknowledgments . . . . . . 74 \false@sw 1089, 1164, 1213, 1643,
document . . . . . . . . 6, 12, 132 1999, 2591
figure . 3, 43, 45, 46, 48, 73 \fboxrule . . . . . . . . . . . . . 1018
longtable . . . . . . . . . . . . 47 \fboxsep . . . . . . . . . . . . . . 1017
table . . . . . . . . 3, 46–48, 73 figure (environment) . . . . . 1019
tabular . . . . . . . . . . . . . 16 figure environment 3, 43, 45, 46,
thebibliography 51, 55, 58, 48, 73
64, 65, 67, 73, 106, 126, 141 \figurename . . . . . . . . . . . . . 73
thebibliography@nogroup 67 \figurename . . . . . . . 1079, 1840
theindex . . . . . . . . . . . . . 73 \figuresname . . . . . . . . . . . . 73
video . . . . . . . . . . 3, 48, 49 \figuresname . . . . . . . . . . 1841
widettext . . . . . . . . . . . . 71 file
environments: .aux . . . . . . . . . . . 13, 35, 59
figure . . . . . . . . . . . . 1019 .bbl . . . . . . . . . . . . 106, 126
rtx@thebibliography . 1440 .bst . . . . . . . . . . . . 106, 126
ruledtabular . . . . . . . 1220 .dtx . . . . . . . . . . . . . . . . . 6
table . . . . . . . . . . . . . 1100 .rtx 11, 13, 26, 31, 32, 93, 114
video . . . . . . . . . . . . . 1182 .rty . . . . . . . . . . . . . 12, 78
widetext@galley . . . . 1733 .sty . . . . . . . . . . . . . . . . 32
widetext@grid . . . . . . 1767 00readme.txt . . . . . . . . . . 6
\EOS . . . . . . . . . . . . . . . . . 1634 11pt.rtx . . . . . . . . . . . . . 87
\eprint . . . . . . . . . . . . . . . . 134 12pt.rtx . . . . . . . . . . . . . 89
\eprint . . . . . . . . . . . 1929, 3378 . . . . . . . . . . . . . . . 135, 138
eprint document class option . 21 aps.rtx . . . . 13, 33, 92, 120
\eprint@enable@sw . . . 365, 1571 aps.sty . . . . . . . . . . . . . 46
\eqnum . . . . . . . . . . . . . . . . 1945 aps10pt.rtx . . . . . . . . . . 84
eqsecnum document class option 12, apsrev.bst . . . . . . . . . . 106
24, 43 apsrev.dbj . . . 109, 111, 112
\eqsecnum@sw . . . . . . . . . 24, 37 apsrmp.bst . . . . . . . 106, 126

153
apsrmp.dbj . . . 111, 112, 130 \fnum@table . . . . . . . . . . . 1111
apsrmp.rtx . . . . . . . 118–120 \fnum@video . . . . . . . . . . . 1195
auguide.tex . . . . . . . . . . . 5 footinbib document class option
classes.dtx . . . . . . . . . . 37 . . . . . . . . 118
clsguide.tex . . . . . . . . . 78 \footinbib@sw . 19, 37, 53, 61, 65,
driver . . . . . . . . . . . . . . . 6 119
fleqn.clo . . . . . . . . . . . . 25 \footinbib@sw . . 348, 1582, 1606,
hyperref.dtx . . . . . . . . . 49 3120, 3141, 3143, 3366
hyperref.sty . . . . . . . . . . 7 \footins . . . . . . . . . . . . . . . . 15
ltxdoc.sty . . . . . . . . . . . . 7 \footins . 2236, 2238, 2462, 2464,
ltxdocext.sty . . . . . . . . . 7 3236, 3238
ltxfront.dtx . . . . . . 28, 30 \footnote . . . . . . . . . . . . 37, 65
ltxgrid.dtx . . . . . . . . . . 15 \footnote . . . . . . . . . 1045, 1886
ltxutil.dtx . . . . . . 65, 103 \footnotemark . . . . . . . . . . 1887
makebst.tex . . . . . . 106, 126 \footnoterule . . 2237, 2463, 3237
myarticle.rty . . . . . . . . 78 \footnotesep . . 2235, 2461, 3235
myarticle.tex . . . . . . . . 78 \footnotesize . . . . . . . . . . . . . .
natbib . . . . . . . . . . . . . 126 . . 2177, 2178, 2333, 2334,
natbib.cfg . . . . . . . . . . . 51 2398, 2399, 2700, 2707, 3215,
options . . . . . . . . . . . . . 14 3380
osa.rtx . . . . . . . . . . . . . 13 \footnotetext . . . . . . . . . . 1888
osajnl.rtx . . . . . . . . . . . 26 \footskip . . . . . . . . . . . . . . . 15
README . . . . . . . . . . . . . . . 5 \footskip . . . . . . . . . 2230, 2449
revtex2 . . . . . . . . . . . . . 46 \force@deferlist@sw . 554, 560,
template.aps . . . . . . . . . . 5 566
template.rty . . . . . . . . . 78 \fp@proc@H . . . . . . . . . . . . . 259
\file . . . 55, 57, 59, 91, 141, 1684, \fp@proc@h . . . . . . . . . . . . . 258
1685 \fps@figure . . . . . . . . . . . 1076
\FL . . . . . . . . . . . . . . . . . . 1921 \fps@table . . . . . . . . . . . . 1108
\fleqn . . . . . . . . . . . . . . . . . 447 \fps@video . . . . . . . . . . . . 1193
fleqn.clo . . . . . . . . . . . . . . . 25 \FR . . . . . . . . . . . . . . . . . . 1922
\float@link . . . 1056, 1072, 1073 \frac . . . . . . . . . . . . . 1884, 1885
floatfix document class option 29 \frak . . . . . . . . . . . . . . . . . . . 82
\floatp@sw . . . . . . . . . . . 25, 37 \frak . . . . . . . . . . . . . . . . . 2084
\floatp@sw 450, 1089, 1164, 1213 \frontmatter@above@affilgroup
\floatpagefraction . . . . . . . 38 . . . . . . . . 121
\floatpagefraction . . . . . . 804 \frontmatter@above@affilgroup
\floats@sw . 25, 37, 43, 45–47, 49 . . . . . 2653, 3188
\floats@sw . . . . . 265, 450, 1120 \frontmatter@above@affiliation
\floatsep . . . . . . . . . 2241, 2467 . . . . . . . . 121
\flushbottom . . . . . . . . . . . 414 \frontmatter@above@affiliation
flushbottom document class option . . . . . 2655, 3189
. . . . . . . . 23 \frontmatter@above@affiliation@script
\flushing . . . . . 1044, 1065, 3327 . . . . . . . . 121
\fname@video . . . . . . 1191, 1195 \frontmatter@above@affiliation@script
\fnum@figure . . . . . . . . . . 1079 . . . . . 2655, 3190

154
\frontmatter@abstractfont 2615, \frontmatterverbose@sw . . . 581
3214 \ftype@figure . . 1077, 1080, 1081
\frontmatter@abstractheading \ftype@table . . 1109, 1112, 1113
. . . . . 2605, 3204 \ftype@video . . 1194, 1201, 1202
\frontmatter@abstractwidth . . \futurelet . . . . . . . . . . . . 1485
. . . 2614, 2621, 2636
\frontmatter@affiliationfont G
. . . . . . . . 121 \g@addto@macro . . . . . . . . . 1522
\frontmatter@affiliationfont \g@bblefirsttoken . 1276, 1284,
. . . 2637, 2666, 3179 1292, 1302
\frontmatter@authorbelow 2687 galley document class option 22,
\frontmatter@authorformat 2645, 37
3170 \galley@outdent . . . . 1733, 1815
\frontmatter@collaboration@above \galley@sw . . . . . . . . . . . . . . 22
. . . . . . . . 2669 \galley@sw . . . . 400, 1814, 2623
\frontmatter@footnote . . . . . 37 \GenericInfo . . . . . . . . . . . 202
\frontmatter@footnote@produce \GenericWarning 2150, 2307, 2371,
. . . . . . . . 19 2520, 3152
\frontmatter@footnote@produce geometry document class . 15, 68,
. . . . 344, 3035, 3054 116
\frontmatter@footnote@produce@endnote \GetFileInfo . . . . . . . . . . . . 30
. . . . 344, 3035, 3054 \glb@settings . . . . . . 1898, 1912
\frontmatter@footnote@produce@footnote\glossary . . . . . . . . . . . . . . . 62
. . . . . . . . 19 \glossary . . . . . . . . . . . . . 1555
\frontmatter@footnote@produce@footnotegraphicx document class . . . . 11
. . . . . . 345, 346 groupauthors document class op-
\frontmatter@footnotetext 1753 tion . . . . . . . . . . . . 135
\frontmatter@keys@format 2706 \groupauthors@sw . . . . . . . . . 37
\frontmatter@makefnmark . 2681 groupedaddress document class op-
\frontmatter@makefntext . 2920 tion . . . . . . . . . . . . 121
\frontmatter@PACS@format 2698 \gtrsim . . . . . . . . . . . 2043, 2141
\frontmatter@postabstractspace
. . . . . . . . 3221 H
\frontmatter@preabstractspace \hb@xt@ . . 1050, 1068, 1258, 1771,
. . . . . . . . 3221 1777, 1792, 2018, 2076, 2079,
\frontmatter@RRAP@format 2690, 2080, 2721, 2877, 2914, 2927,
3192 2971, 2972, 2977
\frontmatter@setup . 2675, 3163 \headheight . . . . . . . . . . . . . 15
\frontmatter@thefootnote . 120 \headheight . . . . . . . 2226, 2445
\frontmatter@thefootnote 1458 \heading@cr . 716, 717, 725, 726,
\frontmatter@title@above 2678, 745, 1038
3167 \headsep . . . . . . . . . . . . . . . . 15
\frontmatter@title@below 2678, \headsep . . . . . . . . . . 2227, 2446
3167 \hline . . . 1228–1230, 2906, 2907
\frontmatter@title@format 2678, \hoffset . . . . . . . . . . . . . . . . 15
3167 \homepage . . . . . . . . . . . . . . . 19

155
\href . . . . . . . . . . . . . . . . . 1056 \InputIfFileExists . . 678, 1980
\hspace . . . . . . . . . . . . . . . . . 52 \interlinepenalty . . . . 933, 947
\ht 1783, 1795, 2017, 2074, 2077, \intextsep . . . . . . . . 2243, 2469
2081 \iovs . . . . . . . . . . . . . . . . . 2544
\Huge 2208, 2209, 2363, 2364, 2429 \it . . . . . . . . . . 1825, 2637, 2667
\huge . 938, 948, 2205, 2206, 2360, \item . . 812, 820, 826, 1452, 1745,
2361, 2426, 2427, 2429 3015
\Hy@raisedlink . . . . . 1455, 2926 \itemindent 811, 819, 835, 1386,
\hyper@anchorend . . 1455, 2926, 1739
2989 \itemsep . . 811, 2174, 2187, 2267,
\hyper@anchorstart 1455, 2926, 2276, 2285, 2329, 2341, 2395,
2976 2408, 2491, 2498, 2504
hyperref document class . 11, 49, \itshape . . 978, 987, 1825, 2790,
140, 141 2801, 2845
hyperref.dtx . . . . . . . . . . . . 49
hyperref.sty . . . . . . . . . . . . . 7 J
hypertext document class option \j@nk . . . . . . . . . . . . . 1665–1668
. . . . . . . 32, 140 \jcp . . . . . . . . . . . . . . . . . 2545
\hypertext@enable@ltx . 653, 654 \jmo . . . . . . . . . . . . . . . . . 2546
\jobname . . . . . . . . . . . . 62, 119
I \josa . . . . . . . . . . . . . . . . . 2547
\ialign . . . . . . . . . . . . . . . 2055 \josaa . . . . . . . . . . . . . . . . 2548
\if . . . . . . . . . . . . . . . . . . 1312 josaa document class option . . 13
\if@compatibility . . . . . . . 210 \josab . . . . . . . . . . . . . . . . 2549
\if@filesw 760, 1574, 3133, 3348 hjournal-specific setupi placeholder
\if@mparswitch . . . . . . . . 15, 21 . . . . . . . . 36
\if@reversemargin . . . . . 15, 21 \journalname . . . . . . . . . . 1848
\if@twocolumn . . . . . . . . . . . . 15 \jpp . . . . . . . . . . . . . . . . . 2550
\if@twoside . . . . . . . . . . 15, 21 \jqe . . . . . . . . . . . . . . . . . 2540
\ifappendixon . . . . . . . . . . 1706
\IfFileExists . . . . . . . . 600, 646 L
\ifmmode . . . . . . . . . . 1892, 1906 \l@ . . . . . . . . . . . . . . . . . . . 134
\ifNAT@super . . . . . . . . . . . . 20 \l@@sections . . . . . . . . . . . 103
\ifNAT@swa . . . . . . . . . . . . 1307 \l@@sections . 2885, 2893, 2896,
\ignorespaces . . 745, 1768, 2876, 3387, 3390, 3393
3201, 3334, 3381 \l@f@section . . . . . . . . . . 2887
\immediate 763, 1147, 1149, 1544, \l@figure . . . . . 1026, 1115, 1205
1565, 1568, 1575, 3123, 3134, \l@paragraph . . . . . . 2898, 3396
3338, 3349 \l@part . . . . . . . . . . . . . . . . 103
\incompatible@package . 778–780 \l@part . . . . . . . . . . . . . . . 2867
\index . . . . . . . . . . . . . . . . . . 62 \l@section 2860, 2861, 2865, 2882,
\index . . . . . . . . . . . . . . . . 1555 3384
\indexname . . . . . . . . . . . . . . 73 \l@section@saved . . . 2860, 2865
\indexname . . . . . . . . 1839, 3011 \l@subparagraph . . . . 2899, 3397
\indexspace . . . . . . . . . . . 3027 \l@subsection . . . . . . 2892, 3389
\input . . . . . . . . . . . . . . . . . . 25

156
\l@subsubsection . . 2895, 3392, \leftmargini . . . . . . . . . . . . . .
3395 . . 1677, 2171, 2184, 2257,
\l@table . . . . . . . . . . . . . . 1115 2264, 2326, 2338, 2392, 2405,
\l@video . . . . . . . . . . . . . . 1205 2483, 2489
\label . . . . . . . . . . . . . . . 35, 62 \leftmarginii . 2258, 2271, 2272,
\label . . . . . . . . . . . . 1447, 1555 2484, 2494, 2495
\labelenumi . . . . . . . . . . . . 782 \leftmarginiii 2259, 2279, 2280,
\labelenumii . . . . . . . . . . . 784 2485, 2500, 2501
\labelenumiii . . . . . . . . . . . 787 \leftmarginiv . 2260, 2288, 2289,
\labelenumiv . . . . . . . . . . . 790 2486, 2506, 2507
\labelitemi . . . . . . . . . . . . 793 \leftmarginv . 2261, 2293, 2294,
\labelitemii . . . . . . . . . . . 794 2487, 2509, 2510
\labelitemiii . . . . . . . . . . . 795 \leftmarginvi . 2262, 2298, 2299,
\labelitemiv . . . . . . . . . . . 796 2488, 2512, 2513
\labelsep . 831, 1385, 1676, 1678, \leftrightarrow . . . . . . . . 2058
2269, 2273, 2281, 2290, 2295, \leftskip . . . . . . . . . . . . . . . 68
2300, 2493, 2495, 2501, 2507, \leftskip 2626, 2629, 2910, 2913,
2510, 2513 2914, 2922, 2925, 2927, 3174,
\labelwidth 835, 1384, 1678, 2272, 3177, 3183, 3185, 3195, 3196,
2273, 2280, 2281, 2289, 2290, 3217, 3219
2294, 2295, 2299, 2300, 2495, \lengthcheck@sw . . . . . . . 23, 37
2501, 2507, 2510, 2513 \lengthcheck@sw 418, 3068, 3075
\lambda . . . . . . . . . . . 2027–2030 \lesssim . . . . . . . . . . 2043, 2140
\lambdabar . . . . . . . . . . . . 2013 \let . . . . . . . . . . . . . . 51, 59, 60
\LARGE . . . 2202, 2203, 2357, 2358, \let@environment . . . . . . . . . . .
2423, 2424 . . 1121–1126, 1153–1155,
\Large 935, 2199, 2200, 2354, 2355, 1372, 1373, 1654, 1807, 1811,
2420, 2421, 3168 1926
\large 2196, 2197, 2351, 2352, 2417, letterpaper document class option
2418, 2608, 2679, 2875, 3076, . . . . . . . . 19
3077, 3207 \linelabel . . . . . . . . . . . . . . 77
\lastbox . . . . . . . . . . . . . . . . 68 \linelabel . . . . . . . . 1955, 1963
\lastbox . . . . . . . . . . . . . . 2741 lineno document class 30, 77, 139,
\lastpage@putlabel . . . . . . 759 141
\lastskip . . . . . . . . . . . . . 1477 \linenumbers . . . . . . . . . . . . 77
\LaTeX . . . . . . . . . . . . . . 127, 244 \linenumbers . . 588, 1955, 1963
latex2e document class . . . . . 81 \linenumbers@sw . . . . . . . . . 583
\leaders . 1772, 1779, 2979, 2981, \linenumbersep . . . . . . . . . . 587
2983, 2985 \lineskip . . . . . . . . . 1003, 2054
\leftarrow . . . . . . . . . . . . 2060 listings document class . . . . 60
\leftmargin . . . . . 812, 820, 826, \listoffigures . . . . . . . . . . . 73
835, 1677, 1678, 1740, 2171, \listoffigures . . . . . . . . . 1025
2184, 2264, 2271, 2279, 2288, \listoftables . . . . . . . . . . . . 73
2293, 2298, 2326, 2338, 2392, \listoftables . . . . . . . . . . 1114
2405, 2489, 2494, 2500, 2506, \listofvideos . . . . . . . . . . 1204
2509, 2512

157
\listparindent . . . 811, 818, 819, M
1387, 1738 \mag . . . . . . . . . . . . . . . . . . . 15
\loarrow . . . . . . . . . . . . . . 2058 \make@footnote@endnote . . . . 65
\lofname . . . . . . . . . . . . . . . . 73 \make@footnote@endnote . . 1581,
\lofname . . . . . . . . . . . . . . 1836 1602
longbibliography document class makebst.tex . . . . . . . . . 106, 126
option . . . . . . . . . . . 20 \makelabel . . . . . . . . . . . . . 836
\longbibliography@sw . . . . . 20 \MakeLowercase . . . . . . . . . . 486
\longbibliography@sw 362, 3115, \MakeTextUppercase . . . 100, 124
3126, 3341 \MakeTextUppercase . . . . . . . . .
\longtable . . . . . . . . . . . . 1156 . . . 732, 2697, 2768, 2769,
longtable document class 11, 14 2824, 3275, 3276
longtable environment . . . . . 47 \maketitle . . . . . . . . . . . . . . 42
\lotname . . . . . . . . . . . . . . . . 73 \MakeUppercase . . . . . . . 486, 696
\lotname . . . . . . . . . . . . . . 1837 \marginparpush . . . . . 2252, 2478
\lovname . . . . . . . . . . . . . . 1192 \marginparsep . . . . . . . . . . . . 15
\lower . . . . . . . . . . . . 2038, 2052 \marginparsep . . . . . . 2224, 2443
\LT@cols . . . . . . . . . . . . . . . 226 \marginparwidth . . . . . . . . . . 15
\LT@makecaption . . . . . . 223, 225 \marginparwidth 2217, 2221, 2436,
\LT@makecaption@rtx . . 223, 225 2440
\LT@mcol . . . . . . . . . . . . . . . 226 \mark@envir . . . . . . . . . . . 1690
\LTcapwidth . . . . . . . . . . . . 229 \markright . . . . . . . . . . . . . . 62
\ltx@footmark . . 1586, 1592, 1596 \mathbb . . . . . . . . . . . . . . . . . 82
\ltx@footmark@latex 1592, 1596 \mathbb . . 2103, 2105, 2110, 2113,
\ltx@footnote@pop . . . . . . 1595 2114, 2143
\ltx@footnote@push . 1584, 1591 \mathbf . . . . . . . . . . . . . . . 1824
\ltx@foottext . . 1587, 1593, 1597 \mathcal . . . . . . . . . . . . . . 1828
\ltx@foottext@latex 1593, 1597 \mathchoice . . 1893, 1907, 2026,
\ltx@no@footnote . . . . . . . 1755 2064
ltxdoc document class . . . . . . 10 \mathclose . . . . . . . . . . . . 2134
ltxdoc.sty . . . . . . . . . . . . . . . 7 \mathfrak . . . . . . . . . . . . . . . 82
ltxdocext.sty . . . . . . . . . . . . . 7 \mathfrak 2087, 2089, 2094, 2097,
ltxfront document class . . . . 14 2098, 2142
ltxfront.dtx . . . . . . . . . 28, 30 \mathit . . . . . . . . . . . . . . . 1825
ltxgrid document class 3, 14, 21, \mathletters . . . . . . . . . . 1940
27, 29, 30, 36, 70, 141, 142 \mathnormal . . . . . . . . . . . 1829
ltxgrid.dtx . . . . . . . . . . . . . 15 \mathopen . . . . . . . . . . . . . 2133
\ltxgrid@foot@info@sw . 571, 576 \mathord . 2041, 2058–2061, 2077,
\ltxgrid@info@sw . . . . . . . . 569 2081
ltxgridinfo document class option \mathpalette . . . . . . 2047, 2048
. . . . . . . . 29 \mathparagraph . 2572, 2578, 2583
\ltxu@dotsep . . . . . . 2852, 3383 \mathrel . . . . . . . . . . 2047, 2048
ltxutil document class . . 14, 25 \mathring . . . . . . . . . . . . . . . 81
ltxutil.dtx . . . . . . . . . 65, 103 \mathring . . . . . . . . . . . . . 2035
\mathrm . . . . . . . . . . . . . . . 1821
\mathsection . . 2571, 2577, 2582

158
\mathsf . . . . . . . . . . . . . . . 1822 \NAT@def@citea@box . . . . . 1331
mathtime document class . . . 117 \NAT@def@citea@close . . . . . 53
\mathtt . . . . . . . . . . . . . . . 1823 \NAT@def@citea@close . . . 1330
\maxdimen . . . . . . . . . 3009, 3072 \NAT@mbox . . . . . . . . . . . . . . . 53
\mbox . . . . . . . . . 1298, 1900, 1914 \NAT@mbox . . . . . . . . . 1298, 1348
mcite document class . . . . 36, 55 \NAT@merge . . . . . 30, 51, 55, 133
mcite document class option . 133 \NAT@merge . . . . 591, 1376, 3375
\mediumtext . . . . . . . . . . . 1924 \NAT@separator . . . . . . . . . 1334
\MessageBreak . . . . . . . . 542, 543 \NAT@set@cites . . . . . . . 51, 132
\mini@note . . . . . . . . . . . . 1517 \NAT@sort . . . . . . . . 51, 112, 113
\mini@notes . . . . . . . 1517, 1530 \NAT@space 1300, 1334, 1337, 1339
\minipagefootnote@foot . . 1728, \NAT@spacechar . . . . . . . . . 1300
1759 \NAT@swatrue . . . . . . . . . . 1318
\minipagefootnote@init . . 1726, \NAT@thebibliography . . . 1441
1750 natbib . . . . . . . . . . . . . . . . . 126
\mit . . . . . . . . . . . . . . . . . 1829 natbib document class 11–13, 20,
\moveleft . . . . . . . . . . . . . . . 68 36, 51–57, 59, 60, 78, 112,
\moveright . . . . . . . . . . . . . . 68 115, 132, 133
\mtt . . . . . . . . . . . . . . . . . 2543 natbib.cfg . . . . . . . . . . . . . . 51
multicol document class . 11, 36, \NATx@bibnumfmt . . . . . 357, 1394
135 \NATx@bibsetnum . . . . 1377, 1380
myarticle.rty . . . . . . . . . . . . 78 \NATx@bibsetup . . . . . 1382, 1390
myarticle.tex . . . . . . . . . . . . 78 newabstract document class option
. . . . . . . . 30
N \newblock . . . . . 1376, 2970, 3352
\narrowtext . . . . . . . . . . . 1923 \newbox . . 1080, 1112, 1201, 1801,
\nat . . . . . . . . . . . . . . . . . 2551 1802
\NAT@@citetp . . . . . . . . . . . . 59 \newcolumntype . . . . . . . . . 1224
\NAT@@citetp . . . . . . . . . . 1513 \newif . . . . . . . . . . . . . . . . . . 21
\NAT@@close . . . . . . . . . . . . . 53 \newif . . . . . . . . . . . . . . . . 1706
\NAT@@close . . . . . . . . . . . 1344 \newlabel . . . . . . . . . . . . . . 763
\NAT@bibitem@cont . . . . . . 1407 \newlinechar . . . . . . . . . . 1560
\NAT@BibitemShut . . . 1351, 1400 \newwrite . . . . . . . . . . . . . 1553
\NAT@biblabel . . . . . . . . . . . 132 \noalign . . . . . . 1878, 2906, 2907
\NAT@bibsetnum . . . . . . . . . 1376 nobalancelastpage document class
\NAT@bibsetup . . . . . . . . . . 1376 option . . . . . . . . . . . 17
\NAT@citenum . . . . . . . . . . 1297 noeprint document class option 21
\NAT@citesuper . . . . . . . . 52, 59 nofloats document class option 47
\NAT@citesuper . 1375, 1475, 1512 nolongbibliography document class
\NAT@citeyear . . . . . . 1299, 1397 option . . . . . . . . . . . 20
\NAT@cmprs . . . . . . . . . . 51, 113 nomerge document class option 30
\NAT@cmprs . . . . . . . . . . . . 3376 nopreprintnumbers document class
\NAT@conj . . . . . 1337, 1339, 1350 option . . . . . . . . . . . 17
\NAT@def@citea . . . . . . . 53, 133 \normalfont . . . . . . . . . . . . . . .
\NAT@def@citea . . . . . . . . . 1329 . . 794, 831, 960, 969, 978,
\NAT@def@citea@box . . . . . . . 53 987, 996, 1267, 1311, 1454,

159
1821–1827, 2676, 2684, 2764, \OptionNotUsed . . . . . . . . . . 659
2778, 2790, 2801, 2810, 2820, options . . . . . . . . . . . . . . . . . 14
2833, 2845, 3164 osa document class option . . . . 13
\normallineskip . . . . . . . . 1004 osa.rtx . . . . . . . . . . . . . . . . . 13
\normalsize . . . . . . . . . . . . 123 osajnl.rtx . . . . . . . . . . . . . . 26
\normalsize . . . . . . . . . . . . 987, outputdebug document class option
996, 2033, 2156, 2157, 2313, . . . . . . . . 29
2314, 2377, 2378, 2801, 2810, \outputdebug@sw . . . . . . . . . 569
3079, 3080, 3099, 3100, 3225, \overcirc . . . . . . . . . . . . . . . 81
3226, 3303 \overcirc . . . . . . . . . . . . . 2034
\notesname . . . . . . . . . . . . . . 73 overcite document class . . . . 11
\notesname . . . . . . . . . . . . 1834 \overdots . . . . . . . . . . . . . . . 81
\numbername . . . . . . . . . . . 1854 \overdots . . . . . . . . . . . . . 2034
numerical document class option 22 \overfullrule . . . . . . . . . . . 427
\overstar . . . . . . . . . . . . . 2058
O
\obsolete@command . . 1921–1924 P
\oc . . . . . . . . . . . . . . . . . . 2552 \p@enumii . . . . . . . . . . . . . . 786
\oddsidemargin . . . . . . . . . . . 15 \p@enumiii . . . . . . . . . . 789, 792
\oddsidemargin 2213, 2215, 2219, \p@enumiv . . . . . . . . . . . . . . 792
2434, 2438 \p@paragraph . . . 871, 896, 3259
\ol . . . . . . . . . . . . . . . . . . 2553 \p@section . . . . . 859, 884, 3247
oldabstract document class option \p@subparagraph . 875, 900, 3263
. . . . . . . . 30 \p@subsection . . . 863, 888, 3251
\oneapage . . . . . 1091, 1166, 1215 \p@subsubsection 867, 892, 3255
onecolumn document class option \PackageError . . . . . . . . . . 1954
. . . . . . . 21, 37 \PackageWarning . . . . . . . . 1962
\onecolumn@grid@setup . . . . 382 \PackageWarningNoLine . . . 2012
\onecolumngrid 1751, 1763, 1781, \pacs . . . . . . . . . . . . . . . . . 3166
2598 \PACS@warn . . . . . . . . . . . . 3166
\onecolumngrid@pop 1162, 1180, \pagenumbering . . . . . . . . . . . 68
2967, 3016, 3018 \pagenumbering . . . . . . . . . . 797
\onecolumngrid@push 1159, 1173, \pageref . . . . . . . . . . . . . . 1556
2959, 3010 \pagestyle . . . . . . . . . . . . . . 96
oneside document class option 21 \paperheight . . . . . . . . . 15, 37
\onlinecite . . . . . . . . . . . . . 51 \paperheight . . . . . . . . . . . 314
\onlinecite . . . 1398, 1421, 3038 \paperwidth . . . . . . . . . . 15, 37
\open@column@mlt . . . . . . . 1699 \paperwidth . . . . . . . . . . . . 314
\open@column@one . . . . . . . 1693 \par . . . . . . . . . . . . . . . . . . . 77
\open@column@two . . . . . . . . . 21 \parbox . . . . . . . . . . . . . . . . 229
\open@column@two . . . . . . . 1692 \parindent . . . . . . 932, 946, 984,
\open@onecolumn . . . . . . . . 1692 993, 1066, 1256, 1738, 1739,
\open@twocolumn . . . . . 380, 1698 2254, 2480, 2617, 2702, 2709,
\openone . . . . . . . . . . . . . . 2033 2798, 2807, 2871, 2911, 2923,
\openout . . . . . . . . . . . . . . . . 63 3013, 3218, 3272, 3282, 3290,
\openout . . . . . . . . . . . . . . 1565 3298, 3302

160
\parsep 820, 1389, 1741, 2173, 2174, \prepdef . . 390, 1156–1158, 1344,
2186, 2187, 2265, 2275, 2276, 2933
2283, 2328, 2329, 2340, 2341, \preprint . . . . . . . . . . . . 17, 99
2394, 2395, 2407, 2408, 2489, \preprint . . . . . 2734, 2739, 2744
2497, 2498, 2503 preprint document class option 16,
\parshape . . . . . . . . . . . . . . . 68 96
\parskip . 2253, 2479, 2650, 2672, \preprint@count . . . . 2734, 2752
2679, 2703, 3014, 3176 \preprint@cr . . . . . . 2744, 2751
\part . . . . . . . . . . . . . . . . . . 920 \preprint@hlist . . . . 2739, 2753
\partname . . . . . . . . . . . . . . . 73 \preprint@sw . . . . . . . . . 17, 37
\partname . . . . . . . . . . 935, 1834 \preprint@sw . . . . . . . 302, 2715
\partopsep 2256, 2284, 2482, 2503 preprintnumbers document class op-
per document class option . 4, 118 tion . . . . . . . . . . . . . 17
\phantomsection . . . . . 908, 2974 \preprintsty@sw . 16, 17, 22, 37,
\pl . . . . . . . . . . . . . . . . . . 2554 70, 96, 97
\place@bibnumber 20, 37, 55, 119 \preprintsty@sw . . 254, 267, 305,
\place@bibnumber 354, 1395, 3041, 403, 1812, 2606, 2631, 2634,
3137, 3140 2663, 2670, 2723, 3171, 3205,
\place@bibnumber@inl 358, 3137 3224
\place@bibnumber@sup . . . . 119 \present@bibnote . . . . . . . . . 58
\place@bibnumber@sup 355, 358, \present@bibnote . . . . . . . 1440
3041, 3140 \preserve@LaTeX . . . . . . 514, 518
placeholder \print@float . 1091, 1093, 1166,
hcode specific to the josaai 13 1168, 1215, 1217
hjournal-specific setupi . . . 36 \print@toc 1025, 1114, 1204, 2856
\post@absbox . . . . . . . . . . 1975 \printendnotes . . . . . . 61, 64, 73
\ppname . . . . . . . . . . . . . . . 1853 \printendnotes . . . . . . . . . 1578
\pra . . . . . . . . . . . . . . . . . 2555 \printfigures . . . . . . . . . 45, 73
pra document class option . 4, 115 \printfigures . . . . . . 1086, 1088
\prb . . . . . . . . . . . . . . . . . 2556 \printtables . . . . . . . 22, 47, 73
prb document class option . 4, 115, \printtables . . . . . . 1134, 1151
116, 118 \printvideos . . . . . . . . . . . . 49
\prc . . . . . . . . . . . . . . . . . 2557 \printvideos . . . . . . 1210, 1212
prc document class option . 4, 116 \prl . . . . . . . . . . . . . . . . . 2560
\prd . . . . . . . . . . . . . . . . . 2558 prl document class option . 4, 116,
prd document class option . 4, 116 118
\pre . . . . . . . . . . . . . . . . . 2559 \ProcessOptions . . . . . . . 26, 31
pre document class option . 4, 116 \produce@preprints . 2716, 2730
\pre@bibdata . . . . . . . . . 62, 64 \produce@RRAP . . . . . . . . . . 3198
\pre@bibdata . 1428, 1432, 1434, \protectdef@boldmath . 242, 250
1439, 1565, 2955, 3040 \protected@write . . . . . . . . . 63
\prec . . . . . . . . . . . . . . . . . 2044 \protected@xdef . . . . . . . . 1520
\precsim . . . . . . . . . . 2043, 2139 \providecommand . . . . 773, 1627,
\prep@absbox . . . . . . . . . . 1974 1932–1934
\prep@math@patch . . . . . . . 1787 \providecommand@j@nk 1627, 1664
\prepdef . . . . . . . . . . . . . . . . 53 \ProvidesClass . . . . . . . . . . . 13

161
\ProvidesFile . . . . . . . . . . . . 93 \REV@bm . . . . . . . . . . . 1917, 1930
\ProvidesFile . . . . . . . . 5–9, 12 \REV@boldclose . 2120–2123, 2134
\ProvidesPackage . . . . . . . 6, 13 \REV@boldopen . . 2116–2119, 2133
\ProvidesPackage . . . . . . . . . 10 \rev@citealp . . . . . . . . . . . . 51
prstab document class option . 4, \rev@citealp . . . . . . 1271, 1398
118 \rev@citealpnum . . . . . . . 51, 52
\ps@article . . . . . . . . 715, 2642 \rev@citealpnum . . . . 1271, 3038
\ps@article@final . . . . . . . 715 \rev@citemark . . . . . . 1531, 1586
\ps@headings . . . . . . . . . . . 690 \rev@citet . . . . . . . . . . . . . . 51
\ps@myheadings . . . . . . . . . . 690 \rev@citet . . . . . . . . 1271, 1399
\ps@preprint . . . . . . . 715, 2635 \REV@dddot . . . . . . . . 2040, 2136
\ps@titlepage . . . . . . . . . . 2712 \rev@endtext . . . . . . 1534, 1587
\pspie . . . . . . . . . . . . . . . . 2562 \REV@gtrsim . . . . . . . 2048, 2141
\Published@name . . . . . . . . 1856 \REV@lesssim . . . . . . 2047, 2140
\punct@RRAP . . . . . . . . . . . 2696 \REV@mathbb . . . . . . . . . . . 2143
\REV@mathfrak . . 2092, 2108, 2142
Q \REV@pmb . . . . . . 2124, 2133, 2134
\quad 698, 704, 716, 717, 725, 726, \REV@precsim . . . . . . . . . . 2046
747, 748, 2724, 2754, 3201 \REV@succsim . . . . . . . . . . 2045
\REV@text . . . . . . . . . 1890, 1929
R \REV@triangleq . . . . . 2037, 2137
raggedbottom document class op- \Revised@name . . . . . . . . . . 1856
tion . . . . . . . . . . . . . 23 \revsymb@inithook . . 1952, 2135
\raggedcolumn@sw . . . . 410, 2902 \REVSYMB@warn . 2012, 2085, 2093,
\raise . . . 2017, 2077, 2081, 2130 2101, 2109
README . . . . . . . . . . . . . . . . . . . 5 \revtex . . . . . . . . 40, 44, 53, 192
\Received@name . . . . . . . . . 1856 revtex2 . . . . . . . . . . . . . . . . . 46
\RecordChanges . . . . . . . . . . . 28 revtex4 document class 1, 13, 84,
\ref . . . . . . . . . . . . . 1380, 1556 87, 89, 92, 120
\references . . . . . . . . . . . 1865 revtex4-1 document class . . . . 1
\refname . . . . . . . . . . . . . . . . 73 \rightarrow . . . . . . . . . . . 2061
\refname . 1320, 1324, 1838, 2975, \rightskip . . . . . . . . . . . . . . 68
3357 \rm . . . . . . . . . . . . . . . . . . 1821
\relax . . . . . . . . . . . . 59, 60, 115 \rmp . . . . . . . . . . . . . . . . . 2561
\renewenvironment . . . . . . 2596 rmp document class option . . 4, 5,
\replace@command . . 1861, 1862, 118, 120
1884–1888, 2034–2036 \roarrow . . . . . . . . . . . . . . 2058
\replace@environment . . . . 916 \robust@boldmath . . . . . . . . 242
\RequirePackage . . . . . . . . . . 26 \Roman . . 855, 858, 880, 883, 3243,
\RequirePackage . . . . . . . 21, 23, 3246
25, 487, 490, 499, 508, 586, \rotatebox . . . . . . . . . . . . 1179
775, 1371, 1950, 3069 \rtx@@citetp . . . . . . . . . . . . 59
\reserved@a . . . . . . . . . 211, 214 \rtx@@citetp . . . . . . 1471, 1513
\restore@LaTeX . . . . . . . 527, 538 \rtx@apspra . . . . . . . . . . . 3030
\REV@ . . . . . . . . . . . . . . . . . . . 74 \rtx@apsprb . . . . . . . 3033, 3114
\REV@bbox . . . . . . . . . . . . . 1904 \rtx@apsprc . . . . . . . . . . . 3043

162
\rtx@apsprd . . . . . . . . . . . 3046 \scriptstyle . 1896, 1910, 2029,
\rtx@apspre . . . . . . . . . . . 3049 2065–2067
\rtx@apsprl . . . . . . . . . . . 3052 \scshape . . . . . . . . . . . . . . 1827
\rtx@apsprstab . . . . . . . . . 3117 secnumarabic document class op-
\rtx@apsprstper . . . . . . . . 3112 tion . . . . . . . . . . . . . 24,
\rtx@bibsection . . . . 1319, 1376 123
\rtx@citesuper . . . . . 1306, 1375 \secnums@arabic . . . . . . . 24, 25
\rtx@citex . . . . . . . . . . . . . . 59 \secnums@arabic . . . . . . 444, 853
\rtx@citex . . . . . . . . . . . . 1471 \secnums@rtx . . . . . . 24, 25, 123
\rtx@def@citea . . . . . . . . . . . 53 \secnums@rtx . . . 446, 853, 3241
\rtx@def@citea . . . . . . . . . 1328 \section . . . . . . . . . . . . 101, 124
\rtx@def@citea@box . . . . . . . 53 \section 53, 905, 953, 1324, 2638,
\rtx@def@citea@box . . . . . 1328 2756, 3011, 3267, 3357
\rtx@def@citea@close . . . 1328 \section@preprintsty 2638, 2812
\rtx@do@substyle . 673, 677, 686 \sectionmark 695, 712, 721, 730,
\rtx@fin@day . 1994, 1998, 2004, 752
2006 \select@column@grid . . . . . . 21
\rtx@fin@month 1993, 1997, 2004, \select@column@grid . . 377, 386
2006 \set@colht . . . . . . . . 1694, 1700
\rtx@fin@warn . . . . . . . . . . 1995 \set@footnotewidth 1754, 1785,
\rtx@fin@year . 1992, 1996, 2004, 1805
2006 \set@footnotewidth@two . . 1754,
\rtx@require@packages . . 26, 57 1785, 1805
\rtx@require@packages . . . . . . . \set@linepenalties . . . . . . . 77
. . 485, 486, 495, 504, 513, \set@linepenalties . 1973, 1974
774, 1370, 1949, 1979, 1989 \set@listindent . . . . . . . . 1704
\rtx@swap@citea . . . . . . . 51, 53 \set@listindent@ . . . . . . . 1704
\rtx@swap@citea 1275, 1283, 1296, \set@page@grid . . . . . 1803, 1820
1328 \set@table@environments . 1119,
\rtx@swap@citenum . . 1291, 1295 1131
rtx@thebibliography (environment) \set@tocdim@pagenum . . . . 2869
. . . . . . . . 1440 \setfloatlink . . . . . . . . . . 1072
ruledtabular (environment) 1220 \setup@hook 12, 14, 68, 79, 83, 85,
\runinaddress@sw . . . . . . . . . 37 96, 97
\setup@hook . . . . . 220, 304, 388,
S 404, 413, 423, 426, 432, 440,
\samepage . . . . . 1043, 2704, 2710 592, 1675, 1820, 1931, 1990,
\save@note . . . . . . . . . . . . 1517 2211, 2432, 2451, 2633, 2952,
\sbox . . . . . . . . . . . . . . 230, 1037 2956, 2995, 3000, 3036, 3056,
\sc . . . . . . . . . . . . . . . . . . 1827 3067, 3073, 3139, 3223, 3352,
\scriptscriptstyle 1897, 1911, 3367
2030, 2067, 2068 \setup@secnums . . . . . . . . 24, 39
\scriptsize . . . . . . . . . . . . . 46 \setup@secnums . . . 441, 444, 446
\scriptsize . . 1117, 2190, 2191, \sf . . . . . . . . . . . . . . . . . . 1822
2345, 2346, 2411, 2412 \sf@size . . . . . . . . . . . . . . 1896

163
\sffamily 1822, 3164, 3270, 3280, 738, 753
3288 \substyle@ext . . . . 600, 646, 658,
\shipout . . . . . . . . . . . . . . . . 35 665, 678, 2147, 2304, 2368,
\showKEYS@sw . . . . . . . . . 17, 37 2517, 3149
\showKEYS@sw . . . . . . . . 257, 281 \substyle@post . . . 600, 646, 657,
showpacs document class option 16 665, 678, 3138, 3335
\showPACS@sw . . . . . . . . . 17, 37 \subsubitem . . . . . . . . . . . 3025
\showPACS@sw . . . . . . . . 256, 281 \subsubsection . 971, 2640, 2782,
\sim . . . . . . . . . 2043, 2044, 2055 3285
\sjqe . . . . . . . . . . . . . . . . . 2563 \subsubsection@preprintsty . .
\skip . . . . . . . . . . . . . . . . . . . 15 . . . . . 2640, 2812
\skip@ 1477, 2646, 2651, 2656, 2659, \succ . . . . . . . . . . . . . . . . . 2043
2873, 2876, 2978, 2980, 2982, \succsim . . . . . . . . . . 2043, 2138
2984, 2986 super document class option . . 59
\sl . . . . . . . . . . . . . . . . . . 1826 \super@cite@check . . 1485, 1490
\slantfrac . . . . . . . . . . . . 1885 \super@cite@end . . . . . . . . 1471
\small . . . . . . . . . . . . . . . 46, 90 \super@cite@let . . . . . . . . 1471
\small . . . . . . . . . . . . . 960, 969, \super@cite@swap . . . . . . . . . 59
978, 1036, 1116, 2033, 2164, \super@cite@swap . . . . . . . 1471
2165, 2321, 2322, 2385, 2386, superbib document class option 116
2616, 2667, 2691, 2733, 2764, superscript document class option
2778, 2790, 2820, 2833, 2845, . . . . . . . . 60
3002, 3087, 3088, 3180, 3194, superscriptaddress document class
3270, 3280, 3288, 3296, 3328 option . . . . . . . . . . 121
sort document class option . . . 51 \switch@longtable . . . . . . . 222
sort\&compress document class op-
tion . . . . . . . . . . . . . 51 T
\spacefactor . . 1412, 1415, 1418 \tabbingsep . . . . . . . . . . . 1676
\splittopskip . . . . . . 2229, 2448 \tabcolsep . . . . . . . . . . . . 1013
\squeezetable . . . . . . . . . . . . 46 table (environment) . . . . . . 1100
\squeezetable . . . . . . . . . . 1116 table environment . . 3, 46–48, 73
\ssf@size . . . . . . . . . . . . . 1897 \table@hook . . . . . . . . . . . . . 46
\stepcounter . . . . . . . . . . 1519 \table@hook . . . . . . . . . . . 1116
\string . . . . . 212, 213, 244, 308, \tableft@skip . . 1234, 1235, 1247
763, 1147, 1149, 1401, 1575, \tableft@skip@default . . . 1234,
1579, 1870, 1874, 1879, 1918, 1247
1937, 1946, 1955, 1963, 1969, \tableft@skip@float 1235, 2903
2086, 2087, 2094, 2102, 2103, \tableline 1877, 1879, 1880, 1882
2110, 2855, 2857, 3134, 3166, \tablename . . . . . . . . . . . . . . 73
3349 \tablename . . . . . . . . 1111, 1842
\subitem . . . . . . . . . . . . . . 3023 \tablenote . . . . . . . . . . . . 1886
\subparagraph . . 989, 2803, 3301 \tablenotemark . . . . . . . . . 1887
\subsection 962, 2639, 2770, 3277 \tablenotetext . . . . . . . . . 1888
\subsection@preprintsty . 2639, \tableofcontents . . . . . . . . . 73
2812 \tableofcontents . . . . . 51, 2854
\subsectionmark . . 701, 713, 722, \tablesname . . . . . . . . . . . . . 73

164
\tablesname . . . . . . . . . . . 1843 thebibliography environment 51,
\tablewrite . . . . . . . 1147, 1149 55, 58, 64, 65, 67, 73, 106,
\tabmid@skip . . 1236, 1237, 1248 126, 141
\tabmid@skip@default 1236, 1248 \thebibliography@nogroup 1604
\tabmid@skip@float . 1237, 2903 thebibliography@nogroup environ-
\tabright@skip . 1238, 1239, 1249 ment . . . . . . . . . . . . 67
\tabright@skip@default . . 1238, \thebibliogrphy . . . . . . . . . . 58
1249 \theenumi . . . . 782, 783, 786, 789
\tabright@skip@float 1239, 2903 \theenumii . . . . . . 784, 785, 789
tabular environment . . . . . . . 16 \theenumiii . . . . . 787, 788, 792
\tabular@hook . . . . . . . . . . 1220 \theenumiv . . . . . . . . . . 790, 791
\tag . . . . . . . . . . . . . . . . . 1946 \theequation . . . . . . . . . . . 998
\tally@box@size@sw . . . 424, 770 \theequation@prefix . 435, 999,
template.aps . . . . . . . . . . . . . 5 1001, 1716, 1720
template.rty . . . . . . . . . . . . 78 \thefigure . . . . . . . . . . . . 1074
\tensor . . . . . . . . . . . . . . . 2058 \thefootnote . . . . . . . . . . . . 20
\test@amsmath@ver . . . . 516, 536 \thefootnote . . . . . . 1585, 2594
\test@bbl@sw . . . . . . . . . . 1604 \thefootnote@latex . . . . . 2594
\TeX . . . . . 37, 40, 182, 185, 2729 \theHvideo . . . . . . . . . . . . 1203
\text . . . . . . . . . . . . . . . . . 1929 theindex environment . . . . . . 73
\textasteriskcentered . . . . 795 \thempfn . 1520, 1585, 1594, 1598
\textbf . . . . . . . . . . . . . . . 1638 \thempfn@latex . . . . . 1594, 1598
\textbullet . . . . . . . . . . . . 793 \thepage . . . . . . . . . . . . . . . . 68
textcase document class . . . . 26 \thepage . 692, 693, 709, 710, 716,
\textcite . . . . . . . . . . . 51, 133 717, 725, 726, 747, 748, 763,
\textcite . . . . . . . . . 1399, 1421 1674, 2723
\textendash . . . . . . . . . . . . 794 \theparagraph . . . . . . . . . . . 850,
\textfloatsep . . . . . . 2242, 2468 869, 870, 875, 894, 895, 899,
\textfraction . . . . . . . . . . . 803 3257, 3258, 3263
\textheight . . . . . . . . . . . . . 15 \thepart . 842, 854, 855, 879, 880,
\textheight . . 1175, 2231, 2450, 927, 935, 3242, 3243
3110 \thesection . . . . . . . . . . . . . . .
\textheight@sw . . . . . . . . . . 579 . . 698, 733, 844, 857, 858,
\TextOrMath . . . . . . . . . . . . . 95 863, 867, 871, 875, 882, 883,
\TextOrMath . . . . . . . 2590, 2591 887, 1716, 1719, 1722, 3245,
\textperiodcentered . . . . . 796 3246, 3251, 3255, 3259, 3263
\textstyle 1895, 1909, 2028, 2066 \thesubparagraph . 852, 873, 874,
\textsuperscript 358, 1311, 1453, 898, 899, 3261, 3262
3037 \thesubsection . . . 704, 740, 846,
\texttt . . . . . . . . . 131, 134, 149 861, 862, 867, 871, 875, 886,
\textwidth . . . . . . . . . . . . . . 15 887, 891, 1713, 3249, 3250,
\textwidth 405, 406, 1174, 2232, 3255, 3259, 3263
2458, 2621, 2636, 2962 \thesubsubsection . . . . . . . 848,
\thanks . . . . . . . . . . . . . . . . . 19 865, 866, 871, 875, 890, 891,
\thanks . . . . . . . . . . . . . . 34, 37 895, 1714, 3253, 3254, 3259,
\thebibliography . . . . . . . 1865 3263

165
\thetable . . . . . . . . . . . . . 1106 \traceoutput . . . . . . . . . . . 577
\thevideo . . . . . . . . . . . . . 1188 \translation . . . . . . . . . . 1630
\thispagestyle . . . . . 2600, 3012 \triangle . . . . . . . . . . . . . 2038
\thr@@ . . . . . . . . . . . . . . . . . . 30 \triangleq . . . . . . . . . . . . . . 81
\thr@@ . . . . . . . . 1396, 1668, 3238 \triangleq . . . . . . . . 2034, 2137
\tighten . . . . . . . . . . 1873, 1874 \trigger@float@par . 1156, 1157
\tightenlines@sw . . . . . . 23, 37 \true@sw . 1089, 1164, 1213, 1303,
\tightenlines@sw 416, 1875, 2452 1608, 1616, 1643, 1996–1998,
times document class . . . . . . 117 2591
\tiny 262, 2193, 2194, 2348, 2349, \tt . . . . . . . . . . . . . . . . . . 1823
2414, 2415 \ttfamily . . . . . . . . . . . . . 1823
\title . . . . . . . . . . . . . . . . . . 32 \tw@ . . . . . . . . . . . . . . . . . . . 55
\title@column . . . . . . . . . . . . 69 \twocolumn . . . . . . . . . . . . . 114
\title@column . . . . . . 1725, 1808 twocolumn document class option
\title@column@grid . 1749, 1808 . . . . . . . 17, 21
\titleblock@produce . . . . . 120 \twocolumn@grid@setup . . . . 379
\titlepage . . . . . . . . . . . . 2596 \twocolumn@sw . . . . . . . 21, 37, 70
\titlepage@sw . . . . . . . 25, 37, 96 \twocolumn@sw . . . 273, 374, 1804,
\titlepage@sw . . . . . . . 455, 2632 2597
\toc@@font . . . . . . . . . . . . . 134 \twocolumngrid . . . . . . . . . . . 68
\toc@@font . . . . . . . . . . . . 3379 \twocolumngrid 1758, 1764, 1798,
\toc@post . . . . . . . . . . . . . . 134 2603
\toc@post . . . . . . . . . 2901, 3399 twocolumngrid document class op-
\toc@post@auto . . . . . 2901, 3399 tion . . . . . . . . . . . . . 70
\toc@pre . . . . . . . . . . . . . . . 134 twoside document class option 21
\toc@pre . . . . . . . . . . 2900, 3398 \twoside@sw . . . . . . . . 21, 37, 85
\toc@pre@auto . . . . . . 2900, 3398 \twoside@sw . . . 368, 2212, 2433
\tocdepth@munge . . . . 2855, 2859
\tocdepth@restore . . 2857, 2864 U
\tocdim@min . . . . . . . 2883, 3385 \undefined . . . . . . 18, 21, 36, 37
\tocleft@ . . . . . . . . . 2882, 3384 \unhbox . . . . . . . . . . . 1050, 2877
\tocleft@pagenum . . . . . . . 2872 \unskip . . . . . . . . . . . . 230, 232,
\tocname . . . . . . . . . . . . . . . . 73 745, 831, 1309, 1360, 1478,
\tocname . . . . . . . . . . . . . . 1835 1719, 2694, 2876, 3201
\today . . . . . . . . . . . . . . . . . . 72 \unvbox . . . . . . . . . . . . . . . . . 77
\today . . . . . . . . . . . . . 262, 1830 \url . . . . . . . . . . . . 22, 48, 1929
\topfraction . . . . . . . . . . . 799 \usepackage . . . . . . . . 11, 27, 78
\topmargin . . . . . . . . . . . . . . 15
\topmargin . . . . . . . . 2225, 2444 V
\toprule . . . . . . . . . . . . . . 1228 \vbox 1174, 1626, 1769, 1791, 2052,
\topsep . . 1379, 1388, 1737, 2172, 3326
2185, 2266, 2274, 2282, 2285, \[email protected] . . . . . . . . . . 27
2327, 2339, 2393, 2406, 2490, \ver@amsmath@prefer . 508, 540,
2496, 2502, 2504 543, 551
\topskip . 2228, 2229, 2447, 2448 \vereq . . . . . . . . 2047, 2048, 2051
\total@text . . . . . . . . . . . . 770 video (environment) . . . . . . 1182

166
video environment . . . . 3, 48, 49
\voffset . . . . . . . . . . . . . . . . 15
\volumename . . . . . . . . . . . 1855
\vr . . . . . . . . . . . . . . . . . . 2564
\vrule . 230, 232, 1773, 1778, 2020
\vss . . . . . . . . . . . . . . . . . 2747
\vtop . . . . . . . . . . . . . . . . . 2731

W
\wastwocol@sw . . . . . . 2597, 2603
\widetext@bot . 1777, 1791, 1792,
1795, 1796, 1802
widetext@galley (environment) .
. . . . . . . . 1733
widetext@grid (environment) 1767
\widetext@outdent . 1734, 1742,
1815
\widetext@top . 1769, 1783, 1784,
1801
widettext environment . . . . . 71
\write 763, 1147, 1149, 1544, 1568,
1575, 3123, 3134, 3338, 3349
\write@@float . . . . . . 1137, 1142
\write@bibliographystyle . . 59
\write@bibliographystyle 1463,
1463, 1468, 1470
\write@column@totals . . . . 773

X
\xpt . . . . . . . . . . . . . . . . . 3226

Z
\z@ . . . . . . . . . . . . . . . . 51, 133
\z@skip . . 1737, 2679, 2703, 2877,
3176

167

You might also like