Commit ede63837 authored by Klemens Schüppert's avatar Klemens Schüppert
Browse files

Added revtex4-2 styles.

parent a02801a8
Pipeline #36315 passed with stage
in 3 minutes and 6 seconds
%%
%% This is file `aapmrev4-2.bst', and is a hand-edited version of aapmrev4-1.bst
% ===============================================================
% IMPORTANT NOTICE:
% This file can be redistributed and/or modified under the terms
% of the LaTeX Project Public License Distributed from CTAN
% archives in directory macros/latex/base/lppl.txt; either
% version 1 of the License, or any later version.
% ===============================================================
%-------------------------------------------------------------------
% This bibliography style file is intended for texts in ENGLISH
% This is an author-year citation style bibliography. As such, it is
% non-standard LaTeX, and requires a special package file to function properly.
% Such a package is natbib.sty by Patrick W. Daly
% The form of the \bibitem entries is
% \bibitem[Jones et al.(1990)]{key}...
% \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
% The essential feature is that the label (the part in brackets) consists
% of the author names, as they should appear in the citation, with the year
% in parentheses following. There must be no space before the opening
% parenthesis!
% With natbib v5.3, a full list of authors may also follow the year.
% In natbib.sty, it is possible to define the type of enclosures that is
% really wanted (brackets or parentheses), but in either case, there must
% be parentheses in the label.
% The \cite command functions as follows:
% \citet{key} ==>> Jones et al. (1990)
% \citet*{key} ==>> Jones, Baker, and Smith (1990)
% \citep{key} ==>> (Jones et al., 1990)
% \citep*{key} ==>> (Jones, Baker, and Smith, 1990)
% \citep[chap. 2]{key} ==>> (Jones et al., 1990, chap. 2)
% \citep[e.g.][]{key} ==>> (e.g. Jones et al., 1990)
% \citep[e.g.][p. 32]{key} ==>> (e.g. Jones et al., p. 32)
% \citeauthor{key} ==>> Jones et al.
% \citeauthor*{key} ==>> Jones, Baker, and Smith
% \citeyear{key} ==>> 1990
%---------------------------------------------------------------------
FUNCTION {id.bst} {"aapmrev4-2.bst 2019-01-14 (MD) hand-edited version of aapmrev4-1.bst"}
ENTRY
{
address
archive
archivePrefix
author
bookaddress
booktitle
chapter
collaboration
doi
edition
editor
eid
eprint
howpublished
institution
isbn
issn
journal
key
language
month
note
number
organization
pages
primaryClass
publisher
school
SLACcitation
series
title
translation
type
url
volume
year
}{
}{
label
extra.label sort.label
short.list
}
INTEGERS
{
output.state before.all
after.word after.punctuation
after.sentence after.block
}
INTEGERS
{
punctuation.state punctuation.no punctuation.space punctuation.yes
}
STRINGS { bibfield output.bibfield }
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {non.stop}
{ duplicate$
"}" * add.period$
#-1 #1 substring$ "." =
}
INTEGERS { arith.mulitplier arith.multiplicand }
FUNCTION {multiply}
{
'arith.multiplicand :=
'arith.mulitplier :=
#0
{ arith.mulitplier #0 > }
{ arith.multiplicand +
arith.mulitplier #1 - 'arith.mulitplier :=
}
while$
}
FUNCTION {chr.to.hex}
{
chr.to.int$
duplicate$ "0" chr.to.int$ -
duplicate$ duplicate$ #0 < swap$ #9 > or not
{ swap$ pop$ }
{ pop$
duplicate$ "A" chr.to.int$ -
duplicate$ duplicate$ #0 < swap$ #5 > or not
{ swap$ pop$ #10 + }
{ pop$
duplicate$ "a" chr.to.int$ -
duplicate$ duplicate$ #0 < swap$ #5 > or not
{ swap$ pop$ #10 + }
{ pop$
pop$ #-1
}
if$
}
if$
}
if$
}
INTEGERS { arith.accumulator }
FUNCTION {str.to.hex}
{ #0 'arith.accumulator :=
{ duplicate$ empty$ not }
{ duplicate$ #1 #1 substring$ chr.to.hex
duplicate$ #0 <
{ pop$ pop$ ""
}
{ arith.accumulator #16 multiply + 'arith.accumulator :=
#2 global.max$ substring$
}
if$
}
while$
pop$ arith.accumulator
}
FUNCTION {diagn.cmntlog}
{
duplicate$ top$ "%" swap$ * write$ newline$
}
INTEGERS { control.key control.author control.editor control.title control.pages control.eprint control.year }
INTEGERS { control.author.jnrlst control.author.dotless control.author.nospace control.author.initials control.author.nocomma control.author.first control.author.reversed }
FUNCTION { control.init }
{
#0
'control.key :=
#0
#8 +
'control.author :=
#0
'control.author.jnrlst :=
#0
'control.author.dotless :=
#0
'control.author.nospace :=
#1
'control.author.initials :=
#0
'control.author.nocomma :=
#0
'control.author.first :=
#0
'control.author.reversed :=
#1
'control.editor :=
#-1
'control.title :=
#0
'control.pages :=
#0
'control.eprint :=
#1
'control.year :=
}
FUNCTION {warning.dependency}
{
" (dependency: " * swap$ * ") set " * swap$ int.to.str$ * warning$
}
FUNCTION {control.check}
{
control.editor
{
"editor formatted same as author"
control.author.reversed {
duplicate$ #0 swap$ "reversed" warning.dependency
#0 'control.author.reversed :=
} 'skip$ if$
control.author.first {
duplicate$ #0 swap$ "first" warning.dependency
#0 'control.author.first :=
} 'skip$ if$
control.author.nocomma {
duplicate$ #0 swap$ "nocomma" warning.dependency
#0 'control.author.nocomma :=
} 'skip$ if$
pop$
} 'skip$ if$
control.author.reversed 'skip$
{
"not reversed"
control.author.nospace {
duplicate$ #0 swap$ "nospace" warning.dependency
#0 'control.author.nospace :=
} 'skip$ if$
control.author.jnrlst 'skip$ {
duplicate$ #1 swap$ "jnrlst" warning.dependency
#1 'control.author.jnrlst :=
} if$
control.author.initials {
duplicate$ ", initials" *
control.author.dotless {
duplicate$ #0 swap$ "dotless" warning.dependency
#0 'control.author.dotless :=
} 'skip$ if$
pop$
} 'skip$ if$
pop$
}
if$
control.author.initials 'skip$ {
"not initials"
control.author.nocomma {
duplicate$ #0 swap$ "nocomma" warning.dependency
#0 'control.author.nocomma :=
} 'skip$ if$
control.author.nospace {
duplicate$ #0 swap$ "nospace" warning.dependency
#0 'control.author.nospace :=
} 'skip$ if$
control.author.dotless 'skip$ {
duplicate$ #1 swap$ "dotless" warning.dependency
#1 'control.author.dotless :=
} if$
pop$
} if$
}
FUNCTION {control.parse}
{
duplicate$ duplicate$ missing$
{
pop$ pop$ pop$
}
{ empty$
{
pop$ #-1
}{
str.to.hex
}
if$
swap$ :=
}
if$
}
FUNCTION {control.dump}
{
duplicate$ missing$ { pop$ "N/A" } 'skip$ if$
"{" swap$ * "}, " *
*
}
INTEGERS { decode.threshold }
FUNCTION {control.decode}
{
- duplicate$
#0 <
{
skip$ pop$ swap$ #0
}
{
swap$ pop$ swap$ #1
}
if$
swap$ :=
}
FUNCTION {control.author.decode}
{
control.author
duplicate$ duplicate$ #0 < swap$ #128 < not or
{
int.to.str$ "(" swap$ * ")" *
"Control cannot interpret author " swap$ *
warning$
}{
'control.author.jnrlst swap$ duplicate$ #64 control.decode
'control.author.dotless swap$ duplicate$ #32 control.decode
'control.author.nospace swap$ duplicate$ #16 control.decode
'control.author.initials swap$ duplicate$ #8 control.decode
'control.author.nocomma swap$ duplicate$ #4 control.decode
'control.author.first swap$ duplicate$ #2 control.decode
'control.author.reversed swap$ duplicate$ #1 control.decode
duplicate$ #0 =
'skip$
{
"Control: residue of author"
"(" swap$ * ")" * *
warning$
}
if$
pop$
}
if$
}
FUNCTION {control.setup}
{
type$ cite$ "{" swap$ * "}, " * *
"control.key" key control.dump *
"control.author" author control.dump *
"control.editor" editor control.dump *
"control.title" title control.dump *
"control.pages" pages control.dump *
"control.year" year control.dump *
"control.eprint" eprint control.dump *
top$
'control.key key control.parse
'control.author author control.parse
'control.editor editor control.parse
'control.title title control.parse
'control.pages pages control.parse
'control.year year control.parse
'control.eprint eprint control.parse
control.author.decode
}
FUNCTION {control.pass}
{ type$ "control" = 'control.setup 'skip$ if$
}
FUNCTION {control.presort}
{
}
FUNCTION {control.forward}
{
}
FUNCTION {control.reverse}
{
}
FUNCTION {control.sort}
{
}
FUNCTION {control.longest.label}
{
}
FUNCTION {control.key.bib}
{
"Control: key "
control.key
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
pop$ *
diagn.cmntlog
}
FUNCTION {control.author.bib}
{
"Control: author "
control.author "(" swap$ int.to.str$ * ")" * *
control.author.reversed { " reversed" * }{} if$
control.author.first { " first" * }{} if$
control.author.nocomma { " nocomma" * }{} if$
control.author.initials { " initials" * }{} if$
control.author.nospace { " nospace" * }{} if$
control.author.dotless { " dotless" * }{} if$
control.author.jnrlst { " jnrlst" * }{} if$
diagn.cmntlog
}
FUNCTION {control.editor.bib}
{
"Control: editor formatted "
control.editor
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
duplicate$ #0 < {
pop$
"disabled!"
} {
#0 > {
"identically to author"
} {
"differently from author"
} if$
} if$ * *
diagn.cmntlog
}
FUNCTION {control.title.bib}
{
"Control: production of article title "
control.title
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
duplicate$ #0 < {
pop$
"disabled"
} {
#0 > {
"required"
} {
"allowed"
} if$
} if$ * *
diagn.cmntlog
}
FUNCTION {control.pages.bib}
{
"Control: page "
control.pages
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
duplicate$ #0 < {
pop$
"none"
} {
#0 > {
"range"
} {
"single"
} if$
} if$ * *
diagn.cmntlog
}
FUNCTION {control.year.bib}
{
"Control: year "
control.year
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
duplicate$ #0 < {
pop$
"disabled!"
} {
#0 > {
"truncated"
} {
"verbatim"
} if$
} if$ * *
diagn.cmntlog
}
FUNCTION {control.eprint.bib}
{
"Control: production of eprint "
control.eprint
duplicate$ "(" swap$ int.to.str$ * ") " * swap$
#0 < { "disabled" } { "enabled" } if$ * *
diagn.cmntlog
}
FUNCTION {control.bib}
{
control.key.bib
control.author.bib
control.editor.bib
control.title.bib
control.pages.bib
control.year.bib
control.eprint.bib
}
FUNCTION {init.state.consts}
{
#0 'before.all :=
#1 'after.word :=
#2 'after.punctuation :=
#3 'after.sentence :=
#4 'after.block :=
#0 'punctuation.no :=
#1 'punctuation.space :=
#2 'punctuation.yes :=
"" 'bibfield :=
"" 'output.bibfield :=
}
STRINGS { s t}
FUNCTION {block.punctuation}
{ ""
"," *
}
FUNCTION {word.space}
{
"\ "
}
FUNCTION {show.stackstring.one}{
"(" *
output.state int.to.str$ *
"," * punctuation.state int.to.str$ *
")" * top$
duplicate$ "1(" swap$ * ")" * top$
}
FUNCTION {show.stackstring.two}{
"(" *
output.state int.to.str$ *
"," * punctuation.state int.to.str$ *
")" * top$
swap$
duplicate$ "1(" swap$ * ")" * top$
swap$
duplicate$ "2(" swap$ * ")" * top$
}
FUNCTION {bibfield.command}{ "\bibfield "}
FUNCTION {output.nonnull}
{
swap$
output.state after.word =
{
block.punctuation *
word.space *
}
{
output.state after.punctuation =
{
word.space *
}
{
output.state after.block = output.state after.sentence = or
{
add.period$
"\EOS\ " *
}{
}
if$
}
if$
}
if$
output.bibfield duplicate$ empty$ 'pop$
{
bibfield.command
" {" * swap$ * "} {" * swap$ * "}" *
}
if$
write$
bibfield 'output.bibfield := "" 'bibfield :=
output.state after.block =
{
newline$
"\newblock " write$
}
'skip$
if$
punctuation.state duplicate$
punctuation.yes 'punctuation.state :=
punctuation.no =
{ pop$ before.all }
{ punctuation.yes = { after.word }{ after.punctuation } if$ }
if$
'output.state :=
}
FUNCTION {output}
{ duplicate$ empty$
{
pop$
"" 'bibfield :=
}
'output.nonnull
if$
}
FUNCTION {output.nopunct}
{
punctuation.no 'punctuation.state :=
output.nonnull
}
FUNCTION {output.check}
{ swap$
duplicate$ empty$
{ pop$ "empty " swap$ * " in " * cite$ * warning$ }
{ swap$ pop$ output.nonnull }
if$
}
FUNCTION {bbl.open} { "\BibitemOpen " }
FUNCTION {bbl.shut} { "\BibitemShut " }
FUNCTION {bibitem.shut.stop} { bbl.shut "{Stop}%" * }
FUNCTION {bibitem.shut.nostop} { bbl.shut "{NoStop}%" * }
FUNCTION {bibitem.shut}
{
non.stop
{
bibitem.shut.nostop *
}{
bibitem.shut.stop *
}
if$
}
FUNCTION {html.itag} {
"p"