Paper_Uracil_collision/achemso.bst
linjie zheng cf3f7a39e0 first try
2019-09-13 15:20:56 +02:00

1710 lines
29 KiB
Plaintext

%%
%% This is file `achemso.bst',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% achemso.dtx (with options: `bst')
%% ----------------------------------------------------------------
%% achemso --- Support for submissions to American Chemical Society
%% journals
%% E-mail: joseph.wright@morningstar2.co.uk
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
ENTRY
{
address
author
booktitle
chapter
ctrl-article-title
ctrl-chapter-title
ctrl-etal-firstonly
ctrl-etal-number
ctrl-use-title
doi
edition
editor
howpublished
institution
journal
key
maintitle
note
number
organization
pages
publisher
school
series
title
type
url
version
volume
year
}
{ }
{
label
short.names
}
FUNCTION { and } {
{ }
{
pop$
#0
}
if$
}
FUNCTION { not } {
{ #0 }
{ #1 }
if$
}
FUNCTION { or } {
{
pop$
#1
}
{ }
if$
}
FUNCTION { xor } {
{ not }
{ }
if$
}
FUNCTION { chr.to.value.error } {
#48 +
int.to.chr$
"'" swap$ *
"'" *
" is not a number: treated as zero." *
warning$
#0
}
FUNCTION { chr.to.value } {
chr.to.int$ #48 -
duplicate$
#0 <
{ chr.to.value.error }
{
duplicate$
#9 >
{ chr.to.value.error }
{ }
if$
}
if$
}
STRINGS {
extract.input.str
extract.output.str
}
FUNCTION { is.a.digit } {
duplicate$
"" =
{
pop$
#0
}
{
chr.to.int$
#48 -
duplicate$
#0 < swap$ #9 > or not
}
if$
}
FUNCTION{ is.a.number } {
{
duplicate$
#1 #1 substring$
is.a.digit
}
{ #2 global.max$ substring$ }
while$
"" =
}
FUNCTION { extract.number } {
duplicate$
'extract.input.str :=
"" 'extract.output.str :=
{ extract.input.str empty$ not }
{
extract.input.str #1 #1 substring$
extract.input.str #2 global.max$ substring$ 'extract.input.str :=
duplicate$
is.a.number
{ extract.output.str swap$ * 'extract.output.str := }
{
pop$
"" 'extract.input.str :=
}
if$
}
while$
extract.output.str empty$
{ }
{
pop$
extract.output.str
}
if$
}
FUNCTION { field.or.null } {
duplicate$
empty$
{
pop$
""
}
{ }
if$
}
INTEGERS {
multiply.a.int
multiply.b.int
}
FUNCTION { multiply } {
'multiply.a.int :=
'multiply.b.int :=
multiply.b.int #0 <
{
#-1
#0 multiply.b.int - 'multiply.b.int :=
}
{ #1 }
if$
#0
{ multiply.b.int #0 > }
{
multiply.a.int +
multiply.b.int #1 - 'multiply.b.int :=
}
while$
swap$
{ }
{ #0 swap$ - }
if$
}
INTEGERS { str.conversion.int }
FUNCTION { str.to.int.aux.ii } {
{
duplicate$
empty$ not
}
{
swap$
#10 multiply 'str.conversion.int :=
duplicate$
#1 #1 substring$
chr.to.value
str.conversion.int +
swap$
#2 global.max$ substring$
}
while$
pop$
}
FUNCTION { str.to.int.aux.i } {
duplicate$
#1 #1 substring$
"-" =
{
#1 swap$
#2 global.max$ substring$
}
{
#0 swap$
}
if$
#0
swap$
str.to.int.aux.ii
swap$
{ #0 swap$ - }
{ }
if$
}
FUNCTION { str.to.int } {
duplicate$
empty$
{
pop$
#0
}
{ str.to.int.aux.i }
if$
}
FUNCTION { tie.or.space.connect } {
duplicate$
text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION { yes.no.to.bool } {
duplicate$
empty$
{
pop$
#0
}
{
"l" change.case$
"yes" =
{ #1 }
{ #0 }
if$
}
if$
}
FUNCTION { bold } {
duplicate$
empty$
{
pop$
""
}
{ "\textbf{" swap$ * "}" * }
if$
}
FUNCTION { emph } {
duplicate$
empty$
{
pop$
""
}
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION { paren } {
duplicate$
empty$
{
pop$
""
}
{ "(" swap$ * ")" * }
if$
}
FUNCTION { add.comma } { ", " * }
FUNCTION { add.colon } { ": " * }
FUNCTION { add.period } { add.period$ " " * }
FUNCTION { add.semicolon } { "; " * }
FUNCTION { add.space } { " " * }
FUNCTION { bbl.and } { "and" }
FUNCTION { bbl.chapter } { "Chapter" }
FUNCTION { bbl.doi } { "DOI:" }
FUNCTION { bbl.editor } { "Ed." }
FUNCTION { bbl.editors } { "Eds." }
FUNCTION { bbl.edition } { "ed." }
FUNCTION { bbl.etal } { "\latin{et~al.}" }
FUNCTION { bbl.in } { "In" }
FUNCTION { bbl.inpress } { "in press" }
FUNCTION { bbl.msc } { "M.Sc.\ thesis" }
FUNCTION { bbl.page } { "p" }
FUNCTION { bbl.pages } { "pp" }
FUNCTION { bbl.phd } { "Ph.D.\ thesis" }
FUNCTION { bbl.version } { "version" }
FUNCTION { bbl.volume } { "Vol." }
STRINGS { pages.str }
FUNCTION { hyphen.to.dash } {
'pages.str :=
""
{ pages.str empty$ not }
{
pages.str #1 #1 substring$
"-" =
{
"--" *
{
pages.str #1 #1 substring$
"-" =
}
{ pages.str #2 global.max$ substring$ 'pages.str := }
while$
}
{
pages.str #1 #1 substring$
*
pages.str #2 global.max$ substring$ 'pages.str :=
}
if$
}
while$
}
INTEGERS { multiresult.bool }
FUNCTION { multi.page.check } {
'pages.str :=
#0 'multiresult.bool :=
{
multiresult.bool not
pages.str empty$ not
and
}
{
pages.str #1 #1 substring$
duplicate$
"-" = swap$ duplicate$
"," = swap$
"+" =
or or
{ #1 'multiresult.bool := }
{ pages.str #2 global.max$ substring$ 'pages.str := }
if$
}
while$
multiresult.bool
}
INTEGERS {
current.name.int
names.separate.comma
names.separate.semicolon
names.separate.comma.bool
remaining.names.int
total.names.int
}
STRINGS {
current.name.str
names.str
}
FUNCTION { full.format.names } {
'names.str :=
#1 'current.name.int :=
names.str num.names$ 'remaining.names.int :=
{ remaining.names.int #0 > }
{
names.str current.name.int "{vv~}{ll}" format.name$
current.name.int #1 >
{
swap$ add.comma swap$
remaining.names.int #1 >
{ }
{
duplicate$
"others" =
{ bbl.etal }
{ bbl.and }
if$
add.space swap$ *
}
if$
*
}
{ }
if$
remaining.names.int #1 - 'remaining.names.int :=
current.name.int #1 + 'current.name.int :=
}
while$
}
FUNCTION { full.author } {
author empty$
{ "" }
{ author full.format.names }
if$
}
FUNCTION { full.author.editor } {
author empty$
{
editor empty$
{ "" }
{ editor full.format.names }
if$
}
{ author full.format.names }
if$
}
FUNCTION { full.editor } {
editor empty$
{ "" }
{ editor full.format.names }
if$
}
FUNCTION { short.format.names } {
'names.str :=
names.str #1 "{vv~}{ll}" format.name$
names.str num.names$
duplicate$
#2 >
{
pop$
add.space bbl.etal *
}
{
#2 <
{ }
{
names.str #2 "{ff }{vv }{ll}{ jj}" format.name$
"others" =
{ add.space bbl.etal * }
{
add.space
bbl.and add.space
*
names.str #2 "{vv~}{ll}" format.name$
*
}
if$
}
if$
}
if$
}
FUNCTION { short.author.key } {
author empty$
{
key empty$
{ cite$ #1 #3 substring$ }
{ key }
if$
}
{ author short.format.names }
if$
}
FUNCTION { short.author.editor.key } {
author empty$
{
editor empty$
{
key empty$
{ cite$ #1 #3 substring$ }
{ key }
if$
}
{ editor short.format.names }
if$
}
{ author short.format.names }
if$
}
FUNCTION { short.author.key.organization } {
author empty$
{
key empty$
{
organization empty$
{ cite$ #1 #3 substring$ }
{
organization #1 #4 substring$
"The " =
{ organization }
{ organization #5 global.max$ substring$ }
if$
#3 text.prefix$
}
if$
}
{ key }
if$
}
{ author short.format.names }
if$
}
FUNCTION { short.editor.key.organization } {
editor empty$
{
key empty$
{
organization empty$
{ cite$ #1 #3 substring$ }
{
organization #1 #4 substring$
"The " =
{ organization }
{ organization #5 global.max$ substring$ }
if$
#3 text.prefix$
}
if$
}
{ key }
if$
}
{ editor short.format.names }
if$
}
FUNCTION { calculate.full.names } {
type$ "book" =
type$ "inbook" =
or
{ full.author.editor }
{
type$ "proceedings" =
{ full.editor }
{ full.author }
if$
}
if$
}
FUNCTION { calculate.short.names } {
type$ "book" =
type$ "inbook" =
or
{ short.author.editor.key }
{
type$ "proceedings" =
{ short.editor.key.organization }
{
type$ "manual" =
{ short.author.key.organization }
{ short.author.key }
if$
}
if$
}
if$
'short.names :=
}
FUNCTION { calculate.names } {
calculate.short.names
short.names
year empty$
{ "()" }
{ "(" year * ")" * }
if$
*
'label :=
}
INTEGERS { entries.int }
FUNCTION { initialize.count.entries } {
#0 'entries.int :=
}
FUNCTION { count.entries } {
entries.int #1 + 'entries.int :=
}
FUNCTION { begin.bib } {
preamble$ empty$
{ }
{
preamble$ write$
newline$
}
if$
"\providecommand{\latin}[1]{#1}" write$
newline$
"\providecommand*\mcitethebibliography{\thebibliography}" write$
newline$
"\csname @ifundefined\endcsname{endmcitethebibliography}" write$
" {\let\endmcitethebibliography\endthebibliography}{}" write$
newline$
"\begin{mcitethebibliography}{"
entries.int int.to.str$ * "}" * write$
newline$
"\providecommand*\natexlab[1]{#1}" write$
newline$
"\providecommand*\mciteSetBstSublistMode[1]{}" write$
newline$
"\providecommand*\mciteSetBstMaxWidthForm[2]{}" write$
newline$
"\providecommand*\mciteBstWouldAddEndPuncttrue" write$
newline$
" {\def\EndOfBibitem{\unskip.}}" write$
newline$
"\providecommand*\mciteBstWouldAddEndPunctfalse" write$
newline$
" {\let\EndOfBibitem\relax}" write$
newline$
"\providecommand*\mciteSetBstMidEndSepPunct[3]{}" write$
newline$
"\providecommand*\mciteSetBstSublistLabelBeginEnd[3]{}" write$
newline$
"\providecommand*\EndOfBibitem{}" write$
newline$
"\mciteSetBstSublistMode{f}" write$
newline$
"\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}" write$
newline$
"\mciteSetBstSublistLabelBeginEnd" write$
newline$
" {\mcitemaxwidthsubitemform\space}" write$
newline$
" {\relax}" write$
newline$
" {\relax}" write$
newline$
}
FUNCTION { end.bib } {
newline$
"\end{mcitethebibliography}" write$
newline$
}
INTEGERS {
ctrl.article.title.bool
ctrl.chapter.title.bool
ctrl.etal.firstonly.bool
ctrl.etal.number.int
}
FUNCTION { initialize.control.values } {
#0 'ctrl.article.title.bool :=
#0 'ctrl.chapter.title.bool :=
#1 'ctrl.etal.firstonly.bool :=
#15 'ctrl.etal.number.int :=
}
FUNCTION { control } {
ctrl-article-title yes.no.to.bool 'ctrl.article.title.bool :=
ctrl-chapter-title yes.no.to.bool 'ctrl.chapter.title.bool :=
ctrl-etal-firstonly yes.no.to.bool 'ctrl.etal.firstonly.bool :=
ctrl-etal-number str.to.int 'ctrl.etal.number.int :=
ctrl-use-title empty$
'skip$
{ ctrl-use-title yes.no.to.bool 'ctrl.article.title.bool := }
if$
}
INTEGERS {
next.punct.comma
next.punct.period
next.punct.semicolon
next.punct.space
}
FUNCTION { initialize.tracker } {
#0 'next.punct.comma :=
#1 'next.punct.period :=
#2 'next.punct.semicolon :=
#3 'next.punct.space :=
}
INTEGERS { next.punct.int }
FUNCTION { output } {
swap$
duplicate$ empty$
{ pop$ }
{
next.punct.int next.punct.space =
{ add.space }
{
next.punct.int next.punct.comma =
{ add.comma }
{
next.punct.int next.punct.semicolon =
{ add.semicolon }
{ add.period }
if$
}
if$
}
if$
write$
}
if$
next.punct.comma 'next.punct.int :=
}
FUNCTION { begin.bibitem } {
newline$
"\bibitem" write$
label
calculate.full.names
duplicate$
short.names =
{ pop$ }
{ * }
if$
"[" swap$ * "]" * write$
"{" cite$ * "}" * write$
newline$
""
next.punct.comma 'next.punct.int :=
}
INTEGERS { add.period.length.int }
FUNCTION { would.add.period } {
duplicate$
add.period$
text.length$ 'add.period.length.int :=
duplicate$
text.length$
add.period.length.int =
{ #0 }
{ #1 }
if$
}
FUNCTION { end.bibitem } {
would.add.period
{
"\relax" * write$
newline$
"\mciteBstWouldAddEndPuncttrue" write$
newline$
"\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}" write$
newline$
"{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
}
{
"\relax" * write$
newline$
"\mciteBstWouldAddEndPunctfalse" write$
newline$
"\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}" write$
newline$
"{}{\mcitedefaultseppunct}\relax"
}
if$
write$
newline$
"\EndOfBibitem" write$
}
FUNCTION { initialize.name.separator } {
#1 'names.separate.comma :=
#0 'names.separate.semicolon :=
}
FUNCTION { format.names.loop } {
{ remaining.names.int #0 > }
{
names.str current.name.int "{vv~}{ll,}{~f.}{,~jj}" format.name$
duplicate$
'current.name.str :=
current.name.int #1 >
{
duplicate$
"others," =
{
bbl.etal
add.space
remaining.names.int #1 - 'remaining.names.int :=
}
{
swap$
names.separate.comma.bool
{ add.comma }
{ add.semicolon }
if$
swap$
*
}
if$
}
{ }
if$
remaining.names.int #1 - 'remaining.names.int :=
current.name.int #1 + 'current.name.int :=
}
while$
}
FUNCTION { format.names.all } {
total.names.int 'remaining.names.int :=
format.names.loop
}
FUNCTION { format.names.etal } {
ctrl.etal.firstonly.bool
{ #1 'remaining.names.int := }
{ ctrl.etal.number.int 'remaining.names.int := }
if$
format.names.loop
current.name.str "others," =
{ }
{
add.space
bbl.etal
add.space
*
}
if$
}
FUNCTION { format.names } {
'names.separate.comma.bool :=
'names.str :=
#1 'current.name.int :=
names.str num.names$ 'total.names.int :=
total.names.int ctrl.etal.number.int >
{
ctrl.etal.number.int #0 =
{ format.names.all }
{ format.names.etal }
if$
}
{ format.names.all }
if$
}
FUNCTION { bbl.first } { "1st" }
FUNCTION { bbl.second } { "2nd" }
FUNCTION { bbl.third } { "3rd" }
FUNCTION { bbl.fourth } { "4th" }
FUNCTION { bbl.fifth } { "5th" }
FUNCTION { bbl.st } { "st" }
FUNCTION { bbl.nd } { "nd" }
FUNCTION { bbl.rd } { "rd" }
FUNCTION { bbl.th } { "th" }
STRINGS {
ord.input.str
ord.output.str
}
FUNCTION { make.ordinal } {
duplicate$
"1" swap$
*
#-2 #1 substring$
"1" =
{
bbl.th *
}
{
duplicate$
#-1 #1 substring$
duplicate$
"1" =
{
pop$
bbl.st *
}
{
duplicate$
"2" =
{
pop$
bbl.nd *
}
{
"3" =
{ bbl.rd * }
{ bbl.th * }
if$
}
if$
}
if$
}
if$
}
FUNCTION { convert.to.ordinal } {
extract.number
"l" change.case$ 'ord.input.str :=
ord.input.str "first" = ord.input.str "1" = or
{ bbl.first 'ord.output.str := }
{
ord.input.str "second" = ord.input.str "2" = or
{ bbl.second 'ord.output.str := }
{
ord.input.str "third" = ord.input.str "3" = or
{ bbl.third 'ord.output.str := }
{
ord.input.str "fourth" = ord.input.str "4" = or
{ bbl.fourth 'ord.output.str := }
{
ord.input.str "fifth" = ord.input.str "5" = or
{ bbl.fifth 'ord.output.str := }
{
ord.input.str #1 #1 substring$
is.a.number
{ ord.input.str make.ordinal }
{ ord.input.str }
if$
'ord.output.str :=
}
if$
}
if$
}
if$
}
if$
}
if$
ord.output.str
}
FUNCTION { format.address } {
address empty$
{ }
{
address
output
}
if$
}
FUNCTION { format.authors } {
author empty$
{ }
{
author names.separate.semicolon format.names
output
next.punct.space 'next.punct.int :=
}
if$
}
FUNCTION { format.editors } {
editor empty$
{ }
{
editor names.separate.comma format.names
add.comma
editor num.names$ #1 >
{ bbl.editors }
{ bbl.editor }
if$
*
output
next.punct.semicolon 'next.punct.int :=
}
if$
}
FUNCTION { format.authors.or.editors } {
author empty$
{ format.editors }
{ format.authors }
if$
next.punct.space 'next.punct.int :=
}
FUNCTION { format.chapter } {
chapter empty$
{ }
{
bbl.chapter add.space
chapter
*
output
}
if$
}
FUNCTION { format.doi } {
next.punct.comma 'next.punct.int :=
bbl.doi add.space
doi *
output
}
FUNCTION { format.edition } {
edition empty$
{ }
{
edition convert.to.ordinal
add.space bbl.edition *
output
}
if$
next.punct.semicolon 'next.punct.int :=
}
FUNCTION { format.group.address } {
duplicate$
empty$
{ pop$ }
{
address empty$
{ }
{
add.colon
address
*
}
if$
output
}
if$
}
FUNCTION { format.howpublished } {
howpublished empty$
{ }
{
howpublished
output
}
if$
}
FUNCTION { format.journal } {
journal emph
output
next.punct.space 'next.punct.int :=
}
FUNCTION { format.journal.unpub } {
journal emph
output
}
FUNCTION { format.note } {
note empty$
{ }
{
note
output
}
if$
}
FUNCTION { format.number.series } {
series empty$
{ }
{
series
number empty$
{ }
{
add.space
number *
}
if$
output
next.punct.semicolon 'next.punct.int :=
}
if$
}
FUNCTION { format.organization } {
organization empty$
{ }
{
organization paren
output
next.punct.period 'next.punct.int :=
}
if$
}
FUNCTION { format.organization.address } {
organization format.group.address
}
FUNCTION { format.pages } {
pages empty$
{ }
{
pages multi.page.check
{
bbl.pages
pages hyphen.to.dash
}
{ bbl.page pages }
if$
tie.or.space.connect
output
}
if$
}
FUNCTION { format.pages.article } {
pages empty$
{ }
{
pages hyphen.to.dash
output
}
if$
}
FUNCTION { format.publisher.address } {
publisher format.group.address
}
FUNCTION { format.school.address } {
school
duplicate$
empty$
{ pop$ }
{
address empty$
{ }
{
add.comma
address
*
}
if$
output
}
if$
}
FUNCTION { format.title } {
title empty$
{ }
{
title
output
next.punct.period 'next.punct.int :=
}
if$
}
FUNCTION { format.title.article } {
ctrl.article.title.bool
{
title empty$
{ }
{
title
output
next.punct.period 'next.punct.int :=
}
if$
}
{ }
if$
}
FUNCTION { format.title.techreport } {
title empty$
{ }
{
title emph
output
next.punct.semicolon 'next.punct.int :=
}
if$
}
FUNCTION { format.title.booktitle } {
title empty$
{ }
{
title
output
next.punct.period 'next.punct.int :=
}
if$
booktitle empty$
{ }
{
booktitle
output
next.punct.period 'next.punct.int :=
}
if$
}
FUNCTION { format.chapter.title } {
}
STRINGS {
book.title
chapter.title
}
FUNCTION { format.title.booktitle.book } {
"" 'chapter.title :=
booktitle empty$
{
"" 'chapter.title :=
title 'book.title :=
}
{
ctrl.chapter.title.bool
{
title empty$
'skip$
{ title 'chapter.title := }
if$
}
'skip$
if$
maintitle empty$
{ booktitle 'book.title := }
{ maintitle add.period booktitle * 'book.title := }
if$
}
if$
chapter.title empty$
{ }
{
chapter.title
output
next.punct.period 'next.punct.int :=
}
if$
book.title emph
chapter.title empty$
{
author empty$
{ }
{
editor empty$
{ }
{ bbl.in add.space swap$ * }
if$
}
if$
}
{ bbl.in add.space swap$ * }
if$
output
}
FUNCTION { format.type } {
type empty$
{ }
{
pop$
type
}
if$
output
}
FUNCTION { format.type.number } {
type empty$
{ }
{
type
number empty$
{ }
{ number tie.or.space.connect }
if$
output
}
if$
}
FUNCTION { format.url } {
url empty$
{ }
{
"\url{" url * "}" *
output
}
if$
}
FUNCTION { format.year } {
year empty$
{ }
{
year
output
next.punct.semicolon 'next.punct.int :=
}
if$
}
FUNCTION { format.year.article } {
year empty$
{ }
{
year bold
output
}
if$
}
FUNCTION { format.version } {
version empty$
{ }
{
bbl.version add.space
version
*
output
}
if$
}
FUNCTION { format.volume.article } {
volume emph
output
}
FUNCTION { format.volume } {
volume empty$
{ }
{
bbl.volume
volume
tie.or.space.connect
output
next.punct.semicolon 'next.punct.int :=
}
if$
}
FUNCTION { article } {
begin.bibitem
format.authors
format.title.article
format.journal
format.year.article
format.volume.article
format.pages.article
format.note
end.bibitem
}
FUNCTION { book } {
begin.bibitem
format.authors.or.editors
format.title.booktitle.book
format.edition
author empty$
{ }
{ format.editors }
if$
format.number.series
format.publisher.address
format.year
format.volume
format.chapter
format.pages
format.note
end.bibitem
}
FUNCTION { inbook } { book }
FUNCTION { booklet } {
begin.bibitem
format.authors
format.title
format.howpublished
format.address
format.year
format.note
end.bibitem
}
FUNCTION { collection } { book }
FUNCTION { incollection } { book }
FUNCTION { inpress } {
begin.bibitem
format.authors
format.journal.unpub
doi empty$
{
bbl.inpress
output
}
{
format.year.article
format.doi
}
if$
format.note
end.bibitem
}
FUNCTION { inproceedings } {
begin.bibitem
format.authors
format.title.booktitle
format.address
format.year
format.pages
format.note
end.bibitem
}
FUNCTION { manual } {
begin.bibitem
format.authors
format.title
format.version
format.organization.address
format.year
format.note
end.bibitem
}
FUNCTION { mastersthesis } {
begin.bibitem
format.authors
format.title
bbl.msc format.type
format.school.address
format.year
format.note
end.bibitem
}
FUNCTION { misc } {
begin.bibitem
format.authors
format.title
format.howpublished
format.year
format.url
format.note
end.bibitem
}
FUNCTION { patent } {
begin.bibitem
format.authors
format.organization
format.title
format.type.number
format.year
format.note
end.bibitem
}
FUNCTION { phdthesis } {
begin.bibitem
format.authors
format.title
bbl.phd format.type
format.school.address
format.year
format.note
end.bibitem
}
FUNCTION { proceeding } {
begin.bibitem
format.title
format.address
format.year
format.pages
format.note
end.bibitem
}
FUNCTION { techreport } {
begin.bibitem
format.authors.or.editors
format.title.techreport
format.type.number
format.organization.address
format.year
format.volume
format.pages
format.note
end.bibitem
}
FUNCTION { unpublished } {
begin.bibitem
format.authors
format.journal.unpub
doi empty$
{ format.howpublished }
{
format.year
format.doi
}
if$
format.note
end.bibitem
}
FUNCTION { default.type } { misc }
MACRO { jan } { "Jan." }
MACRO { feb } { "Feb." }
MACRO { mar } { "Mar." }
MACRO { apr } { "Apr." }
MACRO { may } { "May" }
MACRO { jun } { "June" }
MACRO { jul } { "July" }
MACRO { aug } { "Aug." }
MACRO { sep } { "Sept." }
MACRO { oct } { "Oct." }
MACRO { nov } { "Nov." }
MACRO { dec } { "Dec." }
MACRO { acbcct } { "ACS Chem.\ Biol." }
MACRO { achre4 } { "Acc.\ Chem.\ Res." }
MACRO { acncdm } { "ACS Chem.\ Neurosci." }
MACRO { ancac3 } { "ACS Nano" }
MACRO { ancham } { "Anal.\ Chem." }
MACRO { bichaw } { "Biochemistry" }
MACRO { bcches } { "Bioconjugate Chem." }
MACRO { bomaf6 } { "Biomacromolecules" }
MACRO { bipret } { "Biotechnol.\ Prog." }
MACRO { crtoec } { "Chem.\ Res.\ Toxicol." }
MACRO { chreay } { "Chem.\ Rev." }
MACRO { cmatex } { "Chem.\ Mater." }
MACRO { cgdefu } { "Cryst.\ Growth Des." }
MACRO { enfuem } { "Energy Fuels" }
MACRO { esthag } { "Environ.\ Sci.\ Technol." }
MACRO { iechad } { "Ind.\ Eng.\ Chem.\ Res." }
MACRO { inoraj } { "Inorg.\ Chem." }
MACRO { jafcau } { "J.~Agric.\ Food Chem." }
MACRO { jceaax } { "J.~Chem.\ Eng.\ Data" }
MACRO { jceda8 } { "J.~Chem.\ Ed." }
MACRO { jcisd8 } { "J.~Chem.\ Inf.\ Model." }
MACRO { jctcce } { "J.~Chem.\ Theory Comput." }
MACRO { jcchff } { "J. Comb. Chem." }
MACRO { jmcmar } { "J. Med. Chem." }
MACRO { jnprdf } { "J. Nat. Prod." }
MACRO { joceah } { "J.~Org.\ Chem." }
MACRO { jpcafh } { "J.~Phys.\ Chem.~A" }
MACRO { jpcbfk } { "J.~Phys.\ Chem.~B" }
MACRO { jpccck } { "J.~Phys.\ Chem.~C" }
MACRO { jpclcd } { "J.~Phys.\ Chem.\ Lett." }
MACRO { jprobs } { "J.~Proteome Res." }
MACRO { jacsat } { "J.~Am.\ Chem.\ Soc." }
MACRO { langd5 } { "Langmuir" }
MACRO { mamobx } { "Macromolecules" }
MACRO { mpohbp } { "Mol.\ Pharm." }
MACRO { nalefd } { "Nano Lett." }
MACRO { orlef7 } { "Org.\ Lett." }
MACRO { oprdfk } { "Org.\ Proc.\ Res.\ Dev." }
MACRO { orgnd7 } { "Organometallics" }
READ
EXECUTE { initialize.control.values }
EXECUTE { initialize.count.entries }
EXECUTE { initialize.name.separator }
EXECUTE { initialize.tracker }
ITERATE { calculate.names }
ITERATE { count.entries }
EXECUTE { begin.bib }
ITERATE { call.type$ }
EXECUTE { end.bib }
%%
%% Originally developed by Mats Dahlgren
%% Copyright (C) 1996-1998 by Mats Dahlgren
%% Copyright (C) 2008-2014 by
%% Joseph Wright <joseph.wright@morningstar2.co.uk>
%%
%% Part of this bundle is derived from cite.sty, to which the
%% following license applies:
%% Copyright (C) 1989-2009 by Donald Arseneau
%% These macros may be freely transmitted, reproduced, or
%% modified provided that this notice is left intact.
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
%% this license or (at your option) any later version. The latest
%% version of this license is in the file:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% This work is "maintained" (as per LPPL maintenance status) by
%% Joseph Wright.
%%
%% This work consists of the file achemso.dtx
%% and the derived files achemso.cls,
%% achemso.ins,
%% achemso.pdf,
%% achemso.sty,
%% achemso-demo.bib,
%% achemso-demo.tex,
%% natmove.sty and
%% a number of configuration files.
%%
%%
%% End of file `achemso.bst'.