summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemso.bst1074
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemsol.bst1105
-rw-r--r--Master/texmf-dist/doc/latex/achemso/README16
-rw-r--r--Master/texmf-dist/doc/latex/achemso/achemso.dvibin35300 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/achemso/achemso.pdfbin0 -> 188948 bytes
-rw-r--r--Master/texmf-dist/doc/latex/achemso/acslist.dvibin272 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/achemso/acslist.tex21
-rw-r--r--Master/texmf-dist/source/latex/achemso/00readme.acs31
-rw-r--r--Master/texmf-dist/source/latex/achemso/achemso.dtx2965
-rw-r--r--Master/texmf-dist/source/latex/achemso/achemso.ins79
-rw-r--r--Master/texmf-dist/tex/latex/achemso/achemso.sty116
-rw-r--r--Master/texmf-dist/tpm/achemso.tpm14
-rw-r--r--Master/texmf/lists/achemso6
13 files changed, 2372 insertions, 3055 deletions
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemso.bst b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
index fa59deec2ac..5ab72d0fa8f 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
@@ -1,27 +1,31 @@
-%%
+%%
%% This is file `achemso.bst',
%% generated with the docstrip utility.
-%%
+%%
%% The original source files were:
-%%
-%% achemso.dtx (with options: `huvudkod')
-%%
-%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
-%% All rights reserved. See the file `achemso.ins' for information
-%% on how you may (re-)distribute the `achemso' package files.
-%%
+%%
+%% achemso.dtx (with options: `bib')
+%% ----------------------------------------------------------------
+%% The achemso package - A BibTeX style for American Chemical
+%% Society publications
+%% Maintained by Joseph A. Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Originally developed by Mats Dahlgren
+%% (c) 1996-98 by Mats Dahlgren
+%% (c) 2007 Joseph Wright
+%% Released under the LaTeX Project Public license v1.3 or later
+%% ----------------------------------------------------------------
ENTRY
{ address
author
booktitle
chapter
+ doi
edition
editor
howpublished
institution
journal
- key
- month
note
number
organization
@@ -33,36 +37,50 @@ ENTRY
type
volume
year
- annotate
}
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
+ #4 'after.item :=
}
+FUNCTION {add.comma}
+{ ", " * }
+
+FUNCTION {add.semicolon}
+{ "; " * }
+
+FUNCTION {add.colon}
+{ ": " * }
+
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
- { " " * write$ }
+ { add.comma write$ }
{ output.state after.block =
- { ", " * write$
- newline$
- "\newblock " write$
-}
-{ output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
-}
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -80,7 +98,7 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
@@ -95,12 +113,6 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
FUNCTION {new.block}
{ output.state before.all =
'skip$
@@ -108,10 +120,11 @@ FUNCTION {new.block}
if$
}
-FUNCTION {new.sentence}
-{ skip$
+FUNCTION {fin.entry}
+{ add.period$
+ write$
+ newline$
}
-
FUNCTION {not}
{ { #0 }
{ #1 }
@@ -130,22 +143,6 @@ FUNCTION {or}
if$
}
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
@@ -156,176 +153,388 @@ FUNCTION {field.or.null}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * "}" * }
+ { "\emph{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizec}
+FUNCTION {boldface}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ",}" * }
+ { "\textbf{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizesc}
+FUNCTION {paren}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ";}" * }
+ { "(" swap$ * ")" * }
if$
}
-FUNCTION {slantc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textsl{" swap$ * ",}" * }
+FUNCTION {bbl.and}
+{ "and" }
+
+FUNCTION {bbl.chapter}
+{ "Chapter" }
+
+FUNCTION {bbl.editor}
+{ "Ed." }
+
+FUNCTION {bbl.editors}
+{ "Eds." }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.etal}
+{ "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.submitted}
+{ "submitted for publication" }
+
+FUNCTION {bbl.techreport}
+{ "Technical Report" }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+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" }
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION{is.a.digit}
+{ duplicate$ "" =
+ {pop$ #0}
+ {chr.to.int$ #48 - duplicate$
+ #0 < swap$ #9 > or not}
if$
}
-FUNCTION {emboldenc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textbf{" swap$ * ",}" * }
+FUNCTION{is.a.number}
+{
+ { duplicate$ #1 #1 substring$ is.a.digit }
+ {#2 global.max$ substring$}
+ while$
+ "" =
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.a.number
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ { pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.a.number
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
-INTEGERS { etal }
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
+ numnames 'namesleft :=
numnames #15 >
- s numnames "{ll}" format.name$ "others" = numnames #1 > and
- or 'etal :=
- etal
- { #1 #1 + 'namesleft := }
- { numnames 'namesleft := }
- if$
- { namesleft #0 > }
- { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
- nameptr #1 >
-{ namesleft #1 >
- { ";\ \ " * t * }
- { nameptr #2 >
-{ "" * }
-'skip$
- if$
- t "others" =
- etal or
-{ " \textit{et al.}\ " * }
-{ ";\ \ " * t * }
- if$
+ { s #1 "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ t bbl.etal space.connect
}
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
if$
}
-'t
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
FUNCTION {format.authors}
{ author empty$
{ "" }
- { author format.names }
+ { #1 'author.or.editor :=
+ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
- { editor format.names
+ { #2 'author.or.editor :=
+ editor format.names
+ add.comma
editor num.names$ #1 >
-{ ",\ \ Eds.; " * }
-{ ",\ \ Ed.; " * }
+ { bbl.editors }
+ { bbl.editor }
if$
+ *
}
if$
}
-FUNCTION {n.dashify}
+FUNCTION {n.separate.multi}
{ 't :=
""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
-{ t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
-{ "-" *
- t #2 global.max$ substring$ 't :=
-}
+ #0 'numnames :=
+ t text.length$ #4 > t is.a.number and
+ {
+ { t empty$ not }
+ { t #-1 #1 substring$ is.a.number
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #4 =
+ { duplicate$ #1 #1 substring$ swap$
+ #2 global.max$ substring$
+ "," swap$ * *
+ #1 'numnames :=
+ }
+ 'skip$
+ if$
+ }
while$
}
+ { t swap$ * }
if$
}
-{ t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
-}
- if$
- }
- while$
-}
-FUNCTION {format.date}
-{ year empty$
+FUNCTION {format.bvolume}
+{ volume empty$
{ "" }
- 'year
+ { bbl.volume volume tie.or.space.connect }
if$
}
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
-
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
if$
}
-FUNCTION {format.bvolume}
-{ volume empty$
+FUNCTION {format.title}
+{ 't :=
+ t empty$
{ "" }
- { "volume" volume tie.or.space.connect
- series empty$
-'skip$
-{ " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
+ { t emphasize }
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
-{ series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { series " " * number * "; " * }
+ { series field.or.null }
+ { series empty$
+ { "There is a number but no series in " cite$ * warning$ }
+ { series number space.connect }
+ if$
+ }
+ if$
+ }
+ { "" }
if$
}
+
+FUNCTION {n.dashify} { 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
if$
}
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
{ "" }
+ { year boldface }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "There's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { edition " ed.;" * }
+{ edition duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
if$
}
@@ -343,8 +552,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
-{ #1 'multiresult := }
-{ t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -355,343 +564,311 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
-{ "pages" pages n.dashify tie.or.space.connect }
-{ "page" pages tie.or.space.connect }
- if$
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
}
if$
}
-FUNCTION {format.pages.a}
+FUNCTION {format.pages.required}
{ pages empty$
- { "" }
- { "page" pages tie.or.space.connect }
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
if$
}
-FUNCTION {format.yr.vol.pages}
-{ year field.or.null emboldenc
- " " swap$ * *
- volume field.or.null slantc
- " " swap$ * *
- pages empty$
- 'skip$
- { duplicate$ empty$
-{ pop$ format.pages.a }
-{ " " * pages * }
+FUNCTION {format.pages.nopp}
+{ pages empty$
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { pages n.dashify space.connect }
+ { pages space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.patent}
+{ pages empty$
+ { "There is no patent number for " cite$ * warning$ }
+ { pages multi.page.check
+ { pages n.dashify }
+ { pages n.separate.multi }
if$
}
if$
}
+FUNCTION {format.vol.pages}
+{ volume emphasize field.or.null
+ duplicate$ empty$
+ { pop$ format.pages.required }
+ { add.comma pages n.dashify * }
+ if$
+}
+
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
-{ "Chapter" }
-{ type "l" change.case$ }
+ { bbl.chapter }
+ { type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
-'skip$
-{ ", " * format.pages * }
+ 'skip$
+ { add.comma format.pages * }
if$
}
if$
}
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis}
-{ type empty$
- {"Thesis,"}
- {type " thesis," * }
- if$
-}
-
-FUNCTION {format.article.crossref}
-{ key empty$
- { journal empty$
-{ "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
-}
-{ "In " journal * }
- if$
+FUNCTION {format.title.in}
+{ 's :=
+ s empty$
+ { "" }
+ { editor empty$
+ { bbl.in s format.title space.connect }
+ { bbl.in s format.title space.connect
+ add.semicolon format.editors *
+ }
+ if$
}
- { "In " key * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
-'skip$
-{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
-}
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
if$
}
if$
}
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- "In "
- }
- { "Volume" volume tie.or.space.connect
- " of " *
- }
- if$
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
-{ series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "\textit{" * series * "}" * }
- if$
-}
-{ key * }
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
if$
}
- { format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {format.incoll.inproc.crossref}
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
-{ booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In \textit{" booktitle * ",}" * }
- if$
-}
-{ "In " key * }
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
if$
}
- { "In " format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {in.book}
- { "In " output
- booktitle emphasize
- volume empty$
- {skip$}
- {", Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
- editor missing$
- { skip$ }
- { format.editors output }
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$
+ and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
if$
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
}
-FUNCTION {book.vol.ed}
-{ "" volume empty$
- {skip$}
- {" Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
if$
}
-FUNCTION {thesis.affilation}
-{ school "," * "school" output.check
- institution empty$
+FUNCTION {format.thesis.type}
+{ type empty$
'skip$
- {institution "," * output}
+ { pop$
+ type emphasize
+ }
if$
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
- crossref missing$
- { journal field.or.null emphasize
- format.yr.vol.pages
- output
- }
- { format.article.crossref output.nonnull
- format.pages output
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ after.item 'output.state :=
+ format.date "year" output.check
+ volume empty$
+ { ""
+ format.pages.nopp output
}
+ { format.vol.pages output }
if$
note output
fin.entry
}
-FUNCTION {submitted}
+FUNCTION {book}
{ output.bibitem
- format.authors "author" output.check
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ new.block
+ editor empty$
+ { "Need either an author or editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ "author and editor" editor either.or.check
+ booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ }
+ if$
+ format.edition output
+ new.block
+ format.number.series output
new.block
- "submitted for publication in" output
- note empty$
- { journal emphasize "journal" output.check }
- { journal emphasizec "journal" output.check
- note output }
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ pages empty$
+ 'skip$
+ { format.pages output }
if$
+ note output
fin.entry
}
-FUNCTION {inpress}
+FUNCTION {booklet}
{ output.bibitem
- format.authors "author" output.check
- journal emphasizec "journal" output.check
- "in press" output
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
note output
fin.entry
}
-FUNCTION {book}
+FUNCTION {inbook}
{ output.bibitem
author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
-{ "author and editor" editor either.or.check }
-'skip$
- if$
+ { title format.title "title" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
}
- if$
- booktitle empty$
- { title emphasizesc output }
- { booktitle emphasizesc output }
- if$
- crossref missing$
- { format.bvolume output
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
+ { format.authors output
+ after.item 'output.state :=
+ title format.title.in "title" output.check
}
- { format.book.crossref output.nonnull }
if$
format.edition output
- format.date "year" output.check
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
fin.entry
}
-FUNCTION {booklet}
+FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- " ``" title * "'', " * "title" output.check
- howpublished empty$
- { skip$ }
- { howpublished "," * output}
- if$
- address empty$
- { skip$ }
- { address "," * output}
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ }
if$
- format.date "year" output.check
+ format.edition output
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
fin.entry
}
-FUNCTION {inbook}
+FUNCTION {inpress}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- chapter empty$
- {format.date "year" output.check}
- {year empty$
- { "empty year field in " * cite$ * warning$ }
- { year "; " * output
- format.chapter.pages output }
- if$
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ doi empty$
+ { bbl.inpress output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
}
if$
note output
fin.entry
}
-FUNCTION {incollection}
+FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- format.date "year" output.check
+ after.item 'output.state :=
+ booktitle format.title.noemph "booktitle" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
note output
fin.entry
}
-FUNCTION {inproceedings} { inbook }
-
-FUNCTION {conference} { inbook }
-
FUNCTION {manual}
{ output.bibitem
- author empty$
- { organization empty$
-'skip$
-{ organization ", " * address * output
-}
- if$
- }
- { format.authors output.nonnull }
- if$
- "``" title * "'', " * "title" output.check
- author empty$
- { organization empty$
-{ address empty$
- 'skip$
- { address "," * output }
- if$
-}
-'skip$
- if$
- }
- { organization empty$
- 'skip$
- { organization "," * output
- address empty$
- 'skip$
- { address "," * output }
- if$
- }
- if$
- }
- if$
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ format.organization.address output
format.edition output
- format.date output
+ format.bdate output
note output
fin.entry
}
@@ -699,10 +876,10 @@ FUNCTION {manual}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- "``" title * "'', " * "title" output.check
- "Master's thesis, " output
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.msc format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
fin.entry
}
@@ -710,81 +887,82 @@ FUNCTION {mastersthesis}
FUNCTION {misc}
{ output.bibitem
format.authors output
- title empty$
- 'skip$
- { "``" title * "'', " * output }
- if$
- howpublished empty$
- 'skip$
- {howpublished "," * output }
- if$
- format.date output
+ after.item 'output.state :=
+ title format.title output
+ howpublished output
+ year output
note output
fin.entry
empty.misc.check
}
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- title emphasizec "title" output.check
- format.thesis output.nonnull
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.phd format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
- editor empty$
- { organization output }
- { format.editors output.nonnull }
- if$
- booktitle empty$
- { title emphasizec output }
- { booktitle emphasizec output }
- if$
- book.vol.ed
- format.number.series output
- publisher empty$
- { address empty$
- { format.date "year" output.check }
- { address "," * output
- format.date "year" output.check }
- if$
- }
- { address empty$
- { publisher "," * output
- format.date "year" output.check }
- { publisher ": " * address * "," * output
- format.date "year" output.check }
- if$
- }
+ title format.title.noemph "title" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
if$
note output
fin.entry
}
+FUNCTION {remark}
+{ output.bibitem
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {submitted}
+{ output.bibitem
+ format.authors "author" output.check
+ bbl.submitted output
+ fin.entry
+}
+
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
- "``" title * "'', " * "title" output.check
+ after.item 'output.state :=
+ title format.title "title" output.check
+ institution
type empty$
- { "Technical Report" }
+ 'bbl.techreport
'type
if$
+ space.connect
number empty$
- { ", " * }
- { " " * number * "," * }
+ { "t" change.case$ }
+ { number tie.or.space.connect }
if$
- output.nonnull
- institution "," * "institution" output.check
- address empty$
- { skip$ }
- { address "," * output }
- if$
- format.date "year" output.check
+ output
+ format.pub.address output
+ format.bdate "year" output.check
note output
fin.entry
}
@@ -792,23 +970,27 @@ FUNCTION {techreport}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
- note empty$
- { "Unpublished data" output }
- { year empty$
- { note output }
- { note ", " * year * output }
- if$ }
+ after.item 'output.state :=
+ journal empty$
+ 'skip$
+ { journal emphasize "journal" output.check }
+ if$
+ doi empty$
+ { note output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
+ }
if$
fin.entry
+ empty.doi.note
}
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
+FUNCTION {conference} {inproceedings}
+
+FUNCTION {other} {patent}
-FUNCTION {default.type} { misc }
+FUNCTION {default.type} {misc}
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
@@ -851,13 +1033,16 @@ MACRO {joc} {"J.~Org.\ Chem."}
MACRO {jps} {"J.~Pharm.\ Sci."}
MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
MACRO {jpc} {"J.~Phys.\ Chem."}
+MACRO {jpca} {"J.~Phys.\ Chem.~A"}
+MACRO {jpcb} {"J.~Phys.\ Chem.~B"}
MACRO {lang} {"Langmuir"}
MACRO {macro} {"Macromolecules"}
MACRO {orgmet} {"Organometallics"}
+MACRO {orglett} {"Org.\ Lett."}
MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
-MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
-MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
+MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans.\ 1"}
+MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans.\ 2"}
MACRO {tfs} {"Trans.\ Faraday Soc."}
MACRO {jcis} {"J.~Colloid Interface Sci."}
MACRO {acis} {"Adv.~Colloid Interface Sci."}
@@ -868,10 +1053,12 @@ MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
MACRO {jmr} {"J.~Magn.\ Reson."}
MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
-MACRO {sci} {"Science"}
+MACRO {sci} {"Science (Washington,~D.C.)"}
MACRO {nat} {"Nature (London)"}
MACRO {jcch} {"J.~Comput.\ Chem."}
MACRO {cca} {"Croat.\ Chem.\ Acta"}
+MACRO {angew} {"Angew.\ Chem.\ Int.\ Ed."}
+MACRO {chemeurj} {"Chem.--Eur.\ J."}
MACRO {poly} {"Polymer"}
MACRO {ajp} {"Am.\ J.\ Phys."}
@@ -940,4 +1127,5 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
%%
+%%
%% End of file `achemso.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
index 76dd071dd1c..287c8fb78c7 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
@@ -1,27 +1,32 @@
-%%
+%%
%% This is file `achemsol.bst',
%% generated with the docstrip utility.
-%%
+%%
%% The original source files were:
-%%
-%% achemso.dtx (with options: `listhuvudkod')
-%%
-%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
-%% All rights reserved. See the file `achemso.ins' for information
-%% on how you may (re-)distribute the `achemso' package files.
-%%
+%%
+%% achemso.dtx (with options: `bib,list')
+%% ----------------------------------------------------------------
+%% The achemso package - A BibTeX style for American Chemical
+%% Society publications
+%% Maintained by Joseph A. Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Originally developed by Mats Dahlgren
+%% (c) 1996-98 by Mats Dahlgren
+%% (c) 2007 Joseph Wright
+%% Released under the LaTeX Project Public license v1.3 or later
+%% ----------------------------------------------------------------
ENTRY
{ address
+ annotate
author
booktitle
chapter
+ doi
edition
editor
howpublished
institution
journal
- key
- month
note
number
organization
@@ -33,36 +38,50 @@ ENTRY
type
volume
year
- annotate
}
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
+ #4 'after.item :=
}
+FUNCTION {add.comma}
+{ ", " * }
+
+FUNCTION {add.semicolon}
+{ "; " * }
+
+FUNCTION {add.colon}
+{ ": " * }
+
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
- { " " * write$ }
+ { add.comma write$ }
{ output.state after.block =
- { ", " * write$
- newline$
- "\newblock " write$
-}
-{ output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
-}
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -80,7 +99,7 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
@@ -95,12 +114,6 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
FUNCTION {new.block}
{ output.state before.all =
'skip$
@@ -108,10 +121,20 @@ FUNCTION {new.block}
if$
}
-FUNCTION {new.sentence}
-{ skip$
+FUNCTION {add.note}
+{ annotate empty$
+ 'skip$
+ { new.block
+ "{\footnotesize " annotate * "}" * output }
+ if$
}
+FUNCTION {fin.entry}
+{ add.note
+ add.period$
+ write$
+ newline$
+}
FUNCTION {not}
{ { #0 }
{ #1 }
@@ -130,22 +153,6 @@ FUNCTION {or}
if$
}
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
@@ -156,176 +163,388 @@ FUNCTION {field.or.null}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * "}" * }
+ { "\emph{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizec}
+FUNCTION {boldface}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ",}" * }
+ { "\textbf{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizesc}
+FUNCTION {paren}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ";}" * }
+ { "(" swap$ * ")" * }
if$
}
-FUNCTION {slantc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textsl{" swap$ * ",}" * }
+FUNCTION {bbl.and}
+{ "and" }
+
+FUNCTION {bbl.chapter}
+{ "Chapter" }
+
+FUNCTION {bbl.editor}
+{ "Ed." }
+
+FUNCTION {bbl.editors}
+{ "Eds." }
+
+FUNCTION {bbl.edition}
+{ "ed." }
+
+FUNCTION {bbl.etal}
+{ "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.submitted}
+{ "submitted for publication" }
+
+FUNCTION {bbl.techreport}
+{ "Technical Report" }
+
+FUNCTION {bbl.volume}
+{ "Vol." }
+
+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" }
+
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION{is.a.digit}
+{ duplicate$ "" =
+ {pop$ #0}
+ {chr.to.int$ #48 - duplicate$
+ #0 < swap$ #9 > or not}
if$
}
-FUNCTION {emboldenc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textbf{" swap$ * ",}" * }
+FUNCTION{is.a.number}
+{
+ { duplicate$ #1 #1 substring$ is.a.digit }
+ {#2 global.max$ substring$}
+ while$
+ "" =
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.a.number
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
if$
}
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ { pop$ pop$
+ ""
+ }
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
+ if$
+ }
+ if$
+}
-INTEGERS { etal }
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.a.number
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ t
+}
+
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$ * *
+}
+
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
FUNCTION {format.names}
{ 's :=
#1 'nameptr :=
s num.names$ 'numnames :=
+ numnames 'namesleft :=
numnames #15 >
- s numnames "{ll}" format.name$ "others" = numnames #1 > and
- or 'etal :=
- etal
- { #1 #1 + 'namesleft := }
- { numnames 'namesleft := }
- if$
- { namesleft #0 > }
- { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
- nameptr #1 >
-{ namesleft #1 >
- { ";\ \ " * t * }
- { nameptr #2 >
-{ "" * }
-'skip$
- if$
- t "others" =
- etal or
-{ " \textit{et al.}\ " * }
-{ ";\ \ " * t * }
- if$
+ { s #1 "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ t bbl.etal space.connect
}
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
if$
}
-'t
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
FUNCTION {format.authors}
{ author empty$
{ "" }
- { author format.names }
+ { #1 'author.or.editor :=
+ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ "" }
- { editor format.names
+ { #2 'author.or.editor :=
+ editor format.names
+ add.comma
editor num.names$ #1 >
-{ ",\ \ Eds.; " * }
-{ ",\ \ Ed.; " * }
+ { bbl.editors }
+ { bbl.editor }
if$
+ *
}
if$
}
-FUNCTION {n.dashify}
+FUNCTION {n.separate.multi}
{ 't :=
""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
-{ t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
-{ "-" *
- t #2 global.max$ substring$ 't :=
-}
+ #0 'numnames :=
+ t text.length$ #4 > t is.a.number and
+ {
+ { t empty$ not }
+ { t #-1 #1 substring$ is.a.number
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #4 =
+ { duplicate$ #1 #1 substring$ swap$
+ #2 global.max$ substring$
+ "," swap$ * *
+ #1 'numnames :=
+ }
+ 'skip$
+ if$
+ }
while$
}
+ { t swap$ * }
if$
}
-{ t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
-}
- if$
- }
- while$
-}
-FUNCTION {format.date}
-{ year empty$
+FUNCTION {format.bvolume}
+{ volume empty$
{ "" }
- 'year
- if$
-}
-
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
+ { bbl.volume volume tie.or.space.connect }
if$
- swap$ * *
}
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
if$
}
-FUNCTION {format.bvolume}
-{ volume empty$
+FUNCTION {format.title}
+{ 't :=
+ t empty$
{ "" }
- { "volume" volume tie.or.space.connect
- series empty$
-'skip$
-{ " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
+ { t emphasize }
if$
}
FUNCTION {format.number.series}
{ volume empty$
{ number empty$
-{ series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { series " " * number * "; " * }
+ { series field.or.null }
+ { series empty$
+ { "There is a number but no series in " cite$ * warning$ }
+ { series number space.connect }
+ if$
+ }
+ if$
+ }
+ { "" }
if$
}
+
+FUNCTION {n.dashify} { 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
if$
}
+ while$
+}
+
+FUNCTION {format.date}
+{ year empty$
{ "" }
+ { year boldface }
+ if$
+}
+
+FUNCTION {format.bdate}
+{ year empty$
+ { "There's no year in " cite$ * warning$ }
+ 'year
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ 'pop$
+ { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { edition " ed.;" * }
+{ edition duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
if$
}
@@ -343,8 +562,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
-{ #1 'multiresult := }
-{ t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -355,483 +574,433 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
-{ "pages" pages n.dashify tie.or.space.connect }
-{ "page" pages tie.or.space.connect }
- if$
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
}
if$
}
-FUNCTION {format.pages.a}
+FUNCTION {format.pages.required}
{ pages empty$
- { "" }
- { "page" pages tie.or.space.connect }
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
if$
}
-FUNCTION {format.yr.vol.pages}
-{ year field.or.null emboldenc
- " " swap$ * *
- volume field.or.null slantc
- " " swap$ * *
- pages empty$
- 'skip$
- { duplicate$ empty$
-{ pop$ format.pages.a }
-{ " " * pages * }
+FUNCTION {format.pages.nopp}
+{ pages empty$
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { pages n.dashify space.connect }
+ { pages space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.patent}
+{ pages empty$
+ { "There is no patent number for " cite$ * warning$ }
+ { pages multi.page.check
+ { pages n.dashify }
+ { pages n.separate.multi }
if$
}
if$
}
+FUNCTION {format.vol.pages}
+{ volume emphasize field.or.null
+ duplicate$ empty$
+ { pop$ format.pages.required }
+ { add.comma pages n.dashify * }
+ if$
+}
+
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
-{ "Chapter" }
-{ type "l" change.case$ }
+ { bbl.chapter }
+ { type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
-'skip$
-{ ", " * format.pages * }
+ 'skip$
+ { add.comma format.pages * }
if$
}
if$
}
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis}
-{ type empty$
- {"Thesis,"}
- {type " thesis," * }
- if$
-}
-
-FUNCTION {format.article.crossref}
-{ key empty$
- { journal empty$
-{ "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
-}
-{ "In " journal * }
- if$
+FUNCTION {format.title.in}
+{ 's :=
+ s empty$
+ { "" }
+ { editor empty$
+ { bbl.in s format.title space.connect }
+ { bbl.in s format.title space.connect
+ add.semicolon format.editors *
+ }
+ if$
}
- { "In " key * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
-'skip$
-{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
-}
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
if$
}
if$
}
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- "In "
- }
- { "Volume" volume tie.or.space.connect
- " of " *
- }
- if$
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
-{ series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "\textit{" * series * "}" * }
- if$
-}
-{ key * }
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
if$
}
- { format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {format.incoll.inproc.crossref}
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
-{ booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In \textit{" booktitle * ",}" * }
- if$
-}
-{ "In " key * }
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
if$
}
- { "In " format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {in.book}
- { "In " output
- booktitle emphasize
- volume empty$
- {skip$}
- {", Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
- editor missing$
- { skip$ }
- { format.editors output }
- if$
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
-}
-
-FUNCTION {book.vol.ed}
-{ "" volume empty$
- {skip$}
- {" Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$
+ and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
if$
}
-FUNCTION {thesis.affilation}
-{ school "," * "school" output.check
- institution empty$
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
'skip$
- {institution "," * output}
if$
}
-FUNCTION {add.note}
-{ annotate empty$
+FUNCTION {format.thesis.type}
+{ type empty$
'skip$
- { new.block
- "{\footnotesize " annotate * "}" * output }
+ { pop$
+ type emphasize
+ }
if$
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
- crossref missing$
- { journal field.or.null emphasize
- format.yr.vol.pages
- output
- }
- { format.article.crossref output.nonnull
- format.pages output
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ after.item 'output.state :=
+ format.date "year" output.check
+ volume empty$
+ { ""
+ format.pages.nopp output
}
+ { format.vol.pages output }
if$
note output
- add.note
fin.entry
}
-FUNCTION {submitted}
+FUNCTION {book}
{ output.bibitem
- format.authors "author" output.check
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ new.block
+ editor empty$
+ { "Need either an author or editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ "author and editor" editor either.or.check
+ booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ }
+ if$
+ format.edition output
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
new.block
- "submitted for publication in" output
- note empty$
- { journal emphasize "journal" output.check }
- { journal emphasizec "journal" output.check
- note output }
+ format.bvolume output
+ pages empty$
+ 'skip$
+ { format.pages output }
if$
- add.note
+ note output
fin.entry
}
-FUNCTION {inpress}
+FUNCTION {booklet}
{ output.bibitem
- format.authors "author" output.check
- journal emphasizec "journal" output.check
- "in press" output
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
note output
- add.note
fin.entry
}
-FUNCTION {book}
+FUNCTION {inbook}
{ output.bibitem
author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
-{ "author and editor" editor either.or.check }
-'skip$
- if$
+ { title format.title "title" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
}
- if$
- booktitle empty$
- { title emphasizesc output }
- { booktitle emphasizesc output }
- if$
- crossref missing$
- { format.bvolume output
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
+ { format.authors output
+ after.item 'output.state :=
+ title format.title.in "title" output.check
}
- { format.book.crossref output.nonnull }
if$
format.edition output
- format.date "year" output.check
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
- add.note
fin.entry
}
-FUNCTION {booklet}
+FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- " ``" title * "'', " * "title" output.check
- howpublished empty$
- { skip$ }
- { howpublished "," * output}
- if$
- address empty$
- { skip$ }
- { address "," * output}
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ }
if$
- format.date "year" output.check
+ format.edition output
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
- add.note
fin.entry
}
-FUNCTION {inbook}
+FUNCTION {inpress}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- chapter empty$
- {format.date "year" output.check}
- {year empty$
- { "empty year field in " * cite$ * warning$ }
- { year "; " * output
- format.chapter.pages output }
- if$
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ doi empty$
+ { bbl.inpress output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
}
if$
note output
- add.note
fin.entry
}
-FUNCTION {incollection}
+FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- format.date "year" output.check
+ after.item 'output.state :=
+ booktitle format.title.noemph "booktitle" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
note output
- add.note
fin.entry
}
-FUNCTION {inproceedings} { inbook }
-
-FUNCTION {conference} { inbook }
-
FUNCTION {manual}
{ output.bibitem
- author empty$
- { organization empty$
-'skip$
-{ organization ", " * address * output
-}
- if$
- }
- { format.authors output.nonnull }
- if$
- "``" title * "'', " * "title" output.check
- author empty$
- { organization empty$
-{ address empty$
- 'skip$
- { address "," * output }
- if$
-}
-'skip$
- if$
- }
- { organization empty$
- 'skip$
- { organization "," * output
- address empty$
- 'skip$
- { address "," * output }
- if$
- }
- if$
- }
- if$
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ format.organization.address output
format.edition output
- format.date output
+ format.bdate output
note output
- add.note
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- "``" title * "'', " * "title" output.check
- "Master's thesis, " output
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.msc format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
FUNCTION {misc}
{ output.bibitem
format.authors output
- title empty$
- 'skip$
- { "``" title * "'', " * output }
- if$
- howpublished empty$
- 'skip$
- {howpublished "," * output }
- if$
- format.date output
+ after.item 'output.state :=
+ title format.title output
+ howpublished output
+ year output
note output
- add.note
fin.entry
empty.misc.check
}
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- title emphasizec "title" output.check
- format.thesis output.nonnull
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.phd format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
FUNCTION {proceedings}
{ output.bibitem
- editor empty$
- { organization output }
- { format.editors output.nonnull }
- if$
- booktitle empty$
- { title emphasizec output }
- { booktitle emphasizec output }
- if$
- book.vol.ed
- format.number.series output
- publisher empty$
- { address empty$
- { format.date "year" output.check }
- { address "," * output
- format.date "year" output.check }
- if$
- }
- { address empty$
- { publisher "," * output
- format.date "year" output.check }
- { publisher ": " * address * "," * output
- format.date "year" output.check }
- if$
- }
+ title format.title.noemph "title" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
if$
note output
- add.note
+ fin.entry
+}
+
+FUNCTION {remark}
+{ output.bibitem
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {submitted}
+{ output.bibitem
+ format.authors "author" output.check
+ bbl.submitted output
fin.entry
}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
- "``" title * "'', " * "title" output.check
+ after.item 'output.state :=
+ title format.title "title" output.check
+ institution
type empty$
- { "Technical Report" }
+ 'bbl.techreport
'type
if$
+ space.connect
number empty$
- { ", " * }
- { " " * number * "," * }
+ { "t" change.case$ }
+ { number tie.or.space.connect }
if$
- output.nonnull
- institution "," * "institution" output.check
- address empty$
- { skip$ }
- { address "," * output }
- if$
- format.date "year" output.check
+ output
+ format.pub.address output
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
- note empty$
- { "Unpublished data" output }
- { year empty$
- { note output }
- { note ", " * year * output }
- if$ }
- if$
- add.note
+ after.item 'output.state :=
+ journal empty$
+ 'skip$
+ { journal emphasize "journal" output.check }
+ if$
+ doi empty$
+ { note output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
+ }
+ if$
fin.entry
+ empty.doi.note
}
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- add.note
- fin.entry
-}
+FUNCTION {conference} {inproceedings}
+
+FUNCTION {other} {patent}
-FUNCTION {default.type} { misc }
+FUNCTION {default.type} {misc}
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
@@ -874,13 +1043,16 @@ MACRO {joc} {"J.~Org.\ Chem."}
MACRO {jps} {"J.~Pharm.\ Sci."}
MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
MACRO {jpc} {"J.~Phys.\ Chem."}
+MACRO {jpca} {"J.~Phys.\ Chem.~A"}
+MACRO {jpcb} {"J.~Phys.\ Chem.~B"}
MACRO {lang} {"Langmuir"}
MACRO {macro} {"Macromolecules"}
MACRO {orgmet} {"Organometallics"}
+MACRO {orglett} {"Org.\ Lett."}
MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
-MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
-MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
+MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans.\ 1"}
+MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans.\ 2"}
MACRO {tfs} {"Trans.\ Faraday Soc."}
MACRO {jcis} {"J.~Colloid Interface Sci."}
MACRO {acis} {"Adv.~Colloid Interface Sci."}
@@ -891,10 +1063,12 @@ MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
MACRO {jmr} {"J.~Magn.\ Reson."}
MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
-MACRO {sci} {"Science"}
+MACRO {sci} {"Science (Washington,~D.C.)"}
MACRO {nat} {"Nature (London)"}
MACRO {jcch} {"J.~Comput.\ Chem."}
MACRO {cca} {"Croat.\ Chem.\ Acta"}
+MACRO {angew} {"Angew.\ Chem.\ Int.\ Ed."}
+MACRO {chemeurj} {"Chem.--Eur.\ J."}
MACRO {poly} {"Polymer"}
MACRO {ajp} {"Am.\ J.\ Phys."}
@@ -963,4 +1137,5 @@ FUNCTION {end.bib}
EXECUTE {end.bib}
%%
+%%
%% End of file `achemsol.bst'.
diff --git a/Master/texmf-dist/doc/latex/achemso/README b/Master/texmf-dist/doc/latex/achemso/README
new file mode 100644
index 00000000000..44cce6c820d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/achemso/README
@@ -0,0 +1,16 @@
+The achemso package - A BibTeX style for American Chemical
+Society publications
+
+----------------------------------------------------------------
+Maintained by Joseph A. Wright
+E-mail: joseph.wright@morningstar2.co.uk
+Originally developed by Mats Dahlgren
+ (c) 1996-98 by Mats Dahlgren
+ (c) 2007 Joseph Wright
+Released under the LaTeX Project Public license v1.3 or later
+----------------------------------------------------------------
+
+The achemso package provides a BibTeX style in accordance with
+the requirements of the journals of the American Chemical Society,
+along with a supporting LaTeX package file. Also provided is a
+BibTeX style file to be used for bibliography database listings.
diff --git a/Master/texmf-dist/doc/latex/achemso/achemso.dvi b/Master/texmf-dist/doc/latex/achemso/achemso.dvi
deleted file mode 100644
index c843e6db12f..00000000000
--- a/Master/texmf-dist/doc/latex/achemso/achemso.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/achemso/achemso.pdf b/Master/texmf-dist/doc/latex/achemso/achemso.pdf
new file mode 100644
index 00000000000..d4206de5e8d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/achemso/achemso.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/achemso/acslist.dvi b/Master/texmf-dist/doc/latex/achemso/acslist.dvi
deleted file mode 100644
index bc8521b55b9..00000000000
--- a/Master/texmf-dist/doc/latex/achemso/acslist.dvi
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/achemso/acslist.tex b/Master/texmf-dist/doc/latex/achemso/acslist.tex
deleted file mode 100644
index bbbbd7acf14..00000000000
--- a/Master/texmf-dist/doc/latex/achemso/acslist.tex
+++ /dev/null
@@ -1,21 +0,0 @@
-%%
-%% This is file `acslist.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% achemso.dtx (with options: `listkod')
-%%
-%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
-%% All rights reserved. See the file `achemso.ins' for information
-%% on how you may (re-)distribute the `achemso' package files.
-%%
-\documentclass[11pt]{article}
-\usepackage[list]{achemso}
-\begin{document}
-\cite{*}
-\bibliography{refer} %%%% Change `refer' to the name(s)
-\end{document} %%%% of your BibTeX data base(s).
-
-%%
-%% End of file `acslist.tex'.
diff --git a/Master/texmf-dist/source/latex/achemso/00readme.acs b/Master/texmf-dist/source/latex/achemso/00readme.acs
deleted file mode 100644
index 98d1bebc56f..00000000000
--- a/Master/texmf-dist/source/latex/achemso/00readme.acs
+++ /dev/null
@@ -1,31 +0,0 @@
-
-This is the file `00readme.acs', which accompanies the `achemso'
-package distribution. The package formats BibTeX output in
-accordance with the requirements of most journals of The American
-Chemical Society. It also provides a convenient LaTeX interface to
-be used with the BibTeX style file(s). To use the package, run LaTeX on
-`achemso.ins', this produces the files `achemso.sty', which contains
-the LaTeX macro definitions, the file `acslist.tex', which is a
-template file to produce a complete listing of a BibTeX data base,
-`achemso.bst' which is the main BibTeX style file of the package,
-and `achemsol.bst' which is a BibTeX style file to be used when
-producing complete BibTeX data base listings. To obtain the userguide
-and documentation, run LaTeX on `achemso.dtx' twice.
-
-The 'achemso' package consists of two files:
- achemso.ins - the installation driver
- achemso.dtx - the macro code, instructions on how to use
- the package, the listing template, and the
- BibTeX style files `achemso.bst' and
- `achemsol.bst' in `docstrip'-able format.
-Anyone is free to re-distribute these files provided the restrictions
-mentioned in 'achemso.ins' are obeyed. These are mainly that the
-two files always must be distributed together and that noone is
-allowed to distribute the files for profit.
-
-Inquiries can be sent to: <matsd@homenet.se>.
-This file last modified on 1997/02/22.
-
-____________________________________________________________________
-Copyright (c) 1997 by Mats Dahlgren.
-
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.dtx b/Master/texmf-dist/source/latex/achemso/achemso.dtx
index 43c9790c6d4..ad82164e826 100644
--- a/Master/texmf-dist/source/latex/achemso/achemso.dtx
+++ b/Master/texmf-dist/source/latex/achemso/achemso.dtx
@@ -1,608 +1,387 @@
-%
-% \iffalse
-%
-% The first part is a comment to the reader(s) of `achemso.dtx'.
-%
-% achemso.dtx Version 0.99, February 22, 1997
-% (c) 1996-97 by Mats Dahlgren (matsd@homenet.se)
+% \iffalse
+% ----------------------------------------------------------------
+% The achemso package - A BibTeX style for American Chemical
+% Society publications
+% Maintained by Joseph A. Wright
+% E-mail: joseph.wright@morningstar2.co.uk
+% Originally developed by Mats Dahlgren
+% (c) 1996-98 by Mats Dahlgren
+% (c) 2007 Joseph Wright
+% Released under the LaTeX Project Public license v1.3 or later
+% ----------------------------------------------------------------
%
-% Please see the information in file `achemso.ins' on how you
-% may use and (re-)distribute this file. Run LaTeX on the file
-% `achemso.ins' to get a .sty file, .bst files, and a
-% template list file.
+%<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+%<package>\ProvidesPackage{achemso}
+%<package> [2007/01/17 v2.0 Enhancements for ACS publications]
%
-% This file may NOT be distributed if not accompanied by 'achemso.ins'.
%<*driver>
\documentclass[a4paper]{ltxdoc}
-\textwidth=150mm
-\textheight=210mm
-\topmargin=0mm
-\oddsidemargin=5mm
-\evensidemargin=5mm
-\begin{document}
- \DocInput{achemso.dtx}
+\usepackage[T1]{fontenc}
+\usepackage[english,UKenglish]{babel}
+\usepackage{achemso,rsc,booktabs,array,url}
+\EnableCrossrefs
+%\DisableCrossrefs % Say \DisableCrossrefs if index is ready
+\RecordChanges % Gather update information
+\CodelineIndex % Index code by line number
+%\OnlyDescription
+\GetFileInfo{achemso.sty}
+\title{The \textsf{achemso} package --- A BibTeX style for American
+ Chemical Society publications\thanks{This file has version
+ number \fileversion, last revised \filedate.}}
+\author{Joseph Wright
+ \thanks{E-mail:
+ joseph.wright@morningstar2.co.uk}}
+\date{\filedate}
+\begin{document}
+ \DocInput{achemso.dtx}
\end{document}
%</driver>
-% \fi
+% \fi
+% \CheckSum{73}
+% \changes{v1.0}{1998/06/01}{Initial release of package by Mats Dahlgren}
+% \changes{v2.0}{2007/01/17}{Re-write of package by Joseph Wright}
+% \changes{v2.0}{2007/01/17}{Several improvements to BibTeX style files}
+% \changes{v2.0}{2007/01/17}{License changed to LPPL}
%
-% \CheckSum{142}
+% \DoNotIndex{\def,\else,\fi,\global,\texttt,\ifx,\newif,\undefined}
+% \DoNotIndex{\ProcessOptions,\DeclareOption,\OptionNotUsed,\@gobble}
+% \DoNotIndex{\RequirePackage,\PackageWarning,\renewcommand,\@eha}
+% \DoNotIndex{\@ifpackageloaded,\PackageError,\relax}
%
-% \def\filename{achemso.dtx}
-% \def\fileversion{0.99}
-% \def\filedate{1997/02/22}\def\docdate{\filedate}
-% \def\BibTeX{\textrm{B\kern-.05em\textsc{i\kern-.025em b}\kern-.08em
-% T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}
-% \MakeShortVerb{\|}
-% \date{\docdate}
-% \title{\texttt{achemso}\\
-% -- A \BibTeX{} style for Chemistry Publications\thanks{This
-% document describes \textsf{achemso} v.\fileversion{} and was last
-% updated on \docdate .}}
-% \author{Mats Dahlgren\\ (\texttt{matsd@homenet.se})}
-% \maketitle
-% \begin{abstract}
-% The \textsf{achemso} package provides a \BibTeX{} style in
-% accordance with
-% the requirements of the journals of The American Chemical Society.
-% It consists of both a \BibTeX{} style file and a \LaTeX{}
-% package file. Also provided, is a \BibTeX{} style file to
-% be used for bibliography data base listings via an option to
-% the \LaTeX{} package \textsf{achemso}.
-% \\ This file and the package: Copyright \copyright\ 1995-1997 by Mats
-% Dahlgren. All rights reserved.
-% \end{abstract}
-%
-% \section{Introduction}
-%
-% Since the journals of The American Chemical Society (ACS) do no accept
-% manuscripts which are using the standard \BibTeX{} formats, the need
-% for such a style package has been around for a while. I do
-% sincerely hope that what I have accomplished with this package is
-% $(i)$~that using \LaTeX{} and \BibTeX{} should be as easy as any
-% other manuscript preparation system when preparing manuscripts for
-% an ACS journal; $(ii)$~that the package is doing this correctly.
-% The reference handeling in the refernece list and in the text is
-% aimed to be in accordance with the requirements of \textit{Accounts
-% of Chemical Research, Chemical Reviwes, Inorganic Chemistry, Journal
-% of the American Chemical Society, Journal of Chemical Information
-% and Computer Sciences, Journal of Medicinal Chemistry, Journal of
-% Organic Chemistry, The Journal of Physical Chemistry, Langmuir,
-% Macromolecules,} and \textit{Organometallics}. (All these journals
-% use the same reference format.)
-%
-% The package consists of four files, |achemso.bst|,
-% |achemsol.bst|, |achemso.dtx| and |achemso.ins|.
-% After running |achemso.ins| trough \LaTeX , you should also have the
-% files |achemso.sty| and |acslist.tex|.
-% The latter is a \LaTeX{} input file (template file) to provide
-% listing of a \BibTeX{} data base. This very documentation was
-% obtained by running \LaTeX{} on |achemso.dtx|.
-%
-% However, there is already a \LaTeX{} 2.09 and
-% \BibTeX{} style package called \textsf{acsarticle} and
-% |acs.bst|, which are not ``ACS'' as in `American Chemical
-% Society' (rather, this package is
-% formatting the output according to the instructions of
-% \textit{Advances in Control Systems}). Hence, \textit{this}
-% new package had to be given another name. The name of choice
-% was then \textsf{achemso}, which is made from the words
-% ``\textit{A}merican \textit{Chem}ical \textit{So}ciety''.
-%
-% The \textsf{achemso} package has been tested with \LaTeXe{} of
-% 1995/12/01 patch level 2 running \TeX{} 3.1415 and
-% \LaTeX2e{} of 1996/06/01 (test release) running \TeX{} 3.14159
-% both together with \BibTeX{} version 0.99c, all under OpenVMS.
-% Please send bug reports
-% (see below), corrections, additions, suggestions,
-% \textit{etc.}\ to me at \texttt{matsd@homenet.se}.
-%
-% The present version of the package is~\fileversion{}, of
-% \filedate . It differs from previous versions in a change of
-% the handeling of |phdthesis|, |mastersthesis|, and |book|.
-% Version~0.1 produced an error for these entry types if the
-% optional field |institution| was empty. This bug has been
-% removed.\footnote{Thanks to Johan Fr\"oberg
-% (\texttt{emgion@physchem.kth.se}) for bringing my attention
-% to the problem.} In the |book| entry type, there was a
-% comma which should be a semicolon. With version~0.3, Donald
-% Arsenau's package \textsf{overcite} is loaded, making
-% collapsing and sorting of references automatic. Version~0.4
-% was modified to work better with the December 1995 release of
-% \LaTeXe{}; it also has the |.bst| files incorporated in
-% |achemso.dtx|. Version~0.99 was issued due to some changes in
-% the documentation and my change of e-mail addresses.
+% \maketitle
%
-% \subsection{Note}
-% This is in parts still a preliminary version of the package
-% \textsf{achemso}. Some items
-% in the reference list may not come out perfectly according to the
-% ACS style. There is no guarantee that the predefined journal
-% abbreviations are correct.
-%
-% \section{The \LaTeX{} Package}
-%
-% To work properly, a call to the \textsf{achemso} package must be
-% done in a |\usepackge| command in the \LaTeX{} input file.
-% The \textsf{achemso} package can take three options, namely |note|,
-% |list|, and |number|. The |\bibliographystyle| command
-% required for a document with a bibliography is included in
-% the \LaTeX{} package file. The package options can be used
-% together in any combination. Also, the \textsf{overcite} package
-% must be installed on the system.
-%
-% The \textsf{achemso} package redefines the |bibliography|
-% environment to start a new page. If the |note| option is
-% used, the heading of the reference list will read
-% ``References and Notes'' instead of ``References'', which
-% is the default. (If used together with the \textsf{babel}
-% package, there may be strange results. This is a minor
-% problem since the ACS only accepts manuscripts in English.)
+% \begin{abstract}
+% The |achemso| package provides a BibTeX style in accordance with
+% the requirements of the journals of the American Chemical Society,
+% along with a supporting LaTeX package file. Also provided is a
+% BibTeX style file to be used for bibliography database listings.
+% \end{abstract}
%
-% In the text, references are printed as superscripts with
-% numbers. If there are more than two consecutive numbers
-% at one occurence, the numbers will appear ``collapsed'',
-% that is like this$^{11-14}$ rather than.$^{11,12,13,14}$
-% The citations can be given in any order, thanks to the
-% sorting done by the \textsf{overcite} package, which is
-% loaded by the \textsf{achemso} package.
-% If only the reference
-% number is desired, such as in ``\ldots{} see reference
-% 13.'', the command |\citenum{|\textit{key}|}| can be used.
-% |\citenum| emits only the numeral of the reference without
-% any formatting.
+% \section{Introduction}
%
-% \subsection{The \texttt{note} option}\label{noteoption}
-% \DescribeMacro{note}
-% The option |note| is to be used when there are notes (of
-% footnote-type) in the text. The text of these notes have
-% to be placed in a \BibTeX{} entry of the kind
-% |remark|\footnote{The term ``\texttt{note}'' is already
-% used for an entry field in \BibTeX .} (see also below). I
-% recommend a seperate |.bib|-file for the notes, which is
-% then called for in the |\bibliography|-command. In this
-% way, the notes will be sorted in automatically in the
-% proper place in the reference list, while they still are
-% easily kept out of the listings of the entire \BibTeX{}
-% data base. Also, the heading of the bibliography will
-% read ``References and Notes'' and not only ``References''.
-%
-% \subsection{The \texttt{list} option}
-% \DescribeMacro{list}
-% To produce a listing of the entire \BibTeX{} data base, use
-% the |list| option for the \textsf{achemso} package. It makes
-% use of another |.bst|-file, called |achemsol.bst|, which
-% is also included in the \textsf{achemso} package distribution.
-% It only differs from |achemso.bst| in
-% that it adds the information of the field |annotate| to
-% every item in the list when present. |annotate| is an
-% optional field for all entry types.
-%
-% When usnig the |list| option, the \BibTeX{} keys will be
-% typesetted in a framed box in the left margin. This feature
-% is adapted from |showtags.sty| by Nelson H.\ F.\ Beebe
-% (\texttt{beebe@math.utah.edu}).\footnote{Many thanks to Nelson
-% H.\ F.\ Beebe for letting me incorporate his code into
-% \textsf{achemso}.}
-%
-% \DescribeMacro{\refin}
-% For use in the |annotate| field is a \LaTeX{} macro
-% |\refin| defined by |achemso.bst| and |achemsol.bst|.
-% This command takes one argument (normally text) which is
-% preceeded by the text ``\textbf{Referenced in: }''.
-% |\refin| is meant to facilitate in keeping track of in
-% which publication(s) the bibliography item has been cited.
-% Personally, I keep information in my data-base on in
-% which of my own publications I have cited the article (or
-% whatever) in question. It is for this purpouse the
-% |\refin| command exsists.
-%
-% \subsection{The \texttt{number} option}
-% \DescribeMacro{number}
-% If a section number is desired for the bibliography in a
-% document, the |number| option should be used with the
-% \textsf{achemso} package. The only difference with respect to
-% the default version is the adding of a section number to
-% the heading. (It makes use of |\section| rather than
-% |\section*| as the default.)
-%
-% \section{The \BibTeX{} listing file}
-%
-% To obtain a listing of a \BibTeX{} data base in an easy way,
-% only very minor changes are needed to the file
-% |acslist.tex|.\footnote{You must specify the name(s) of your
-% |.bib|-file(s).} When running \LaTeX{} on this file, you will
-% be provided with a complete listing of the data base as the
-% output, with the labels used in framed boxes to the left of
-% the data base entries. |acslist.tex| uses the |list| option
-% of the package file (surprise!). To get rid of the
-% sectioning heading in the data base listing, you can include
-% the following line in |acslist.tex|:\\
-% | \renewcommand{\refname}{ }|\\
-%
-% \section{The \BibTeX{} style}
-%
-% The |.bst|-files in the \textsf{achemso} package are based on the
-% standard \BibTeX{} style |unsrt.bst|.
-%
-% \subsection{Extra Entry Types}
-% \DescribeMacro{inpress}\DescribeMacro{submitted}\DescribeMacro{remark}
-% The \BibTeX{} style |achemso| defines three non-standard entry types,
-% |inpress|, |submitted|, and |remark|. The |inpress| and |submitted|
-% entries are intended for journal articles
-% which have not yet been published, but are ``in press'' or
-% ``submitted'', respectively. The |remark| entry type is to be
-% used to obtain notes intermixed in the reference list
-% (see also section~\ref{noteoption} above).
-% \par\clearpage
-%
-% \subsection{The Data Base Entries}
-%
-% This section explains which data base entry types are recognized by
-% |achemso| and which fields are required, optional, and ignored for
-% the different entries. Note that |achemso| is not as robust as many
-% other \BibTeX{} styles, and may in some cases not warn that a
-% required field is missing. The only way to detect this is to look
-% in the final bibliography listing, which for the incomplete entries
-% is likely to look strange. The following entries are
-% recognized:\\[\baselineskip]
-% \DeleteShortVerb{\|}
-% \hfill\begin{tabular}{|ll|} \hline
-% \MakeShortVerb{\|}
-% \textbf{Entry type} & \textbf{Entry fields} \\ \hline
-% |article| & \textsf{R:}~|author|, |journal|, |year|,
-% |volume|, |pages| \\
-% & \textsf{O:}~|note| \\ \hline
-% |book| & \textsf{R:}~|author| or |editor|, |title| or
-% |booktitle|, |publisher|, |address|, |year| \\
-% & \textsf{O:}~|volume|, |series|, |edition|, |note| \\ \hline
-% |booklet| & \textsf{R:}~|author|, |title|, |year| \\
-% & \textsf{O:}~|howpublished|, |address|, |note| \\ \hline
-% |conference| & \textsf{R:}~|author|, |title|, |booktitle|,
-% |editor|, |publisher|, |address|, |year| \\
-% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|,
-% |note| \\ \hline
-% |inbook| & \textsf{R:}~|author|, |title|, |booktitle|, |editor|,
-% |publisher|, |address|, |year| \\
-% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|,
-% |note| \\ \hline
-% |incollection| & \textsf{R:}~|author|, |title|, |booktitle|,
-% |editor|, |publisher|, |address|, |year| \\
-% & \textsf{O:}~|volume|, |edition|, |note| \\ \hline
-% |inpress| & \textsf{R:}~|author|, |journal| \\
-% & \textsf{O:}~|note| \\ \hline
-% |inproceedings| & \textsf{R:}~|author|, |title|, |booktitle|,
-% |editor|, |publisher|, |address|, |year| \\
-% & \textsf{O:}~|volume|, |edition|, |type|, |chapter|, |pages|,
-% |note| \\ \hline
-% |manual| & \textsf{R:}~|title| \\
-% & \textsf{O:}~|author|, |organization|, |address|, |edition|,
-% |year|, |note| \\ \hline
-% |mastersthesis| & \textsf{R:}~|author|, |title|, |school|, |year| \\
-% & \textsf{O:}~|institution|,
-% |note| \\ \hline
-% |misc| & \textsf{R:}~none \\
-% & \textsf{O:}~|author|, |title|, |howpublished|, |year|,
-% |note| \\ \hline
-% |phdthesis| & \textsf{R:}~|author|, |title|, |school|, |year| \\
-% & \textsf{O:}~|type|,
-% |institution|, |note| \\ \hline
-% |proceedings| & \textsf{R:}~|editor| or |organization|, |title|
-% or |booktitle|, |year| \\
-% & \textsf{O:}~|volume|, |edition|, |publisher|, |address|,
-% |note| \\ \hline
-% |remark| & \textsf{R:}~|note| \\
-% & \textsf{O:}~none \\ \hline
-% |submitted| & \textsf{R:}~|author|, |journal| \\
-% & \textsf{O:}~|note| \\ \hline
-% |techreport| & \textsf{R:}~|author|, |title|, |institution| \\
-% & \textsf{O:}~|type|, |number|,
-% |address|, |note| \\ \hline
-% |unpublished| & \textsf{R:}~|author | \\
-% & \textsf{O:}~|year|, |note| \\ \hline
-% \end{tabular}\hfill\\
-% \textsf{R:}~denotes required fields; \textsf{O:}~denotes optional
-% filelds.\\[\baselineskip]
-% The following fields are avaliable: |address|, |author|, |booktitle|,
-% |chapter|, |edition|, |editor|, |howpublished|, |institution|,
-% |journal|, |key|, |month|, |note|, |number|, |organization|, |pages|,
-% |publisher|, |school|, |series|, |title|, |type|, |volume|, |year|,
-% and |annotate|. All the fields have their general meanings.
-% All fields not specified above are ignored for that entry
-% type.
-% \par\clearpage
-%
-% \subsection{Predefined Journal Abbriviations}
-%
-% In the \textsf{achemso} package, some journal names are defined.
-% These journals are the journals of ACS, some other
-% frequently cited in Physical Chemsitry, and the ten
-% most cited according to \textit{Chemical Abstracs}. The predefined
-% ACS journal names are:\\[\baselineskip]
-% \DeleteShortVerb{\|}
-% \begin{tabular}{|lll|} \hline
-% \MakeShortVerb{\|}
-% Abbreviation & Appearance in list & Full journal name \\ \hline
-% |acchemr| & \textit{Acc.\ Chem.\ Res.}
-% & Accounts of Chemical Research\\
-% |aacsa| & \textit{Adv.\ {ACS} Abstr.} & Advance ACS Abstracts \\
-% |anchem| & \textit{Anal.\ Chem.} & Analytical Chemistry \\
-% |bioch| & \textit{Biochemistry} & Biochemistry \\
-% |bicoc| & \textit{Bioconj.\ Chem.} & (?) Bioconjugate Chemistry \\
-% |bitech| & \textit{Biotechnol.\ Progr.} & (?)
-% Biotechnology Progress \\
-% |chemeng| & \textit{Chem.\ Eng.\ News} & Chemical \&{}
-% Engineering News \\
-% |chs| & \textit{Chem.\ Health Safety} & (?) Chemical
-% Health \&{} Safety \\
-% |crt| & \textit{Chem.\ Res.\ Tox.} & (?) Chemical
-% Research in toxicology \\
-% |chemrev| & \textit{Chem.\ Rev.} & Chemical Reviews \\
-% |cmat| & \textit{Chem.\ Mater.} & Chemistry of Materials \\
-% |chemtech| & \textit{{CHEMTECH}} & CHEMTECH \\
-% |enfu| & \textit{Energy \&{} Fuels} & (?) Energy \&{} Fuels \\
-% |envst| & \textit{Environ.\ Sci.\ Technol.} &
-% Environmental Science and Technology \\
-% |iecf| & \textit{Ind.\ Eng.\ Chem.\ Fundam.} &
-% Industrial \&{} Engineering Chemistry \\ & & \hfill Fundamentals \\
-% |iecpdd| & \textit{Ind.\ Eng.\ Chem.\ Proc.} &
-% Industrial \&{} Engineering Chemistry \\ & \hfill\textit{Des.\ Dev.}
-% & \hfill Process Design and Development \\
-% |iecprd| & \textit{Ind.\ Eng.\ Chem.\ Prod.} &
-% Industrial \&{} Engineering Chemistry \\ &\hfill\textit{Res.\ Dev.}
-% & \hfill Product Research and Development \\
-% |iecr| & \textit{Ind.\ Eng.\ Chem.\ Res.} &
-% Industrial \&{} Engineering Chemistry \\ & & \hfill Research \\
-% |inor| & \textit{Inorg.\ Chem.} & Inorganic Chemistry \\
-% |jafc| & \textit{J.~Agric.\ Food Chem.} & Journal of
-% Agricultural and Food Chemistry \\
-% |jacs| & \textit{J.~Am.\ Chem.\ Soc.} & Journal of the
-% American Chemical Society \\
-% |jced| & \textit{J.~Chem.\ Eng.\ Data} & Journal of Chemical
-% and Engineering Data \\
-% |jcics| & \textit{J.~Chem.\ Inf.\ Comput.\ Sci.} & Journal of
-% Chemical Information and \\ & & \hfill Computer Sciences \\
-% |jmc| & \textit{J.~Med.\ Chem.} & Journal of Medicinal Chemistry \\
-% |joc| & \textit{J.~Org.\ Chem.} & Journal of Organic Chemistry \\
-% |jps| & \textit{J.~Pharm.\ Sci.} & Journal of Pharmaceutical
-% Sciences \\
-% |jpcrd| & \textit{J.~Phys.\ Chem.\ Ref.\ Data} & Journal
-% of Physical and Chemical \\ & & \hfill Reference Data \\
-% |jpc| & \textit{J.~Phys.\ Chem.} & The Journal of Physical Chemistry \\
-% |lang| & \textit{Langmuir} & Langmuir \\
-% |macro| & \textit{Macromolecules} & Macromolecules \\
-% |orgmet| & \textit{Organometallics} & Organometallics \\ \hline
-% \end{tabular}
-% \par\clearpage
+% Although synthetic chemists do not, in the main, use LaTeX for the
+% preparation of journal articles, it would be nice to be able to use
+% it for reports. Some (mainly) physical chemistry journals do
+% also accept LaTeX submissions, and so the need for BibTeX styles
+% for chemistry is real. The package |achemso| provides for a BibTeX
+% style and other support for articles and reports in the style of
+% the American Chemical Society (A.C.S.). Journals which use the
+% standard A.C.S. citation style are summarised in
+% \ref{tbl:journals}.
+% \begin{table}
+% \begin{tabular}{>{\itshape}l>{\itshape}l}
+% \toprule
+% \upshape{Journal Title} & \upshape{Abbreviation} \\
+% \midrule
+% Journal of the American Chemical Society & J.~Am.~Chem.~Soc. \\
+% Accounts of Chemical Research & Acc.~Chem.~Res. \\
+% Chemical Reviews & Chem.~Rev. \\
+% Inorganic Chemistry & Inorg.Chem. \\
+% Journal of Medicinal Chemistry & J.~Med.~Chem. \\
+% Journal of Organic Chemistry & J.~Org.~Chem. \\
+% Journal of Physical Chemistry A & J.~Phys.~Chem.~A \\
+% Journal of Physical Chemistry B & J.~Phys.~Chem.~B \\
+% Journal of Physical Chemistry C & J.~Phys.~Chem.~C \\
+% Langmuir & Langmuir \\
+% Macromolecules & Macromolecules \\
+% Nano Letters & Nano Lett. \\
+% Organic Letters & Org.~Lett. \\
+% Organometallics & Organometallics \\
+% \bottomrule
+% \end{tabular}
+% \caption{Journals using the A.C.S.~citation style}
+% \label{tbl:journals}
+% \end{table}
%
-% \noindent Other predefined journal names are:\\[\baselineskip]
-% \DeleteShortVerb{\|}
-% \begin{tabular}{|lll|} \hline
-% \MakeShortVerb{\|}
-% Abbreviation & Appearance in list & Full journal name \\ \hline
-% |jft| & \textit{J.~Chem.\ Soc., Faraday Trans.} & Journal
-% of the Chemical Society, \\ & & \hfill Faraday Transactions \\
-% |jft1| & \textit{J.~Chem.\ Soc., Faraday Trans. 1} & Journal
-% of the Chemical Society, \\ & & \hfill Faraday Transactions 1 \\
-% |jft2| & \textit{J.~Chem.\ Soc., Faraday Trans. 2} & Journal
-% of the Chemical Society, \\ & & \hfill Faraday Transactions 2 \\
-% |tfs| & \textit{Trans.\ Faraday Soc.} & Transactions of
-% the Faraday Society \\
-% |jcis| & \textit{J.~Colloid Interface Sci.} & Journal of Colloid
-% and Interface Science \\
-% |acis| & \textit{Adv.~Colloid Interface Sci.} & Advances in
-% Colloid and Interface Science \\
-% |cs| & \textit{Colloids Surf.} & Colloid and Surfaces \\
-% |csa| & \textit{Colloids Surf.\ A:\ Physiochem.} &
-% Colloid and Surfaces A:\ Physiochemical \\
-% & \hfill\textit{Eng.\ Aspects} & and Engineering Aspects \\
-% |csb| & \textit{Colloids Surf.\ B:\ Biointerfaces} & Colloid and
-% Surfaces B:\ Biointerfaces\\
-% |pcps| & \textit{Progr.\ Colloid Polym.\ Sci.} & Progress in
-% Colloid and Polymer Science \\
-% |jmr| & \textit{J.~Magn.\ Reson.} & Journal of Magnetic Resonance \\
-% |jmra| & \textit{J.~Magn.\ Reson.\ A} & Journal of Magnetic
-% Resonance, Series A \\
-% |jmrb| & \textit{J.~Magn.\ Reson.\ B} & Journal of Magnetic
-% Resonance, Series B \\
-% |sci| & \textit{Science} & Science \\
-% |nat| & \textit{Nature (London)} & Nature \\
-% |jcch| & \textit{J.~Comput.\ Chem.} & Journal of Computational
-% Chemistry \\
-% |cca| & \textit{Croat.\ Chem.\ Acta} & Croatica Chemica Acta \\
-% |poly| & \textit{Polymer} & Polymer \\
-% |ajp| & \textit{Am.\ J.\ Phys.} & American Journal of Physics \\
-% |rsi| & \textit{Rev.\ Sci.\ Instrum.} & Review of
-% Scientific Instruments \\
-% |jcp| & \textit{J.~Chem.\ Phys.} & Journal of Chemical Physics \\
-% |cpl| & \textit{Chem.\ Phys.\ Lett.} & Chemical Physics Letters \\
-% |molph| & \textit{Mol.\ Phys.} & Molecular Physics \\
-% |pac| & \textit{Pure Appl.\ Chem.} & Pure and Applied Chemistry \\
-% |jbc| & \textit{J.~Biol.\ Chem.} & Journal of Biological Chemistry \\
-% |tl| & \textit{Tetrahedron Lett.} & Tetrahedron Letters \\
-% |psisoe| & \textit{Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng.} & (?) \\
-% |prb| & \textit{Phys.\ Rev.\ B:\ Condens.\ Matter} & Physics Review
-% B:\ Condensed Matter \\
-% |jap| & \textit{J.~Appl.\ Phys.} & Journal of Applied Physics \\
-% |pnac| & \textit{Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A.} & Proceedings
-% of the National Academy \\ & & \hfill of Sciences of the U.~S.~A. \\
-% |bba| & \textit{Biochim.\ Biophys.\ Acta} & Biochimica
-% et Boiphysica Acta \\
-% |nar| & \textit{Nucleic Acid Res.} & Nucleic Acid Research (?) \\ \hline
-% \end{tabular}
-% \newpage
+% This package consists of two BibTeX files (|achemso.bst|
+% and |achemsol.bst|) along with a small LaTeX file |achemso.sty|.
+% The naming of the package is slightly unusual, but follows from
+% the need to pick a unique name. To quote the documentation to the
+% first version:
+% \begin{quote}
+% [\dots] there is already a LaTeX 2.09 and
+% BibTeX style package called |acsarticle| and
+% |acs.bst|, which are not ``ACS'' as in `American Chemical
+% Society' (rather, this package is
+% formatting the output according to the instructions of
+% \emph{Advances in Control Systems}). Hence, \emph{this}
+% new package had to be given another name. The name of choice
+% was then |achemso|, which is made from the words
+% ``\emph{A}merican \emph{Chem}ical \emph{So}ciety''.
+% \end{quote}
%
-% \section{Known Problems and Limitations}
-%
-% At the present (\docdate), the following problems are known:
-% \begin{itemize}
-% \item When printing a data base listing using the |list|
-% option (such as when type-setting |acslist.tex|), there may
-% on rare occations occur a page-break between the framed box
-% of the label and the \BibTeX{} entry itself.
-% \item Some of the pre-defined journal abbreviations may not
-% be entirely correct, I have not been able to check some of
-% them (since those journals are not avaliable at our library).
-% If someone finds an error in the journal names, I'll be most
-% grateful to be informed on how the correct abbreviation is.
-% \item Compatibility with other \LaTeX{} packages, both
-% standard and non-standard, may be poor.
-% \end{itemize}
-%
-% \section{Bugs and Suggestions for Improvements}
+% \subsection{Change of maintainer}
%
-% Bug reports and suggestions for improvements are most
-% welcome. Especially corrections of (possible) errors in the
-% journal abbreviations are wanted -- please e-mail me!
-% If you find any other
-% error (an error in the \LaTeX{} or \BibTeX{} code) please
-% report them too!
-% Before filing a (code) bug report, please
-% take the following actions:
-% \begin{enumerate}
-% \item Ensure your problem is not due to your inputfile;
-% \item Ensure your problem is not due to
-% your own package(s) or class(es);
-% \item Ensure your problem is not covered in the section
-% ''Known Problems'' above;
-% \item Try to locate the problem by writing a minimal
-% \LaTeX{} input file which reproduces the problem.
-% Include the command\\
-% | \setcounter{errorcontextlines}{999}|\\
-% in your input;
-% \item Run your file through \LaTeX ;
-% \item Send a description of your problem, the input file
-% and the log file via e-mail to:\\ \hspace*{5mm}
-% \texttt{matsd@homenet.se}.
-% \end{enumerate}
-% \bigskip
+% This package was initially released by Mats Dahlgren. He no
+% longer has time to devote to LaTeX development. With his permission,
+% the package has therefore been taken over by Joseph
+% Wright, the maintainer of the the |rsc| package. The majority of
+% the package has been rebuilt and the BibTeX style file has been
+% totally overhauled. Any mistakes are entirely the fault of the
+% new maintainer!
%
-% {\itshape Enjoy your \LaTeX!\raisebox{-\baselineskip}{mats d.}}
-%
-% \StopEventually{\par\vfill\hfill{\scriptsize Copyright
-% \copyright{} 1994-96 by Mats Dahlgren.}}
-% \newpage
-%
-% \iffalse
-%<*paketkod>
-% \fi
-% \section{The Package Code}
-%
-% The package code is not very complicated. For the
+% \section{The BibTeX style files}
+%
+% The BibTeX style files implement the bibliographic style specified
+% by the A.C.S.\ in \emph{The ACS Style Guide: A Manual for Authors
+% and Editors}, on the A.C.S.\ website
+% (\url{http://pubs.acs.org/books/references.shtml}) and in current
+% A.C.S.~publications. Some of this information can be
+% contradictory; the consensus of current practice in the printed
+% journals has been taken as the correct approach.
+%
+% \subsection{Additional record types}
+%
+% In general, the database record types supported here follow those
+% in the standard BibTeX style files. Four additional record types
+% are provided:
+% \begin{description}
+% \item[|patent|] A patent: formatting is similar to other record
+% types. The data entry for this record type follows the
+% pattern used in |rsc.bst|: |journal| is used to hold
+% the patent type (\emph{e.g.} ``U.S. Pat.''), with the
+% patent number given in |pages|. Whilst this format is
+% non-standard, it is relatively easy to use and implement!
+% \item[|submitted|] Articles submitted to journals but not
+% yet accepted: appends ``submitted'' in a suitable fashion
+% to the entry.
+% \item[|inpress|] Articles in press: appends ``in press'' or,
+% if available, the DOI number assigned to the article.
+% \item[|remark|] A note with no other information to be
+% included. Output consists purely of the |note| field.
+% \end{description}
+%
+% \subsection{BibTeX database entry requirements}
+%
+% The requirements for entries in the BibTeX database are slightly
+% different using |achemso.bst| to the standard style files. This
+% is mainly because some fields are not cited in
+% A.C.S.\ bibliographies. In particular, journal articles do not
+% require a title (as the |title| field is ignored). Articles
+% in books only need the title of the book; the title of the
+% subunit (given in |title|) is again ignored.
+%
+% \subsection{The \textsf{annotate} field}
+%
+% The standard BibTeX styles use the |note| field for notes to be
+% added to the citation. However, it is common to want personal
+% notes about references. This is catered for using the |annotate|
+% field. The style |achemso| ignores the |annotate| field, whilst
+% the |achemsol| style appends the |annotate| information to the
+% bibliographic output. Thus |achemsol| is intended for use in
+% database maintenance, whilst |achemso| is for production
+% bibliographies.
+%
+% \DescribeMacro{\refin}
+% For use in the |annotate| field the macro \cmd{\refin}
+% is defined in |achemso.bst| and |achemsol.bst|.
+% The command takes a single argument \marg{text}, and
+% gives the output \textbf{Referenced in: text}.
+% This command takes one argument (normally text) which is
+% preceded by the text ``\textbf{Referenced in:} \meta{text}''.
+% The |\refin| command is intended for tracking citations
+% ``backward'' through the database. For example, this could be
+% used to link citations in a database to the writers own papers.
+%
+% \subsection{Predefined journal abbreviations}
+%
+% A number of journal abbreviations are defined in the |.bst| files.
+% The abbreviations cover a number A.C.S.\ journals, several other
+% physical chemistry publications and other journals listed as
+% highly cited by \emph{Chem.\ Abs.} The interested user should
+% consult the |.bst| files for full details.
+%
+% \section{The LaTeX Package}
+%
+% The current version of |achemso.sty| is a
+% complete re-implementation of the functionality of the original
+% file, designed to ensure greater compatibility with other packages.
+% The only change for the user is that the bibliography section does
+% \emph{not} start a new page when using the |article| document
+% class. However, the package now supports all of the standard
+% classes, and so the |report| class may be used to ensure a new
+% page is started.
+%
+% \DescribeMacro{\bibliographystyle}
+% Loading the |achemso| package adds the appropriate
+% \cmd{\bibliographystyle} command to the LaTeX source. As a result,
+% subsequent \cmd{\bibliographystyle} statements will be ignored:
+% a suitable warning is given. The format of citations is altered
+% (using the |cite| package), and the package ensures that the
+% bibliography will be named ``References'' in all standard document
+% types.\footnote{This only works if the |babel| package is
+% \emph{not} loaded.}
+%
+% The |achemso| package has three options: |note|,
+% |list|, and |number|:
+% \begin{description}
+% \item[|note|] If the bibliography contains notes as well
+% as citations, then the section heading should be
+% ``References and Notes''. This is altered by the
+% |note| package option.
+% \item[|number|] This option numbers the bibliography
+% section (using the |tocbibind| package), and causes it to
+% be entered in the Table of Contents.
+% \item[|list|] This option is intended for creating a listing
+% of the entire BibTeX database. The BibTeX style is
+% changed to |achemsol|, which will output the additional
+% database field |annotate|, intended for personal notes
+% about a particular database entry. It also adds the
+% BibTeX key for each citation as a marginal note to the
+% output, using the |showkeys| package.
+% \end{description}
+%
+% \StopEventually{\PrintChanges}
+%
+% \section{The Package Code}
+%
+% The package code is not very complicated. For the
% interested reader(s), it is presented here.
-%
-% First, the file is to identify itself and set the flags used
-% for options handeling to |F|:
+%
+% \begin{macro}{\ACSver}
+% An identifying macro is provided, so that other packages
+% can detect the version of achemso in use.
+% \begin{macrocode}
+%<*package>
+\def\ACSver{\texttt{achemso} v2.0 (2007/01/17)}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\ACS@sctnnmbr}
+% \begin{macro}{\ACS@lst}
+% \begin{macro}{\ACS@note}
+% \changes{v2.0}{2007/01/17}{Boolean values made internal to package}
+% Three Boolean values are used to handle the options.
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{achemso}[1997/02/22 version 0.99.]
-\def\achemsover{\texttt{achemso} version 0.99 (1997/02/22)}
-\newif \ifsctnnmbr \sctnnmbrfalse
-\newif \iflst \lstfalse
+\newif \ifACS@sctnnmbr \ACS@sctnnmbrfalse
+\newif \ifACS@lst \ACS@lstfalse
+\newif \ifACS@note \ACS@notefalse
% \end{macrocode}
-% Then, the options are processed, and the support package
-% \textsf{overcite} by Donald Arsenau is loaded:
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% The options are processed, and the |cite| package is loaded to
+% sort and compress references correctly. The ACS also have
+% no gaps in between reference numbers, so the |nospace| option
+% is used.
% \begin{macrocode}
-\DeclareOption{note}{\renewcommand{\refname}{References and Notes}}
-\DeclareOption{number}{\global\sctnnmbrtrue}
-\DeclareOption{list}{\global\lsttrue}
+\DeclareOption{note}{\global\ACS@notetrue}
+\DeclareOption{number}{\global\ACS@sctnnmbrtrue}
+\DeclareOption{list}{\global\ACS@lsttrue}
\DeclareOption*{\OptionNotUsed}
\ProcessOptions
-\RequirePackage[nospace]{overcite}
+\RequirePackage[super,nospace]{cite}
% \end{macrocode}
-%
-% If we are to print a complete listing, the file
-% |achemsol.bst| is to be used, and the code to produce the
-% framed labels read. Otherwise, the file |achemso.bst|
-% should be called for in |\bibliographystyle|.
+% If the |babel| package is loaded, the |note| option does not
+% work. So it is disabled here with a suitable warning.
% \begin{macrocode}
-\iflst
+ \@ifpackageloaded{babel}
+ {\ACS@notefalse\PackageWarning{achemso}%
+ {babel package loaded - note option disabled}}
+ {\relax}
+% \end{macrocode}
+% \begin{macro}{\ACS@biberror}
+% The function \cmd{\ACS@biberror} is defined here to provide an
+% easy way of generating a warning if there is no name for a
+% bibliography section. This will only happen with non-standard
+% class files.
+% \begin{macrocode}
+\def\ACS@biberror{\PackageError{achemso}%
+ {No bibliography name command defined}\@eha}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\refname}
+% \begin{macro}{\bibname}
+% The |note| option renames the references section to
+% ``References and Notes''. This applies for all standard
+% document classes.
+% The term ``Bibliography'' is not used in chemistry, the value of
+% \cmd{\bibname} is redefined here in all cases where it exists.
+% \begin{macrocode}
+\ifx\refname\undefined
+ \ifx\bibname\undefined
+ \ACS@biberror
+ \else
+ \ifACS@note
+ \renewcommand*{\bibname}{References and Notes}
+ \else
+ \renewcommand*{\bibname}{References}
+ \fi
+ \fi
+ \else
+ \ifACS@note
+ \renewcommand*{\refname}{References and Notes}
+ \fi
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% If the |number| option is set, the |tocbibind| package is
+% used to number the bibliography.
+% \changes{v2.0}{2007/01/17}{Switched to using \textsf{tocbibind}
+% to produce number bibliography}
+% \begin{macrocode}
+\ifACS@sctnnmbr
+ \RequirePackage[numbib]{tocbibind}
+\fi
+% \end{macrocode}
+% \begin{macro}{\bibliographystyle}
+% Depending on the package option, the bibliography style
+% will either be |achemso| or |achemsol|. The later is intended
+% for listing the entire database. The |list| option of the
+% package selects this, and for listing also generates boxed
+% labels for each reference. The |showkeys| package provides
+% this functionality.
+% \changes{v2.0}{2007/01/17}{Replaced custom code with
+% \textsf{showkeys} package}
+% \begin{macrocode}
+\ifACS@lst
\bibliographystyle{achemsol}
- \if@twocolumn
- \else
- \reversemarginpar
- \fi
- \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
- {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces
- \@showtag{#1}}
- \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
- {\let\protect\noexpand
- \immediate
- \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces
- \@showtag{#2}}
- \newcommand{\thecitetag}[1]{\fbox{\texttt{#1}}}
- \def\@showtag#1{\@tempdima=\baselineskip
- \addtolength{\@tempdima}{0.5ex}
- \marginpar{\hfill\raisebox{-\@tempdima}[0pt][0pt]{\thecitetag{#1}}}}
+ \RequirePackage[notcite]{showkeys}
\else
-\bibliographystyle{achemso}
+ \bibliographystyle{achemso}
\fi
% \end{macrocode}
-%
-% Here is the part which redefines the |thebibliography|
-% environment and make it start a new page. If we are
-% printing a list, no new page should be started, since this
-% list is likely to be just about everything in that document.
-% At the end, a redefinition of |\@biblabel| is included to
-% get rid of the brackets in the reference list.
+% \end{macro}
+% \begin{macro}{\@biblabel}
+% In order to re-format the bibliography labels, the easiest
+% method is to redefine the \cmd{\@biblabel} macro from the LaTeX
+% kernel.
% \begin{macrocode}
-\renewenvironment{thebibliography}[1]
- {\iflst \else \par\clearpage \fi
- \ifsctnnmbr
- \section{\refname
- \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
- \else
- \section*{\refname
- \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
- \fi
- \list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \@openbib@code
- \usecounter{enumiv}%
- \let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}}%
- \sloppy\clubpenalty4000\widowpenalty4000%
- \sfcode`\.\@m}
- {\def\@noitemerr
- {\@latex@warning{Empty `thebibliography' environment}}%
- \endlist}
\def\@biblabel#1{#1.}
% \end{macrocode}
-% \iffalse
-%</paketkod>
-% \fi
-%
-% \iffalse
-%<*listkod>
-% \fi
-% \subsection{List template file}
-%
-% This is the template file for listing the \BibTeX{} data
-% base, |acslist.tex|:
+% \end{macro}
+% \begin{macro}{\ACS@bibwarning}
+% \begin{macro}{\bibliographystyle}
+% To ensure that additional \cmd{\bibliographystyle} commands in the
+% source are killed off. The \cmd{\ACS@bibwarning} provides a clean
+% method of generating the warning message.
+% \changes{v2.0}{2007-01-17}{Command ignored in document body}
% \begin{macrocode}
-\documentclass[11pt]{article}
-\usepackage[list]{achemso}
-\begin{document}
-\cite{*}
-\bibliography{refer} %%%% Change `refer' to the name(s)
-\end{document} %%%% of your BibTeX data base(s).
+\def\ACS@bibwarning{\PackageWarning{achemso}%
+ {Additional bibliographystyle command ignored}}
+\def\bibliographystyle{\ACS@bibwarning\@gobble}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% The package is complete.
+% \begin{macrocode}
+%</package>
% \end{macrocode}
+%
% \iffalse
-%</listkod>
-%<*huvudkod>
+%<*bib>
ENTRY
{ address
+%<list> annotate
author
booktitle
chapter
+ doi
edition
editor
howpublished
institution
journal
- key
- month
note
number
organization
@@ -614,36 +393,50 @@ ENTRY
type
volume
year
- annotate
}
{}
{ label }
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
+ #4 'after.item :=
}
+FUNCTION {add.comma}
+{ ", " * }
+
+FUNCTION {add.semicolon}
+{ "; " * }
+
+FUNCTION {add.colon}
+{ ": " * }
+
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
- { " " * write$ }
+ { add.comma write$ }
{ output.state after.block =
- { ", " * write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
+ { add.semicolon write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
+ if$
+ }
if$
mid.sentence 'output.state :=
}
@@ -661,7 +454,7 @@ FUNCTION {output}
FUNCTION {output.check}
{ 't :=
duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
'output.nonnull
if$
}
@@ -676,23 +469,30 @@ FUNCTION {output.bibitem}
before.all 'output.state :=
}
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
FUNCTION {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
+%<*list>
-FUNCTION {new.sentence}
-{ skip$
+FUNCTION {add.note}
+{ annotate empty$
+ 'skip$
+ { new.block
+ "{\footnotesize " annotate * "}" * output }
+ if$
}
+%</list>
+FUNCTION {fin.entry}
+%<list>{ add.note
+%<list> add.period$
+%<!list>{ add.period$
+ write$
+ newline$
+}
FUNCTION {not}
{ { #0 }
{ #1 }
@@ -711,22 +511,6 @@ FUNCTION {or}
if$
}
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
@@ -737,1047 +521,355 @@ FUNCTION {field.or.null}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * "}" * }
+ { "\emph{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizec}
+FUNCTION {boldface}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ",}" * }
+ { "\textbf{" swap$ * "}" * }
if$
}
-FUNCTION {emphasizesc}
+FUNCTION {paren}
{ duplicate$ empty$
{ pop$ "" }
- { "\textit{" swap$ * ";}" * }
+ { "(" swap$ * ")" * }
if$
}
-FUNCTION {slantc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textsl{" swap$ * ",}" * }
- if$
-}
+FUNCTION {bbl.and}
+{ "and" }
-FUNCTION {emboldenc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textbf{" swap$ * ",}" * }
- if$
-}
+FUNCTION {bbl.chapter}
+{ "Chapter" }
-INTEGERS { nameptr namesleft numnames }
+FUNCTION {bbl.editor}
+{ "Ed." }
-INTEGERS { etal }
+FUNCTION {bbl.editors}
+{ "Eds." }
-FUNCTION {format.names}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames #15 >
- s numnames "{ll}" format.name$ "others" = numnames #1 > and
- or 'etal :=
- etal
- { #1 #1 + 'namesleft := }
- { numnames 'namesleft := }
- if$
- { namesleft #0 > }
- { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { ";\ \ " * t * }
- { nameptr #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- etal or
- { " \textit{et al.}\ " * }
- { ";\ \ " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
+FUNCTION {bbl.edition}
+{ "ed." }
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { author format.names }
- if$
-}
+FUNCTION {bbl.etal}
+{ "et~al." }
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { ",\ \ Eds.; " * }
- { ",\ \ Ed.; " * }
- if$
- }
- if$
-}
+FUNCTION {bbl.in}
+{ "In" }
-FUNCTION {n.dashify}
-{ 't :=
- ""
- { t empty$ not }
- { t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
- if$
- }
- while$
-}
+FUNCTION {bbl.inpress}
+{ "in press" }
-FUNCTION {format.date}
-{ year empty$
- { "" }
- 'year
- if$
-}
+FUNCTION {bbl.msc}
+{ "M.Sc.\ thesis" }
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
- if$
- swap$ * *
-}
+FUNCTION {bbl.page}
+{ "p" }
-FUNCTION {either.or.check}
-{ empty$
- 'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
+FUNCTION {bbl.pages}
+{ "pp" }
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { "volume" volume tie.or.space.connect
- series empty$
- 'skip$
- { " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
+FUNCTION {bbl.phd}
+{ "Ph.D.\ thesis" }
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { series " " * number * "; " * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
+FUNCTION {bbl.submitted}
+{ "submitted for publication" }
-FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { edition " ed.;" * }
- if$
-}
+FUNCTION {bbl.techreport}
+{ "Technical Report" }
-INTEGERS { multiresult }
+FUNCTION {bbl.volume}
+{ "Vol." }
-FUNCTION {multi.page.check}
-{ 't :=
- #0 'multiresult :=
- { multiresult not
- t empty$ not
- and
- }
- { t #1 #1 substring$
- duplicate$ "-" =
- swap$ duplicate$ "," =
- swap$ "+" =
- or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
- if$
- }
- while$
- multiresult
-}
+FUNCTION {bbl.first}
+{ "1st" }
-FUNCTION {format.pages}
-{ pages empty$
- { "" }
- { pages multi.page.check
- { "pages" pages n.dashify tie.or.space.connect }
- { "page" pages tie.or.space.connect }
- if$
- }
- if$
-}
+FUNCTION {bbl.second}
+{ "2nd" }
-FUNCTION {format.pages.a}
-{ pages empty$
- { "" }
- { "page" pages tie.or.space.connect }
- if$
-}
+FUNCTION {bbl.third}
+{ "3rd" }
-FUNCTION {format.yr.vol.pages}
-{ year field.or.null emboldenc
- " " swap$ * *
- volume field.or.null slantc
- " " swap$ * *
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages.a }
- { " " * pages * }
- if$
- }
- if$
-}
+FUNCTION {bbl.fourth}
+{ "4th" }
-FUNCTION {format.chapter.pages}
-{ chapter empty$
- 'format.pages
- { type empty$
- { "Chapter" }
- { type "l" change.case$ }
- if$
- chapter tie.or.space.connect
- pages empty$
- 'skip$
- { ", " * format.pages * }
- if$
- }
- if$
-}
+FUNCTION {bbl.fifth}
+{ "5th" }
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
+FUNCTION {bbl.st}
+{ "st" }
-FUNCTION {format.thesis}
-{ type empty$
- {"Thesis,"}
- {type " thesis," * }
- if$
-}
+FUNCTION {bbl.nd}
+{ "nd" }
-FUNCTION {format.article.crossref}
-{ key empty$
- { journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "In " journal * }
- if$
- }
- { "In " key * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
- if$
- }
- if$
-}
+FUNCTION {bbl.rd}
+{ "rd" }
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- "In "
- }
- { "Volume" volume tie.or.space.connect
- " of " *
- }
- if$
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "\textit{" * series * "}" * }
- if$
- }
- { key * }
- if$
- }
- { format.crossref.editor * }
- if$
- " \cite{" * crossref * "}" *
-}
+FUNCTION {bbl.th}
+{ "th" }
-FUNCTION {format.incoll.inproc.crossref}
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In \textit{" booktitle * ",}" * }
- if$
- }
- { "In " key * }
- if$
- }
- { "In " format.crossref.editor * }
- if$
- " \cite{" * crossref * "}" *
+FUNCTION {eng.ord}
+{ duplicate$ "1" swap$ *
+ #-2 #1 substring$ "1" =
+ { bbl.th * }
+ { duplicate$ #-1 #1 substring$
+ duplicate$ "1" =
+ { pop$ bbl.st * }
+ { duplicate$ "2" =
+ { pop$ bbl.nd * }
+ { "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
}
-FUNCTION {in.book}
- { "In " output
- booktitle emphasize
- volume empty$
- {skip$}
- {", Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
- editor missing$
- { skip$ }
- { format.editors output }
+FUNCTION{is.a.digit}
+{ duplicate$ "" =
+ {pop$ #0}
+ {chr.to.int$ #48 - duplicate$
+ #0 < swap$ #9 > or not}
if$
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
}
-FUNCTION {book.vol.ed}
-{ "" volume empty$
- {skip$}
- {" Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
-}
-
-FUNCTION {thesis.affilation}
-{ school "," * "school" output.check
- institution empty$
- 'skip$
- {institution "," * output}
+FUNCTION{is.a.number}
+{
+ { duplicate$ #1 #1 substring$ is.a.digit }
+ {#2 global.max$ substring$}
+ while$
+ "" =
+}
+
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.a.number
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
if$
}
-FUNCTION {article}
-{ output.bibitem
- format.authors "author" output.check
- crossref missing$
- { journal field.or.null emphasize
- format.yr.vol.pages
- output
- }
- { format.article.crossref output.nonnull
- format.pages output
+FUNCTION {bibinfo.check}
+{ swap$
+ duplicate$ missing$
+ { pop$ pop$
+ ""
}
- if$
- note output
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- new.block
- "submitted for publication in" output
- note empty$
- { journal emphasize "journal" output.check }
- { journal emphasizec "journal" output.check
- note output }
- if$
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasizec "journal" output.check
- "in press" output
- note output
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
+ { duplicate$ empty$
+ {
+ swap$ pop$
+ }
+ { swap$
+ pop$
+ }
if$
}
if$
- booktitle empty$
- { title emphasizesc output }
- { booktitle emphasizesc output }
- if$
- crossref missing$
- { format.bvolume output
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
- }
- { format.book.crossref output.nonnull }
- if$
- format.edition output
- format.date "year" output.check
- note output
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors "author" output.check
- " ``" title * "'', " * "title" output.check
- howpublished empty$
- { skip$ }
- { howpublished "," * output}
- if$
- address empty$
- { skip$ }
- { address "," * output}
- if$
- format.date "year" output.check
- note output
- fin.entry
}
-FUNCTION {inbook}
-{ output.bibitem
- format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- chapter empty$
- {format.date "year" output.check}
- {year empty$
- { "empty year field in " * cite$ * warning$ }
- { year "; " * output
- format.chapter.pages output }
- if$
- }
- if$
- note output
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- format.date "year" output.check
- note output
- fin.entry
-}
-
-FUNCTION {inproceedings} { inbook }
-
-FUNCTION {conference} { inbook }
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization ", " * address * output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
- "``" title * "'', " * "title" output.check
- author empty$
- { organization empty$
- { address empty$
- 'skip$
- { address "," * output }
+FUNCTION {convert.edition}
+{ extract.num "l" change.case$ 's :=
+ s "first" = s "1" = or
+ { bbl.first 't := }
+ { s "second" = s "2" = or
+ { bbl.second 't := }
+ { s "third" = s "3" = or
+ { bbl.third 't := }
+ { s "fourth" = s "4" = or
+ { bbl.fourth 't := }
+ { s "fifth" = s "5" = or
+ { bbl.fifth 't := }
+ { s #1 #1 substring$ is.a.number
+ { s eng.ord 't := }
+ { edition 't := }
+ if$
+ }
+ if$
+ }
+ if$
+ }
if$
- }
- 'skip$
+ }
if$
}
- { organization empty$
- 'skip$
- { organization "," * output
- address empty$
- 'skip$
- { address "," * output }
- if$
- }
- if$
- }
if$
- format.edition output
- format.date output
- note output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- "``" title * "'', " * "title" output.check
- "Master's thesis, " output
- thesis.affilation
- format.date "year" output.check
- note output
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title empty$
- 'skip$
- { "``" title * "'', " * output }
- if$
- howpublished empty$
- 'skip$
- {howpublished "," * output }
- if$
- format.date output
- note output
- fin.entry
- empty.misc.check
+ t
}
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- title emphasizec "title" output.check
- format.thesis output.nonnull
- thesis.affilation
- format.date "year" output.check
- note output
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- editor empty$
- { organization output }
- { format.editors output.nonnull }
- if$
- booktitle empty$
- { title emphasizec output }
- { booktitle emphasizec output }
- if$
- book.vol.ed
- format.number.series output
- publisher empty$
- { address empty$
- { format.date "year" output.check }
- { address "," * output
- format.date "year" output.check }
- if$
- }
- { address empty$
- { publisher "," * output
- format.date "year" output.check }
- { publisher ": " * address * "," * output
- format.date "year" output.check }
- if$
- }
- if$
- note output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- "``" title * "'', " * "title" output.check
- type empty$
- { "Technical Report" }
- 'type
- if$
- number empty$
- { ", " * }
- { " " * number * "," * }
- if$
- output.nonnull
- institution "," * "institution" output.check
- address empty$
- { skip$ }
- { address "," * output }
- if$
- format.date "year" output.check
- note output
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- note empty$
- { "Unpublished data" output }
- { year empty$
- { note output }
- { note ", " * year * output }
- if$ }
+FUNCTION {tie.or.space.connect}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
+ swap$ * *
}
-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."}
+FUNCTION {space.connect}
+{ " " swap$ * * }
-MACRO {acchemr} {"Acc.\ Chem.\ Res."}
-MACRO {aacsa} {"Adv.\ {ACS} Abstr."}
-MACRO {anchem} {"Anal.\ Chem."}
-MACRO {bioch} {"Biochemistry"}
-MACRO {bicoc} {"Bioconj.\ Chem."} % ***
-MACRO {bitech} {"Biotechnol.\ Progr."} % ***
-MACRO {chemeng} {"Chem.\ Eng.\ News"}
-MACRO {chs} {"Chem.\ Health Safety"} % ***
-MACRO {crt} {"Chem.\ Res.\ Tox."} % ***
-MACRO {chemrev} {"Chem.\ Rev."} % ***
-MACRO {cmat} {"Chem.\ Mat."} % ***
-MACRO {chemtech} {"{CHEMTECH}"} % ***
-MACRO {enfu} {"Energy \&{} Fuels"} % ***
-MACRO {envst} {"Environ.\ Sci.\ Technol."}
-MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."}
-MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."}
-MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."}
-MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % ***
-MACRO {inor} {"Inorg.\ Chem."}
-MACRO {jafc} {"J.~Agric.\ Food Chem."}
-MACRO {jacs} {"J.~Am.\ Chem.\ Soc."}
-MACRO {jced} {"J.~Chem.\ Eng.\ Data"}
-MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."}
-MACRO {jmc} {"J.~Med.\ Chem."}
-MACRO {joc} {"J.~Org.\ Chem."}
-MACRO {jps} {"J.~Pharm.\ Sci."}
-MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
-MACRO {jpc} {"J.~Phys.\ Chem."}
-MACRO {lang} {"Langmuir"}
-MACRO {macro} {"Macromolecules"}
-MACRO {orgmet} {"Organometallics"}
-
-MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
-MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
-MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
-MACRO {tfs} {"Trans.\ Faraday Soc."}
-MACRO {jcis} {"J.~Colloid Interface Sci."}
-MACRO {acis} {"Adv.~Colloid Interface Sci."}
-MACRO {cs} {"Colloids Surf."}
-MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"}
-MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"}
-MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
-MACRO {jmr} {"J.~Magn.\ Reson."}
-MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
-MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
-MACRO {sci} {"Science"}
-MACRO {nat} {"Nature (London)"}
-MACRO {jcch} {"J.~Comput.\ Chem."}
-MACRO {cca} {"Croat.\ Chem.\ Acta"}
-
-MACRO {poly} {"Polymer"}
-MACRO {ajp} {"Am.\ J.\ Phys."}
-MACRO {rsi} {"Rev.\ Sci.\ Instrum."}
-MACRO {jcp} {"J.~Chem.\ Phys."}
-MACRO {cpl} {"Chem.\ Phys.\ Lett."}
-MACRO {molph} {"Mol.\ Phys."}
-MACRO {pac} {"Pure Appl.\ Chem."}
-MACRO {jbc} {"J.~Biol.\ Chem."}
-MACRO {tl} {"Tetrahedron Lett.\"}
-MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
-MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"}
-MACRO {jap} {"J.~Appl.\ Phys."}
-MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "}
-MACRO {bba} {"Biochim.\ Biophys.\ Acta"}
-MACRO {nar} {"Nucleic.\ Acid Res."}
-
-READ
-
-STRINGS { longest.label }
-
-INTEGERS { number.label longest.label.width }
-
-FUNCTION {initialize.longest.label}
-{ "" 'longest.label :=
- #1 'number.label :=
- #0 'longest.label.width :=
-}
+INTEGERS { nameptr namesleft numnames }
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ numnames #15 >
+ { s #1 "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ t bbl.etal space.connect
}
- 'skip$
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
if$
}
-EXECUTE {initialize.longest.label}
-
-ITERATE {longest.label.pass}
-
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ author format.names }
if$
- "\providecommand{\refin}[1]{\\ \textbf{Referenced in:} #1}"
- write$ newline$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
}
-EXECUTE {end.bib}
-%</huvudkod>
-%<*listhuvudkod>
-ENTRY
- { address
- author
- booktitle
- chapter
- edition
- editor
- howpublished
- institution
- journal
- key
- month
- note
- number
- organization
- pages
- publisher
- school
- series
- title
- type
- volume
- year
- annotate
- }
- {}
- { label }
-
-INTEGERS { output.state before.all mid.sentence after.sentence after.block }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
-}
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { " " * write$ }
- { output.state after.block =
- { ", " * write$
- newline$
- "\newblock " write$
- }
- { output.state before.all =
- 'write$
- { add.period$ " " * write$ }
- if$
- }
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ editor format.names
+ add.comma
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
if$
- mid.sentence 'output.state :=
+ *
}
if$
- s
}
-FUNCTION {output}
-{ duplicate$ empty$
- 'pop$
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.check}
+FUNCTION {n.separate.multi}
{ 't :=
- duplicate$ empty$
- { pop$ "empty " t * " in " * cite$ * warning$ }
- 'output.nonnull
- if$
-}
-
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
""
- before.all 'output.state :=
-}
-
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-FUNCTION {new.block}
-{ output.state before.all =
- 'skip$
- { after.block 'output.state := }
- if$
-}
-
-FUNCTION {new.sentence}
-{ skip$
-}
-
-FUNCTION {not}
-{ { #0 }
- { #1 }
- if$
-}
-
-FUNCTION {and}
-{ 'skip$
- { pop$ #0 }
- if$
-}
-
-FUNCTION {or}
-{ { pop$ #1 }
- 'skip$
- if$
-}
-
-FUNCTION {new.block.checka}
-{ empty$
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {new.block.checkb}
-{ empty$
- swap$ empty$
- and
- 'skip$
- 'new.block
- if$
-}
-
-FUNCTION {field.or.null}
-{ duplicate$ empty$
- { pop$ "" }
- 'skip$
- if$
-}
-
-FUNCTION {emphasize}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textit{" swap$ * "}" * }
- if$
-}
-
-FUNCTION {emphasizec}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textit{" swap$ * ",}" * }
- if$
-}
-
-FUNCTION {emphasizesc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textit{" swap$ * ";}" * }
- if$
-}
-
-FUNCTION {slantc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textsl{" swap$ * ",}" * }
+ #0 'numnames :=
+ t text.length$ #4 > t is.a.number and
+ {
+ { t empty$ not }
+ { t #-1 #1 substring$ is.a.number
+ { numnames #1 + 'numnames := }
+ { #0 'numnames := }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames #4 =
+ { duplicate$ #1 #1 substring$ swap$
+ #2 global.max$ substring$
+ "," swap$ * *
+ #1 'numnames :=
+ }
+ 'skip$
+ if$
+ }
+ while$
+ }
+ { t swap$ * }
if$
}
-FUNCTION {emboldenc}
-{ duplicate$ empty$
- { pop$ "" }
- { "\textbf{" swap$ * ",}" * }
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect }
if$
}
-INTEGERS { nameptr namesleft numnames }
-
-INTEGERS { etal }
-
-FUNCTION {format.names}
-{ 's :=
- #1 'nameptr :=
- s num.names$ 'numnames :=
- numnames #15 >
- s numnames "{ll}" format.name$ "others" = numnames #1 > and
- or 'etal :=
- etal
- { #1 #1 + 'namesleft := }
- { numnames 'namesleft := }
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
if$
- { namesleft #0 > }
- { s nameptr "{vv~}{ll,}{~jj,}{~f.}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { ";\ \ " * t * }
- { nameptr #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- etal or
- { " \textit{et al.}\ " * }
- { ";\ \ " * t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
}
-FUNCTION {format.authors}
-{ author empty$
+FUNCTION {format.title}
+{ 't :=
+ t empty$
{ "" }
- { author format.names }
+ { t emphasize }
if$
}
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { editor format.names
- editor num.names$ #1 >
- { ",\ \ Eds.; " * }
- { ",\ \ Ed.; " * }
+FUNCTION {format.number.series}
+{ volume empty$
+ { number empty$
+ { series field.or.null }
+ { series empty$
+ { "There is a number but no series in " cite$ * warning$ }
+ { series number space.connect }
+ if$
+ }
if$
}
+ { "" }
if$
}
-FUNCTION {n.dashify}
-{ 't :=
+FUNCTION {n.dashify} { 't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
- { t #1 #2 substring$ "--" = not
- { "--" *
- t #2 global.max$ substring$ 't :=
- }
- { { t #1 #1 substring$ "-" = }
- { "-" *
- t #2 global.max$ substring$ 't :=
- }
- while$
- }
- if$
- }
- { t #1 #1 substring$ *
- t #2 global.max$ substring$ 't :=
- }
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
if$
}
while$
@@ -1786,57 +878,31 @@ FUNCTION {n.dashify}
FUNCTION {format.date}
{ year empty$
{ "" }
- 'year
+ { year boldface }
if$
}
-FUNCTION {tie.or.space.connect}
-{ duplicate$ text.length$ #3 <
- { "~" }
- { " " }
+FUNCTION {format.bdate}
+{ year empty$
+ { "There's no year in " cite$ * warning$ }
+ 'year
if$
- swap$ * *
}
FUNCTION {either.or.check}
{ empty$
'pop$
- { "can't use both " swap$ * " fields in " * cite$ * warning$ }
- if$
-}
-
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { "volume" volume tie.or.space.connect
- series empty$
- 'skip$
- { " of " * series emphasize * }
- if$
- "volume and number" number either.or.check
- }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { series empty$
- { "there's a number but no series in " cite$ * warning$ }
- { series " " * number * "; " * }
- if$
- }
- if$
- }
- { "" }
+ { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
if$
}
FUNCTION {format.edition}
-{ edition empty$
- { "" }
- { edition " ed.;" * }
+{ edition duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
if$
}
@@ -1854,8 +920,8 @@ FUNCTION {multi.page.check}
swap$ duplicate$ "," =
swap$ "+" =
or or
- { #1 'multiresult := }
- { t #2 global.max$ substring$ 't := }
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
if$
}
while$
@@ -1866,483 +932,434 @@ FUNCTION {format.pages}
{ pages empty$
{ "" }
{ pages multi.page.check
- { "pages" pages n.dashify tie.or.space.connect }
- { "page" pages tie.or.space.connect }
- if$
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
}
if$
}
-FUNCTION {format.pages.a}
+
+FUNCTION {format.pages.required}
{ pages empty$
- { "" }
- { "page" pages tie.or.space.connect }
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
if$
}
-FUNCTION {format.yr.vol.pages}
-{ year field.or.null emboldenc
- " " swap$ * *
- volume field.or.null slantc
- " " swap$ * *
- pages empty$
- 'skip$
- { duplicate$ empty$
- { pop$ format.pages.a }
- { " " * pages * }
+FUNCTION {format.pages.nopp}
+{ pages empty$
+ { ""
+ "There are no page numbers for " cite$ * warning$
+ output
+ }
+ { pages multi.page.check
+ { pages n.dashify space.connect }
+ { pages space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.patent}
+{ pages empty$
+ { "There is no patent number for " cite$ * warning$ }
+ { pages multi.page.check
+ { pages n.dashify }
+ { pages n.separate.multi }
if$
}
if$
}
+FUNCTION {format.vol.pages}
+{ volume emphasize field.or.null
+ duplicate$ empty$
+ { pop$ format.pages.required }
+ { add.comma pages n.dashify * }
+ if$
+}
+
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
- { "Chapter" }
- { type "l" change.case$ }
+ { bbl.chapter }
+ { type "l" change.case$ }
if$
chapter tie.or.space.connect
pages empty$
- 'skip$
- { ", " * format.pages * }
+ 'skip$
+ { add.comma format.pages * }
if$
}
if$
}
-FUNCTION {empty.misc.check}
-{ author empty$ title empty$ howpublished empty$
- month empty$ year empty$ note empty$
- and and and and and
- { "all relevant fields are empty in " cite$ * warning$ }
- 'skip$
- if$
-}
-
-FUNCTION {format.thesis}
-{ type empty$
- {"Thesis,"}
- {type " thesis," * }
+FUNCTION {format.title.in}
+{ 's :=
+ s empty$
+ { "" }
+ { editor empty$
+ { bbl.in s format.title space.connect }
+ { bbl.in s format.title space.connect
+ add.semicolon format.editors *
+ }
+ if$
+ }
if$
}
-FUNCTION {format.article.crossref}
-{ key empty$
- { journal empty$
- { "need key or journal for " cite$ * " to crossref " * crossref *
- warning$
- ""
- }
- { "In " journal * }
- if$
- }
- { "In " key * }
- if$
- " \cite{" * crossref * "}" *
-}
-
-FUNCTION {format.crossref.editor}
-{ editor #1 "{vv~}{ll}" format.name$
- editor num.names$ duplicate$
- #2 >
- { pop$ " et~al." * }
- { #2 <
- 'skip$
- { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
- { " et~al." * }
- { " and " * editor #2 "{vv~}{ll}" format.name$ * }
- if$
- }
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
if$
}
if$
}
-FUNCTION {format.book.crossref}
-{ volume empty$
- { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
- "In "
- }
- { "Volume" volume tie.or.space.connect
- " of " *
- }
- if$
- editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { series empty$
- { "need editor, key, or series for " cite$ * " to crossref " *
- crossref * warning$
- "" *
- }
- { "\textit{" * series * "}" * }
- if$
- }
- { key * }
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
if$
}
- { format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {format.incoll.inproc.crossref}
-{ editor empty$
- editor field.or.null author field.or.null =
- or
- { key empty$
- { booktitle empty$
- { "need editor, key, or booktitle for " cite$ * " to crossref " *
- crossref * warning$
- ""
- }
- { "In \textit{" booktitle * ",}" * }
- if$
- }
- { "In " key * }
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
if$
}
- { "In " format.crossref.editor * }
if$
- " \cite{" * crossref * "}" *
}
-FUNCTION {in.book}
- { "In " output
- booktitle emphasize
- volume empty$
- {skip$}
- {", Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
- editor missing$
- { skip$ }
- { format.editors output }
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$
+ and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
if$
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
}
-FUNCTION {book.vol.ed}
-{ "" volume empty$
- {skip$}
- {" Vol.~" * volume *}
- if$
- edition empty$
- {";" * output}
- {"," * output
- edition " ed.;\" * output}
- if$
-}
-
-FUNCTION {thesis.affilation}
-{ school "," * "school" output.check
- institution empty$
- 'skip$
- {institution "," * output}
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
if$
}
-FUNCTION {add.note}
-{ annotate empty$
+FUNCTION {format.thesis.type}
+{ type empty$
'skip$
- { new.block
- "{\footnotesize " annotate * "}" * output }
+ { pop$
+ type emphasize
+ }
if$
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
- crossref missing$
- { journal field.or.null emphasize
- format.yr.vol.pages
- output
- }
- { format.article.crossref output.nonnull
- format.pages output
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ after.item 'output.state :=
+ format.date "year" output.check
+ volume empty$
+ { ""
+ format.pages.nopp output
}
+ { format.vol.pages output }
if$
note output
- add.note
fin.entry
}
-FUNCTION {submitted}
+FUNCTION {book}
{ output.bibitem
- format.authors "author" output.check
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ new.block
+ editor empty$
+ { "Need either an author or editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ "author and editor" editor either.or.check
+ booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ }
+ if$
+ format.edition output
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
new.block
- "submitted for publication in" output
- note empty$
- { journal emphasize "journal" output.check }
- { journal emphasizec "journal" output.check
- note output }
+ format.bvolume output
+ pages empty$
+ 'skip$
+ { format.pages output }
if$
- add.note
+ note output
fin.entry
}
-FUNCTION {inpress}
+FUNCTION {booklet}
{ output.bibitem
- format.authors "author" output.check
- journal emphasizec "journal" output.check
- "in press" output
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ howpublished output
+ address output
+ format.date output
note output
- add.note
fin.entry
}
-FUNCTION {book}
+FUNCTION {inbook}
{ output.bibitem
author empty$
- { format.editors "author and editor" output.check }
- { format.authors output.nonnull
- crossref missing$
- { "author and editor" editor either.or.check }
- 'skip$
- if$
+ { title format.title "title" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
}
- if$
- booktitle empty$
- { title emphasizesc output }
- { booktitle emphasizesc output }
- if$
- crossref missing$
- { format.bvolume output
- format.number.series output
- new.sentence
- publisher ":" * "publisher" output.check
- address "," * "address" output.check
+ { format.authors output
+ after.item 'output.state :=
+ title format.title.in "title" output.check
}
- { format.book.crossref output.nonnull }
if$
format.edition output
- format.date "year" output.check
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ new.block
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
- add.note
fin.entry
}
-FUNCTION {booklet}
+FUNCTION {incollection}
{ output.bibitem
- format.authors "author" output.check
- " ``" title * "'', " * "title" output.check
- howpublished empty$
- { skip$ }
- { howpublished "," * output}
- if$
- address empty$
- { skip$ }
- { address "," * output}
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ new.block
+ editor empty$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
+ }
+ { format.authors output
+ after.item 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ }
if$
- format.date "year" output.check
+ format.edition output
+ new.block
+ format.number.series output
+ new.block
+ format.pub.address "publisher" output.check
+ format.bdate "year" output.check
+ format.bvolume output
+ format.chapter.pages "chapter and pages" output.check
note output
- add.note
fin.entry
}
-FUNCTION {inbook}
+FUNCTION {inpress}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- chapter empty$
- {format.date "year" output.check}
- {year empty$
- { "empty year field in " * cite$ * warning$ }
- { year "; " * output
- format.chapter.pages output }
- if$
- }
- if$
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ doi empty$
+ { bbl.inpress output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
+ }
+ if$
note output
- add.note
fin.entry
}
-FUNCTION {incollection}
+FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- " " title * ". " * "title" output.check
- in.book
- format.date "year" output.check
+ after.item 'output.state :=
+ booktitle format.title.noemph "booktitle" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
note output
- add.note
fin.entry
}
-FUNCTION {inproceedings} { inbook }
-
-FUNCTION {conference} { inbook }
-
FUNCTION {manual}
{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization ", " * address * output
- }
- if$
- }
- { format.authors output.nonnull }
- if$
- "``" title * "'', " * "title" output.check
- author empty$
- { organization empty$
- { address empty$
- 'skip$
- { address "," * output }
- if$
- }
- 'skip$
- if$
- }
- { organization empty$
- 'skip$
- { organization "," * output
- address empty$
- 'skip$
- { address "," * output }
- if$
- }
- if$
- }
- if$
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ format.organization.address output
format.edition output
- format.date output
+ format.bdate output
note output
- add.note
fin.entry
}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- "``" title * "'', " * "title" output.check
- "Master's thesis, " output
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.msc format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
-FUNCTION {misc}
+FUNCTION {misc}
{ output.bibitem
format.authors output
- title empty$
- 'skip$
- { "``" title * "'', " * output }
- if$
- howpublished empty$
- 'skip$
- {howpublished "," * output }
- if$
- format.date output
+ after.item 'output.state :=
+ title format.title output
+ howpublished output
+ year output
note output
- add.note
fin.entry
empty.misc.check
}
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal emphasize "journal" output.check
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- title emphasizec "title" output.check
- format.thesis output.nonnull
- thesis.affilation
- format.date "year" output.check
+ after.item 'output.state :=
+ bbl.phd format.thesis.type output
+ format.school.address "school" output.check
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
-FUNCTION {proceedings}
+FUNCTION {proceedings}
{ output.bibitem
- editor empty$
- { organization output }
- { format.editors output.nonnull }
- if$
- booktitle empty$
- { title emphasizec output }
- { booktitle emphasizec output }
+ title format.title.noemph "title" output.check
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
if$
- book.vol.ed
- format.number.series output
- publisher empty$
- { address empty$
- { format.date "year" output.check }
- { address "," * output
- format.date "year" output.check }
- if$
- }
- { address empty$
- { publisher "," * output
- format.date "year" output.check }
- { publisher ": " * address * "," * output
- format.date "year" output.check }
- if$
- }
- if$
note output
- add.note
fin.entry
}
-FUNCTION {techreport}
+FUNCTION {remark}
{ output.bibitem
- format.authors "author" output.check
- "``" title * "'', " * "title" output.check
+ note "note" output.check
+ fin.entry
+}
+
+FUNCTION {submitted}
+{ output.bibitem
+ format.authors "author" output.check
+ bbl.submitted output
+ fin.entry
+}
+
+FUNCTION {techreport}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ title format.title "title" output.check
+ institution
type empty$
- { "Technical Report" }
- 'type
+ 'bbl.techreport
+ 'type
if$
+ space.connect
number empty$
- { ", " * }
- { " " * number * "," * }
- if$
- output.nonnull
- institution "," * "institution" output.check
- address empty$
- { skip$ }
- { address "," * output }
+ { "t" change.case$ }
+ { number tie.or.space.connect }
if$
- format.date "year" output.check
+ output
+ format.pub.address output
+ format.bdate "year" output.check
note output
- add.note
fin.entry
}
-FUNCTION {unpublished}
+FUNCTION {unpublished}
{ output.bibitem
format.authors "author" output.check
- note empty$
- { "Unpublished data" output }
- { year empty$
- { note output }
- { note ", " * year * output }
- if$ }
+ after.item 'output.state :=
+ journal empty$
+ 'skip$
+ { journal emphasize "journal" output.check }
+ if$
+ doi empty$
+ { note output }
+ { after.item 'output.state :=
+ format.date output
+ "DOI:" doi tie.or.space.connect output
+ }
if$
- add.note
fin.entry
+ empty.doi.note
}
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- add.note
- fin.entry
-}
+FUNCTION {conference} {inproceedings}
+
+FUNCTION {other} {patent}
-FUNCTION {default.type} { misc }
+FUNCTION {default.type} {misc}
MACRO {jan} {"Jan."}
MACRO {feb} {"Feb."}
@@ -2357,71 +1374,76 @@ MACRO {oct} {"Oct."}
MACRO {nov} {"Nov."}
MACRO {dec} {"Dec."}
-MACRO {acchemr} {"Acc.\ Chem.\ Res."}
+MACRO {acchemr} {"Acc.\ Chem.\ Res."}
MACRO {aacsa} {"Adv.\ {ACS} Abstr."}
-MACRO {anchem} {"Anal.\ Chem."}
-MACRO {bioch} {"Biochemistry"}
-MACRO {bicoc} {"Bioconj.\ Chem."} % ***
-MACRO {bitech} {"Biotechnol.\ Progr."} % ***
-MACRO {chemeng} {"Chem.\ Eng.\ News"}
-MACRO {chs} {"Chem.\ Health Safety"} % ***
-MACRO {crt} {"Chem.\ Res.\ Tox."} % ***
-MACRO {chemrev} {"Chem.\ Rev."} % ***
-MACRO {cmat} {"Chem.\ Mat."} % ***
-MACRO {chemtech} {"{CHEMTECH}"} % ***
-MACRO {enfu} {"Energy \&{} Fuels"} % ***
-MACRO {envst} {"Environ.\ Sci.\ Technol."}
-MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."}
-MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."}
-MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."}
-MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % ***
-MACRO {inor} {"Inorg.\ Chem."}
-MACRO {jafc} {"J.~Agric.\ Food Chem."}
-MACRO {jacs} {"J.~Am.\ Chem.\ Soc."}
-MACRO {jced} {"J.~Chem.\ Eng.\ Data"}
-MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."}
-MACRO {jmc} {"J.~Med.\ Chem."}
-MACRO {joc} {"J.~Org.\ Chem."}
-MACRO {jps} {"J.~Pharm.\ Sci."}
-MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
-MACRO {jpc} {"J.~Phys.\ Chem."}
-MACRO {lang} {"Langmuir"}
-MACRO {macro} {"Macromolecules"}
-MACRO {orgmet} {"Organometallics"}
-
-MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
-MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans. 1"}
-MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans. 2"}
-MACRO {tfs} {"Trans.\ Faraday Soc."}
-MACRO {jcis} {"J.~Colloid Interface Sci."}
-MACRO {acis} {"Adv.~Colloid Interface Sci."}
-MACRO {cs} {"Colloids Surf."}
+MACRO {anchem} {"Anal.\ Chem."}
+MACRO {bioch} {"Biochemistry"}
+MACRO {bicoc} {"Bioconj.\ Chem."} % ***
+MACRO {bitech} {"Biotechnol.\ Progr."} % ***
+MACRO {chemeng} {"Chem.\ Eng.\ News"}
+MACRO {chs} {"Chem.\ Health Safety"} % ***
+MACRO {crt} {"Chem.\ Res.\ Tox."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mat."} % ***
+MACRO {chemtech} {"{CHEMTECH}"} % ***
+MACRO {enfu} {"Energy \&{} Fuels"} % ***
+MACRO {envst} {"Environ.\ Sci.\ Technol."}
+MACRO {iecf} {"Ind.\ Eng.\ Chem.\ Fundam."}
+MACRO {iecpdd} {"Ind.\ Eng.\ Chem.\ Proc.\ Des.\ Dev."}
+MACRO {iecprd} {"Ind.\ Eng.\ Chem.\ Prod.\ Res.\ Dev."}
+MACRO {iecr} {"Ind.\ Eng.\ Chem.\ Res."} % ***
+MACRO {inor} {"Inorg.\ Chem."}
+MACRO {jafc} {"J.~Agric.\ Food Chem."}
+MACRO {jacs} {"J.~Am.\ Chem.\ Soc."}
+MACRO {jced} {"J.~Chem.\ Eng.\ Data"}
+MACRO {jcics} {"J.~Chem.\ Inf.\ Comput.\ Sci."}
+MACRO {jmc} {"J.~Med.\ Chem."}
+MACRO {joc} {"J.~Org.\ Chem."}
+MACRO {jps} {"J.~Pharm.\ Sci."}
+MACRO {jpcrd} {"J.~Phys.\ Chem.\ Ref.\ Data"} % ***
+MACRO {jpc} {"J.~Phys.\ Chem."}
+MACRO {jpca} {"J.~Phys.\ Chem.~A"}
+MACRO {jpcb} {"J.~Phys.\ Chem.~B"}
+MACRO {lang} {"Langmuir"}
+MACRO {macro} {"Macromolecules"}
+MACRO {orgmet} {"Organometallics"}
+MACRO {orglett} {"Org.\ Lett."}
+
+MACRO {jft} {"J.~Chem.\ Soc., Faraday Trans."}
+MACRO {jft1} {"J.~Chem.\ Soc., Faraday Trans.\ 1"}
+MACRO {jft2} {"J.~Chem.\ Soc., Faraday Trans.\ 2"}
+MACRO {tfs} {"Trans.\ Faraday Soc."}
+MACRO {jcis} {"J.~Colloid Interface Sci."}
+MACRO {acis} {"Adv.~Colloid Interface Sci."}
+MACRO {cs} {"Colloids Surf."}
MACRO {csa} {"Colloids Surf.\ A:\ Physicochem.\ Eng.\ Apects"}
MACRO {csb} {"Colloids Surf.\ B:\ Biointerfaces"}
-MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
-MACRO {jmr} {"J.~Magn.\ Reson."}
-MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
-MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
-MACRO {sci} {"Science"}
-MACRO {nat} {"Nature (London)"}
-MACRO {jcch} {"J.~Comput.\ Chem."}
-MACRO {cca} {"Croat.\ Chem.\ Acta"}
+MACRO {pcps} {"Progr.\ Colloid Polym.\ Sci."}
+MACRO {jmr} {"J.~Magn.\ Reson."}
+MACRO {jmra} {"J.~Magn.\ Reson.\ A"}
+MACRO {jmrb} {"J.~Magn.\ Reson.\ B"}
+MACRO {sci} {"Science (Washington,~D.C.)"}
+MACRO {nat} {"Nature (London)"}
+MACRO {jcch} {"J.~Comput.\ Chem."}
+MACRO {cca} {"Croat.\ Chem.\ Acta"}
+MACRO {angew} {"Angew.\ Chem.\ Int.\ Ed."}
+MACRO {chemeurj} {"Chem.--Eur.\ J."}
MACRO {poly} {"Polymer"}
-MACRO {ajp} {"Am.\ J.\ Phys."}
-MACRO {rsi} {"Rev.\ Sci.\ Instrum."}
-MACRO {jcp} {"J.~Chem.\ Phys."}
-MACRO {cpl} {"Chem.\ Phys.\ Lett."}
-MACRO {molph} {"Mol.\ Phys."}
-MACRO {pac} {"Pure Appl.\ Chem."}
+MACRO {ajp} {"Am.\ J.\ Phys."}
+MACRO {rsi} {"Rev.\ Sci.\ Instrum."}
+MACRO {jcp} {"J.~Chem.\ Phys."}
+MACRO {cpl} {"Chem.\ Phys.\ Lett."}
+MACRO {molph} {"Mol.\ Phys."}
+MACRO {pac} {"Pure Appl.\ Chem."}
MACRO {jbc} {"J.~Biol.\ Chem."}
-MACRO {tl} {"Tetrahedron Lett.\"}
-MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
-MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"}
-MACRO {jap} {"J.~Appl.\ Phys."}
-MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "}
-MACRO {bba} {"Biochim.\ Biophys.\ Acta"}
-MACRO {nar} {"Nucleic.\ Acid Res."}
+MACRO {tl} {"Tetrahedron Lett.\"}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter"}
+MACRO {jap} {"J.~Appl.\ Phys."}
+MACRO {pnac} {"Proc.\ Natl.\ Acad.\ Sci.\ U.~S.~A. "}
+MACRO {bba} {"Biochim.\ Biophys.\ Acta"}
+MACRO {nar} {"Nucleic.\ Acid Res."}
READ
@@ -2472,9 +1494,8 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
-%</listhuvudkod>
+%</bib>
% \fi
-%
+
% \Finale
-%
-\endinput
+% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.ins b/Master/texmf-dist/source/latex/achemso/achemso.ins
index b26e7e4d5ec..3bf7963a57e 100644
--- a/Master/texmf-dist/source/latex/achemso/achemso.ins
+++ b/Master/texmf-dist/source/latex/achemso/achemso.ins
@@ -1,58 +1,33 @@
-%
-% This is file `achemso.ins', the installation file for the
-% `achemso' package. Last revised 1997/02/22.
-%
-% Copyright (c) 1996-97 by Mats Dahlgren <matsd@homenet.se>.
-% All rights reserved.
-%
-% You may use the `achemso' package freely, but at your own
-% risk. The author of achemso.dtx, achemso.bst, achemsol.bst,
-% and achemso.ins (the complete `achemso' package distribution)
-% can not be held responsible for any consequence of your using
-% any of these files, or files created from these, including hardware,
-% software, and data damage. You may only make changes to
-% `acslist.tex', other than that, you may not make any changes to
-% any of the files in the achemso package. You may incorporate
-% the code from these files in other files under different
-% names, provided the original author is given full credit for
-% his work and that you yourself take the complaints from the
-% user(s) of your file(s). You may freely distribute the
-% files in the achemso package, provided: 1. You do not
-% charge money for the distribution or use of these files except
-% for a nominal charge for diskettes and postage; and 2. You
-% always distribute `achemso.dtx', and `achemso.ins' together
-% at the same time.
-%
-\def\batchfile{achemso.ins}
\input docstrip.tex
-
-\keepsilent
+\askonceonly
\preamble
+----------------------------------------------------------------
+The achemso package - A BibTeX style for American Chemical
+Society publications
+Maintained by Joseph A. Wright
+E-mail: joseph.wright@morningstar2.co.uk
+Originally developed by Mats Dahlgren
+ (c) 1996-98 by Mats Dahlgren
+ (c) 2007 Joseph Wright
+Released under the LaTeX Project Public license v1.3 or later
+----------------------------------------------------------------
+\endpreamble
-Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
-All rights reserved. See the file `achemso.ins' for information
-on how you may (re-)distribute the `achemso' package files.
+\Msg{Generating achemso files:}
+\usedir{tex/latex/contib/achemso}
+\generate{\file{achemso.sty}{\from{achemso.dtx}{package}}
+}
-\endpreamble
-\postamble
+% In order to produce the correct ending for
+% BibTeX files, we have to kill the standard
+% DocStrip postamble. By using an empty one, but
+% not \empty, we still get the "end of file" message.
+\declarepostamble\bibtexable
\endpostamble
-
-\generate{\file{achemso.sty}{\from{achemso.dtx}{paketkod}}%
- \file{acslist.tex}{\from{achemso.dtx}{listkod}}%
- \file{achemso.bst}{\from{achemso.dtx}{huvudkod}}%
- \file{achemsol.bst}{\from{achemso.dtx}{listhuvudkod}}%
+\usedir{bibtex/bst/achemso}
+\generate{\usepostamble\bibtexable
+ \file{achemso.bst}{\from{achemso.dtx}{bib}}
+ \file{achemsol.bst}{\from{achemso.dtx}{bib,list}}
}
-\Msg{************************************************************}
-\Msg{ }
-\Msg{ To finish the installation you have to move the file}
-\Msg{ `achemso.sty' into a directory searched by TeX and the}
-\Msg{ files `achemso.bst' and `achemsol.bst' to a directory}
-\Msg{ searched by BibTeX.}
-\Msg{ }
-\Msg{ To type-set the documentation, including instructions,}
-\Msg{ run the file `achemso.dtx' through LaTeX.}
-\Msg{ }
-\Msg{***********************************************************}
-%%
-%% end of file achemso.ins
-%%
+
+\endbatchfile
diff --git a/Master/texmf-dist/tex/latex/achemso/achemso.sty b/Master/texmf-dist/tex/latex/achemso/achemso.sty
index 27a1959422a..ca01ebf45d6 100644
--- a/Master/texmf-dist/tex/latex/achemso/achemso.sty
+++ b/Master/texmf-dist/tex/latex/achemso/achemso.sty
@@ -1,70 +1,68 @@
-%%
+%%
%% This is file `achemso.sty',
%% generated with the docstrip utility.
-%%
+%%
%% The original source files were:
-%%
-%% achemso.dtx (with options: `paketkod')
-%%
-%% Copyright (c) 1995-97 by Mats Dahlgren <matsd@homenet.se>.
-%% All rights reserved. See the file `achemso.ins' for information
-%% on how you may (re-)distribute the `achemso' package files.
-%%
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{achemso}[1997/02/22 version 0.99.]
-\def\achemsover{\texttt{achemso} version 0.99 (1997/02/22)}
-\newif \ifsctnnmbr \sctnnmbrfalse
-\newif \iflst \lstfalse
-\DeclareOption{note}{\renewcommand{\refname}{References and Notes}}
-\DeclareOption{number}{\global\sctnnmbrtrue}
-\DeclareOption{list}{\global\lsttrue}
+%%
+%% achemso.dtx (with options: `package')
+%% ----------------------------------------------------------------
+%% The achemso package - A BibTeX style for American Chemical
+%% Society publications
+%% Maintained by Joseph A. Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Originally developed by Mats Dahlgren
+%% (c) 1996-98 by Mats Dahlgren
+%% (c) 2007 Joseph Wright
+%% Released under the LaTeX Project Public license v1.3 or later
+%% ----------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{achemso}
+ [2007/01/17 v2.0 Enhancements for ACS publications]
+\def\ACSver{\texttt{achemso} v2.0 (2007/01/17)}
+\newif \ifACS@sctnnmbr \ACS@sctnnmbrfalse
+\newif \ifACS@lst \ACS@lstfalse
+\newif \ifACS@note \ACS@notefalse
+\DeclareOption{note}{\global\ACS@notetrue}
+\DeclareOption{number}{\global\ACS@sctnnmbrtrue}
+\DeclareOption{list}{\global\ACS@lsttrue}
\DeclareOption*{\OptionNotUsed}
\ProcessOptions
-\RequirePackage[nospace]{overcite}
-\iflst
+\RequirePackage[super,nospace]{cite}
+ \@ifpackageloaded{babel}
+ {\ACS@notefalse\PackageWarning{achemso}%
+ {babel package loaded - note option disabled}}
+ {\relax}
+\def\ACS@biberror{\PackageError{achemso}%
+ {No bibliography name command defined}\@eha}
+\ifx\refname\undefined
+ \ifx\bibname\undefined
+ \ACS@biberror
+ \else
+ \ifACS@note
+ \renewcommand*{\bibname}{References and Notes}
+ \else
+ \renewcommand*{\bibname}{References}
+ \fi
+ \fi
+ \else
+ \ifACS@note
+ \renewcommand*{\refname}{References and Notes}
+ \fi
+\fi
+\ifACS@sctnnmbr
+ \RequirePackage[numbib]{tocbibind}
+\fi
+\ifACS@lst
\bibliographystyle{achemsol}
- \if@twocolumn
- \else
- \reversemarginpar
- \fi
- \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
- {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces
- \@showtag{#1}}
- \def\@lbibitem[#1]#2{\item[\@biblabel{#1}\hfill]\if@filesw
- {\let\protect\noexpand
- \immediate
- \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces
- \@showtag{#2}}
- \newcommand{\thecitetag}[1]{\fbox{\texttt{#1}}}
- \def\@showtag#1{\@tempdima=\baselineskip
- \addtolength{\@tempdima}{0.5ex}
- \marginpar{\hfill\raisebox{-\@tempdima}[0pt][0pt]{\thecitetag{#1}}}}
+ \RequirePackage[notcite]{showkeys}
\else
-\bibliographystyle{achemso}
+ \bibliographystyle{achemso}
\fi
-\renewenvironment{thebibliography}[1]
- {\iflst \else \par\clearpage \fi
- \ifsctnnmbr
- \section{\refname
- \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
- \else
- \section*{\refname
- \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}%
- \fi
- \list{\@biblabel{\@arabic\c@enumiv}}%
- {\settowidth\labelwidth{\@biblabel{#1}}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \@openbib@code
- \usecounter{enumiv}%
- \let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}}%
- \sloppy\clubpenalty4000\widowpenalty4000%
- \sfcode`\.\@m}
- {\def\@noitemerr
- {\@latex@warning{Empty `thebibliography' environment}}%
- \endlist}
\def\@biblabel#1{#1.}
+\def\ACS@bibwarning{\PackageWarning{achemso}%
+ {Additional bibliographystyle command ignored}}
+\def\bibliographystyle{\ACS@bibwarning\@gobble}
-%%
+\endinput
+%%
%% End of file `achemso.sty'.
diff --git a/Master/texmf-dist/tpm/achemso.tpm b/Master/texmf-dist/tpm/achemso.tpm
index 5b6adfa003b..926951814cb 100644
--- a/Master/texmf-dist/tpm/achemso.tpm
+++ b/Master/texmf-dist/tpm/achemso.tpm
@@ -3,7 +3,7 @@
<rdf:Description about="http://texlive.dante.de/texlive/Package/achemso.zip">
<TPM:Name>achemso</TPM:Name>
<TPM:Type>Package</TPM:Type>
- <TPM:Date>2006/01/21 00:25:32</TPM:Date>
+ <TPM:Date>2007/01/17 02:44:00</TPM:Date>
<TPM:Version></TPM:Version>
<TPM:Creator>rahtz</TPM:Creator>
<TPM:Title>
@@ -20,19 +20,17 @@ base listings via an option to the LaTeX package achemso.
<TPM:Size>140935</TPM:Size>
<TPM:License></TPM:License>
<TPM:Build/>
- <TPM:RunFiles size="39182">
+ <TPM:RunFiles size="47287">
texmf-dist/bibtex/bst/achemso/achemso.bst
texmf-dist/bibtex/bst/achemso/achemsol.bst
texmf-dist/tex/latex/achemso/achemso.sty
texmf-dist/tpm/achemso.tpm
</TPM:RunFiles>
- <TPM:DocFiles size="36168">
-texmf-dist/doc/latex/achemso/achemso.dvi
-texmf-dist/doc/latex/achemso/acslist.dvi
-texmf-dist/doc/latex/achemso/acslist.tex
+ <TPM:DocFiles size="189644">
+texmf-dist/doc/latex/achemso/README
+texmf-dist/doc/latex/achemso/achemso.pdf
</TPM:DocFiles>
- <TPM:SourceFiles size="65585">
-texmf-dist/source/latex/achemso/00readme.acs
+ <TPM:SourceFiles size="37175">
texmf-dist/source/latex/achemso/achemso.dtx
texmf-dist/source/latex/achemso/achemso.ins
</TPM:SourceFiles>
diff --git a/Master/texmf/lists/achemso b/Master/texmf/lists/achemso
index e3f7d6c7757..2f9dcf90443 100644
--- a/Master/texmf/lists/achemso
+++ b/Master/texmf/lists/achemso
@@ -1,7 +1,5 @@
-texmf-dist/doc/latex/achemso/achemso.dvi
-texmf-dist/doc/latex/achemso/acslist.dvi
-texmf-dist/doc/latex/achemso/acslist.tex
-texmf-dist/source/latex/achemso/00readme.acs
+texmf-dist/doc/latex/achemso/README
+texmf-dist/doc/latex/achemso/achemso.pdf
texmf-dist/source/latex/achemso/achemso.dtx
texmf-dist/source/latex/achemso/achemso.ins
texmf-dist/bibtex/bst/achemso/achemso.bst