summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-01-17 07:13:47 +0000
committerNorbert Preining <preining@logic.at>2008-01-17 07:13:47 +0000
commit1ff881bb9b27e1bfc797ed8ce04608954c87548b (patch)
tree46b616b85c5e768ebe22b7b737f1da8012bd88fb /Master
parentaa80b5c425682a0606de9a0417852bd38bb74f53 (diff)
achemso update 09-01-17
git-svn-id: svn://tug.org/texlive/trunk@6273 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemlnt.bst3
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemlntM.bst1453
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemnat.bst3
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemnatM.bst1444
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemso.bst3
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemsoM.bst1239
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemsol.bst3
-rw-r--r--Master/texmf-dist/bibtex/bst/achemso/achemsolM.bst1248
-rw-r--r--Master/texmf-dist/doc/latex/achemso/README11
-rw-r--r--Master/texmf-dist/doc/latex/achemso/achemso.pdfbin159056 -> 183178 bytes
-rw-r--r--Master/texmf-dist/source/latex/achemso/achemso.dtx738
-rw-r--r--Master/texmf-dist/source/latex/achemso/achemso.ins10
-rw-r--r--Master/texmf-dist/tex/latex/achemso/achemso.sty66
-rw-r--r--Master/texmf-dist/tex/latex/achemso/jawltxdoc.sty56
14 files changed, 5926 insertions, 351 deletions
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemlnt.bst b/Master/texmf-dist/bibtex/bst/achemso/achemlnt.bst
index 07a23a027da..46170691647 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemlnt.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemlnt.bst
@@ -10,7 +10,7 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
@@ -150,6 +150,7 @@ FUNCTION {fin.entry}
write$
newline$
}
+
FUNCTION {not}
{ { #0 }
{ #1 }
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemlntM.bst b/Master/texmf-dist/bibtex/bst/achemso/achemlntM.bst
new file mode 100644
index 00000000000..01eec2cac13
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemlntM.bst
@@ -0,0 +1,1453 @@
+%%
+%% This is file `achemlntM.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `bib,list,nat,mcp')
+%% ----------------------------------------------------------------
+%% The achemso package - LaTeX and BibTeX support for American
+%% Chemical Society publications
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%%
+ENTRY
+ { address
+ annotate
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ {
+ label
+ extra.label
+ short.list
+ }
+
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
+INTEGERS { separate.by.semicolon }
+
+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.comma.or.semicolon}
+{ #1 separate.by.semicolon =
+ 'add.semicolon
+ 'add.comma
+ if$
+}
+
+FUNCTION {add.colon}
+{ ": " * }
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { add.comma write$ }
+ { output.state after.block =
+ { 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 :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.note}
+{ annotate empty$
+ 'skip$
+ { new.block
+ "{\footnotesize " annotate * "}" * output }
+ if$
+}
+
+INTEGERS {would.add.period.textlen}
+FUNCTION {would.add.period}
+{ duplicate$
+ add.period$
+ text.length$
+ 'would.add.period.textlen :=
+ duplicate$
+ text.length$
+ would.add.period.textlen =
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ would.add.period
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPuncttrue" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
+ }
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPunctfalse" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{}{\mcitedefaultseppunct}\relax"
+ }
+ if$
+ write$
+ newline$
+ "\EndOfBibitem" write$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+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.version}
+{ "version" }
+
+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{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 {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$ * *
+}
+
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ numnames #15 >
+ { s #1 "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma.or.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.comma.or.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ #1 'separate.by.semicolon :=
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ #0 'separate.by.semicolon :=
+ editor format.names
+ add.comma
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {n.separate.multi}
+{ '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$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
+ if$
+}
+
+FUNCTION {format.title}
+{ 't :=
+ t empty$
+ { "" }
+ { t emphasize }
+ if$
+}
+
+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 {format.url}
+{ url empty$
+ { "" }
+ { new.sentence "\url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { bbl.etal * }
+ { bbl.and space.connect t space.connect }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.full}
+{ author empty$
+ { editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.full}
+{ author empty$
+ { "" }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.full}
+{ editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.full
+ { type$ "proceedings" =
+ 'editor.full
+ 'author.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem} { newline$
+ "\bibitem[" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {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 duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.required}
+{ pages empty$
+ { ""
+ "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.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$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { add.comma format.pages * }
+ if$
+ }
+ 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$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.version}
+{ edition empty$
+ { "" }
+ { bbl.version edition tie.or.space.connect }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$ url empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type emphasize
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {book}
+{ output.bibitem
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ format.edition output
+ 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$
+ format.edition output
+ }
+ if$
+ new.block
+ format.number.series output
+ new.block
+ 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 {booklet}
+{ output.bibitem
+ 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 {inbook}
+{ output.bibitem
+ author empty$
+ { title format.title "title" output.check
+ format.edition output
+ 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 :=
+ title format.title.in "title" output.check
+ format.edition output
+ }
+ if$
+ 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 {incollection}
+{ output.bibitem
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ format.edition output
+ 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 :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output }
+ if$
+ after.sentence 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ format.edition output
+ }
+ if$
+ 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 {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output
+ after.sentence 'output.state :=
+ }
+ if$
+ booktitle format.title output
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ format.version output
+ new.block
+ format.organization.address output
+ format.bdate output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" 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
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title output }
+ if$
+ howpublished output
+ year output
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal "journal" output.check
+ after.item 'output.state :=
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" 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
+ 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
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ type empty$
+ 'bbl.techreport
+ 'type
+ if$
+ number empty$
+ 'skip$
+ { number tie.or.space.connect }
+ if$
+ output
+ format.pub.address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {conference} {inproceedings}
+
+FUNCTION {other} {patent}
+
+FUNCTION {default.type} {misc}
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {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.\ Toxicol."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mater."} % ***
+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"}
+MACRO {csb} {"Colloids Surf.\ B"}
+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"}
+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 {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett."}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter Mater. Phys."}
+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
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ bbl.etal space.connect }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { bbl.etal space.connect }
+ { bbl.and space.connect s #2 "{vv~}{ll}" format.name$ space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+ITERATE {calc.label}
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num number.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ "\PackageError{achemsoM.bst}{mciteplus.sty has not been loaded}"
+ write$ newline$
+ "{This bibstyle requires the use of the mciteplus package.}\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{mcitethebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `achemlntM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemnat.bst b/Master/texmf-dist/bibtex/bst/achemso/achemnat.bst
index 3259572ef6a..728369acca0 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemnat.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemnat.bst
@@ -10,7 +10,7 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
@@ -140,6 +140,7 @@ FUNCTION {fin.entry}
write$
newline$
}
+
FUNCTION {not}
{ { #0 }
{ #1 }
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemnatM.bst b/Master/texmf-dist/bibtex/bst/achemso/achemnatM.bst
new file mode 100644
index 00000000000..b4cfc62e3cc
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemnatM.bst
@@ -0,0 +1,1444 @@
+%%
+%% This is file `achemnatM.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `bib,nat,mcp')
+%% ----------------------------------------------------------------
+%% The achemso package - LaTeX and BibTeX support for American
+%% Chemical Society publications
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ key
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ {
+ label
+ extra.label
+ short.list
+ }
+
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
+INTEGERS { separate.by.semicolon }
+
+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.comma.or.semicolon}
+{ #1 separate.by.semicolon =
+ 'add.semicolon
+ 'add.comma
+ if$
+}
+
+FUNCTION {add.colon}
+{ ": " * }
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { add.comma write$ }
+ { output.state after.block =
+ { 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 :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+INTEGERS {would.add.period.textlen}
+FUNCTION {would.add.period}
+{ duplicate$
+ add.period$
+ text.length$
+ 'would.add.period.textlen :=
+ duplicate$
+ text.length$
+ would.add.period.textlen =
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ would.add.period
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPuncttrue" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
+ }
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPunctfalse" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{}{\mcitedefaultseppunct}\relax"
+ }
+ if$
+ write$
+ newline$
+ "\EndOfBibitem" write$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+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.version}
+{ "version" }
+
+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{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 {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$ * *
+}
+
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ numnames #15 >
+ { s #1 "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma.or.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.comma.or.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ #1 'separate.by.semicolon :=
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ #0 'separate.by.semicolon :=
+ editor format.names
+ add.comma
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {n.separate.multi}
+{ '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$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
+ if$
+}
+
+FUNCTION {format.title}
+{ 't :=
+ t empty$
+ { "" }
+ { t emphasize }
+ if$
+}
+
+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 {format.url}
+{ url empty$
+ { "" }
+ { new.sentence "\url{" url * "}" * }
+ if$
+}
+
+FUNCTION {format.full.names}
+{'s :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ "{vv~}{ll}" format.name$ 't :=
+ nameptr #1 >
+ {
+ namesleft #1 >
+ { ", " * t * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ t "others" =
+ { bbl.etal * }
+ { bbl.and space.connect t space.connect }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {author.editor.full}
+{ author empty$
+ { editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+ }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {author.full}
+{ author empty$
+ { "" }
+ { author format.full.names }
+ if$
+}
+
+FUNCTION {editor.full}
+{ editor empty$
+ { "" }
+ { editor format.full.names }
+ if$
+}
+
+FUNCTION {make.full.names}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.full
+ { type$ "proceedings" =
+ 'editor.full
+ 'author.full
+ if$
+ }
+ if$
+}
+
+FUNCTION {output.bibitem} { newline$
+ "\bibitem[" write$
+ label write$
+ ")" make.full.names duplicate$ short.list =
+ { pop$ }
+ { * }
+ if$
+ "]{" * write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {n.dashify}
+{ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {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 duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.required}
+{ pages empty$
+ { ""
+ "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.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$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { add.comma format.pages * }
+ if$
+ }
+ 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$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.version}
+{ edition empty$
+ { "" }
+ { bbl.version edition tie.or.space.connect }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$ url empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type emphasize
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {book}
+{ output.bibitem
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ format.edition output
+ 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$
+ format.edition output
+ }
+ if$
+ new.block
+ format.number.series output
+ new.block
+ 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 {booklet}
+{ output.bibitem
+ 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 {inbook}
+{ output.bibitem
+ author empty$
+ { title format.title "title" output.check
+ format.edition output
+ 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 :=
+ title format.title.in "title" output.check
+ format.edition output
+ }
+ if$
+ 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 {incollection}
+{ output.bibitem
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ format.edition output
+ 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 :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output }
+ if$
+ after.sentence 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ format.edition output
+ }
+ if$
+ 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 {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output
+ after.sentence 'output.state :=
+ }
+ if$
+ booktitle format.title output
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ format.version output
+ new.block
+ format.organization.address output
+ format.bdate output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" 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
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title output }
+ if$
+ howpublished output
+ year output
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal "journal" output.check
+ after.item 'output.state :=
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" 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
+ 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
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ type empty$
+ 'bbl.techreport
+ 'type
+ if$
+ number empty$
+ 'skip$
+ { number tie.or.space.connect }
+ if$
+ output
+ format.pub.address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {conference} {inproceedings}
+
+FUNCTION {other} {patent}
+
+FUNCTION {default.type} {misc}
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {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.\ Toxicol."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mater."} % ***
+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"}
+MACRO {csb} {"Colloids Surf.\ B"}
+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"}
+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 {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett."}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter Mater. Phys."}
+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
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ 's
+ if$
+}
+
+FUNCTION {format.lab.names}
+{ 's :=
+ s #1 "{vv~}{ll}" format.name$
+ s num.names$ duplicate$
+ #2 >
+ { pop$ bbl.etal space.connect }
+ { #2 <
+ 'skip$
+ { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
+ { bbl.etal space.connect }
+ { bbl.and space.connect s #2 "{vv~}{ll}" format.name$ space.connect }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {author.key.label}
+{ author empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.editor.key.label}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { cite$ #1 #3 substring$ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {author.key.organization.label}
+{ author empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { author format.lab.names }
+ if$
+}
+
+FUNCTION {editor.key.organization.label}
+{ editor empty$
+ { key empty$
+ { organization empty$
+ { cite$ #1 #3 substring$ }
+ { "The " #4 organization chop.word #3 text.prefix$ }
+ if$
+ }
+ 'key
+ if$
+ }
+ { editor format.lab.names }
+ if$
+}
+
+FUNCTION {calc.short.authors}
+{ type$ "book" =
+ type$ "inbook" =
+ or
+ 'author.editor.key.label
+ { type$ "proceedings" =
+ 'editor.key.organization.label
+ { type$ "manual" =
+ 'author.key.organization.label
+ 'author.key.label
+ if$
+ }
+ if$
+ }
+ if$
+ 'short.list :=
+}
+
+FUNCTION {calc.label}
+{ calc.short.authors
+ short.list
+ "("
+ *
+ year duplicate$ empty$
+ short.list key field.or.null = or
+ { pop$ "" }
+ 'skip$
+ if$
+ *
+ 'label :=
+}
+
+ITERATE {calc.label}
+
+STRINGS { longest.label last.label next.extra }
+
+INTEGERS { longest.label.width last.extra.num number.label }
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
+ #0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
+}
+
+FUNCTION {forward.pass}
+{ last.label label =
+ { last.extra.num #1 + 'last.extra.num :=
+ last.extra.num int.to.chr$ 'extra.label :=
+ }
+ { "a" chr.to.int$ 'last.extra.num :=
+ "" 'extra.label :=
+ label 'last.label :=
+ }
+ if$
+ number.label #1 + 'number.label :=
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {forward.pass}
+
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ "\PackageError{achemsoM.bst}{mciteplus.sty has not been loaded}"
+ write$ newline$
+ "{This bibstyle requires the use of the mciteplus package.}\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{" number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{mcitethebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `achemnatM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemso.bst b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
index 6554b69e34f..75b5aa38e09 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemso.bst
@@ -10,7 +10,7 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
@@ -147,6 +147,7 @@ FUNCTION {fin.entry}
write$
newline$
}
+
FUNCTION {not}
{ { #0 }
{ #1 }
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemsoM.bst b/Master/texmf-dist/bibtex/bst/achemso/achemsoM.bst
new file mode 100644
index 00000000000..ee74939c5ca
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemsoM.bst
@@ -0,0 +1,1239 @@
+%%
+%% This is file `achemsoM.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `bib,mcp')
+%% ----------------------------------------------------------------
+%% The achemso package - LaTeX and BibTeX support for American
+%% Chemical Society publications
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%%
+ENTRY
+ { address
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ {
+ label
+ }
+
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
+INTEGERS { separate.by.semicolon }
+
+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.comma.or.semicolon}
+{ #1 separate.by.semicolon =
+ 'add.semicolon
+ 'add.comma
+ if$
+}
+
+FUNCTION {add.colon}
+{ ": " * }
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { add.comma write$ }
+ { output.state after.block =
+ { 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 :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+INTEGERS {would.add.period.textlen}
+FUNCTION {would.add.period}
+{ duplicate$
+ add.period$
+ text.length$
+ 'would.add.period.textlen :=
+ duplicate$
+ text.length$
+ would.add.period.textlen =
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ would.add.period
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPuncttrue" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
+ }
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPunctfalse" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{}{\mcitedefaultseppunct}\relax"
+ }
+ if$
+ write$
+ newline$
+ "\EndOfBibitem" write$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+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.version}
+{ "version" }
+
+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{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 {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$ * *
+}
+
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ numnames #15 >
+ { s #1 "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma.or.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.comma.or.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ #1 'separate.by.semicolon :=
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ #0 'separate.by.semicolon :=
+ editor format.names
+ add.comma
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {n.separate.multi}
+{ '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$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
+ if$
+}
+
+FUNCTION {format.title}
+{ 't :=
+ t empty$
+ { "" }
+ { t emphasize }
+ if$
+}
+
+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 {format.url}
+{ url empty$
+ { "" }
+ { new.sentence "\url{" url * "}" * }
+ 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 duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.required}
+{ pages empty$
+ { ""
+ "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.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$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { add.comma format.pages * }
+ if$
+ }
+ 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$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.version}
+{ edition empty$
+ { "" }
+ { bbl.version edition tie.or.space.connect }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$ url empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type emphasize
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {book}
+{ output.bibitem
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ format.edition output
+ 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$
+ format.edition output
+ }
+ if$
+ new.block
+ format.number.series output
+ new.block
+ 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 {booklet}
+{ output.bibitem
+ 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 {inbook}
+{ output.bibitem
+ author empty$
+ { title format.title "title" output.check
+ format.edition output
+ 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 :=
+ title format.title.in "title" output.check
+ format.edition output
+ }
+ if$
+ 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 {incollection}
+{ output.bibitem
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ format.edition output
+ 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 :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output }
+ if$
+ after.sentence 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ format.edition output
+ }
+ if$
+ 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 {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output
+ after.sentence 'output.state :=
+ }
+ if$
+ booktitle format.title output
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ format.version output
+ new.block
+ format.organization.address output
+ format.bdate output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" 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
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title output }
+ if$
+ howpublished output
+ year output
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal "journal" output.check
+ after.item 'output.state :=
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" 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
+ 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
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ type empty$
+ 'bbl.techreport
+ 'type
+ if$
+ number empty$
+ 'skip$
+ { number tie.or.space.connect }
+ if$
+ output
+ format.pub.address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {conference} {inproceedings}
+
+FUNCTION {other} {patent}
+
+FUNCTION {default.type} {misc}
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {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.\ Toxicol."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mater."} % ***
+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"}
+MACRO {csb} {"Colloids Surf.\ B"}
+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"}
+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 {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett."}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter Mater. Phys."}
+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 :=
+}
+
+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 :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ "\PackageError{achemsoM.bst}{mciteplus.sty has not been loaded}"
+ write$ newline$
+ "{This bibstyle requires the use of the mciteplus package.}\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{" longest.label * "}" * write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{mcitethebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `achemsoM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
index b5b29f87112..842d9ee820d 100644
--- a/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemsol.bst
@@ -10,7 +10,7 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
@@ -157,6 +157,7 @@ FUNCTION {fin.entry}
write$
newline$
}
+
FUNCTION {not}
{ { #0 }
{ #1 }
diff --git a/Master/texmf-dist/bibtex/bst/achemso/achemsolM.bst b/Master/texmf-dist/bibtex/bst/achemso/achemsolM.bst
new file mode 100644
index 00000000000..85340f4fa34
--- /dev/null
+++ b/Master/texmf-dist/bibtex/bst/achemso/achemsolM.bst
@@ -0,0 +1,1248 @@
+%%
+%% This is file `achemsolM.bst',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% achemso.dtx (with options: `bib,list,mcp')
+%% ----------------------------------------------------------------
+%% The achemso package - LaTeX and BibTeX support for American
+%% Chemical Society publications
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the LaTeX Project Public License v1.3c or later
+%% See http://www.latex-project.org/lppl.txt
+%% ----------------------------------------------------------------
+%%
+ENTRY
+ { address
+ annotate
+ author
+ booktitle
+ chapter
+ doi
+ edition
+ editor
+ howpublished
+ institution
+ journal
+ note
+ number
+ organization
+ pages
+ publisher
+ school
+ series
+ title
+ type
+ url
+ volume
+ year
+ }
+ {}
+ {
+ label
+ }
+
+INTEGERS { output.state before.all mid.sentence after.sentence }
+INTEGERS { after.block after.item author.or.editor }
+INTEGERS { separate.by.semicolon }
+
+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.comma.or.semicolon}
+{ #1 separate.by.semicolon =
+ 'add.semicolon
+ 'add.comma
+ if$
+}
+
+FUNCTION {add.colon}
+{ ": " * }
+
+STRINGS { s t }
+
+FUNCTION {output.nonnull}
+{ 's :=
+ output.state mid.sentence =
+ { add.comma write$ }
+ { output.state after.block =
+ { 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 :=
+ }
+ if$
+ s
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.check}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "Empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.bibitem}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ before.all 'output.state :=
+}
+
+FUNCTION {new.block}
+{ output.state before.all =
+ 'skip$
+ { after.block 'output.state := }
+ if$
+}
+
+FUNCTION {new.sentence}
+{ output.state after.block =
+ 'skip$
+ { output.state before.all =
+ 'skip$
+ { after.sentence 'output.state := }
+ if$
+ }
+ if$
+}
+
+FUNCTION {add.note}
+{ annotate empty$
+ 'skip$
+ { new.block
+ "{\footnotesize " annotate * "}" * output }
+ if$
+}
+
+INTEGERS {would.add.period.textlen}
+FUNCTION {would.add.period}
+{ duplicate$
+ add.period$
+ text.length$
+ 'would.add.period.textlen :=
+ duplicate$
+ text.length$
+ would.add.period.textlen =
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ would.add.period
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPuncttrue" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
+ }
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPunctfalse" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{}{\mcitedefaultseppunct}\relax"
+ }
+ if$
+ write$
+ newline$
+ "\EndOfBibitem" write$
+}
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ 'skip$
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ 'skip$
+ if$
+}
+
+FUNCTION {field.or.null}
+{ duplicate$ empty$
+ { pop$ "" }
+ 'skip$
+ if$
+}
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {boldface}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\textbf{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {paren}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "(" swap$ * ")" * }
+ if$
+}
+
+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.version}
+{ "version" }
+
+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{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 {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$ * *
+}
+
+FUNCTION {space.connect}
+{ " " swap$ * * }
+
+INTEGERS { nameptr namesleft numnames }
+
+FUNCTION {format.names}
+{ 's :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ numnames #15 >
+ { s #1 "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{vv~}{ll,}{~f.}{,~jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma.or.semicolon t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others," =
+ { bbl.etal space.connect }
+ { add.comma.or.semicolon t * }
+ if$
+ }
+ if$
+ }
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
+}
+
+FUNCTION {format.authors}
+{ author empty$
+ { "" }
+ { #1 'author.or.editor :=
+ #1 'separate.by.semicolon :=
+ author format.names
+ }
+ if$
+}
+
+FUNCTION {format.editors}
+{ editor empty$
+ { "" }
+ { #2 'author.or.editor :=
+ #0 'separate.by.semicolon :=
+ editor format.names
+ add.comma
+ editor num.names$ #1 >
+ { bbl.editors }
+ { bbl.editor }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {n.separate.multi}
+{ '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$
+}
+
+FUNCTION {format.bvolume}
+{ volume empty$
+ { "" }
+ { bbl.volume volume tie.or.space.connect }
+ if$
+}
+
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
+ { "" }
+ { t }
+ if$
+}
+
+FUNCTION {format.title}
+{ 't :=
+ t empty$
+ { "" }
+ { t emphasize }
+ if$
+}
+
+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 {format.url}
+{ url empty$
+ { "" }
+ { new.sentence "\url{" url * "}" * }
+ 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 duplicate$ empty$
+ 'skip$
+ { convert.edition
+ bbl.edition bibinfo.check
+ " " * bbl.edition *
+ }
+ if$
+}
+
+INTEGERS { multiresult }
+
+FUNCTION {multi.page.check}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {format.pages}
+{ pages empty$
+ { "" }
+ { pages multi.page.check
+ { bbl.pages pages n.dashify tie.or.space.connect }
+ { bbl.page pages tie.or.space.connect }
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.pages.required}
+{ pages empty$
+ { ""
+ "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.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$
+ { bbl.chapter }
+ { type "l" change.case$ }
+ if$
+ chapter tie.or.space.connect
+ pages empty$
+ 'skip$
+ { add.comma format.pages * }
+ if$
+ }
+ 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$
+ }
+ if$
+}
+
+FUNCTION {format.pub.address}
+{ publisher empty$
+ { "" }
+ { address empty$
+ { publisher }
+ { publisher add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.school.address}
+{ school empty$
+ { "" }
+ { address empty$
+ { school }
+ { school add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.organization.address}
+{ organization empty$
+ { "" }
+ { address empty$
+ { organization }
+ { organization add.colon address *}
+ if$
+ }
+ if$
+}
+
+FUNCTION {format.version}
+{ edition empty$
+ { "" }
+ { bbl.version edition tie.or.space.connect }
+ if$
+}
+
+FUNCTION {empty.misc.check}
+{ author empty$ title empty$ howpublished empty$
+ year empty$ note empty$ url empty$
+ and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {empty.doi.note}
+{ doi empty$ note empty$ and
+ { "Need either a note or DOI for " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+FUNCTION {format.thesis.type}
+{ type empty$
+ 'skip$
+ { pop$
+ type emphasize
+ }
+ if$
+}
+
+FUNCTION {article}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {book}
+{ output.bibitem
+ author empty$
+ { booktitle empty$
+ { title format.title "title" output.check }
+ { booktitle format.title "booktitle" output.check }
+ if$
+ format.edition output
+ 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$
+ format.edition output
+ }
+ if$
+ new.block
+ format.number.series output
+ new.block
+ 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 {booklet}
+{ output.bibitem
+ 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 {inbook}
+{ output.bibitem
+ author empty$
+ { title format.title "title" output.check
+ format.edition output
+ 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 :=
+ title format.title.in "title" output.check
+ format.edition output
+ }
+ if$
+ 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 {incollection}
+{ output.bibitem
+ author empty$
+ { booktitle format.title "booktitle" output.check
+ format.edition output
+ 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 :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output }
+ if$
+ after.sentence 'output.state :=
+ booktitle format.title.in "booktitle" output.check
+ format.edition output
+ }
+ if$
+ 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 {inpress}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {inproceedings}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title.noemph output
+ after.sentence 'output.state :=
+ }
+ if$
+ booktitle format.title output
+ address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {manual}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title format.title "title" output.check
+ format.version output
+ new.block
+ format.organization.address output
+ format.bdate output
+ note output
+ fin.entry
+}
+
+FUNCTION {mastersthesis}
+{ output.bibitem
+ format.authors "author" 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
+}
+
+FUNCTION {misc}
+{ output.bibitem
+ format.authors output
+ after.item 'output.state :=
+ title empty$
+ 'skip$
+ { title format.title output }
+ if$
+ howpublished output
+ year output
+ format.url output
+ note output
+ fin.entry
+ empty.misc.check
+}
+
+FUNCTION {patent}
+{ output.bibitem
+ format.authors "author" output.check
+ after.item 'output.state :=
+ journal "journal" output.check
+ after.item 'output.state :=
+ format.pages.patent "pages" output.check
+ format.bdate "year" output.check
+ note output
+ fin.entry
+}
+
+FUNCTION {phdthesis}
+{ output.bibitem
+ format.authors "author" 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
+ 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
+ after.item 'output.state :=
+ title format.title "title" output.check
+ new.block
+ type empty$
+ 'bbl.techreport
+ 'type
+ if$
+ number empty$
+ 'skip$
+ { number tie.or.space.connect }
+ if$
+ output
+ format.pub.address output
+ format.bdate "year" output.check
+ pages empty$
+ 'skip$
+ { new.block
+ format.pages output }
+ if$
+ note output
+ fin.entry
+}
+
+FUNCTION {unpublished}
+{ output.bibitem
+ format.authors "author" output.check
+ 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 {conference} {inproceedings}
+
+FUNCTION {other} {patent}
+
+FUNCTION {default.type} {misc}
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+MACRO {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.\ Toxicol."} % ***
+MACRO {chemrev} {"Chem.\ Rev."} % ***
+MACRO {cmat} {"Chem.\ Mater."} % ***
+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"}
+MACRO {csb} {"Colloids Surf.\ B"}
+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"}
+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 {jbc} {"J.~Biol.\ Chem."}
+MACRO {tl} {"Tetrahedron Lett."}
+MACRO {psisoe} {"Proc.\ SPIE-Int.\ Soc.\ Opt.\ Eng."}
+MACRO {prb} {"Phys.\ Rev.\ B:\ Condens.\ Matter Mater. Phys."}
+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 :=
+}
+
+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 :=
+ }
+ 'skip$
+ if$
+}
+
+EXECUTE {initialize.longest.label}
+
+ITERATE {longest.label.pass}
+
+
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ "\PackageError{achemsoM.bst}{mciteplus.sty has not been loaded}"
+ write$ newline$
+ "{This bibstyle requires the use of the mciteplus package.}\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{" longest.label * "}" * write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
+ write$ newline$
+}
+
+EXECUTE {begin.bib}
+
+EXECUTE {init.state.consts}
+
+ITERATE {call.type$}
+
+FUNCTION {end.bib}
+{ newline$
+ "\end{mcitethebibliography}" write$ newline$
+}
+
+EXECUTE {end.bib}
+%%
+%%
+%% End of file `achemsolM.bst'.
diff --git a/Master/texmf-dist/doc/latex/achemso/README b/Master/texmf-dist/doc/latex/achemso/README
index de9212e1e8b..f0973258b99 100644
--- a/Master/texmf-dist/doc/latex/achemso/README
+++ b/Master/texmf-dist/doc/latex/achemso/README
@@ -1,4 +1,4 @@
-The achemso package - LaTeX and BibTeX support for American
+The achemso package - LaTeX and BibTeX support for American
Chemical Society publications
----------------------------------------------------------------
@@ -6,11 +6,12 @@ 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
+ (c) 2007-2008 Joseph Wright
+Released under the LaTeX Project Public license v1.3c 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.
+along with a supporting LaTeX package file. Also provided are a
+number of BibTeX style files to be used for bibliography database
+listings, including support for natbib and mciteplus.
diff --git a/Master/texmf-dist/doc/latex/achemso/achemso.pdf b/Master/texmf-dist/doc/latex/achemso/achemso.pdf
index 1b454d150f7..420f3ce7169 100644
--- a/Master/texmf-dist/doc/latex/achemso/achemso.pdf
+++ b/Master/texmf-dist/doc/latex/achemso/achemso.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.dtx b/Master/texmf-dist/source/latex/achemso/achemso.dtx
index d946c1a83e4..faa195544c9 100644
--- a/Master/texmf-dist/source/latex/achemso/achemso.dtx
+++ b/Master/texmf-dist/source/latex/achemso/achemso.dtx
@@ -2,16 +2,16 @@
%
% Copyright (C) 1996-98 by
% Mats Dahlgren
-% Copyright (C) 2007 by
+% Copyright (C) 2007-2008 by
% Joseph Wright <joseph.wright@morningstar2.co.uk>
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
-% version 1.3 of this license or (at your option) any later
+% version 1.3c of this license or (at your option) any later
% version. The latest version of this license is in
% http://www.latex-project.org/lppl.txt
-% and version 1.3 or later is part of all distributions of
-% LaTeX version 2003/12/01 or later.
+% and version 1.3c or later is part of all distributions of
+% LaTeX version 2005/12/01 or later.
%
% This work has the LPPL maintenance status ``maintained.''
%
@@ -23,9 +23,12 @@
% achemso.bib,
% achemso.pdf,
% achemso.bst,
+% achemsoM.bst,
% achemsol.bst,
-% achemsnat.bst and
-% achemlnt.bst,
+% achemsolM.bst,
+% achemsnat.bst,
+% achemlnt.bst and
+% jawltxdoc.sty
% Unpacking:
% (a) If achemso.ins is present:
% tex achemso.ins
@@ -80,7 +83,7 @@
Chemical Society publications
Maintained by Joseph Wright
E-mail: joseph.wright@morningstar2.co.uk
- Released under the LaTeX Project Public License v1.3 or later
+ Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
@@ -96,9 +99,15 @@
\usedir{bibtex/bst/achemso}
\generate{\usepostamble\bibtexable
\file{achemso.bst}{\from{achemso.dtx}{bib}}
+ \file{achemsoM.bst}{\from{achemso.dtx}{bib,mcp}}
\file{achemnat.bst}{\from{achemso.dtx}{bib,nat}}
+ \file{achemnatM.bst}{\from{achemso.dtx}{bib,nat,mcp}}
+}
+\generate{\usepostamble\bibtexable
\file{achemsol.bst}{\from{achemso.dtx}{bib,list}}
+ \file{achemsolM.bst}{\from{achemso.dtx}{bib,list,mcp}}
\file{achemlnt.bst}{\from{achemso.dtx}{bib,list,nat}}
+ \file{achemlntM.bst}{\from{achemso.dtx}{bib,list,nat,mcp}}
}
\generate{\usepostamble\empty\usepreamble\empty
\file{achemso.bib}{\from{achemso.dtx}{database}}
@@ -127,9 +136,9 @@
%</driver>
% \fi
%
-% \CheckSum{105}
+%\CheckSum{134}
%
-% \CharacterTable
+%\CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
% Digits \0\1\2\3\4\5\6\7\8\9
@@ -155,11 +164,11 @@
%\changes{v2.0}{2007/01/17}{License changed to LPPL}
%\changes{v2.1}{2007/02/15}{Updated documentation to reflect 3rd
% edition of ACS Style Guide}
-%\changes{v2.1}{2007/02/15}{BibTeX style improved to reflect 3rd
+%\changes{v2.1}{2007/02/15}{\BibTeX\ style improved to reflect 3rd
% edition of ACS Style Guide}
-%\changes{v2.2}{2007/06/05}{Added \texttt{natbib} support}
+%\changes{v2.2}{2007/06/05}{Added \pkg{natbib} support}
%\changes{v2.2a}{2007/07/08}{Fixed separation of editor names}
-%\changes{v2.2a}{2007/07/08}{Bug fixes to \texttt{natbib} and list
+%\changes{v2.2a}{2007/07/08}{Bug fixes to \pkg{natbib} and list
% support}
%\changes{v2.2a}{2007/07/08}{\texttt{title} field included in output
% for \texttt{incollection} records}
@@ -167,56 +176,60 @@
%\changes{v2.2d}{2007/10/16}{Added \textsc{url} field to
% \texttt{misc} output}
%\changes{v2.2d}{2007/10/16}{Package design improved}
+%\changes{v2.2e}{2008/01/16}{Added \pkg{mciteplus} support}
+%\changes{v2.2e}{2008/01/16}{Documentation improvements}
+%\changes{v2.2f}{2008/01/16}{Combined \pkg{mciteplus} and
+% \pkg{natbib} support}
%
-%\DoNotIndex{\@biblabel,\@eha,\@gobble,\@ifpackageloaded,\@ifundefined}
-%\DoNotIndex{\bibliographystyle,\bibname,\citeform,\citeleft}
-%\DoNotIndex{\citenumfont,\citeright,\DeclareOption,\def,\else,\emph}
-%\DoNotIndex{\fi,\ifx,\NeedsTeXFormat,\newcommand,\newif}
-%\DoNotIndex{\OptionNotUsed,\PackageError,\PackageWarning}
-%\DoNotIndex{\ProcessOptions,\ProvidesPackage,\refname,\relax}
-%\DoNotIndex{\renewcommand,\RequirePackage,\textit,}
+%\DoNotIndex{\@biblabel,\@eha,\@gobble,\@ifpackageloaded}
+%\DoNotIndex{\@ifundefined,\citeform,\citeleft,\citeright}
+%\DoNotIndex{\DeclareOption,\else,\emph,\ExecuteOptions}
+%\DoNotIndex{\fi,\ifx,\MessageBreak,\NeedsTeXFormat,\newcommand}
+%\DoNotIndex{\newif,\OptionNotUsed,\PackageError,\PackageWarning}
+%\DoNotIndex{\ProcessOptions,\ProvidesPackage,\relax}
+%\DoNotIndex{\renewcommand,\RequirePackage,\string,\textit}
%
-% \title{\texttt{achemso} --- LaTeX and BibTeX support for American
-% Chemical Society publications%
+%\title{\currpkg --- \texorpdfstring{\LaTeX}{LaTeX} and
+% \texorpdfstring{\BibTeX}{BibTeX} support for American
+% Chemical Society publications^^A
% \thanks{This file describes version \fileversion, last revised
% \filedate.}}
-% \author{Joseph Wright%
+% \author{Joseph Wright^^A
% \thanks{E-mail: joseph.wright@morningstar2.co.uk}}
% \date{Released \filedate}
%
%\maketitle
%
%\begin{abstract}
-% The |achemso| package provides a BibTeX style in accordance with
+% The \currpkg 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.
+% along with a supporting \LaTeX\ package file. Also provided are a
+% number of \BibTeX\ style files to be used for bibliography database
+% listings, including support for \pkg{natbib} and \pkg{mciteplus}.
%\end{abstract}
%
-% \section{Introduction}
-%
-% Synthetic chemists do not, in the main, use LaTeX for the
+%\section{Introduction}
+% Synthetic chemists do not, in the main, use \LaTeX\ for the
% preparation of journal articles. Some journals, mainly in the
-% physical chemistry area, do accept LaTeX submissions. Given the
-% clear advantages of LaTeX over other methods, it would be
-% nice to be able to use LaTeX for preparing reports. Thus the need
-% for BibTeX styles for chemistry is real. The package |achemso|
-% provides for a BibTeX style and other support for articles and
+% physical chemistry area, do accept \LaTeX\ submissions. Given the
+% clear advantages of \LaTeX\ over other methods, it would be nice to
+% be able to use \LaTeX\ for preparing reports. Thus the need for
+% \BibTeX\ styles for chemistry is real. The package \currpkg
+% provides for a \BibTeX\ style and other support for articles and
% reports in the style of the American Chemical Society (ACS).
%
% As describe in \emph{The ACS Style Guide} \cite{Coghill2006},
% almost all ACS publications use the same style for the formatting
% of references. The reproduction of this style is the aim of the
-% BibTeX style file provided here. However, the ACS use different
-% citation styles in different publications. The |achemso| package
-% provides support for the two numerical systems: superscript
-% and italic in-text citations. The majority of ACS journals use
-% the superscript method (Table \ref{tbl:journals-super}), with a
-% smaller number using the italic system (Table
-% \ref{tbl:journals-inline}). The journal \emph{Biochemistry} does
-% not use the standard ACS style for references, and so is not
-% covered by the |achemso| package.
-% \begin{table}
+% \BibTeX\ style file provided here. However, the ACS use different
+% citation styles in different publications. The \currpkg package
+% provides support for the two numerical systems: superscript and
+% italic in-text citations. The majority of ACS journals use the
+% superscript method (Table \ref{tbl:journals-super}), with a smaller
+% number using the italic system (Table \ref{tbl:journals-inline}).
+% The journal \emph{Biochemistry} does not use the standard ACS style
+% for references, and so is not covered by the \currpkg package.
+%\begin{table}
% \centering
% \small
% \begin{tabular}{>{\itshape}l>{\itshape}l}
@@ -255,8 +268,8 @@
% \end{tabular}
% \caption{Journals using the ACS reference style with superscript citations}
% \label{tbl:journals-super}
-% \end{table}
-% \begin{table}
+%\end{table}
+%\begin{table}
% \small
% \centering
% \begin{tabular}{>{\itshape}l>{\itshape}l}
@@ -273,62 +286,57 @@
% \end{tabular}
% \caption{Journals using the ACS reference style with in-text citations}
% \label{tbl:journals-inline}
-% \end{table}
+%\end{table}
%
-% 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}
-% 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.''
+% This package consists of a number of \BibTeX\ files along with a
+% small \LaTeX\ file \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}
+% there is already a \LaTeX\ 2.09 and \BibTeX\ style package called
+% \pkg{acsarticle} and \file{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 \pkg{achemso},
+% which is made from the words ``\emph{A}merican \emph{Chem}ical
+% \emph{So}ciety.''
% \end{quote}
%
-% \subsection{Change of maintainer}
-%
-% 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!
+%\subsection{Change of maintainer}
+% 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 \pkg{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!
%
-% \section{The BibTeX style files}
-%
-% The BibTeX style files implement the bibliographic style specified
-% by the ACS in \emph{The ACS Style Guide} \cite{Coghill2006},
-% on the ACS website \cite{ACS2007}, and in current ACS publications.
-% Some of this information can be contradictory, and \emph{The ACS
-% Style Guide} sometimes gives more than one option as a model.
-% In order to resolve cases where several possibilities are available
-% current editions of the \emph{Journal of the American Chemical
-% Society} have been consulted; the current consensus there has been
-% taken as the correct approach. In addition to the problem
-% of picking the correct style, some of the BibTeX record types are
-% difficult to match to standard references in ACS journals. The
-% ``best guess'' has been taken with these.
-%
-% \subsection{Additional record types}
+%\section{The \texorpdfstring{\BibTeX}{BibTeX} style files}
+% The \BibTeX\ style files implement the bibliographic style
+% specified by the ACS in \emph{The ACS Style Guide}
+% \cite{Coghill2006}, on the ACS website \cite{ACS2007}, and in
+% current ACS publications. Some of this information can be
+% contradictory, and \emph{The ACS Style Guide} sometimes gives more
+% than one option as a model. In order to resolve cases where several
+% possibilities are available current editions of the \emph{Journal
+% of the American Chemical Society} have been consulted; the current
+% consensus there has been taken as the correct approach. In
+% addition to the problem of picking the correct style, some of the
+% \BibTeX\ record types are difficult to match to standard references
+% in ACS journals. The ``best guess'' has been taken with these.
%
+%\subsection{Additional record types}
% In general, the database record types supported here follow those
-% in the standard BibTeX style files. Four additional record types
+% 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.~Patent''), with the
-% patent number given in |pages|. Whilst this format is
-% non-standard, it is relatively easy to use and implement!
+% pattern used in \file{rsc.bst}: |journal| is used to hold
+% the patent type (\eg.~``U.S.~Patent''), 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.
@@ -338,67 +346,86 @@
% 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
-% ACS bibliographies. In particular, journal articles do not
-% require a title (the |title| field is ignored). Articles
-% in books and ``collections'' only need the title of the book.
-% If a chapter title is given for an |incollection| record, it will
-% be printed, but not in the case of an |inbook| record.
-%
-% \subsection{References to software}
+%\subsection{\texorpdfstring{\BibTeX}{BibTeX} database entry
+% requirements}
+% The requirements for entries in the \BibTeX\ database are slightly
+% different using \file{achemso.bst} to the standard style files.
+% This is mainly because some fields are not cited in ACS
+% bibliographies. In particular, journal articles do not require a
+% title (the |title| field is ignored). Articles in books and
+% ``collections'' only need the title of the book. If a chapter title
+% is given for an |incollection| record, it will be printed, but not
+% in the case of an |inbook| record.
%
+%\subsection{References to software}
% Referencing software is always a little difficult. The style files
-% provided here follow the normal LaTeX convention of using the
+% provided here follow the normal \LaTeX\ convention of using the
% |manual| record type to cite software. The only requirement is a
% |title|, but fields such as |organization| may be used for more
% detail. The |edition| field is used to format the software version
% correctly: this will automatically be prefixed with ``version'' by
% the style file.
%
-% \subsection{The \texttt{annotate} field}
-%
-% The standard BibTeX styles use the |note| field for notes to be
+%\subsection{The \texttt{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.
+% field. The style \file{achemso} ignores the |annotate| field,
+% whilst the \file{achemsol} style appends the |annotate| information
+% to the bibliographic output. Thus \file{achemsol} is intended for
+% use in database maintenance, whilst \file{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 \cmd{\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 writer's own papers.
+%\DescribeMacro{\refin}
+% For use in the |annotate| field the macro \cmd{\refin} is defined
+% in \file{achemso.bst} and \file{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 \cs{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 writer's own
+% papers.
%
-% \subsection{Predefined journal abbreviations}
-%
-% A number of journal abbreviations are defined in the |.bst| files.
+%\subsection{Predefined journal abbreviations}
+% A number of journal abbreviations are defined in the \ext{bst} files.
% The abbreviations cover a number ACS 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.
-%
-% \subsection{\texttt{natbib} support}
+% consult the \ext{bst} files for full details.
%
-% As of version 2.2, a |natbib| compatible style file, |achemnat| is
-% provided. The style file provides the appropriate option,
-% |natbib|, to load this BibTeX file along with |natbib|, setting up
-% the appropriate options.
+%\subsection{Multiple citations: \pkg{mciteplus} support}
+% By default, \BibTeX\ does not handle producing compound references.
+% The \pkg{mciteplus} package solves this problem, and is highly
+% recommended to users of \currpkg. This allows you to put something
+% like:
+%\begin{LaTeXexample}[\typesetcodeonly]
+% \documentclass{article}
+% \usepackage{mciteplus}
+% \begin{document}
+% \cite{Wanzlick1962,*Ofele1968}
+% \bibliography{example}
+% \bibliographystyle{achemsoM}
+% \end{document}
+%\end{LaTeXexample}
+% and get output of the form:
+%\begin{enumerate}
+% \item (a) Wanzlick,~H.~W. \emph{{A}ngew. {C}hem., {I}nt. {E}d.
+% {E}ngl.} \textbf{1962}, \emph{1}, 75--80; (b) \"Ofele,~K.
+% \emph{{J}. {O}rganomet. {C}hem.} \textbf{1968}, \emph{12},
+% P42--P43.
+%\end{enumerate}
+% in the bibliography. Notice the change of \cs{bibliographystyle}
+% from \file{achemso} to \file{achemsoM}.
%
-% \section{The LaTeX Package}
+%\subsection{\pkg{natbib} support}
+% As of version 2.2, a \pkg{natbib} compatible style file,
+% \file{achemnat} is provided. The style file provides the
+% appropriate option, \pkg{natbib}, to load this \BibTeX\ file along
+% with \pkg{natbib}, setting up the appropriate options.
%
-% The current version of |achemso.sty| is a complete
+%\section{The \texorpdfstring{\LaTeX}{LaTeX} Package}
+% The current version of \file{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
@@ -407,83 +434,85 @@
% 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
+%\DescribeMacro{\bibliographystyle}
+% Loading the \currpkg 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| or |natbib| package as appropriate), and the
-% package ensures that the bibliography will be named ``References''
-% in all standard document types.\footnote{This only works if the
-% \texttt{babel} package is \emph{not} loaded. Users wanting a
-% system which works with \texttt{babel} should look at the
-% \texttt{chemstyle package}. }
+% subsequent \cmd{\bibliographystyle} statements will be ignored: a
+% suitable warning is given. The format of citations is altered
+% (using the \pkg{cite} or \pkg{natbib} package as appropriate), and
+% the package ensures that the bibliography will be named
+% ``References'' in all standard document types.\footnote{This only
+% works if the \pkg{babel} package is \emph{not} loaded. Users
+% wanting a system which works with \pkg{babel} should look at the
+% \pkg{chemstyle} package. }
%
-% The |achemso| package has five options:
+% The \currpkg package has options:
% \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
+% \item[\opt{note}] If the bibliography contains notes as well
+% as citations, then the section heading should be ``References
+% and Notes''. This is altered by the \opt{note} package
+% option.
+% \item[\opt{number}] This option numbers the bibliography
+% section (using the \pkg{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.
-% \item[|notsuper|] Switches from superscript citations
-% (\emph{e.g.}~Author \emph{et al.}$^3$) to
-% in-text ones in italics (\emph{e.g.}~Author
-% \emph{et al.}~(\emph{3})). There is a |super|
-% option for completeness, which simply gives the default
-% behaviour.
-% \item[|natbib|] Uses |natbib| rather than |cite| for citation
-% formatting; this also loads the |achemnat| style in place
-% of |achemso|.
+% \item[\opt{list}] This option is intended for creating a listing
+% of the entire \BibTeX\ database. The BibTeX style is changed
+% to \currpkg, 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
+% \pkg{showkeys} package.
+% \item[\opt{notsuper}] Switches from superscript citations
+% (\eg.~Author \emph{et al.}$^3$) to in-text ones in italics
+% (\eg.~Author \emph{et al.}~(\emph{3})). There is a \opt{super}
+% option for completeness, which simply gives the default
+% behaviour.
+% \item[\opt{natbib}] Uses \pkg{natbib} rather than \pkg{cite}
+% for citation formatting; this also loads the \file{achemnat}
+% style in place of \file{achemso}.
+% \item[\opt{mcite}] Uses the \pkg{mciteplus}-compatible version
+% of the \BibTeX\ style file, and loads \pkg{mciteplus}.
% \end{description}
%
-% \StopEventually{\bibliography{achemso}}
+%\StopEventually{\bibliography{achemso}}
%
-% \section{The Package Code}
-%
-% The package code is not very complicated. For the
-% interested reader(s), it is presented here.
-%
-% The usual setup code is executed.
+%\section{The Package Code}
+% The package code is not very complicated. For the interested
+% reader(s), it is presented here. The usual setup code is executed.
% \begin{macrocode}
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{achemso}
- [2007/10/16 v2.2d LaTeX and BibTeX support for American
+ [2008/01/16 v2.2f LaTeX and BibTeX support for American
Chemical Society publications]
% \end{macrocode}
-% \begin{macro}{\ACS@sctnnmbr}
-% \begin{macro}{\ACS@lst}
-% \begin{macro}{\ACS@note}
-% \changes{v2.0}{2007/01/17}{Boolean values made internal to package}
-% \begin{macro}{\ACS@super}
-% \changes{v2.1}{2007/02/15}{New Boolean for citation control}
-% \begin{macro}{\ACS@natbib}
-% \changes{v2.2a}{2007/07/08}{New Boolean for |natbib| support}
+%\begin{macro}{\ifACS@sctnnmbr}
+%\begin{macro}{\ifACS@list}
+%\begin{macro}{\ifACS@note}
+%\changes{v2.0}{2007/01/17}{Boolean values made internal to package}
+%\begin{macro}{\ifACS@super}
+%\changes{v2.1}{2007/02/15}{New Boolean for citation control}
+%\begin{macro}{\ifACS@natbib}
+%\changes{v2.2a}{2007/07/08}{New Boolean for \pkg{natbib} support}
+%\begin{macro}{\ifACS@mcite}
+%\changes{v2.2e}{2008/01/16}{New macro}
% Boolean values are used to handle the options.
% \begin{macrocode}
-\newif \ifACS@sctnnmbr \ACS@sctnnmbrfalse
-\newif \ifACS@list \ACS@listfalse
-\newif \ifACS@note \ACS@notefalse
-\newif \ifACS@super \ACS@supertrue
-\newif \ifACS@natbib \ACS@natbibfalse
+\newif\ifACS@sctnnmbr\ACS@sctnnmbrfalse
+\newif\ifACS@list\ACS@listfalse
+\newif\ifACS@note\ACS@notefalse
+\newif\ifACS@super\ACS@supertrue
+\newif\ifACS@natbib\ACS@natbibfalse
+\newif\ifACS@mcite\ACS@mcitefalse
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
% The options are processed.
-%\changes{v2.2d}{2007/10/16}{Added \texttt{notes} option}
+%\changes{v2.2d}{2007/10/16}{Added \opt{notes} option}
% \begin{macrocode}
\DeclareOption{note}{\ExecuteOptions{notes}}
\DeclareOption{notes}{\ACS@notetrue}
@@ -492,13 +521,14 @@
\DeclareOption{list}{\ACS@listtrue}
\DeclareOption{notsuper}{\ACS@superfalse}
\DeclareOption{natbib}{\ACS@natbibtrue}
+\DeclareOption{mcite}{\ACS@mcitetrue}
\DeclareOption*{\OptionNotUsed}
-\ProcessOptions
+\ProcessOptions\relax
% \end{macrocode}
-% \changes{v2.1}{2007/02/15}{|cite| package is loaded with different
-% options depending on citation style requested}
-% \changes{v2.2a}{2007/07/08}{|natbib| support added}
-% The |cite| package is loaded to sort and compress references
+%\changes{v2.1}{2007/02/15}{\pkg{cite} package is loaded with different
+% options depending on citation style requested}
+%\changes{v2.2a}{2007/07/08}{\pkg{natbib} support added}
+% The \pkg{cite} package is loaded to sort and compress references
% correctly. Depending upon the package option given, citations are
% either superscript or italic and in parentheses.
% \begin{macrocode}
@@ -507,10 +537,11 @@
\RequirePackage[numbers,sort&compress,super]{natbib}
\else
% \end{macrocode}
-% For in-line citations with |natbib|, we have to do a
-% bit of work to get things to look right. |natbib| uses
-% \cmd{\citenumfont} to format the numbers, but it is not defined
-% by default, so we have to use \cmd{\newcommand}.
+%\begin{macro}{\citenumfont}
+% For in-line citations with \pkg{natbib}, we have to do a bit of
+% work to get things to look right. \pkg{natbib} uses
+% \cs{citenumfont} to format the numbers, but it is not defined by
+% default, so we have to use \cs{newcommand}.
% \begin{macrocode}
\RequirePackage[numbers,sort&compress,round]{natbib}
\newcommand*{\citenumfont}{\textit}
@@ -518,48 +549,51 @@
\else
\ifACS@super
% \end{macrocode}
-%\changes{v2.2c}{2007/08/22}{Use the \texttt{overcite} alias for
-% \texttt{cite} as ACS have very old LaTeX system}
+%\end{macro}
+%\changes{v2.2c}{2007/08/22}{Use the \pkg{overcite} alias for
+% \pkg{cite} as ACS have very old \LaTeX\ system}
% \begin{macrocode}
\RequirePackage[nospace]{overcite}
\else
% \end{macrocode}
% Again in-line citations need some format changes. In the case of
-% |cite|, everything is defined initially. Thus we can use
-% \cmd{\renewcommand} for everything.
+% \pkg{cite}, everything is defined initially. Thus we can use
+% \cs{renewcommand} for everything.
% \begin{macrocode}
\RequirePackage{cite}
- \renewcommand\citeleft{(}
- \renewcommand\citeright{)}
- \renewcommand\citeform[1]{\emph{#1}}
+ \renewcommand{\citeleft}{(}
+ \renewcommand{\citeright}{)}
+ \renewcommand{\citeform}[1]{\emph{#1}}
\fi
\fi
% \end{macrocode}
-% If the |babel| package is loaded, the |note| option does not
-% work. So it is disabled here with a suitable warning.
+% If the \pkg{babel} package is loaded, the \opt{note} option does
+% not work. So it is disabled here with a suitable warning.
% \begin{macrocode}
\@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{macro}{\ACS@biberror}
+%\changes{v2.2e}{2008/01/16}{Improved error message}
+% The function \cs{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}
+\newcommand*{\ACS@biberror}{\PackageError{achemso}%
+ {No bibliography name command defined}
+ {The document class you have used does not define
+ \string\refname\MessageBreak or \string\bibname}}
% \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.
+%\end{macro}
+%\begin{macro}{\refname}
+%\begin{macro}{\bibname}
+% The \opt{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 \cs{bibname} is redefined here in all cases where it
+% exists.
% \begin{macrocode}
\@ifundefined{refname}{%
\@ifundefined{bibname}{%
@@ -577,65 +611,85 @@
\fi
}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% If the |number| option is set, the |tocbibind| package is
+%\end{macro}
+%\end{macro}
+% If the \opt{number} option is set, the \pkg{tocbibind} package is
% used to number the bibliography.
-% \changes{v2.0}{2007/01/17}{Switched to using \texttt{tocbibind}
-% to produce number bibliography}
+%\changes{v2.0}{2007/01/17}{Switched to using \pkg{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. If |natbib| is asked for, then the appropriate
-% style files are used in place of the standard ones.
-% \changes{v2.0}{2007/01/17}{Replaced custom code with
-% \texttt{showkeys} package}
+%\begin{macro}{\bibliographystyle}
+% Depending on the package option, the bibliography style will either
+% be \file{achemso} or \file{achemsol}. The later is intended for
+% listing the entire database. The \opt{list} option of the package
+% selects this, and for listing also generates boxed labels for each
+% reference. The \pkg{showkeys} package provides this functionality.
+% If \pkg{natbib} is asked for, then the appropriate style files are
+% used in place of the standard ones.
+%\changes{v2.0}{2007/01/17}{Replaced custom code with
+% \pkg{showkeys} package}
% \begin{macrocode}
\ifACS@list
\ifACS@natbib
- \bibliographystyle{achemlnt}
+ \ifACS@mcite
+ \bibliographystyle{achemlntM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemlnt}
+ \fi
\else
- \bibliographystyle{achemsol}
+ \ifACS@mcite
+ \bibliographystyle{achemsolM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemsol}
+ \fi
\fi
\RequirePackage[notcite]{showkeys}
\else
\ifACS@natbib
- \bibliographystyle{achemnat}
+ \ifACS@mcite
+ \bibliographystyle{achemnatM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemnat}
+ \fi
\else
- \bibliographystyle{achemso}
+ \ifACS@mcite
+ \bibliographystyle{achemsoM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemso}
+ \fi
\fi
\fi
% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@biblabel}
+%\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
+% method is to redefine the \cs{@biblabel} macro from the \LaTeX\
% kernel.
% \begin{macrocode}
-\def\@biblabel#1{#1.}
+\renewcommand*{\@biblabel}[1]{#1.}
% \end{macrocode}
-% \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
+%\end{macro}
+%\begin{macro}{\ACS@bibwarning}
+%\begin{macro}{\bibliographystyle}
+% To ensure that additional \cs{bibliographystyle} commands in the
+% source are killed off. The \cs{ACS@bibwarning} provides a clean
% method of generating the warning message.
-% \changes{v2.0}{2007-01-17}{Command ignored in document body}
+%\changes{v2.0}{2007-01-17}{Command ignored in document body}
% \begin{macrocode}
-\def\ACS@bibwarning{\PackageWarning{achemso}%
+\newcommand*{\ACS@bibwarning}{\PackageWarning{achemso}%
{Additional bibliographystyle command ignored}}
-\def\bibliographystyle{\ACS@bibwarning\@gobble}
+\renewcommand*{\bibliographystyle}{\ACS@bibwarning\@gobble}
% \end{macrocode}
-% \end{macro}
-% \end{macro}
+%\end{macro}
+%\end{macro}
% The package is complete.
% \begin{macrocode}
%</package>
@@ -755,7 +809,7 @@ FUNCTION {output.check}
% \end{macrocode}
% For the standard file types, |output.bibitem| can come here.
-% The same is not true for styles supporting |natbib|, and so
+% The same is not true for styles supporting \pkg{natbib}, and so
% |output.bibitem| occurs later for those styles.
% \iffalse
%<*!nat>
@@ -804,6 +858,7 @@ FUNCTION {add.note}
}
%</list>
+%<*!mcp>
FUNCTION {fin.entry}
%<list>{ add.note
%<list> add.period$
@@ -811,6 +866,44 @@ FUNCTION {fin.entry}
write$
newline$
}
+
+%</!mcp>
+%<*mcp>
+INTEGERS {would.add.period.textlen}
+FUNCTION {would.add.period}
+{ duplicate$
+ add.period$
+ text.length$
+ 'would.add.period.textlen :=
+ duplicate$
+ text.length$
+ would.add.period.textlen =
+ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {fin.entry}
+{ would.add.period
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPuncttrue" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{\mcitedefaultendpunct}{\mcitedefaultseppunct}\relax"
+ }
+ { "\relax" * write$ newline$
+ "\mciteBstWouldAddEndPunctfalse" write$ newline$
+ "\mciteSetBstMidEndSepPunct{\mcitedefaultmidpunct}"
+ write$ newline$
+ "{}{\mcitedefaultseppunct}\relax"
+ }
+ if$
+ write$
+ newline$
+ "\EndOfBibitem" write$
+}
+
+%</mcp>
FUNCTION {not}
{ { #0 }
{ #1 }
@@ -1182,7 +1275,7 @@ FUNCTION {format.url}
if$
}
-% The specialised |output.bibitem| needed for |natbib| support now
+% The specialised |output.bibitem| needed for \pkg{natbib} support now
% follows, along with the various support macros it needs.
% \iffalse
%<*nat>
@@ -1908,7 +2001,7 @@ READ
% \end{macrocode}
% The nature of the initialise code depends on whether we need to
-% support |natbib|. First the simple case is handled.
+% support \pkg{natbib}. First the simple case is handled.
% \iffalse
%<*!nat>
% \fi
@@ -1942,8 +2035,8 @@ ITERATE {longest.label.pass}
% \iffalse
%</!nat>
% \fi
-% Now the |natbib| system is sorted out, basically by copying from
-% |plainnat.bst|.
+% Now the \pkg{natbib} system is sorted out, basically by copying from
+% \file{plainnat.bst}.
% \iffalse
%<*nat>
% \fi
@@ -2102,6 +2195,7 @@ ITERATE {forward.pass}
%</nat>
% \fi
+%<*!mcp>
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
@@ -2118,17 +2212,55 @@ FUNCTION {begin.bib}
write$ newline$
}
+%</!mcp>
+%<*mcp>
+FUNCTION {begin.bib}
+{ preamble$ empty$
+ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ "\PackageError{achemsoM.bst}{mciteplus.sty has not been loaded}"
+ write$ newline$
+ "{This bibstyle requires the use of the mciteplus package.}\fi"
+ write$ newline$
+%<!nat> "\begin{mcitethebibliography}{" longest.label * "}" * write$ newline$
+%<nat> "\begin{mcitethebibliography}{" number.label int.to.str$ * "}" *
+%<nat> write$ newline$
+%<nat> "\providecommand{\natexlab}[1]{#1}"
+%<nat> write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}{(\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
+ write$ newline$
+}
+
+%</mcp>
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
+%<*!mcp>
FUNCTION {end.bib}
{ newline$
"\end{thebibliography}" write$ newline$
}
+%</!mcp>
+%<*mcp>
+FUNCTION {end.bib}
+{ newline$
+ "\end{mcitethebibliography}" write$ newline$
+}
+
+%</mcp>
EXECUTE {end.bib}
%</bib>
%<*database>
@@ -2148,29 +2280,16 @@ EXECUTE {end.bib}
}
%</database>
%<*jawltxdoc>
-% The following is convenient method for collecting together package
-% loading, formatting commands and new macros used to format |dtx|
-% files written by the current author. It is based on the similar
-% files provided by Will Robertson in his packages and Heiko Oberdiek
-% as a stand-alone package. Notice that it is not intended for other
-% users: there is no error checking! However, it is covered by the
-% LPPL in the same way as the rest of this package.
-%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jawltxdoc}
- [2007/10/14 v1.0b]
-% First of all, a number of support packages are loaded.
\usepackage[T1]{fontenc}
\usepackage[english,UKenglish]{babel}
\usepackage[scaled=0.95]{helvet}
\usepackage[version=3]{mhchem}
\usepackage[final]{microtype}
\usepackage[osf]{mathpazo}
-\usepackage{booktabs,array,url,graphicx,courier,unitsdef}
+\usepackage{booktabs,array,url,graphicx,courier,xspace}
\usepackage{upgreek,ifpdf,listings}
-% If using PDFLaTeX, the source will be attached to the PDF. This
-% is basically the system used by Heiko Oberdiek, but with a check
-% that PDF mode is enabled.
\ifpdf
\usepackage{embedfile}
\embedfile[%
@@ -2179,19 +2298,15 @@ EXECUTE {end.bib}
desc={LaTeX docstrip source archive for package `\jobname'}%
]{\jobname.dtx}
\fi
-\usepackage{\jobname}
+\IfFileExists{\jobname.sty}
+ {\usepackage{\jobname}}{}
\usepackage[numbered]{hypdoc}
-%
-% To typeset examples, a new environment is needed. The code below
-% is based on that in used by |listings|, but is modified to get
-% better formatting for this context. The formatting of the output
-% is basically that in Will Robertson's |dtx-style| file.
\newlength\LaTeXwidth
\newlength\LaTeXoutdent
\newlength\LaTeXgap
\setlength\LaTeXgap{1em}
\setlength\LaTeXoutdent{-0.15\textwidth}
-\def\typesetexampleandcode{%
+\newcommand*{\typesetexampleandcode}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin\LaTeXoutdent
@@ -2208,7 +2323,7 @@ EXECUTE {end.bib}
\end{minipage}%
\end{list}
}
-\def\typesetcodeandexample{%
+\newcommand*{\typesetcodeandexample}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -2221,7 +2336,7 @@ EXECUTE {end.bib}
\lst@sampleInput
\end{list}
}
-\def\typesetfloatexample{%
+\newcommand*{\typesetfloatexample}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -2234,7 +2349,7 @@ EXECUTE {end.bib}
\end{minipage}%
\end{list}
}
-\def\typesetcodeonly{%
+\newcommand*{\typesetcodeonly}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -2253,25 +2368,19 @@ EXECUTE {end.bib}
\let\typesetexample#1
\global\let\lst@intname\@empty
\setbox\lst@samplebox=\hbox\bgroup
- \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=2,%
+ \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=3,%
breakindent=0pt,basicstyle=\small\ttfamily,basewidth=0.51em,%
keywordstyle=\color{blue},%
-% Notice that new keywords should be added here. The list is simply
-% macro names needed to typeset documentation of the package
-% author.
- morekeywords={bibnote,citenote,bibnotetext,bibnotemark,%
- thebibnote,bibnotename,includegraphics,schemeref,%
- floatcontentsleft,floatcontentsright,floatcontentscentre,%
- schemerefmarker,compound,schemerefformat,color,%
- startchemical,stopchemical,chemical,setupchemical,bottext,%
- listofschemes}}
+ morekeywords={% notes2bib
+ niibsetup,bibnote,bibnotetext,bibnotemark,thebibnote,%
+ flushnotestack,citenote,printbibnotes}}
\lst@BeginAlsoWriteFile{\LaTeXexamplefile}
}{%
\lst@EndWriteFile\egroup
\setlength\LaTeXwidth{\wd\lst@samplebox}
\typesetexample%
}
-\def\lst@sampleInput{%
+\newcommand*{\lst@sampleInput}{%
\MakePercentComment\catcode`\^^M=10\relax
\small%
{\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}%
@@ -2279,6 +2388,31 @@ EXECUTE {end.bib}
\leavevmode \input{\LaTeXexamplefile}}%
\MakePercentIgnore%
}
-\hyphenation{PDF-LaTeX}
+\newcommand*{\pkg}[1]{\textsf{#1}}
+\newcommand*{\currpkg}{\pkg{\jobname}\xspace}
+\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand*{\file}[1]{\texttt{#1}}
+\newcommand*{\ext}[1]{\file{.#1}}
+\newcommand*{\latin}[1]{\emph{#1}}
+\newcommand*{\etc}{%
+ \@ifnextchar.
+ {\latin{etc}}
+ {\latin{etc.}}
+ \xspace}
+\newcommand*{\eg}{%
+ \@ifnextchar.
+ {\latin{e.g}}
+ {\latin{e.g.}}
+ \xspace}
+\newcommand*{\ie}{%
+ \@ifnextchar.
+ {\latin{i.e}}
+ {\latin{i.e.}}
+ \xspace}
+\newcommand*{\AMS}{{\protect\usefont{OMS}{cmsy}{m}{n}%
+ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
+\providecommand*{\eTeX}{\ensuremath{\varepsilon}-\TeX}
+\newcommand*{\XeTeX}
+ {X\kern-.125em\lower.5ex\hbox{\reflectbox{E}}\kern-.1667em\TeX}
%</jawltxdoc>
%\fi
diff --git a/Master/texmf-dist/source/latex/achemso/achemso.ins b/Master/texmf-dist/source/latex/achemso/achemso.ins
index a91059ebebf..710cdad443b 100644
--- a/Master/texmf-dist/source/latex/achemso/achemso.ins
+++ b/Master/texmf-dist/source/latex/achemso/achemso.ins
@@ -10,7 +10,7 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
@@ -23,7 +23,7 @@
Chemical Society publications
Maintained by Joseph Wright
E-mail: joseph.wright@morningstar2.co.uk
- Released under the LaTeX Project Public License v1.3 or later
+ Released under the LaTeX Project Public License v1.3c or later
See http://www.latex-project.org/lppl.txt
----------------------------------------------------------------
@@ -39,9 +39,15 @@
\usedir{bibtex/bst/achemso}
\generate{\usepostamble\bibtexable
\file{achemso.bst}{\from{achemso.dtx}{bib}}
+ \file{achemsoM.bst}{\from{achemso.dtx}{bib,mcp}}
\file{achemnat.bst}{\from{achemso.dtx}{bib,nat}}
+ \file{achemnatM.bst}{\from{achemso.dtx}{bib,nat,mcp}}
+}
+\generate{\usepostamble\bibtexable
\file{achemsol.bst}{\from{achemso.dtx}{bib,list}}
+ \file{achemsolM.bst}{\from{achemso.dtx}{bib,list,mcp}}
\file{achemlnt.bst}{\from{achemso.dtx}{bib,list,nat}}
+ \file{achemlntM.bst}{\from{achemso.dtx}{bib,list,nat,mcp}}
}
\generate{\usepostamble\empty\usepreamble\empty
\file{achemso.bib}{\from{achemso.dtx}{database}}
diff --git a/Master/texmf-dist/tex/latex/achemso/achemso.sty b/Master/texmf-dist/tex/latex/achemso/achemso.sty
index ae552de1612..182ee56e843 100644
--- a/Master/texmf-dist/tex/latex/achemso/achemso.sty
+++ b/Master/texmf-dist/tex/latex/achemso/achemso.sty
@@ -10,19 +10,20 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{achemso}
- [2007/10/16 v2.2d LaTeX and BibTeX support for American
+ [2008/01/16 v2.2f LaTeX and BibTeX support for American
Chemical Society publications]
-\newif \ifACS@sctnnmbr \ACS@sctnnmbrfalse
-\newif \ifACS@list \ACS@listfalse
-\newif \ifACS@note \ACS@notefalse
-\newif \ifACS@super \ACS@supertrue
-\newif \ifACS@natbib \ACS@natbibfalse
+\newif\ifACS@sctnnmbr\ACS@sctnnmbrfalse
+\newif\ifACS@list\ACS@listfalse
+\newif\ifACS@note\ACS@notefalse
+\newif\ifACS@super\ACS@supertrue
+\newif\ifACS@natbib\ACS@natbibfalse
+\newif\ifACS@mcite\ACS@mcitefalse
\DeclareOption{note}{\ExecuteOptions{notes}}
\DeclareOption{notes}{\ACS@notetrue}
\DeclareOption{number}{\ACS@sctnnmbrtrue}
@@ -30,8 +31,9 @@
\DeclareOption{list}{\ACS@listtrue}
\DeclareOption{notsuper}{\ACS@superfalse}
\DeclareOption{natbib}{\ACS@natbibtrue}
+\DeclareOption{mcite}{\ACS@mcitetrue}
\DeclareOption*{\OptionNotUsed}
-\ProcessOptions
+\ProcessOptions\relax
\ifACS@natbib
\ifACS@super
\RequirePackage[numbers,sort&compress,super]{natbib}
@@ -44,17 +46,19 @@
\RequirePackage[nospace]{overcite}
\else
\RequirePackage{cite}
- \renewcommand\citeleft{(}
- \renewcommand\citeright{)}
- \renewcommand\citeform[1]{\emph{#1}}
+ \renewcommand{\citeleft}{(}
+ \renewcommand{\citeright}{)}
+ \renewcommand{\citeform}[1]{\emph{#1}}
\fi
\fi
\@ifpackageloaded{babel}
{\ACS@notefalse\PackageWarning{achemso}%
{babel package loaded - note option disabled}}
- {\relax}
-\def\ACS@biberror{\PackageError{achemso}%
- {No bibliography name command defined}\@eha}
+ {}
+\newcommand*{\ACS@biberror}{\PackageError{achemso}%
+ {No bibliography name command defined}
+ {The document class you have used does not define
+ \string\refname\MessageBreak or \string\bibname}}
\@ifundefined{refname}{%
\@ifundefined{bibname}{%
\ACS@biberror
@@ -75,22 +79,42 @@
\fi
\ifACS@list
\ifACS@natbib
- \bibliographystyle{achemlnt}
+ \ifACS@mcite
+ \bibliographystyle{achemlntM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemlnt}
+ \fi
\else
- \bibliographystyle{achemsol}
+ \ifACS@mcite
+ \bibliographystyle{achemsolM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemsol}
+ \fi
\fi
\RequirePackage[notcite]{showkeys}
\else
\ifACS@natbib
- \bibliographystyle{achemnat}
+ \ifACS@mcite
+ \bibliographystyle{achemnatM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemnat}
+ \fi
\else
- \bibliographystyle{achemso}
+ \ifACS@mcite
+ \bibliographystyle{achemsoM}
+ \RequirePackage{mciteplus}
+ \else
+ \bibliographystyle{achemso}
+ \fi
\fi
\fi
-\def\@biblabel#1{#1.}
-\def\ACS@bibwarning{\PackageWarning{achemso}%
+\renewcommand*{\@biblabel}[1]{#1.}
+\newcommand*{\ACS@bibwarning}{\PackageWarning{achemso}%
{Additional bibliographystyle command ignored}}
-\def\bibliographystyle{\ACS@bibwarning\@gobble}
+\renewcommand*{\bibliographystyle}{\ACS@bibwarning\@gobble}
\endinput
%%
%% End of file `achemso.sty'.
diff --git a/Master/texmf-dist/tex/latex/achemso/jawltxdoc.sty b/Master/texmf-dist/tex/latex/achemso/jawltxdoc.sty
index 86e4549d433..30d016315dd 100644
--- a/Master/texmf-dist/tex/latex/achemso/jawltxdoc.sty
+++ b/Master/texmf-dist/tex/latex/achemso/jawltxdoc.sty
@@ -10,20 +10,19 @@
%% Chemical Society publications
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
+%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ----------------------------------------------------------------
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jawltxdoc}
- [2007/10/14 v1.0b]
\usepackage[T1]{fontenc}
\usepackage[english,UKenglish]{babel}
\usepackage[scaled=0.95]{helvet}
\usepackage[version=3]{mhchem}
\usepackage[final]{microtype}
\usepackage[osf]{mathpazo}
-\usepackage{booktabs,array,url,graphicx,courier,unitsdef}
+\usepackage{booktabs,array,url,graphicx,courier,xspace}
\usepackage{upgreek,ifpdf,listings}
\ifpdf
\usepackage{embedfile}
@@ -33,14 +32,15 @@
desc={LaTeX docstrip source archive for package `\jobname'}%
]{\jobname.dtx}
\fi
-\usepackage{\jobname}
+\IfFileExists{\jobname.sty}
+ {\usepackage{\jobname}}{}
\usepackage[numbered]{hypdoc}
\newlength\LaTeXwidth
\newlength\LaTeXoutdent
\newlength\LaTeXgap
\setlength\LaTeXgap{1em}
\setlength\LaTeXoutdent{-0.15\textwidth}
-\def\typesetexampleandcode{%
+\newcommand*{\typesetexampleandcode}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin\LaTeXoutdent
@@ -57,7 +57,7 @@
\end{minipage}%
\end{list}
}
-\def\typesetcodeandexample{%
+\newcommand*{\typesetcodeandexample}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -70,7 +70,7 @@
\lst@sampleInput
\end{list}
}
-\def\typesetfloatexample{%
+\newcommand*{\typesetfloatexample}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -83,7 +83,7 @@
\end{minipage}%
\end{list}
}
-\def\typesetcodeonly{%
+\newcommand*{\typesetcodeonly}{%
\begin{list}{}{%
\setlength\itemindent{0pt}
\setlength\leftmargin{0pt}
@@ -102,22 +102,19 @@
\let\typesetexample#1
\global\let\lst@intname\@empty
\setbox\lst@samplebox=\hbox\bgroup
- \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=2,%
+ \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=3,%
breakindent=0pt,basicstyle=\small\ttfamily,basewidth=0.51em,%
keywordstyle=\color{blue},%
- morekeywords={bibnote,citenote,bibnotetext,bibnotemark,%
- thebibnote,bibnotename,includegraphics,schemeref,%
- floatcontentsleft,floatcontentsright,floatcontentscentre,%
- schemerefmarker,compound,schemerefformat,color,%
- startchemical,stopchemical,chemical,setupchemical,bottext,%
- listofschemes}}
+ morekeywords={% notes2bib
+ niibsetup,bibnote,bibnotetext,bibnotemark,thebibnote,%
+ flushnotestack,citenote,printbibnotes}}
\lst@BeginAlsoWriteFile{\LaTeXexamplefile}
}{%
\lst@EndWriteFile\egroup
\setlength\LaTeXwidth{\wd\lst@samplebox}
\typesetexample%
}
-\def\lst@sampleInput{%
+\newcommand*{\lst@sampleInput}{%
\MakePercentComment\catcode`\^^M=10\relax
\small%
{\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}%
@@ -125,7 +122,32 @@
\leavevmode \input{\LaTeXexamplefile}}%
\MakePercentIgnore%
}
-\hyphenation{PDF-LaTeX}
+\newcommand*{\pkg}[1]{\textsf{#1}}
+\newcommand*{\currpkg}{\pkg{\jobname}\xspace}
+\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand*{\file}[1]{\texttt{#1}}
+\newcommand*{\ext}[1]{\file{.#1}}
+\newcommand*{\latin}[1]{\emph{#1}}
+\newcommand*{\etc}{%
+ \@ifnextchar.
+ {\latin{etc}}
+ {\latin{etc.}}
+ \xspace}
+\newcommand*{\eg}{%
+ \@ifnextchar.
+ {\latin{e.g}}
+ {\latin{e.g.}}
+ \xspace}
+\newcommand*{\ie}{%
+ \@ifnextchar.
+ {\latin{i.e}}
+ {\latin{i.e.}}
+ \xspace}
+\newcommand*{\AMS}{{\protect\usefont{OMS}{cmsy}{m}{n}%
+ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
+\providecommand*{\eTeX}{\ensuremath{\varepsilon}-\TeX}
+\newcommand*{\XeTeX}
+ {X\kern-.125em\lower.5ex\hbox{\reflectbox{E}}\kern-.1667em\TeX}
\endinput
%%
%% End of file `jawltxdoc.sty'.