summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/angew-mc.bst1059
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/angew.bst560
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/angewM.bst1098
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/angewnat.bst1264
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/angewnatM.bst1304
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst979
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rsc.bst637
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rscM.bst1018
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rscnat.bst1184
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rscnatM.bst1224
-rw-r--r--Master/texmf-dist/doc/latex/rsc/README31
-rw-r--r--Master/texmf-dist/doc/latex/rsc/rsc-manual.pdfbin0 -> 123886 bytes
-rw-r--r--Master/texmf-dist/doc/latex/rsc/rsc.bib48
-rw-r--r--Master/texmf-dist/doc/latex/rsc/rsc.pdfbin140018 -> 194307 bytes
-rw-r--r--Master/texmf-dist/source/latex/rsc/rsc.dtx1248
-rw-r--r--Master/texmf-dist/source/latex/rsc/rsc.ins110
-rw-r--r--Master/texmf-dist/tex/latex/rsc/rsc.sty89
17 files changed, 1921 insertions, 9932 deletions
diff --git a/Master/texmf-dist/bibtex/bst/rsc/angew-mc.bst b/Master/texmf-dist/bibtex/bst/rsc/angew-mc.bst
deleted file mode 100644
index b9a0619d3a0..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/angew-mc.bst
+++ /dev/null
@@ -1,1059 +0,0 @@
-%%
-%% This is file `angew-mc.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,angew,mc')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 {fin.entry}
-{ write$
- "\relax" write$
- newline$
- "\relax" 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." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "MSc thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "PhD thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "Vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS{ l }
-
-FUNCTION{string.length}
-{ #1 'l :=
- { duplicate$ duplicate$ #1 l substring$ = not }
- { l #1 + 'l := }
- while$
- pop$ l
-}
-
-STRINGS{replace find text}
-
-INTEGERS{find_length}
-
-FUNCTION{find.replace}
-{ 'replace :=
- 'find :=
- 'text :=
- find string.length 'find_length :=
- ""
- { text empty$ not }
- { text #1 find_length substring$ find =
- { replace *
- text #1 find_length + global.max$ substring$ 'text :=
- }
- { text #1 #1 substring$ *
- text #2 global.max$ substring$ 'text :=
- }
- if$
- }
- while$
-}
-
-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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { add.comma t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {strip.comma}
-{ duplicate$
- string.length 'find_length :=
- duplicate$
- find_length #1 - #1 substring$
- "," =
- { #1 find_length #2 - substring$
- " " *
- }
- 'skip$
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- strip.comma
- editor num.names$ #1 >
- { bbl.editors }
- { bbl.editor }
- if$
- " " *
- editor format.names * paren
- }
- 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.url}
-{ url empty$
- { "" }
- { "\url{" url * "}" * }
- if$
-}
-
-FUNCTION {format.title.vol}
-{ 't :=
- t empty$
- { "" }
- { t emphasize }
- if$
- volume empty$
- 'skip$
- { format.bvolume emphasize
- swap$ add.comma swap$ *
- }
- 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 boldface }
- 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 }
- 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 :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title space.connect }
- { bbl.in s format.title space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.title.vol.in}
-{ 's :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title.vol space.connect }
- { bbl.in s format.title.vol space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal "," "" find.replace emphasize
- "journal" output.check
- after.item 'output.state :=
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title.vol "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.vol.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title.vol "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.vol.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title.noemph "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title empty$
- 'skip$
- { title format.title output }
- if$
- howpublished output
- format.date output
- format.url output
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {patent}
-{ output.bibitem
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\begin{mcbibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{mcbibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-%%
-%%
-%% End of file `angew-mc.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/angew.bst b/Master/texmf-dist/bibtex/bst/rsc/angew.bst
index bb6521b1d52..9859c2fad86 100644
--- a/Master/texmf-dist/bibtex/bst/rsc/angew.bst
+++ b/Master/texmf-dist/bibtex/bst/rsc/angew.bst
@@ -6,11 +6,11 @@
%%
%% rsc.dtx (with options: `bib,angew')
%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
+%% The rsc package --- BibTeX styles for Royal Society of Chemistry
+%% and Wiley journals
%% 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
%% ----------------------------------------------------------------
%%
@@ -19,12 +19,16 @@ ENTRY
author
booktitle
chapter
+ ctrl-use-title
+ ctrl-etal-number
+ ctrl-use-doi-all
doi
edition
editor
howpublished
institution
journal
+ key
note
number
organization
@@ -39,10 +43,14 @@ ENTRY
year
}
{}
- { label }
+ { label
+ extra.label
+ short.list
+ }
-INTEGERS { output.state before.all mid.sentence after.sentence }
-INTEGERS { after.block after.item author.or.editor }
+INTEGERS { output.state before.all mid.sentence }
+INTEGERS { after.sentence after.block after.item }
+INTEGERS { author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -52,6 +60,14 @@ FUNCTION {init.state.consts}
#4 'after.item :=
}
+INTEGERS { is.use.title etal.number use.doi.all }
+
+FUNCTION {default.is.use.title} { #0 }
+
+FUNCTION {default.etal.number} { #0 }
+
+FUNCTION {default.use.doi.all} { #0 }
+
FUNCTION {add.comma}
{ ", " * }
@@ -97,23 +113,41 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
+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}
-{ add.period$
+{ 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 }
@@ -166,6 +200,9 @@ FUNCTION {bbl.and}
FUNCTION {bbl.chapter}
{ "Chapter" }
+FUNCTION {bbl.doi}
+{ "DOI" }
+
FUNCTION {bbl.editor}
{ "Ed.:" }
@@ -286,6 +323,19 @@ FUNCTION{find.replace}
while$
}
+FUNCTION {chr.to.value}
+{ chr.to.int$ #48 -
+ duplicate$ duplicate$
+ #0 < swap$ #9 > or
+ { #48 + int.to.chr$
+ " is not a number..." *
+ warning$
+ pop$ #0
+ }
+ {}
+ if$
+}
+
FUNCTION{is.a.digit}
{ duplicate$ "" =
{pop$ #0}
@@ -385,28 +435,35 @@ FUNCTION {format.names}
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
+ numnames etal.number > etal.number #0 > and
+ { s #1 "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
{ add.comma t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others" =
+ { bbl.etal space.connect }
+ { add.comma t * }
+ if$
+ }
if$
}
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
}
FUNCTION {format.authors}
@@ -437,7 +494,7 @@ FUNCTION {format.editors}
strip.comma
editor num.names$ #1 >
{ bbl.editors }
- { bbl.editor }
+ { bbl.editor }
if$
" " *
editor format.names * paren
@@ -445,6 +502,17 @@ FUNCTION {format.editors}
if$
}
+FUNCTION {format.doi}
+{ use.doi.all
+ { doi empty$
+ { bbl.doi doi tie.or.space.connect output }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+}
+
FUNCTION {n.separate.multi}
{ 't :=
""
@@ -517,6 +585,91 @@ FUNCTION {format.title.vol}
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 }
@@ -558,7 +711,8 @@ FUNCTION {format.bdate}
FUNCTION {either.or.check}
{ empty$
'pop$
- { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
+ { "Can't use both " swap$ * " fields in "
+ * cite$ * warning$ }
if$
}
@@ -737,16 +891,20 @@ FUNCTION {format.thesis.type}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
+ is.use.title
+ { title format.title.noemph "title" output.check }
+ 'skip$
+ if$
+
journal "," "" find.replace emphasize
"journal" output.check
after.item 'output.state :=
format.date "year" output.check
volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
+ { "" format.pages.nopp output }
+ { format.vol.pages output }
if$
+ format.doi
fin.entry
}
@@ -755,7 +913,8 @@ FUNCTION {book}
author empty$
{ title format.title.vol "title" output.check
editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
+ { "Need either an author or editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -771,6 +930,7 @@ FUNCTION {book}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -781,6 +941,7 @@ FUNCTION {booklet}
howpublished output
address output
format.date output
+ format.doi
fin.entry
}
@@ -789,7 +950,8 @@ FUNCTION {inbook}
author empty$
{ title format.title.vol "title" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -801,26 +963,33 @@ FUNCTION {inbook}
format.edition output
format.bdate "year" output.check
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
author empty$
- { booktitle format.title.vol "booktitle" output.check
+ { booktitle
+ format.title.vol
+ "booktitle" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
{ format.authors output
- booktitle format.title.vol.in "booktitle" output.check
+ booktitle
+ format.title.vol
+ "booktitle" output.check
}
if$
format.pub.address "publisher" output.check
format.edition output
format.bdate "year" output.check
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
@@ -829,6 +998,7 @@ FUNCTION {inpress}
format.authors "author" output.check
journal emphasize "journal" output.check
bbl.inpress output
+ format.doi
fin.entry
}
@@ -842,6 +1012,7 @@ FUNCTION {inproceedings}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -870,6 +1041,7 @@ FUNCTION {manual}
if$
format.edition output
format.date output
+ format.doi
fin.entry
}
@@ -880,6 +1052,7 @@ FUNCTION {mastersthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -894,6 +1067,7 @@ FUNCTION {misc}
format.date output
format.url output
note output
+ format.doi
fin.entry
empty.misc.check
}
@@ -912,6 +1086,7 @@ FUNCTION {patent}
journal emphasize "journal" output.check
format.pages.patent "pages" output.check
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -922,6 +1097,7 @@ FUNCTION {phdthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -934,19 +1110,7 @@ FUNCTION {proceedings}
'skip$
{ format.pages output }
if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
+ format.doi
fin.entry
}
@@ -967,6 +1131,7 @@ FUNCTION {techreport}
output
format.pub.address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -979,12 +1144,98 @@ FUNCTION {unpublished}
if$
doi empty$
{ note output }
- { "DOI" doi tie.or.space.connect output }
+ {
+ bbl.doi doi tie.or.space.connect output
+ }
if$
fin.entry
empty.doi.note
}
+INTEGERS { a b }
+
+FUNCTION {mult}
+{ 'a :=
+ 'b :=
+ b #0 <
+ {#-1 #0 b - 'b :=}
+ {#1}
+ if$
+ #0
+ {b #0 >}
+ { a +
+ b #1 - 'b :=
+ }
+ while$
+ swap$
+ 'skip$
+ {#0 swap$ -}
+ if$
+}
+
+FUNCTION {str.to.int.aux}
+{ {duplicate$ empty$ not}
+ { swap$ #10 mult 'a :=
+ duplicate$ #1 #1 substring$
+ chr.to.value a +
+ swap$
+ #2 global.max$ substring$
+ }
+ while$
+ pop$
+}
+
+FUNCTION {str.to.int}
+{ duplicate$ #1 #1 substring$ "-" =
+ {#1 swap$ #2 global.max$ substring$}
+ {#0 swap$}
+ if$
+ #0 swap$ str.to.int.aux
+ swap$
+ {#0 swap$ -}
+ {}
+ if$
+}
+
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown Boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {Control}
+{ ctrl-use-title
+ empty$
+ { skip$ }
+ { ctrl-use-title
+ yes.no.to.int
+ 'is.use.title := }
+ if$
+ ctrl-etal-number
+ empty$
+ { skip$ }
+ { ctrl-etal-number
+ str.to.int
+ 'etal.number := }
+ if$
+ ctrl-use-doi-all
+ empty$
+ { skip$ }
+ { ctrl-use-doi-all
+ yes.no.to.int
+ 'use.doi.all := }
+ if$
+}
+
FUNCTION {conference} {inproceedings}
FUNCTION {other} {patent}
@@ -1006,39 +1257,197 @@ MACRO {dec} {"December"}
READ
-STRINGS { longest.label }
+FUNCTION {initialize.controls}
+{ default.is.use.title 'is.use.title :=
+ default.etal.number 'etal.number :=
+ default.use.doi.all 'use.doi.all :=
+}
+
+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$
+}
-INTEGERS { number.label longest.label.width }
+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 :=
- #1 'number.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
#0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
}
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
+FUNCTION {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 :=
}
- 'skip$
if$
+ number.label #1 + 'number.label :=
}
EXECUTE {initialize.longest.label}
-ITERATE {longest.label.pass}
+ITERATE {forward.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
- "\providecommand{\url}[1]{\texttt{#1}}"
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ " \PackageError"
+ "{angew.bst}"
+ "{mciteplus.sty has not been loaded}" * *
+ write$ newline$
+ " {This bibstyle requires the use of the"
+ " mciteplus package.}" *
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{"
+ number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}"
+ write$ newline$
+ "{\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd"
+ write$ newline$
+ "{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
write$ newline$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
}
EXECUTE {begin.bib}
@@ -1049,10 +1458,7 @@ ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
- "\end{thebibliography}" write$ newline$
+ "\end{mcitethebibliography}" write$ newline$
}
EXECUTE {end.bib}
-%%
-%%
-%% End of file `angew.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/angewM.bst b/Master/texmf-dist/bibtex/bst/rsc/angewM.bst
deleted file mode 100644
index f30f6348225..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/angewM.bst
+++ /dev/null
@@ -1,1098 +0,0 @@
-%%
-%% This is file `angewM.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,angew,mcp')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 :=
-}
-
-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." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "MSc thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "PhD thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "Vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS{ l }
-
-FUNCTION{string.length}
-{ #1 'l :=
- { duplicate$ duplicate$ #1 l substring$ = not }
- { l #1 + 'l := }
- while$
- pop$ l
-}
-
-STRINGS{replace find text}
-
-INTEGERS{find_length}
-
-FUNCTION{find.replace}
-{ 'replace :=
- 'find :=
- 'text :=
- find string.length 'find_length :=
- ""
- { text empty$ not }
- { text #1 find_length substring$ find =
- { replace *
- text #1 find_length + global.max$ substring$ 'text :=
- }
- { text #1 #1 substring$ *
- text #2 global.max$ substring$ 'text :=
- }
- if$
- }
- while$
-}
-
-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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { add.comma t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {strip.comma}
-{ duplicate$
- string.length 'find_length :=
- duplicate$
- find_length #1 - #1 substring$
- "," =
- { #1 find_length #2 - substring$
- " " *
- }
- 'skip$
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- strip.comma
- editor num.names$ #1 >
- { bbl.editors }
- { bbl.editor }
- if$
- " " *
- editor format.names * paren
- }
- 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.url}
-{ url empty$
- { "" }
- { "\url{" url * "}" * }
- if$
-}
-
-FUNCTION {format.title.vol}
-{ 't :=
- t empty$
- { "" }
- { t emphasize }
- if$
- volume empty$
- 'skip$
- { format.bvolume emphasize
- swap$ add.comma swap$ *
- }
- 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 boldface }
- 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 }
- 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 :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title space.connect }
- { bbl.in s format.title space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.title.vol.in}
-{ 's :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title.vol space.connect }
- { bbl.in s format.title.vol space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal "," "" find.replace emphasize
- "journal" output.check
- after.item 'output.state :=
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title.vol "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.vol.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title.vol "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.vol.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title.noemph "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title empty$
- 'skip$
- { title format.title output }
- if$
- howpublished output
- format.date output
- format.url output
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {patent}
-{ output.bibitem
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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{angewM.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 `angewM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/angewnat.bst b/Master/texmf-dist/bibtex/bst/rsc/angewnat.bst
deleted file mode 100644
index a089a1ab60b..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/angewnat.bst
+++ /dev/null
@@ -1,1264 +0,0 @@
-%%
-%% This is file `angewnat.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,angew,nat')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-
-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." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "MSc thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "PhD thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "Vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS{ l }
-
-FUNCTION{string.length}
-{ #1 'l :=
- { duplicate$ duplicate$ #1 l substring$ = not }
- { l #1 + 'l := }
- while$
- pop$ l
-}
-
-STRINGS{replace find text}
-
-INTEGERS{find_length}
-
-FUNCTION{find.replace}
-{ 'replace :=
- 'find :=
- 'text :=
- find string.length 'find_length :=
- ""
- { text empty$ not }
- { text #1 find_length substring$ find =
- { replace *
- text #1 find_length + global.max$ substring$ 'text :=
- }
- { text #1 #1 substring$ *
- text #2 global.max$ substring$ 'text :=
- }
- if$
- }
- while$
-}
-
-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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { add.comma t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {strip.comma}
-{ duplicate$
- string.length 'find_length :=
- duplicate$
- find_length #1 - #1 substring$
- "," =
- { #1 find_length #2 - substring$
- " " *
- }
- 'skip$
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- strip.comma
- editor num.names$ #1 >
- { bbl.editors }
- { bbl.editor }
- if$
- " " *
- editor format.names * paren
- }
- 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.url}
-{ url empty$
- { "" }
- { "\url{" url * "}" * }
- if$
-}
-
-FUNCTION {format.title.vol}
-{ 't :=
- t empty$
- { "" }
- { t emphasize }
- if$
- volume empty$
- 'skip$
- { format.bvolume emphasize
- swap$ add.comma swap$ *
- }
- 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 boldface }
- 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 }
- 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 :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title space.connect }
- { bbl.in s format.title space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.title.vol.in}
-{ 's :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title.vol space.connect }
- { bbl.in s format.title.vol space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal "," "" find.replace emphasize
- "journal" output.check
- after.item 'output.state :=
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title.vol "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.vol.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title.vol "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.vol.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title.noemph "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title empty$
- 'skip$
- { title format.title output }
- if$
- howpublished output
- format.date output
- format.url output
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {patent}
-{ output.bibitem
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\begin{thebibliography}{" number.label int.to.str$ * "}" *
- write$ newline$
- "\providecommand{\natexlab}[1]{#1}"
- write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-%%
-%%
-%% End of file `angewnat.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/angewnatM.bst b/Master/texmf-dist/bibtex/bst/rsc/angewnatM.bst
deleted file mode 100644
index e7d26bd52dc..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/angewnatM.bst
+++ /dev/null
@@ -1,1304 +0,0 @@
-%%
-%% This is file `angewnatM.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,angew,nat,mcp')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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$
-}
-
-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." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "MSc thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "PhD thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "Vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-INTEGERS{ l }
-
-FUNCTION{string.length}
-{ #1 'l :=
- { duplicate$ duplicate$ #1 l substring$ = not }
- { l #1 + 'l := }
- while$
- pop$ l
-}
-
-STRINGS{replace find text}
-
-INTEGERS{find_length}
-
-FUNCTION{find.replace}
-{ 'replace :=
- 'find :=
- 'text :=
- find string.length 'find_length :=
- ""
- { text empty$ not }
- { text #1 find_length substring$ find =
- { replace *
- text #1 find_length + global.max$ substring$ 'text :=
- }
- { text #1 #1 substring$ *
- text #2 global.max$ substring$ 'text :=
- }
- if$
- }
- while$
-}
-
-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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { add.comma t * }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {strip.comma}
-{ duplicate$
- string.length 'find_length :=
- duplicate$
- find_length #1 - #1 substring$
- "," =
- { #1 find_length #2 - substring$
- " " *
- }
- 'skip$
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- strip.comma
- editor num.names$ #1 >
- { bbl.editors }
- { bbl.editor }
- if$
- " " *
- editor format.names * paren
- }
- 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.url}
-{ url empty$
- { "" }
- { "\url{" url * "}" * }
- if$
-}
-
-FUNCTION {format.title.vol}
-{ 't :=
- t empty$
- { "" }
- { t emphasize }
- if$
- volume empty$
- 'skip$
- { format.bvolume emphasize
- swap$ add.comma swap$ *
- }
- 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 boldface }
- 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 }
- 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 :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title space.connect }
- { bbl.in s format.title space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.title.vol.in}
-{ 's :=
- after.item 'output.state :=
- s empty$
- { "" }
- { editor empty$
- { bbl.in s format.title.vol space.connect }
- { bbl.in s format.title.vol space.connect
- add.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal "," "" find.replace emphasize
- "journal" output.check
- after.item 'output.state :=
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title.vol "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title.vol "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.vol.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title.vol "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.vol.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title.noemph "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- title empty$
- 'skip$
- { title format.title output }
- if$
- howpublished output
- format.date output
- format.url output
- note output
- fin.entry
- empty.misc.check
-}
-
-FUNCTION {patent}
-{ output.bibitem
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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{angewM.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 `angewnatM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst b/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
deleted file mode 100644
index 7d880ae6fb7..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
+++ /dev/null
@@ -1,979 +0,0 @@
-%%
-%% This is file `rsc-mc.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,rsc,mc')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 {fin.entry}
-{ write$
- "\relax" write$
- newline$
- "\relax" 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}
-{ "ch." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-
-FUNCTION {bbl.edition}
-{ "edn." }
-
-FUNCTION {bbl.etal}
-{ "et~al." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "M.Sc. thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION{is.a.digit}
-{ duplicate$ "" =
- {pop$ #0}
- {chr.to.int$ #48 - duplicate$
- #0 < swap$ #9 > or not}
- if$
-}
-
-FUNCTION{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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { bbl.and space.connect t space.connect }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- bbl.editor " " * *
- editor format.names
- }
- 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.url}
-{ url empty$
- { "" }
- { "\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
- 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 boldface 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.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal emphasize "journal" output.check
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title.noemph "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- 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
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title.noemph "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note output }
- { 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\begin{mcbibliography}{" longest.label * "}" * write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{mcbibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-%%
-%%
-%% End of file `rsc-mc.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rsc.bst b/Master/texmf-dist/bibtex/bst/rsc/rsc.bst
index 7ad2dc8f67d..b89f80a15e7 100644
--- a/Master/texmf-dist/bibtex/bst/rsc/rsc.bst
+++ b/Master/texmf-dist/bibtex/bst/rsc/rsc.bst
@@ -6,11 +6,11 @@
%%
%% rsc.dtx (with options: `bib,rsc')
%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
+%% The rsc package --- BibTeX styles for Royal Society of Chemistry
+%% and Wiley journals
%% 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
%% ----------------------------------------------------------------
%%
@@ -19,12 +19,16 @@ ENTRY
author
booktitle
chapter
+ ctrl-use-title
+ ctrl-etal-number
+ ctrl-use-doi-all
doi
edition
editor
howpublished
institution
journal
+ key
note
number
organization
@@ -39,10 +43,14 @@ ENTRY
year
}
{}
- { label }
+ { label
+ extra.label
+ short.list
+ }
-INTEGERS { output.state before.all mid.sentence after.sentence }
-INTEGERS { after.block after.item author.or.editor }
+INTEGERS { output.state before.all mid.sentence }
+INTEGERS { after.sentence after.block after.item }
+INTEGERS { author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -52,6 +60,14 @@ FUNCTION {init.state.consts}
#4 'after.item :=
}
+INTEGERS { is.use.title etal.number use.doi.all }
+
+FUNCTION {default.is.use.title} { #0 }
+
+FUNCTION {default.etal.number} { #0 }
+
+FUNCTION {default.use.doi.all} { #0 }
+
FUNCTION {add.comma}
{ ", " * }
@@ -97,23 +113,41 @@ FUNCTION {output.check}
if$
}
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
+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}
-{ add.period$
+{ 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 }
@@ -166,6 +200,9 @@ FUNCTION {bbl.and}
FUNCTION {bbl.chapter}
{ "ch." }
+FUNCTION {bbl.doi}
+{ "DOI:" }
+
FUNCTION {bbl.editor}
{ "ed." }
@@ -251,6 +288,52 @@ FUNCTION {eng.ord}
if$
}
+INTEGERS{ l }
+
+FUNCTION{string.length}
+{ #1 'l :=
+ { duplicate$ duplicate$ #1 l substring$ = not }
+ { l #1 + 'l := }
+ while$
+ pop$ l
+}
+
+STRINGS{replace find text}
+
+INTEGERS{find_length}
+
+FUNCTION{find.replace}
+{ 'replace :=
+ 'find :=
+ 'text :=
+ find string.length 'find_length :=
+ ""
+ { text empty$ not }
+ { text #1 find_length substring$ find =
+ { replace *
+ text #1 find_length + global.max$ substring$ 'text :=
+ }
+ { text #1 #1 substring$ *
+ text #2 global.max$ substring$ 'text :=
+ }
+ if$
+ }
+ while$
+}
+
+FUNCTION {chr.to.value}
+{ chr.to.int$ #48 -
+ duplicate$ duplicate$
+ #0 < swap$ #9 > or
+ { #48 + int.to.chr$
+ " is not a number..." *
+ warning$
+ pop$ #0
+ }
+ {}
+ if$
+}
+
FUNCTION{is.a.digit}
{ duplicate$ "" =
{pop$ #0}
@@ -350,28 +433,35 @@ FUNCTION {format.names}
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { bbl.and space.connect t space.connect }
+ numnames etal.number > etal.number #0 > and
+ { s #1 "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others" =
+ { bbl.etal space.connect }
+ { bbl.and space.connect t space.connect }
+ if$
+ }
if$
}
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
}
FUNCTION {format.authors}
@@ -382,6 +472,19 @@ FUNCTION {format.authors}
if$
}
+FUNCTION {strip.comma}
+{ duplicate$
+ string.length 'find_length :=
+ duplicate$
+ find_length #1 - #1 substring$
+ "," =
+ { #1 find_length #2 - substring$
+ " " *
+ }
+ 'skip$
+ if$
+}
+
FUNCTION {format.editors}
{ editor empty$
{ "" }
@@ -392,6 +495,17 @@ FUNCTION {format.editors}
if$
}
+FUNCTION {format.doi}
+{ use.doi.all
+ { doi empty$
+ { bbl.doi doi tie.or.space.connect output }
+ 'skip$
+ if$
+ }
+ 'skip$
+ if$
+}
+
FUNCTION {n.separate.multi}
{ 't :=
""
@@ -450,6 +564,105 @@ FUNCTION {format.url}
if$
}
+FUNCTION {format.title.vol}
+{ 't :=
+ t empty$
+ { "" }
+ { t emphasize }
+ if$
+ volume empty$
+ 'skip$
+ { format.bvolume emphasize
+ swap$ add.comma swap$ *
+ }
+ 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 }
@@ -491,7 +704,8 @@ FUNCTION {format.bdate}
FUNCTION {either.or.check}
{ empty$
'pop$
- { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
+ { "Can't use both " swap$ * " fields in "
+ * cite$ * warning$ }
if$
}
@@ -615,6 +829,21 @@ FUNCTION {format.title.in}
if$
}
+FUNCTION {format.title.vol.in}
+{ 's :=
+ after.item 'output.state :=
+ s empty$
+ { "" }
+ { editor empty$
+ { bbl.in s format.title.vol space.connect }
+ { bbl.in s format.title.vol space.connect
+ add.comma format.editors *
+ }
+ if$
+ }
+ if$
+}
+
FUNCTION {format.pub.address}
{ publisher empty$
{ "" }
@@ -654,14 +883,17 @@ FUNCTION {format.thesis.type}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
+ is.use.title
+ { title format.title.noemph "title" output.check }
+ 'skip$
+ if$
journal emphasize "journal" output.check
format.date "year" output.check
volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
+ { "" format.pages.nopp output }
+ { format.vol.pages output }
if$
+ format.doi
fin.entry
}
@@ -670,7 +902,8 @@ FUNCTION {book}
author empty$
{ title format.title "title" output.check
editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
+ { "Need either an author or editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -687,6 +920,7 @@ FUNCTION {book}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -697,6 +931,7 @@ FUNCTION {booklet}
howpublished output
address output
format.date output
+ format.doi
fin.entry
}
@@ -705,7 +940,8 @@ FUNCTION {inbook}
author empty$
{ title format.title "title" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -718,20 +954,26 @@ FUNCTION {inbook}
format.bdate "year" output.check
format.bvolume output
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
author empty$
- { booktitle format.title "booktitle" output.check
+ { booktitle
+ format.title
+ "booktitle" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
{ format.authors output
- booktitle format.title.in "booktitle" output.check
+ booktitle
+ format.title
+ "booktitle" output.check
}
if$
format.pub.address "publisher" output.check
@@ -739,6 +981,7 @@ FUNCTION {incollection}
format.bdate "year" output.check
format.bvolume output
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
@@ -747,6 +990,7 @@ FUNCTION {inpress}
format.authors "author" output.check
journal emphasize "journal" output.check
bbl.inpress output
+ format.doi
fin.entry
}
@@ -760,6 +1004,7 @@ FUNCTION {inproceedings}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -788,6 +1033,7 @@ FUNCTION {manual}
if$
format.edition output
format.date output
+ format.doi
fin.entry
}
@@ -798,6 +1044,7 @@ FUNCTION {mastersthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -812,6 +1059,7 @@ FUNCTION {misc}
year output
format.url output
note output
+ format.doi
fin.entry
empty.misc.check
}
@@ -830,6 +1078,7 @@ FUNCTION {patent}
journal emphasize "journal" output.check
format.pages.patent "pages" output.check
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -840,6 +1089,7 @@ FUNCTION {phdthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -852,19 +1102,7 @@ FUNCTION {proceedings}
'skip$
{ format.pages output }
if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
+ format.doi
fin.entry
}
@@ -885,6 +1123,7 @@ FUNCTION {techreport}
output
format.pub.address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -897,14 +1136,99 @@ FUNCTION {unpublished}
if$
doi empty$
{ note output }
- { format.date output
- "DOI:" doi tie.or.space.connect output
- }
+ {
+ format.date output
+ bbl.doi doi tie.or.space.connect output
+ }
if$
fin.entry
empty.doi.note
}
+INTEGERS { a b }
+
+FUNCTION {mult}
+{ 'a :=
+ 'b :=
+ b #0 <
+ {#-1 #0 b - 'b :=}
+ {#1}
+ if$
+ #0
+ {b #0 >}
+ { a +
+ b #1 - 'b :=
+ }
+ while$
+ swap$
+ 'skip$
+ {#0 swap$ -}
+ if$
+}
+
+FUNCTION {str.to.int.aux}
+{ {duplicate$ empty$ not}
+ { swap$ #10 mult 'a :=
+ duplicate$ #1 #1 substring$
+ chr.to.value a +
+ swap$
+ #2 global.max$ substring$
+ }
+ while$
+ pop$
+}
+
+FUNCTION {str.to.int}
+{ duplicate$ #1 #1 substring$ "-" =
+ {#1 swap$ #2 global.max$ substring$}
+ {#0 swap$}
+ if$
+ #0 swap$ str.to.int.aux
+ swap$
+ {#0 swap$ -}
+ {}
+ if$
+}
+
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown Boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {Control}
+{ ctrl-use-title
+ empty$
+ { skip$ }
+ { ctrl-use-title
+ yes.no.to.int
+ 'is.use.title := }
+ if$
+ ctrl-etal-number
+ empty$
+ { skip$ }
+ { ctrl-etal-number
+ str.to.int
+ 'etal.number := }
+ if$
+ ctrl-use-doi-all
+ empty$
+ { skip$ }
+ { ctrl-use-doi-all
+ yes.no.to.int
+ 'use.doi.all := }
+ if$
+}
+
FUNCTION {conference} {inproceedings}
FUNCTION {other} {patent}
@@ -926,39 +1250,197 @@ MACRO {dec} {"December"}
READ
-STRINGS { longest.label }
+FUNCTION {initialize.controls}
+{ default.is.use.title 'is.use.title :=
+ default.etal.number 'etal.number :=
+ default.use.doi.all 'use.doi.all :=
+}
+
+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 { number.label longest.label.width }
+INTEGERS { longest.label.width last.extra.num number.label }
FUNCTION {initialize.longest.label}
{ "" 'longest.label :=
- #1 'number.label :=
+ #0 int.to.chr$ 'last.label :=
+ "" 'next.extra :=
#0 'longest.label.width :=
+ #0 'last.extra.num :=
+ #0 'number.label :=
}
-FUNCTION {longest.label.pass}
-{ number.label int.to.str$ 'label :=
- number.label #1 + 'number.label :=
- label width$ longest.label.width >
- { label 'longest.label :=
- label width$ 'longest.label.width :=
+FUNCTION {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 :=
}
- 'skip$
if$
+ number.label #1 + 'number.label :=
}
EXECUTE {initialize.longest.label}
-ITERATE {longest.label.pass}
+ITERATE {forward.pass}
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
{ preamble$ write$ newline$ }
if$
- "\providecommand{\url}[1]{\texttt{#1}}"
+ "\ifx\mcitethebibliography\mciteundefinedmacro"
+ write$ newline$
+ " \PackageError"
+ "{rsc.bst}"
+ "{mciteplus.sty has not been loaded}" * *
+ write$ newline$
+ " {This bibstyle requires the use of the"
+ " mciteplus package.}" *
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{"
+ number.label int.to.str$ * "}" *
+ write$ newline$
+ "\providecommand{\natexlab}[1]{#1}"
+ write$ newline$
+ "\mciteSetBstSublistMode{f}"
+ write$ newline$
+ "\mciteSetBstMaxWidthForm{subitem}"
+ write$ newline$
+ "{(\emph{\alph{mcitesubitemcount}})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd"
+ write$ newline$
+ "{\mcitemaxwidthsubitemform\space}"
+ write$ newline$
+ "{\relax}{\relax}"
write$ newline$
- "\begin{thebibliography}{" longest.label * "}" * write$ newline$
}
EXECUTE {begin.bib}
@@ -969,10 +1451,7 @@ ITERATE {call.type$}
FUNCTION {end.bib}
{ newline$
- "\end{thebibliography}" write$ newline$
+ "\end{mcitethebibliography}" write$ newline$
}
EXECUTE {end.bib}
-%%
-%%
-%% End of file `rsc.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rscM.bst b/Master/texmf-dist/bibtex/bst/rsc/rscM.bst
deleted file mode 100644
index aa7a45d014b..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/rscM.bst
+++ /dev/null
@@ -1,1018 +0,0 @@
-%%
-%% This is file `rscM.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,rsc,mcp')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 :=
-}
-
-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}
-{ "ch." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-
-FUNCTION {bbl.edition}
-{ "edn." }
-
-FUNCTION {bbl.etal}
-{ "et~al." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "M.Sc. thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION{is.a.digit}
-{ duplicate$ "" =
- {pop$ #0}
- {chr.to.int$ #48 - duplicate$
- #0 < swap$ #9 > or not}
- if$
-}
-
-FUNCTION{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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { bbl.and space.connect t space.connect }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- bbl.editor " " * *
- editor format.names
- }
- 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.url}
-{ url empty$
- { "" }
- { "\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
- 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 boldface 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.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal emphasize "journal" output.check
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title.noemph "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- 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
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title.noemph "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note output }
- { 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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{rscM.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}{(\emph{\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 `rscM.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rscnat.bst b/Master/texmf-dist/bibtex/bst/rsc/rscnat.bst
deleted file mode 100644
index b14ec4e19bf..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/rscnat.bst
+++ /dev/null
@@ -1,1184 +0,0 @@
-%%
-%% This is file `rscnat.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,rsc,nat')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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 {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-
-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}
-{ "ch." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-
-FUNCTION {bbl.edition}
-{ "edn." }
-
-FUNCTION {bbl.etal}
-{ "et~al." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "M.Sc. thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION{is.a.digit}
-{ duplicate$ "" =
- {pop$ #0}
- {chr.to.int$ #48 - duplicate$
- #0 < swap$ #9 > or not}
- if$
-}
-
-FUNCTION{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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { bbl.and space.connect t space.connect }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- bbl.editor " " * *
- editor format.names
- }
- 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.url}
-{ url empty$
- { "" }
- { "\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
- 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 boldface 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.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal emphasize "journal" output.check
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title.noemph "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- 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
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title.noemph "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note output }
- { 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
- "\begin{thebibliography}{" number.label int.to.str$ * "}" *
- write$ newline$
- "\providecommand{\natexlab}[1]{#1}"
- write$ newline$
-}
-
-EXECUTE {begin.bib}
-
-EXECUTE {init.state.consts}
-
-ITERATE {call.type$}
-
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-EXECUTE {end.bib}
-%%
-%%
-%% End of file `rscnat.bst'.
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rscnatM.bst b/Master/texmf-dist/bibtex/bst/rsc/rscnatM.bst
deleted file mode 100644
index 67957cd8aea..00000000000
--- a/Master/texmf-dist/bibtex/bst/rsc/rscnatM.bst
+++ /dev/null
@@ -1,1224 +0,0 @@
-%%
-%% This is file `rscnatM.bst',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `bib,rsc,nat,mcp')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 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 }
-
-FUNCTION {init.state.consts}
-{ #0 'before.all :=
- #1 'mid.sentence :=
- #2 'after.sentence :=
- #3 'after.block :=
- #4 'after.item :=
-}
-
-FUNCTION {add.comma}
-{ ", " * }
-
-STRINGS { s t }
-
-FUNCTION {output.nonnull}
-{ 's :=
- output.state mid.sentence =
- { add.comma write$ }
- { output.state after.block =
- { add.comma 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$
-}
-
-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}
-{ "ch." }
-
-FUNCTION {bbl.editor}
-{ "ed." }
-
-
-FUNCTION {bbl.edition}
-{ "edn." }
-
-FUNCTION {bbl.etal}
-{ "et~al." emphasize }
-
-FUNCTION {bbl.in}
-{ "in" }
-
-FUNCTION {bbl.inpress}
-{ "in press" }
-
-FUNCTION {bbl.msc}
-{ "M.Sc. thesis" }
-
-FUNCTION {bbl.page}
-{ "p." }
-
-FUNCTION {bbl.pages}
-{ "pp." }
-
-FUNCTION {bbl.phd}
-{ "Ph.D. thesis" }
-
-FUNCTION {bbl.submitted}
-{ "submitted for publication" }
-
-FUNCTION {bbl.techreport}
-{ "Technical Report" }
-
-FUNCTION {bbl.volume}
-{ "vol." }
-
-FUNCTION {bbl.first}
-{ "1st" }
-
-FUNCTION {bbl.second}
-{ "2nd" }
-
-FUNCTION {bbl.third}
-{ "3rd" }
-
-FUNCTION {bbl.fourth}
-{ "4th" }
-
-FUNCTION {bbl.fifth}
-{ "5th" }
-
-FUNCTION {bbl.st}
-{ "st" }
-
-FUNCTION {bbl.nd}
-{ "nd" }
-
-FUNCTION {bbl.rd}
-{ "rd" }
-
-FUNCTION {bbl.th}
-{ "th" }
-
-FUNCTION {eng.ord}
-{ duplicate$ "1" swap$ *
- #-2 #1 substring$ "1" =
- { bbl.th * }
- { duplicate$ #-1 #1 substring$
- duplicate$ "1" =
- { pop$ bbl.st * }
- { duplicate$ "2" =
- { pop$ bbl.nd * }
- { "3" =
- { bbl.rd * }
- { bbl.th * }
- if$
- }
- if$
- }
- if$
- }
- if$
-}
-
-FUNCTION{is.a.digit}
-{ duplicate$ "" =
- {pop$ #0}
- {chr.to.int$ #48 - duplicate$
- #0 < swap$ #9 > or not}
- if$
-}
-
-FUNCTION{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 :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
- { bbl.and space.connect t space.connect }
- if$
- }
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
-}
-
-FUNCTION {format.authors}
-{ author empty$
- { "" }
- { #1 'author.or.editor :=
- author format.names }
- if$
-}
-
-FUNCTION {format.editors}
-{ editor empty$
- { "" }
- { #2 'author.or.editor :=
- bbl.editor " " * *
- editor format.names
- }
- 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.url}
-{ url empty$
- { "" }
- { "\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
- 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 boldface 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.comma format.editors *
- }
- if$
- }
- if$
-}
-
-FUNCTION {format.pub.address}
-{ publisher empty$
- { "" }
- { address empty$
- { publisher }
- { publisher add.comma address *}
- if$
- }
- 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
- journal emphasize "journal" output.check
- format.date "year" output.check
- volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {book}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- "author and editor" editor either.or.check
- title format.title "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {booklet}
-{ output.bibitem
- format.authors output
- title format.title "title" output.check
- howpublished output
- address output
- format.date output
- fin.entry
-}
-
-FUNCTION {inbook}
-{ output.bibitem
- author empty$
- { title format.title "title" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- title format.title.in "title" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {incollection}
-{ output.bibitem
- author empty$
- { booktitle format.title "booktitle" output.check
- editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
- }
- { format.authors output
- booktitle format.title.in "booktitle" output.check
- }
- if$
- format.pub.address "publisher" output.check
- format.edition output
- format.bdate "year" output.check
- format.bvolume output
- format.chapter.pages "chapter and pages" output.check
- fin.entry
-}
-
-FUNCTION {inpress}
-{ output.bibitem
- format.authors "author" output.check
- journal emphasize "journal" output.check
- bbl.inpress output
- fin.entry
-}
-
-FUNCTION {inproceedings}
-{ output.bibitem
- format.authors "author" output.check
- booktitle format.title.noemph "booktitle" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {manual}
-{ output.bibitem
- author empty$
- { organization empty$
- 'skip$
- { organization output
- address output
- }
- if$
- }
- { format.authors output }
- if$
- title format.title "title" output.check
- author empty$
- { organization empty$
- { address output }
- 'skip$
- if$
- }
- { organization output
- address output
- }
- if$
- format.edition output
- format.date output
- fin.entry
-}
-
-FUNCTION {mastersthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.msc emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {misc}
-{ output.bibitem
- format.authors output
- 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
- organization empty$
- { format.authors "author and organization" output.check }
- { author empty$
- { organization }
- { format.authors organization paren space.connect }
- if$
- "author and organization" output.check
- }
- if$
- journal emphasize "journal" output.check
- format.pages.patent "pages" output.check
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {phdthesis}
-{ output.bibitem
- format.authors "author" output.check
- bbl.phd emphasize format.thesis.type output
- school "school" output.check
- address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {proceedings}
-{ output.bibitem
- title format.title.noemph "title" output.check
- address output
- format.date "year" output.check
- pages empty$
- 'skip$
- { format.pages output }
- if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
- fin.entry
-}
-
-FUNCTION {techreport}
-{ output.bibitem
- format.authors "author" output.check
- title format.title "title" output.check
- institution
- type empty$
- 'bbl.techreport
- 'type
- if$
- space.connect
- number empty$
- { "t" change.case$ }
- { number tie.or.space.connect }
- if$
- output
- format.pub.address output
- format.date "year" output.check
- fin.entry
-}
-
-FUNCTION {unpublished}
-{ output.bibitem
- format.authors "author" output.check
- journal empty$
- 'skip$
- { journal emphasize "journal" output.check }
- if$
- doi empty$
- { note output }
- { 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} {"January"}
-MACRO {feb} {"February"}
-MACRO {mar} {"March"}
-MACRO {apr} {"April"}
-MACRO {may} {"May"}
-MACRO {jun} {"June"}
-MACRO {jul} {"July"}
-MACRO {aug} {"August"}
-MACRO {sep} {"September"}
-MACRO {oct} {"October"}
-MACRO {nov} {"November"}
-MACRO {dec} {"December"}
-
-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{rscM.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}{(\emph{\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 `rscnatM.bst'.
diff --git a/Master/texmf-dist/doc/latex/rsc/README b/Master/texmf-dist/doc/latex/rsc/README
index a2c8cdbb4f5..403984ff8e4 100644
--- a/Master/texmf-dist/doc/latex/rsc/README
+++ b/Master/texmf-dist/doc/latex/rsc/README
@@ -1,15 +1,16 @@
-----------------------------------------------------------------
-The rsc package - BibTeX support for Royal Society of Chemistry
-and Wiley style articles
-Maintained by Joseph Wright
-E-mail: joseph.wright@morningstar2.co.uk
-Released under the LaTeX Project Public License v1.3 or later
-See http://www.latex-project.org/lppl.txt
-----------------------------------------------------------------
-
-The rsc package provides BibTeX style files to produce
-bibliographies in accordance with the guidelines of the Royal
-Society of Chemistry and Wiley chemistry-related journals. The
-style files are available in versions for the standard LaTeX
-citation methods and for use with natbib. Versions for use
-with mcite and mciteplus are also available.
+----------------------------------------------------------------
+The rsc package --- BibTeX styles for Royal Society of Chemistry
+and Wiley journals
+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
+----------------------------------------------------------------
+
+The rsc package provides BibTeX style files to produce
+bibliographies in accordance with the guidelines of the Royal
+Society of Chemistry and Wiley chemistry-related journals. The
+styles require the use of natbib and mciteplus. In addition, a
+short LaTeX package is included; this provides a convenient
+user interface to the customisation hooks made available by the
+BibTeX styles.
diff --git a/Master/texmf-dist/doc/latex/rsc/rsc-manual.pdf b/Master/texmf-dist/doc/latex/rsc/rsc-manual.pdf
new file mode 100644
index 00000000000..7cffef52108
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/rsc/rsc-manual.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/rsc/rsc.bib b/Master/texmf-dist/doc/latex/rsc/rsc.bib
new file mode 100644
index 00000000000..842170afbab
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/rsc/rsc.bib
@@ -0,0 +1,48 @@
+@ARTICLE{Abernethy2003,
+ author = {Colin D. Abernethy and Gareth M. Codd and Mark D. Spicer
+ and Michelle K. Taylor},
+ title = {{A} highly stable {N}-heterocyclic carbene complex of
+ trichloro-oxo-vanadium(\textsc{v}) displaying novel
+ {C}l---{C}(carbene) bonding interactions},
+ journal = {{J}. {A}m. {C}hem. {S}oc.},
+ year = {2003},
+ volume = {125},
+ pages = {1128--1129},
+ number = {5},
+ doi = {10.1021/ja0276321},
+}
+
+@ARTICLE{Arduengo1992,
+ author = {Arduengo, III, Anthony J. and H. V. Rasika Dias and
+ Richard L. Harlow and Michael Kline},
+ title = {{E}lectronic stabilization of nucleophilic carbenes},
+ journal = {{J}.~{A}m.\ {C}hem.\ {S}oc.},
+ year = {1992},
+ volume = {114},
+ pages = {5530--5534},
+ number = {14},
+ doi = {10.1021/ja00040a007},
+}
+
+@ARTICLE{Arduengo1994,
+ author = {Arduengo, III, Anthony J. and Siegfried F. Gamper and
+ Joseph C. Calabrese and Fredric Davidson},
+ title = {{L}ow-coordinate carbene complexes of nickel(0) and
+ platinum(0)},
+ journal = jacsat,
+ year = {1994},
+ volume = {116},
+ pages = {4391--4394},
+ number = {10},
+ doi = {10.1021/ja00089a029},
+}
+
+@BOOK{Cotton1999,
+ title = {{A}dvanced {I}norganic {C}hemistry},
+ publisher = {Wiley},
+ year = {1999},
+ author = {Cotton, Frank Albert and Wilkinson, Geoffrery and
+ Murillio, Carlos A. and Bochmann, Manfred},
+ address = {Chichester},
+ edition = {6},
+}
diff --git a/Master/texmf-dist/doc/latex/rsc/rsc.pdf b/Master/texmf-dist/doc/latex/rsc/rsc.pdf
index 415ba5ef02d..a61237adba4 100644
--- a/Master/texmf-dist/doc/latex/rsc/rsc.pdf
+++ b/Master/texmf-dist/doc/latex/rsc/rsc.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/rsc/rsc.dtx b/Master/texmf-dist/source/latex/rsc/rsc.dtx
index 7256cac6f41..dd5d0d8d577 100644
--- a/Master/texmf-dist/source/latex/rsc/rsc.dtx
+++ b/Master/texmf-dist/source/latex/rsc/rsc.dtx
@@ -5,33 +5,38 @@
%
% 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.3c or later is part of all distributions of
% LaTeX version 2005/12/01 or later.
%
-% This work has the LPPL maintenance status ``maintained.''
+% This work has the LPPL maintenance status `maintained'.
%
% The current maintainer of this work is Joseph Wright.
%
% This work consists of the source file rsc.dtx
% and the derived files rsc.ins,
% rsc.sty,
-% rsc.pdf,
% rsc.bst,
-% rscM.bst
-% rscnat.bst,
-% rsc-mc.bst,
% angew.bst,
-% angeM.bst
-% angewnat.bst,
-% angew-mc.bst and
-% jawltxdoc.sty
+% jawltxdoc.sty,
+% rsc-manual.pdf and
+% rsc.pdf
+%
+% TDS-ready files:
+% The compressed file rsc.tds.zip contains an unpacked version of
+% all of the files included here, and pre-compiled documentation
+% in PDF format. Simply decompress rsc.tds.dtx in your local TeX
+% directory, run your hash program (texhash, initexmf
+% --update-fndb, etc.) and everything will be ready to go. The
+% user documentation for the package is called rsc-manual.pdf; the
+% file rsc.pdf includes the user manual and the full source code.
+%
% Unpacking:
-% (a) If achemso.ins is present:
+% (a) If rsc.ins is present:
% tex rsc.ins
-% (b) Without achemso.ins:
+% (b) Without rsc.ins:
% tex rsc.dtx
% (c) If you use LaTeX to generate files:
% latex \let\install=y\input{rsc.dtx}
@@ -39,9 +44,10 @@
% Documentation:
% (a) Without write18 enabled:
% pdflatex rsc.dtx
-% makeindex -s gglo.ist -o rsc.gls rsc.glo
+% bibtex8 --wolfgang rsc
+% makeindex -s gind.ist rsc.idx
+% makeindex -s gglo.ist -o rsc.gls rsc.glo
% pdflatex rsc.dtx
-% makeindex -s gglo.ist -o rsc.gls rsc.glo
% pdflatex rsc.dtx
% (b) With write18 enabled:
% pdflatex rsc.dtx
@@ -49,14 +55,15 @@
% pdflatex rsc.dtx
%
% Installation:
-% Copy rsc.sty and the *.bst files to a location
-% searched by TeX, and if required by your TeX installation,
-% run the appropriate command to build a hash of files
-% (texhash, mpm --update-db, etc.)
+% Copy rsc.sty and the two .bst files to a location searched by
+% TeX, and if required by your TeX installation, run the
+% appropriate command to build a hash of files (texhash, initexmf
+% --update-fndb, etc.)
%
% Note:
-% The jawltxdoc.sty file is not needed for installation,
-% only for building the documentation. It may be deleted.
+% The jawltxdoc.sty file is not needed for installation, only for
+% building the documentation; it may be deleted after producing
+% the documentation (if necessary).
%
%<*ignore>
% This is all taken verbatim from Heiko Oberdiek's packages
@@ -74,54 +81,68 @@
\askforoverwritefalse
\preamble
----------------------------------------------------------------
- The rsc package - BibTeX support for Royal Society of Chemistry
- and Wiley style article
+ The rsc package --- BibTeX styles for Royal Society of Chemistry
+ and Wiley journals
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
----------------------------------------------------------------
\endpreamble
-\Msg{Generating achemso files:}
-\usedir{tex/latex/contib/rsc}
+\Msg{Generating rsc files:}
+\generate{\file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}}
+}
+\usedir{tex/latex/rsc}
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+\usedir{source/latex/rsc}
\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}
- \file{\jobname.sty}{\from{\jobname.dtx}{package}}
- \file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}}
}
-\declarepostamble\bibtexable
-\endpostamble
+\nopostamble
\usedir{bibtex/bst/rsc}
-\generate{\usepostamble\bibtexable
- \file{rsc.bst}{\from{rsc.dtx}{bib,rsc}}
- \file{rscnat.bst}{\from{rsc.dtx}{bib,rsc,nat}}
- \file{rsc-mc.bst}{\from{rsc.dtx}{bib,rsc,mc}}
+\generate{\file{rsc.bst}{\from{rsc.dtx}{bib,rsc}}
\file{angew.bst}{\from{rsc.dtx}{bib,angew}}
- \file{angewnat.bst}{\from{rsc.dtx}{bib,angew,nat}}
- \file{angew-mc.bst}{\from{rsc.dtx}{bib,angew,mc}}
}
-\generate{\usepostamble\bibtexable
- \file{rscM.bst}{\from{rsc.dtx}{bib,rsc,mcp}}
- \file{angewM.bst}{\from{rsc.dtx}{bib,angew,mcp}}
- \file{rscnatM.bst}{\from{rsc.dtx}{bib,rsc,nat,mcp}}
- \file{angewnatM.bst}{\from{rsc.dtx}{bib,angew,nat,mcp}}
+\nopreamble\nopostamble
+\usedir{doc/latex/rsc}
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}
+ \file{\jobname.bib}{\from{\jobname.dtx}{refs}}
}
\endbatchfile
%</install>
+%<*readme>
+----------------------------------------------------------------
+The rsc package --- BibTeX styles for Royal Society of Chemistry
+and Wiley journals
+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
+----------------------------------------------------------------
+
+The rsc package provides BibTeX style files to produce
+bibliographies in accordance with the guidelines of the Royal
+Society of Chemistry and Wiley chemistry-related journals. The
+styles require the use of natbib and mciteplus. In addition, a
+short LaTeX package is included; this provides a convenient
+user interface to the customisation hooks made available by the
+BibTeX styles.
+%</readme>
%<*ignore>
\fi
% Will Robertson's trick
+\immediate\write18{bibtex8 --wolfgang \jobname}
+\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}
\immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}
%</ignore>
%<*driver>
\PassOptionsToClass{a4paper}{article}
-\documentclass{ltxdoc}
+\documentclass[german,english,UKenglish]{ltxdoc}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
%\OnlyDescription
-% The various formatting commands used in this file are collected
-% together in |jawltxdoc|.
\usepackage{jawltxdoc}
\begin{document}
\DocInput{\jobname.dtx}
@@ -129,7 +150,7 @@
%</driver>
% \fi
%
-%\CheckSum{42}
+%\CheckSum{118}
%
% \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
@@ -149,26 +170,16 @@
%
%\GetFileInfo{\jobname.sty}
%
-%\changes{v2.1}{2007/08/05}{Moved float centring to
-% \pkg{chemscheme} package}
-%\changes{v2.0}{2007/07/21}{Complete re-write of float support}
-%\changes{v2.0}{2007/07/21}{General tidying of code}
-%\changes{v1.0}{2006/11/08}{Initial release of packaged rsc.bst}
-%\changes{v2.1a}{2007/08/24}{Fixed error in \BibTeX\ misc output}
-%\changes{v2.2}{2007/10/16}{Added \textsc{url} support to
-% \texttt{Misc} field}
-%\changes{v2.2}{2007/10/16}{License change to LPPL}
-%\changes{v2.2}{2007/10/16}{Improved packaging}
-%\changes{v2.2}{2007/10/16}{\LaTeX\ package converted to stub}
-%\changes{v2.2a}{2008/01/16}{Added \pkg{mciteplus} support}
-%\changes{v2.2a}{2008/01/16}{Documentation improvements}
-%\changes{v2.2b}{2008/01/16}{Added combined \pkg{mciteplus} and
-% \pkg{natbib} support}
+%\changes{v1.0}{2006/11/08}{Initial release of packaged
+% \file{rsc.bst}}
+%\changes{v2.0}{2007/07/21}{First re-write of package}
+%\changes{v3.0}{2008/07/20}{Second re-write of package}
%
-%\DoNotIndex{}
+%\setkeys{lst}{language=[LaTeX]{TeX},moretexcs={citet,
+% citeyear,citeauthor}}
%
-%\title{The \currpkg\ package --- \texorpdfstring{\BibTeX}{BibTeX}
-% support for Royal Society of Chemistry and Wiley style articles^^A
+%\title{\currpkg\ --- \texorpdfstring{\BibTeX}{BibTeX} styles for
+% Royal Society of Chemistry and Wiley journals^^A
% \thanks{This file describes version \fileversion, last revised
% \filedate.}}
%\author{Joseph Wright^^A
@@ -180,12 +191,17 @@
%\begin{abstract}
% The \currpkg package provides \BibTeX\ style files to produce
% bibliographies in accordance with the guidelines of the Royal
-% Society of Chemistry and Wiley chemistry-related journals. The
-% style files are available in versions for the standard \LaTeX\
-% citation methods and for use with \pkg{natbib}. Versions for use
-% with \pkg{mcite} and \pkg{mciteplus} are also available.
+% Society of Chemistry and Wiley chemistry-related journals. The
+% styles require the use of \pkg{natbib} and \pkg{mciteplus}. In
+% addition, a short \LaTeX\ package is included; this provides a
+% convenient user interface to the customisation hooks made available
+% by the \BibTeX\ styles.
%\end{abstract}
%
+%\begin{multicols}{2}
+% \tableofcontents
+%\end{multicols}
+%
%\section{Introduction}
% Although synthetic chemists do not, in the main, use \LaTeX\ for
% the preparation of journal articles, it would be nice to be able to
@@ -196,222 +212,211 @@
% of Chemistry. The package also provides support for the style used
% in Wiley-published journals.
%
-% The \ext{bst} files are available in a number of variations. Those
-% for RSC journals are names \file{rsc\meta{id}.bst}, those for Wiley
-% journals are \file{angew\meta{id}.bst}. The value of \meta{id} can
-% be:
-%\begin{itemize}
-% \item \meta{(none)} For use with standard \LaTeX\ citations (or
-% the \pkg{cite} package;
-% \item \meta{nat} \pkg{natbib}-compatible styles (which need the
-% \opt{numbers,super} options with \pkg{natbib};
-% \item \meta{M} Designed for use with the \pkg{mciteplus} package;
-% \item \meta{natM} Combine \pkg{mciteplus} and \pkg{natbib} support;
-% \item \meta{-mc} For use with the \pkg{mcite} package, and provided
-% for back-compatibility only.
-%\end{itemize}
-%
-% For backward-compatibility the package provides the
-% \file{rsc.sty} file. This has been superseded by the
-% \pkg{chemstyle} package, and may be dropped in a future version of
-% \pkg{rsc}.
+% As of version 3, this bundle requires the use of \pkg{natbib} and
+% \pkg{mciteplus}. These two packages make creating bibliographies
+% much easier for chemists. As both require correctly-designed
+% \BibTeX\ styles, providing versions supporting different combinations
+% had become error-prone and confusing.
%
-%\section{Bibliography design decisions}
-% Along with almost every \BibTeX\ style file, much of the \ext{bst}
-% file design is inherited from the original \BibTeX\ style files
-% provided by Oren Patashnik. However, while the original styles
-% were designed to be flexible, the style files here are designed to
-% do a single job. Thus much of the original flexibility has been
-% stripped out to give a clearer design. This has many be achieved by
-% removing unused functions. The style files provided here are
-% therefore poor examples for others to work from!
-%
-% Chemistry journals give only minimal guidance on the format of
-% references other than for journal articles. Most of the
-% other types are therefore based on current practice in
-% RSC and Wiley journals. Some of this is contradictory, and so
-% I have gone with I feel is most consistent.
-% Please e-mail me if you feel I have got things wrong!
-%
-%\section{Bibliography usage information}
-%\subsection{Cross-references}
-% Unlike most \BibTeX\ styles, the style files provided here do not
-% support cross-referencing between references. Using \opt{crossref}
-% will still fill in missing information, but will not output ``see
-% ref.~X''. Chemistry references do not lend themselves to the use
-% of \opt{crossref}.
-%
-%\subsection{Notes}
-% As in \file{pccp.bst}, notes are not output for most reference
-% types. The reasoning here is that it is difficult to predict how
-% people will want to use notes. In chemistry, they may be used in
-% several forms, for example:
-%\begin{itemize}
-% \item See for example: I. V. Gostunskaya, V. S. Petrova, A. I.
-% Leonava, V. A. Mironava, M. Abubaker, and B. Kazanski,
-% \emph{Neftekhimiya}, 1967, \textbf{7}, 3--8.
-% \item I. V. Gostunskaya, V. S. Petrova, A. I. Leonava, V. A.
-% Mironava, M. Abubaker, and B. Kazanski, \emph{Neftekhimiya}, 1967,
-% \textbf{7}, 3--8 and references therein.
-% \item I. V. Gostunskaya, V. S. Petrova, A. I. Leonava, V. A.
-% Mironava, M. Abubaker, and B. Kazanski, \emph{Neftekhimiya}, 1967,
-% \textbf{7}, 3--8 (\emph{Chem. Abs.}, 1967, \textbf{67}, 21276t).
-%\end{itemize}
-% This is pretty much impossible to handle automatically, especially as
-% the format you want might change depending on the report you are
-% writing. So I would recommend using the |misc| type, and doing the
-% formatting by hand. If other people feel the behaviour is not the
-% best solution, please e-mail me.
-%
-%\subsection{Multiple citations}
-% 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]
+%\section{Using the styles}
+% The styles are used in the normal way for \BibTeX\ styles, as the
+% argument to the \cs{bibliographystyle} macro. As both \pkg{natbib}
+% and \pkg{mciteplus} are required, these must of course be loaded.
+% Citations can then be given as normal:
+%\begin{LaTeXexample}
+% Some standard citations
+% \cite{Abernethy2003,Cotton1999}.\\
+% A multiple citation
+% \cite{Arduengo1992,*Arduengo1994}.\\
+% Some \textsf{natbib}-specific features:
+% \citet{Abernethy2003} have said something,
+% as reported by \citeauthor{Cotton1999},
+% in \citeyear{Arduengo1992}.
+%\end{LaTeXexample}
+% To make life slightly easier for the user, a small \LaTeX\ package
+% accompanies the \BibTeX\ files. It automatically loads the support
+% packages, and handles customisation (see the next section).
+%\begin{LaTeXexample}[noexample]
% \documentclass{article}
-% \usepackage{mciteplus}
+% \usepackage{rsc}
% \begin{document}
-% \cite{Ofele1968,*Abernethy2000}
-% \bibliography{example}
-% \bibliographystyle{rscM}
+% % Document body here
+% \bibliographystyle{rsc} % or angew
+% \bibliography{your-bibtex-database}
% \end{document}
%\end{LaTeXexample}
-% and get output of the form:
-%\begin{enumerate}
-% \item (\emph{a}) K.~\"Ofele, \emph{J.~Organomet.~Chem.}, 1968,
-% \textbf{12}, P42--P43; (\emph{b}) C.~D.~Abernethy, A.~H.~Cowley
-% and R.~A.\ Jones, \emph{J.~Organomet.~Chem.}, 2000,
-% \textbf{596}, 3--5.
-%\end{enumerate}
-% in the bibliography.
%
-% Previous versions of \currpkg recommended the \pkg{mcite} package
-% for compound citations. With the release of \pkg{mciteplus},
-% \pkg{mcite} is superseded for this
-% purpose.\footnote{\pkg{mciteplus} fixes a number of bugs in
-% \pkg{mcite} and adds the ability to add labels to each compound
-% reference.} However, \currpkg continues to provide the
-% \file{rsc-mc} and \file{angew-mc} \BibTeX\ styles for users of
-% \pkg{mcite}.
+%\section{Customising the styles: the \texorpdfstring{\LaTeX}{LaTeX}
+% package}
+% Both of the styles provide a small number of control hooks to
+% modify the output behaviour. These can be altered directly, using
+% a mechanism similar to that used by \pkg{IEEEtrans}. However, for
+% most users, this is overly complex. A short \LaTeX\ package is
+% therefore provided, which provides high-level access to the
+% customisation.
%
-%\subsection{\pkg{natbib} support}
-% The files \file{rscnat.bst} and \file{angewnat.bst} provide support
-% for the generation of bibliographies for use with the \pkg{natbib}
-% package. As well as altering the \cs{bibliographystyle} command
-% appropriately, you also need to load \pkg{natbib}. The \currpkg
-% package file provides the option \opt{natbib}, which loads
-% \pkg{natbib} automatically (normally, \currpkg loads the \pkg{cite}
-% package).
+%\DescribeOption{maxnames}
+%\DescribeOption{usetitle}
+%\DescribeOption{usedoi}
+% The \opt{maxnames} option sets whether and when a long list of
+% authors is truncated, and takes an integer value. Giving the value
+% \opt{0} means that no truncation occurs, otherwise the list is
+% truncated if the number of names exceeds the given value. The
+% \opt{usetitle} and \opt{usedoi} options are simple Boolean
+% switches. The \opt{usetitle} option sets whether to include the
+% titles of journal articles in the bibliography. The default is
+% \opt{false}; the only \textsc{rsc} journal using article titles is
+% \emph{Photochemical \& Photobiological Sciences}. The \opt{usedoi}
+% option forces the use of \textsc{doi} information in cases where it
+% would not normally be present (for example journal articles with
+% page ranges available). This is intended to make it easier for
+% readers to find journal information.
%
-%\subsection{Additional entry types}
-% In order to ensure compatibility with the \pkg{achemso} package,
-% the non-standard entry types |remark|, |inpress| and |submitted|
-% are supported. The implementation is modelled on
-% \file{achemso.bst}, but the |notes| field is not used for |inpress|
-% and |submitted|.
+%\DescribeOption{super}
+% The \opt{super} Boolean option turns on superscript citations, and
+% is \opt{true} by default. It also causes the \pkg{natmove} package
+% to be loaded if available (\pkg{natmove} is part of the
+% \pkg{achemso} bundle). This ensures that citations appear
+% \emph{after} punctuation even if given before in the text. This
+% documentation has been compiled using \pkg{natmove}: see the input
+% of the example citations in the previous section.
%
-%\StopEventually{}
+%\bibliographystyle{rsc}
+%\StopEventually{%
+% \PrintChanges
+% \PrintIndex
+% \bibliography{rsc}}
%
-% \iffalse
+%\iffalse
%<*package>
-% \fi
-%\section{The package code}
-%\subsection{Setup code}
-% First of all, the package identifies itself.
+%\fi
+%
+%\section{The \texorpdfstring{\LaTeX}{LaTeX} source}
+% The package starts with the usual identification.
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{rsc}[2008/01/16 v2.2b
- Useful chemistry functions]
-% \end{macrocode}
-% A warning is given that the package has been superseded.
-% \begin{macrocode}
-\PackageInfo{rsc}{The rsc package has been superseded!}
-% \end{macrocode}
-% Various options from the original package have to
-% be processed correctly.
-% \begin{macrocode}
-\DeclareOption{floatleft}{\AtEndOfPackage{\floatcontentsleft}}
-\DeclareOption{fl}{\ExecuteOptions{floatleft}}
-\DeclareOption{natbib}{\AtEndOfPackage{%
- \RequirePackage[numbers,sort&compress,super]{natbib}}}
-% \end{macrocode}
-% The default option is \opt{rsc}. This loads \pkg{chemstyle} with
-% the appropriate option, then alters the bibliography format and
-% reports back to the user.
-% \begin{macrocode}
-\DeclareOption{rsc}{%
- \PassOptionsToPackage{\CurrentOption}{chemstyle}%
- \def\@biblabel#1{#1}%
- \PackageInfo{rsc}%
- {Loading the chemstyle package with the `rsc' option}%
-}
+\ProvidesPackage{rsc}
+ [2008/08/27 v3.0 Support for RSC and Wiley journals]
+\RequirePackage{mciteplus,kvoptions}
% \end{macrocode}
-% The other possible journal style is |angew|. Once again,
-% |chemstyle| is loaded and information is given. A bit of
-% re-formatting of citations is then carried out as the |chemstyle|
-% package does not do this.
+%\begin{macro}{\ifrsc@super}
+%\begin{macro}{\ifrsc@usetitle}
+%\begin{macro}{\ifrsc@usedoi}
+%\begin{macro}{\rsc@maxauthors}
+% To make life easier for the user, the control values for the
+% bibliography are converted into \LaTeX\ package options using
+% \pkg{kvoptions}.
% \begin{macrocode}
-\DeclareOption{angew}{%
- \PassOptionsToPackage{\CurrentOption}{chemstyle}%
- \PackageInfo{rsc}%
- {Loading the chemstyle package with the `angew' option}%
- \AtBeginDocument{%
- \@ifpackageloaded{natbib}
- {\renewcommand*\NAT@open{[}\renewcommand*\NAT@close{]}}
- {\def\@citess#1{\textsuperscript{[#1]}}}
- }
-}
+\SetupKeyvalOptions{
+ family = rsc,
+ prefix = rsc@}
+\DeclareBoolOption{super}
+\DeclareBoolOption{usetitle}
+\DeclareBoolOption{usedoi}
+\DeclareStringOption{maxauthors}
+\setkeys{rsc}{
+ maxauthors = 0,
+ usetitle = false,
+ usedoi = false,
+ super = true}
+\ProcessKeyvalOptions{rsc}
% \end{macrocode}
-% Anything else is passed to \pkg{chemstyle}.
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\begin{macro}{\rsc@prefix}
+%\begin{macro}{\rsc@msg}
+% Some set up work is carried out for writing to the control
+% bibliography.
% \begin{macrocode}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{chemstyle}}
+\newcommand*{\rsc@prefix}{rsc-}
+\edef\rsc@msg{%
+ This is an auxiliary file used by the `rsc' package.^^J%
+ This file may safely be deleted. It will be recreated as
+ required.^^J}
% \end{macrocode}
-% The \currpkg option is the default.
+%\end{macro}
+%\end{macro}
+%\begin{macro}{\rsc@out}
+%\begin{macro}{\rsc@stream}
+% Assuming files are being written, the control values are placed in
+% the control \BibTeX\ database.
% \begin{macrocode}
-\ExecuteOptions{rsc}
-\ProcessOptions\relax
+\if@filesw
+ \newwrite\rsc@out
+ \newcommand*\rsc@stream{\rsc@prefix\jobname.bib}%
+ \immediate\openout\rsc@out\rsc@stream\relax
+ \immediate\write\rsc@out{\rsc@msg}%
+ \edef\@tempa#1#2{\space\space#1\space=\space"#2",^^J}%
+ \immediate\write\rsc@out{%
+ @Control\string{rsc-control,^^J%
+ \@tempa{ctrl-use-title}{\ifrsc@usetitle yes\else no\fi}%
+ \@tempa{ctrl-etal-number}{\rsc@maxauthors}%
+ \@tempa{ctrl-use-doi-all}{\ifrsc@usedoi yes\else no\fi}%
+ \string}^^J}%
+\fi
% \end{macrocode}
-% \pkg{chemstyle} can now be loaded.
+%\end{macro}
+%\end{macro}
+%\begin{macro}{\rsc@bibliography}
+%\begin{macro}{\bibliography}
+% Finally, the control database and a suitable citation are added to
+% the document body. The citation has to come right at the end of
+% the \cs{document} macro.
% \begin{macrocode}
-\RequirePackage{chemstyle}
-\floatcontentscentre
+\AtBeginDocument{
+ \let\rsc@bibliography\bibliography
+ \renewcommand*{\bibliography}[1]{%
+ \rsc@bibliography{\rsc@prefix\jobname,#1}}}
+\g@addto@macro{\document}{%
+ \if@filesw
+ \immediate\write\@auxout{%
+ \string\citation\string{rsc-control\string}}%
+ \fi}
% \end{macrocode}
-% If \pkg{natbib} is not loaded, then \pkg{cite} is needed.
+%\end{macro}
+%\end{macro}
+% Citation support is loaded.
% \begin{macrocode}
-\AtEndOfPackage{
- \@ifpackageloaded{natbib}{}
- {\RequirePackage[super]{cite}}
-}
+\ifrsc@super
+ \RequirePackage[sort&compress,numbers,super]{natbib}
+ \IfFileExists{natmove.sty}
+ {\RequirePackage{natmove}}
+ {}
+\else
+ \RequirePackage[sort&compress,numbers]{natbib}
+\fi
% \end{macrocode}
%
-% \iffalse
+%\iffalse
%</package>
-% \fi
-%\section{The \texorpdfstring{\BibTeX}{BibTeX} style files}
-% A great deal of the \BibTeX\ style file information is lifted more
-% or less directly from the standard style files, the
-% \pkg{custom-bib} package or \emph{Taming the BeaST}. The rest
-% consists of minor edits to obtain the correct format or support the
-% \pkg{natbib}, \pkg{mcite} and \pkg{mciteplus} packages. Only two
-% functions are novel to this package, and are given here for the
-% interested reader.
-%
-% \iffalse
%<*bib>
+%\fi
+%\section{The \texorpdfstring{\BibTeX}{BibTeX} source}
+% Very little of the \BibTeX\ source is very exciting, with
+% most of it taken from the standard classes, the \pkg{natbib} and
+% \pkg{mciteplus} classes or \emph{Tame the BeaST}.
% \begin{macrocode}
ENTRY
{ address
author
booktitle
chapter
+% \end{macrocode}
+% The next three entries are used to allow formatting control, in
+% the style of \pkg{biblatex}.
+% \begin{macrocode}
+ ctrl-use-title
+ ctrl-etal-number
+ ctrl-use-doi-all
doi
edition
editor
howpublished
institution
journal
-%<nat> key
+ key
note
number
organization
@@ -426,16 +431,14 @@ ENTRY
year
}
{}
-%<!nat> { label }
-%<*nat>
{ label
extra.label
short.list
}
-%</nat>
-INTEGERS { output.state before.all mid.sentence after.sentence }
-INTEGERS { after.block after.item author.or.editor }
+INTEGERS { output.state before.all mid.sentence }
+INTEGERS { after.sentence after.block after.item }
+INTEGERS { author.or.editor }
FUNCTION {init.state.consts}
{ #0 'before.all :=
@@ -445,6 +448,29 @@ FUNCTION {init.state.consts}
#4 'after.item :=
}
+% \end{macrocode}
+% Using a trick from \pkg{biblatex}, some integers are made available
+% to control some formatting aspects without needing a new style.
+% \begin{macrocode}
+INTEGERS { is.use.title etal.number use.doi.all }
+
+% \end{macrocode}
+% A simple Boolean switch for controlling title output.
+% \begin{macrocode}
+FUNCTION {default.is.use.title} { #0 }
+
+% \end{macrocode}
+% The number of names that force ``\emph{et al.}'' to be used
+%If set to 0, all names are displayed
+% \begin{macrocode}
+FUNCTION {default.etal.number} { #0 }
+
+% \end{macrocode}
+% A simple Boolean switch for controlling DOI printing for normal
+% entries.
+% \begin{macrocode}
+FUNCTION {default.use.doi.all} { #0 }
+
FUNCTION {add.comma}
{ ", " * }
@@ -490,37 +516,11 @@ FUNCTION {output.check}
if$
}
-%<*!nat>
-FUNCTION {output.bibitem}
-{ newline$
- "\bibitem{" write$
- cite$ write$
- "}" write$
- newline$
- ""
- before.all 'output.state :=
-}
-
-%</!nat>
-%<*!mc&!mcp>
-FUNCTION {fin.entry}
-{ add.period$
- write$
- newline$
-}
-
-%</!mc&!mcp>
-%<*mc>
-FUNCTION {fin.entry}
-{ write$
- "\relax" write$
- newline$
- "\relax" write$
-}
+% \end{macrocode}
+% Some functions taken more or less verbatim from \pkg{mciteplus}.
+% \begin{macrocode}
+INTEGERS { would.add.period.textlen }
-%</mc>
-%<*mcp>
-INTEGERS {would.add.period.textlen}
FUNCTION {would.add.period}
{ duplicate$
add.period$
@@ -554,8 +554,6 @@ FUNCTION {fin.entry}
"\EndOfBibitem" write$
}
-%</mcp>
-
FUNCTION {not}
{ { #0 }
{ #1 }
@@ -602,6 +600,10 @@ FUNCTION {paren}
if$
}
+% \end{macrocode}
+% Using independent strings makes editing easier. Here, a number of
+% variations between the RSC and Wiley styles show up.
+% \begin{macrocode}
FUNCTION {bbl.and}
{ "and" }
@@ -609,6 +611,10 @@ FUNCTION {bbl.chapter}
%<rsc>{ "ch." }
%<angew>{ "Chapter" }
+FUNCTION {bbl.doi}
+%<rsc>{ "DOI:" }
+%<angew>{ "DOI" }
+
FUNCTION {bbl.editor}
%<rsc>{ "ed." }
%<angew>{ "Ed.:" }
@@ -702,7 +708,9 @@ FUNCTION {eng.ord}
if$
}
-%<*angew>
+% \end{macrocode}
+% A search and replace system taken from \emph{Tame the BeaST}.
+% \begin{macrocode}
INTEGERS{ l }
FUNCTION{string.length}
@@ -736,7 +744,22 @@ FUNCTION{find.replace}
while$
}
-%</angew>
+% \end{macrocode}
+% Also some checks on whether a ``string'' is really a number.
+% \begin{macrocode}
+FUNCTION {chr.to.value}
+{ chr.to.int$ #48 -
+ duplicate$ duplicate$
+ #0 < swap$ #9 > or
+ { #48 + int.to.chr$
+ " is not a number..." *
+ warning$
+ pop$ #0
+ }
+ {}
+ if$
+}
+
FUNCTION{is.a.digit}
{ duplicate$ "" =
{pop$ #0}
@@ -836,29 +859,40 @@ FUNCTION {format.names}
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
- { namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { add.comma t * }
- { numnames #2 >
- { "" * }
- 'skip$
- if$
- t "others" =
- { bbl.etal space.connect }
-%<rsc> { bbl.and space.connect t space.connect }
-%<angew> { add.comma t * }
+% \end{macrocode}
+% Names are truncated if there are more than |etal.number|, and it is
+% not set to zero.
+% \begin{macrocode}
+ numnames etal.number > etal.number #0 > and
+ { s #1 "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ t bbl.etal space.connect
+ }
+ {
+ { namesleft #0 > }
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
+ if$
+ t "others" =
+ { bbl.etal space.connect }
+%<rsc> { bbl.and space.connect t space.connect }
+%<angew> { add.comma t * }
+ if$
+ }
if$
}
- if$
- }
- 't
- if$
- nameptr #1 + 'nameptr :=
- namesleft #1 - 'namesleft :=
- }
- while$
+ 't
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ }
+ if$
}
FUNCTION {format.authors}
@@ -870,14 +904,9 @@ FUNCTION {format.authors}
}
% \end{macrocode}
-% \fi
-% The |strip.comma| function is used to ``unwind''
-% the comma added by output.nonnull, so that editors
-% in brackets are easy to do. This is needed for the |angew|
-% option.
-% \iffalse
-%<*angew>
-% \fi
+% The |strip.comma| function is used to ``unwind'' the comma added by
+% |output.nonnull|, so that editors in brackets are easy to do. This
+% is needed for the Wiley style.
% \begin{macrocode}
FUNCTION {strip.comma}
{ duplicate$
@@ -892,37 +921,38 @@ FUNCTION {strip.comma}
if$
}
-% \end{macrocode}
-% \iffalse
-%</angew>
-% \begin{macrocode}
FUNCTION {format.editors}
{ editor empty$
{ "" }
{ #2 'author.or.editor :=
-%<*rsc>
- bbl.editor " " * *
- editor format.names
-%</rsc>
-%<*angew>
- strip.comma
- editor num.names$ #1 >
- { bbl.editors }
- { bbl.editor }
+%<rsc> bbl.editor " " * *
+%<rsc> editor format.names
+%<angew> strip.comma
+%<angew> editor num.names$ #1 >
+%<angew> { bbl.editors }
+%<angew> { bbl.editor }
+%<angew> if$
+%<angew> " " *
+%<angew> editor format.names * paren
+ }
+ if$
+}
+
+FUNCTION {format.doi}
+{ use.doi.all
+ { doi empty$
+ { bbl.doi doi tie.or.space.connect output }
+ 'skip$
if$
- " " *
- editor format.names * paren
-%</angew>
}
+ 'skip$
if$
}
% \end{macrocode}
-% \fi
-%
-% |n.separate| is given in the |custom-bib| package. The following
-% function is modified to separate out a number of any length into
-% digit groups, \emph{e.g.}~12345 turns into 12\,345, 1234567 in
+% |n.separate| is given in the \pkg{custom-bib} package. The
+% following function is modified to separate out a number of any
+% length into digit groups, \eg~12345 turns into 12\,345, 1234567 in
% 1\,234\,567 but 1234 or a12345 are left alone.
% \begin{macrocode}
FUNCTION {n.separate.multi}
@@ -957,9 +987,6 @@ FUNCTION {n.separate.multi}
if$
}
-% \end{macrocode}
-% \iffalse
-% \begin{macrocode}
FUNCTION {format.bvolume}
{ volume empty$
{ "" }
@@ -990,7 +1017,6 @@ FUNCTION {format.url}
if$
}
-%<*angew>
FUNCTION {format.title.vol}
{ 't :=
t empty$
@@ -1005,8 +1031,6 @@ FUNCTION {format.title.vol}
if$
}
-%</angew>
-%<*nat>
FUNCTION {format.full.names}
{'s :=
#1 'nameptr :=
@@ -1092,7 +1116,6 @@ FUNCTION {output.bibitem} { newline$
before.all 'output.state :=
}
-%</nat>
FUNCTION {n.dashify} { 't :=
""
{ t empty$ not }
@@ -1136,7 +1159,8 @@ FUNCTION {format.bdate}
FUNCTION {either.or.check}
{ empty$
'pop$
- { "Can't use both " swap$ * " fields in " * cite$ * warning$ }
+ { "Can't use both " swap$ * " fields in "
+ * cite$ * warning$ }
if$
}
@@ -1263,7 +1287,6 @@ FUNCTION {format.title.in}
if$
}
-%<*angew>
FUNCTION {format.title.vol.in}
{ 's :=
after.item 'output.state :=
@@ -1279,7 +1302,6 @@ FUNCTION {format.title.vol.in}
if$
}
-%</angew>
FUNCTION {format.pub.address}
{ publisher empty$
{ "" }
@@ -1319,19 +1341,25 @@ FUNCTION {format.thesis.type}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
+% \end{macrocode}
+% To allow titles to appear in article citations without needing a
+% separate \BibTeX\ style file.
+% \begin{macrocode}
+ is.use.title
+ { title format.title.noemph "title" output.check }
+ 'skip$
+ if$
%<rsc> journal emphasize "journal" output.check
-%<*angew>
- journal "," "" find.replace emphasize
- "journal" output.check
- after.item 'output.state :=
-%</angew>
+%<angew>
+%<angew> journal "," "" find.replace emphasize
+%<angew> "journal" output.check
+%<angew> after.item 'output.state :=
format.date "year" output.check
volume empty$
- { ""
- format.pages.nopp output
- }
- { format.vol.pages output }
+ { "" format.pages.nopp output }
+ { format.vol.pages output }
if$
+ format.doi
fin.entry
}
@@ -1341,7 +1369,8 @@ FUNCTION {book}
%<rsc> { title format.title "title" output.check
%<angew> { title format.title.vol "title" output.check
editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
+ { "Need either an author or editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -1359,6 +1388,7 @@ FUNCTION {book}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -1369,6 +1399,7 @@ FUNCTION {booklet}
howpublished output
address output
format.date output
+ format.doi
fin.entry
}
@@ -1378,7 +1409,8 @@ FUNCTION {inbook}
%<rsc> { title format.title "title" output.check
%<angew> { title format.title.vol "title" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
@@ -1392,22 +1424,28 @@ FUNCTION {inbook}
format.bdate "year" output.check
%<rsc> format.bvolume output
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
author empty$
-%<rsc> { booktitle format.title "booktitle" output.check
-%<angew> { booktitle format.title.vol "booktitle" output.check
+ { booktitle
+%<rsc> format.title
+%<angew> format.title.vol
+ "booktitle" output.check
editor empty$
- { "Need at least an author or an editor for " cite$ * warning$ }
+ { "Need at least an author or an editor for "
+ cite$ * warning$ }
{ "" format.editors * "editor" output.check }
if$
}
{ format.authors output
-%<rsc> booktitle format.title.in "booktitle" output.check
-%<angew> booktitle format.title.vol.in "booktitle" output.check
+ booktitle
+%<rsc> format.title
+%<angew> format.title.vol
+ "booktitle" output.check
}
if$
format.pub.address "publisher" output.check
@@ -1415,6 +1453,7 @@ FUNCTION {incollection}
format.bdate "year" output.check
%<rsc> format.bvolume output
format.chapter.pages "chapter and pages" output.check
+ format.doi
fin.entry
}
@@ -1423,6 +1462,7 @@ FUNCTION {inpress}
format.authors "author" output.check
journal emphasize "journal" output.check
bbl.inpress output
+ format.doi
fin.entry
}
@@ -1437,6 +1477,7 @@ FUNCTION {inproceedings}
'skip$
{ format.pages output }
if$
+ format.doi
fin.entry
}
@@ -1466,6 +1507,7 @@ FUNCTION {manual}
if$
format.edition output
format.date output
+ format.doi
fin.entry
}
@@ -1477,6 +1519,7 @@ FUNCTION {mastersthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -1492,6 +1535,7 @@ FUNCTION {misc}
%<angew> format.date output
format.url output
note output
+ format.doi
fin.entry
empty.misc.check
}
@@ -1510,6 +1554,7 @@ FUNCTION {patent}
journal emphasize "journal" output.check
format.pages.patent "pages" output.check
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -1521,6 +1566,7 @@ FUNCTION {phdthesis}
school "school" output.check
address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -1534,19 +1580,7 @@ FUNCTION {proceedings}
'skip$
{ format.pages output }
if$
- fin.entry
-}
-
-FUNCTION {remark}
-{ output.bibitem
- note "note" output.check
- fin.entry
-}
-
-FUNCTION {submitted}
-{ output.bibitem
- format.authors "author" output.check
- bbl.submitted output
+ format.doi
fin.entry
}
@@ -1567,6 +1601,7 @@ FUNCTION {techreport}
output
format.pub.address output
format.date "year" output.check
+ format.doi
fin.entry
}
@@ -1579,17 +1614,104 @@ FUNCTION {unpublished}
if$
doi empty$
{ note output }
-%<*rsc>
- { format.date output
- "DOI:" doi tie.or.space.connect output
- }
-%</rsc>
-%<angew> { "DOI" doi tie.or.space.connect output }
+ {
+%<rsc> format.date output
+ bbl.doi doi tie.or.space.connect output
+ }
if$
fin.entry
empty.doi.note
}
+% \end{macrocode}
+% Using the same mechanism as in \pkg{biblatex}, control of output
+% can be achieved using a special entry type. The auxiliary macros
+% come from \pkg{biblatex} and \emph{Tame the BeaST}.
+% \begin{macrocode}
+INTEGERS { a b }
+
+FUNCTION {mult}
+{ 'a :=
+ 'b :=
+ b #0 <
+ {#-1 #0 b - 'b :=}
+ {#1}
+ if$
+ #0
+ {b #0 >}
+ { a +
+ b #1 - 'b :=
+ }
+ while$
+ swap$
+ 'skip$
+ {#0 swap$ -}
+ if$
+}
+
+FUNCTION {str.to.int.aux}
+{ {duplicate$ empty$ not}
+ { swap$ #10 mult 'a :=
+ duplicate$ #1 #1 substring$
+ chr.to.value a +
+ swap$
+ #2 global.max$ substring$
+ }
+ while$
+ pop$
+}
+
+FUNCTION {str.to.int}
+{ duplicate$ #1 #1 substring$ "-" =
+ {#1 swap$ #2 global.max$ substring$}
+ {#0 swap$}
+ if$
+ #0 swap$ str.to.int.aux
+ swap$
+ {#0 swap$ -}
+ {}
+ if$
+}
+
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown Boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {Control}
+{ ctrl-use-title
+ empty$
+ { skip$ }
+ { ctrl-use-title
+ yes.no.to.int
+ 'is.use.title := }
+ if$
+ ctrl-etal-number
+ empty$
+ { skip$ }
+ { ctrl-etal-number
+ str.to.int
+ 'etal.number := }
+ if$
+ ctrl-use-doi-all
+ empty$
+ { skip$ }
+ { ctrl-use-doi-all
+ yes.no.to.int
+ 'use.doi.all := }
+ if$
+}
+
FUNCTION {conference} {inproceedings}
FUNCTION {other} {patent}
@@ -1611,34 +1733,15 @@ MACRO {dec} {"December"}
READ
-%<*!nat>
-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$
+% \end{macrocode}
+% Set up the special control entries.
+% \begin{macrocode}
+FUNCTION {initialize.controls}
+{ default.is.use.title 'is.use.title :=
+ default.etal.number 'etal.number :=
+ default.use.doi.all 'use.doi.all :=
}
-EXECUTE {initialize.longest.label}
-
-ITERATE {longest.label.pass}
-
-%</!nat>
-%<*nat>
INTEGERS { len }
FUNCTION {chop.word}
@@ -1660,7 +1763,8 @@ FUNCTION {format.lab.names}
'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 }
+ { bbl.and space.connect s #2 "{vv~}{ll}"
+ format.name$ space.connect }
if$
}
if$
@@ -1699,7 +1803,8 @@ FUNCTION {author.key.organization.label}
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
+ { "The " #4 organization chop.word #3
+ text.prefix$ }
if$
}
'key
@@ -1714,7 +1819,8 @@ FUNCTION {editor.key.organization.label}
{ key empty$
{ organization empty$
{ cite$ #1 #3 substring$ }
- { "The " #4 organization chop.word #3 text.prefix$ }
+ { "The " #4 organization chop.word #3
+ text.prefix$ }
if$
}
'key
@@ -1788,25 +1894,6 @@ EXECUTE {initialize.longest.label}
ITERATE {forward.pass}
-%</nat>
-%<*!mcp>
-FUNCTION {begin.bib}
-{ preamble$ empty$
- 'skip$
- { preamble$ write$ newline$ }
- if$
- "\providecommand{\url}[1]{\texttt{#1}}"
- write$ newline$
-%<!nat&!mc> "\begin{thebibliography}{" longest.label * "}" * write$ newline$
-%<!nat&mc> "\begin{mcbibliography}{" longest.label * "}" * write$ newline$
-%<nat> "\begin{thebibliography}{" number.label int.to.str$ * "}" *
-%<nat> write$ newline$
-%<nat> "\providecommand{\natexlab}[1]{#1}"
-%<nat> write$ newline$
-}
-
-%</!mcp>
-%<*mcp>
FUNCTION {begin.bib}
{ preamble$ empty$
'skip$
@@ -1814,73 +1901,126 @@ FUNCTION {begin.bib}
if$
"\ifx\mcitethebibliography\mciteundefinedmacro"
write$ newline$
-%<rsc> "\PackageError{rscM.bst}{mciteplus.sty has not been loaded}"
-%<angew> "\PackageError{angewM.bst}{mciteplus.sty has not been loaded}"
+ " \PackageError"
+%<rsc> "{rsc.bst}"
+%<angew> "{angew.bst}"
+ "{mciteplus.sty has not been loaded}" * *
+ write$ newline$
+ " {This bibstyle requires the use of the"
+ " mciteplus package.}" *
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "\begin{mcitethebibliography}{"
+ number.label int.to.str$ * "}" *
write$ newline$
- "{This bibstyle requires the use of the mciteplus package.}\fi"
+ "\providecommand{\natexlab}[1]{#1}"
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$
-%<rsc> "\mciteSetBstMaxWidthForm{subitem}{(\emph{\alph{mcitesubitemcount}})}"
-%<angew> "\mciteSetBstMaxWidthForm{subitem}{\alph{mcitesubitemcount})}"
+ "\mciteSetBstMaxWidthForm{subitem}"
write$ newline$
- "\mciteSetBstSublistLabelBeginEnd{\mcitemaxwidthsubitemform\space}"
+%<rsc> "{(\emph{\alph{mcitesubitemcount}})}"
+%<angew> "{\alph{mcitesubitemcount})}"
+ write$ newline$
+ "\mciteSetBstSublistLabelBeginEnd"
+ write$ newline$
+ "{\mcitemaxwidthsubitemform\space}"
write$ newline$
"{\relax}{\relax}"
write$ newline$
}
-%</mcp>
EXECUTE {begin.bib}
EXECUTE {init.state.consts}
ITERATE {call.type$}
-%<*!mc&!mcp>
-FUNCTION {end.bib}
-{ newline$
- "\end{thebibliography}" write$ newline$
-}
-
-%</!mc&!mcp>
-%<*mc>
-FUNCTION {end.bib}
-{ newline$
- "\end{mcbibliography}" write$ newline$
-}
-
-%</mc>
-%<*mcp>
FUNCTION {end.bib}
{ newline$
"\end{mcitethebibliography}" write$ newline$
}
-%</mcp>
EXECUTE {end.bib}
% \end{macrocode}
+%\iffalse
%</bib>
%\fi
-%\PrintChanges
+%
%\Finale
%\iffalse
+%<*refs>
+@ARTICLE{Abernethy2003,
+ author = {Colin D. Abernethy and Gareth M. Codd and Mark D. Spicer
+ and Michelle K. Taylor},
+ title = {{A} highly stable {N}-heterocyclic carbene complex of
+ trichloro-oxo-vanadium(\textsc{v}) displaying novel
+ {C}l---{C}(carbene) bonding interactions},
+ journal = {{J}. {A}m. {C}hem. {S}oc.},
+ year = {2003},
+ volume = {125},
+ pages = {1128--1129},
+ number = {5},
+ doi = {10.1021/ja0276321},
+}
+
+@ARTICLE{Arduengo1992,
+ author = {Arduengo, III, Anthony J. and H. V. Rasika Dias and
+ Richard L. Harlow and Michael Kline},
+ title = {{E}lectronic stabilization of nucleophilic carbenes},
+ journal = {{J}.~{A}m.\ {C}hem.\ {S}oc.},
+ year = {1992},
+ volume = {114},
+ pages = {5530--5534},
+ number = {14},
+ doi = {10.1021/ja00040a007},
+}
+
+@ARTICLE{Arduengo1994,
+ author = {Arduengo, III, Anthony J. and Siegfried F. Gamper and
+ Joseph C. Calabrese and Fredric Davidson},
+ title = {{L}ow-coordinate carbene complexes of nickel(0) and
+ platinum(0)},
+ journal = jacsat,
+ year = {1994},
+ volume = {116},
+ pages = {4391--4394},
+ number = {10},
+ doi = {10.1021/ja00089a029},
+}
+
+@BOOK{Cotton1999,
+ title = {{A}dvanced {I}norganic {C}hemistry},
+ publisher = {Wiley},
+ year = {1999},
+ author = {Cotton, Frank Albert and Wilkinson, Geoffrery and
+ Murillio, Carlos A. and Bochmann, Manfred},
+ address = {Chichester},
+ edition = {6},
+}
+%</refs>
%<*jawltxdoc>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{jawltxdoc}
\usepackage[T1]{fontenc}
-\usepackage[english,UKenglish]{babel}
+\usepackage{lmodern}
+\usepackage[final]{listings,graphicx,microtype}
\usepackage[scaled=0.95]{helvet}
\usepackage[version=3]{mhchem}
-\usepackage[final]{microtype}
\usepackage[osf]{mathpazo}
-\usepackage{booktabs,array,url,graphicx,courier,xspace}
-\usepackage{upgreek,ifpdf,listings}
+\usepackage{booktabs,array,url,courier,xspace,varioref}
+\usepackage{upgreek,ifpdf,float,caption,longtable,babel}
+\begingroup
+ \@ifundefined{eTeXversion}
+ {\aftergroup\@gobble}
+ {\aftergroup\@firstofone}
+\endgroup
+ {\usepackage{etoolbox}}
+\floatstyle{plaintop}
+\restylefloat{table}
+\labelformat{figure}{\figurename~#1}
+\labelformat{table}{\tablename~#1}
\ifpdf
\usepackage{embedfile}
\embedfile[%
@@ -1892,118 +2032,148 @@ EXECUTE {end.bib}
\IfFileExists{\jobname.sty}
{\usepackage{\jobname}}{}
\usepackage[numbered]{hypdoc}
+\setcounter{IndexColumns}{2}
\newlength\LaTeXwidth
\newlength\LaTeXoutdent
\newlength\LaTeXgap
\setlength\LaTeXgap{1em}
\setlength\LaTeXoutdent{-0.15\textwidth}
-\newcommand*{\typesetexampleandcode}{%
- \begin{list}{}{%
- \setlength\itemindent{0pt}
- \setlength\leftmargin\LaTeXoutdent
- \setlength\rightmargin{0pt}
- }
- \item
- \setlength\LaTeXoutdent{-0.15\textwidth}
- \begin{minipage}[c]{\textwidth-\LaTeXwidth-\LaTeXoutdent-\LaTeXgap}
- \lst@sampleInput
- \end{minipage}%
- \hfill%
- \begin{minipage}[c]{\LaTeXwidth}%
- \hbox to\linewidth{\box\lst@samplebox\hss}%
- \end{minipage}%
- \end{list}
-}
-\newcommand*{\typesetcodeandexample}{%
- \begin{list}{}{%
- \setlength\itemindent{0pt}
- \setlength\leftmargin{0pt}
- \setlength\rightmargin{0pt}
- }
- \item
- \begin{minipage}[c]{\LaTeXwidth}%
- \hbox to\linewidth{\box\lst@samplebox\hss}%
- \end{minipage}%
- \lst@sampleInput
- \end{list}
-}
-\newcommand*{\typesetfloatexample}{%
- \begin{list}{}{%
- \setlength\itemindent{0pt}
- \setlength\leftmargin{0pt}
- \setlength\rightmargin{0pt}
- }
- \item
- \lst@sampleInput
- \begin{minipage}[c]{\LaTeXwidth}%
- \hbox to\linewidth{\box\lst@samplebox\hss}%
- \end{minipage}%
- \end{list}
-}
-\newcommand*{\typesetcodeonly}{%
- \begin{list}{}{%
- \setlength\itemindent{0pt}
- \setlength\leftmargin{0pt}
- \setlength\rightmargin{0pt}
- }
- \item
- \begin{minipage}[c]{\LaTeXwidth}%
- \hbox to\linewidth{\box\lst@samplebox\hss}%
- \end{minipage}%
- \end{list}
-}
+\newbox\lst@samplebox
\edef\LaTeXexamplefile{\jobname.tmp}
\lst@RequireAspects{writefile}
-\newbox\lst@samplebox
-\lstnewenvironment{LaTeXexample}[1][\typesetexampleandcode]{%
- \let\typesetexample#1
+\lstnewenvironment{LaTeXexample}[1][example]{%
\global\let\lst@intname\@empty
+ \ifcsname LaTeXcode#1\endcsname
+ \expandafter\let\expandafter\LaTeXcode
+ \csname LaTeXcode#1\endcsname
+ \expandafter\let\expandafter\LaTeXcodeend
+ \csname LaTeXcode#1end\endcsname
+ \else
+ \PackageError{jawltxdoc}
+ {Undefined example type `#1'}
+ \@ehd
+ \let\LaTeXcode\relax
+ \let\LaTeXcodeend\relax
+ \fi
+ \LaTeXcode}
+ {\lst@EndWriteFile
+ \LaTeXcodeend}
+\newcommand*{\LaTeXcodeexample}{%
\setbox\lst@samplebox=\hbox\bgroup
- \setkeys{lst}{language=[LaTeX]{TeX},tabsize=4,gobble=3,%
- breakindent=0pt,basicstyle=\small\ttfamily,basewidth=0.51em,%
- keywordstyle=\color{blue},%
- morekeywords={% notes2bib
- niibsetup,bibnote,bibnotetext,bibnotemark,thebibnote,%
- flushnotestack,citenote,printbibnotes}}
- \lst@BeginAlsoWriteFile{\LaTeXexamplefile}
-}{%
- \lst@EndWriteFile\egroup
- \setlength\LaTeXwidth{\wd\lst@samplebox}
- \typesetexample%
-}
-\newcommand*{\lst@sampleInput}{%
+ \LaTeXcodefloat}
+\let\LaTeXcoderesultonly\LaTeXcodeexample
+\newcommand*{\LaTeXcodeexampleend}{%
+ \egroup
+ \setlength\LaTeXwidth{\wd\lst@samplebox}%
+ \begin{list}{}{%
+ \setlength\itemindent{0pt}
+ \setlength\leftmargin\LaTeXoutdent
+ \setlength\rightmargin{0pt}}%
+ \item
+ \setlength\LaTeXoutdent{-0.15\textwidth}
+ \begin{minipage}[c]{%
+ \textwidth-\LaTeXwidth-\LaTeXoutdent-\LaTeXgap}
+ \LaTeXcodefloatend
+ \end{minipage}%
+ \hfill
+ \begin{minipage}[c]{\LaTeXwidth}%
+ \hbox to\linewidth{\box\lst@samplebox\hss}%
+ \end{minipage}%
+ \end{list}}
+\newcommand*{\LaTeXcodefloat}{%
+ \setkeys{lst}{tabsize=4,gobble=3,breakindent=0pt,
+ basicstyle=\small\ttfamily,basewidth=0.51em,
+ keywordstyle=\color{blue}}%
+ \lst@BeginAlsoWriteFile{\LaTeXexamplefile}}
+\let\LaTeXcodenoexample\LaTeXcodefloat
+\let\LaTeXcodenoexampleend\@empty
+\newcommand*{\LaTeXcodefloatend}{%
\MakePercentComment\catcode`\^^M=10\relax
- \small%
+ \small
{\setkeys{lst}{SelectCharTable=\lst@ReplaceInput{\^\^I}%
{\lst@ProcessTabulator}}%
\leavevmode \input{\LaTeXexamplefile}}%
- \MakePercentIgnore%
-}
+ \MakePercentIgnore}
+\newcommand*{\LaTeXcoderesultonlyend}{\egroup\LaTeXcodefloatend}
+\lstnewenvironment{BibTeXexample}{%
+ \global\let\lst@intname\@empty
+ \setbox\lst@samplebox=\hbox\bgroup
+ \setkeys{lst}{tabsize=4,gobble=3,breakindent=0pt,
+ basicstyle=\small\ttfamily,basewidth=0.51em,
+ keywordstyle=\color{black}}
+ \lst@BeginAlsoWriteFile{\LaTeXexamplefile}}
+ {\lst@EndWriteFile
+ \LaTeXcodeexampleend}
+\newcommand*{\DescribeOption}{%
+ \leavevmode\@bsphack\begingroup\MakePrivateLetters
+ \Describe@Option}
+\newcommand*{\Describe@Option}[1]{\endgroup
+ \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
+ \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+\newcommand*{\SpecialOptionIndex}[1]{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (option)\encapchar usage}%
+ \index{options:\levelchar#1\actualchar{\protect\ttfamily#1}%
+ \encapchar usage}\@esphack}
+\newcommand*{\indexopt}[1]{\DescribeOption{#1}\opt{#1}}
+\newcommand*{\DescribeOptionInfo}[2]{%
+ \DescribeOption{#1}%
+ \opt{#1=\meta{#2}}\xspace}
+\newcommand*{\ofixarg}[1]{%
+ {\ttfamily[}%
+ \ifmmode \expandafter \nfss@text \fi
+ {%
+ \meta@font@select
+ \edef\meta@hyphen@restore{%
+ \hyphenchar\the\font\the\hyphenchar\font}%
+ \hyphenchar\font\m@ne
+ \language\l@nohyphenation
+ #1\/%
+ \meta@hyphen@restore
+ }%
+ {\ttfamily]}}
\newcommand*{\pkg}[1]{\textsf{#1}}
\newcommand*{\currpkg}{\pkg{\jobname}\xspace}
\newcommand*{\opt}[1]{\texttt{#1}}
+\newcommand*{\defaultopt}[1]{\opt{\textbf{#1}}}
\newcommand*{\file}[1]{\texttt{#1}}
\newcommand*{\ext}[1]{\file{.#1}}
\newcommand*{\latin}[1]{\emph{#1}}
\newcommand*{\etc}{%
\@ifnextchar.
{\latin{etc}}
- {\latin{etc.}}
- \xspace}
+ {\latin{etc}.\xspace}}
\newcommand*{\eg}{%
\@ifnextchar.
{\latin{e.g}}
- {\latin{e.g.}}
- \xspace}
+ {\latin{e.g}.\xspace}}
\newcommand*{\ie}{%
\@ifnextchar.
{\latin{i.e}}
- {\latin{i.e.}}
- \xspace}
+ {\latin{i.e}.\xspace}}
+\newcommand*{\etal}{%
+ \@ifnextchar.
+ {\latin{et~al.}}
+ {\latin{et~al}.\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}
+\DeclareRobustCommand*{\XeTeX}
{X\kern-.125em\lower.5ex\hbox{\reflectbox{E}}\kern-.1667em\TeX}
+\providecommand*{\CTAN}{\textsc{ctan}}
+\@ifpackageloaded{etoolbox}
+ {\patchcmd{\@addmarginpar}
+ {\@latex@warning@no@line {Marginpar on page \thepage\space moved}}
+ {\relax}{}{}}
+ {}
+\newcounter{argument}
+\g@addto@macro\endmacro{\setcounter{argument}{0}}
+\newcommand*\darg[1]{%
+ \stepcounter{argument}%
+ {\ttfamily\char`\#\theargument~:~}#1\par\noindent\ignorespaces}
+\newcommand*\doarg[1]{%
+ \stepcounter{argument}%
+ {\ttfamily\makebox[0pt][r]{[}%
+ \char`\#\theargument]:~}#1\par\noindent\ignorespaces}
%</jawltxdoc>
%\fi
diff --git a/Master/texmf-dist/source/latex/rsc/rsc.ins b/Master/texmf-dist/source/latex/rsc/rsc.ins
index c0967115191..afe2edd1d0d 100644
--- a/Master/texmf-dist/source/latex/rsc/rsc.ins
+++ b/Master/texmf-dist/source/latex/rsc/rsc.ins
@@ -1,57 +1,53 @@
-%%
-%% This is file `rsc.ins',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% rsc.dtx (with options: `install')
-%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
-%% Maintained by Joseph Wright
-%% E-mail: joseph.wright@morningstar2.co.uk
-%% Released under the LaTeX Project Public License v1.3 or later
-%% See http://www.latex-project.org/lppl.txt
-%% ----------------------------------------------------------------
-%%
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-\preamble
- ----------------------------------------------------------------
- The rsc package - BibTeX support for Royal Society of Chemistry
- and Wiley style article
- Maintained by Joseph Wright
- E-mail: joseph.wright@morningstar2.co.uk
- Released under the LaTeX Project Public License v1.3 or later
- See http://www.latex-project.org/lppl.txt
- ----------------------------------------------------------------
-
-\endpreamble
-\Msg{Generating achemso files:}
-\usedir{tex/latex/contib/rsc}
-\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}
- \file{\jobname.sty}{\from{\jobname.dtx}{package}}
- \file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}}
-}
-\declarepostamble\bibtexable
-\endpostamble
-\usedir{bibtex/bst/rsc}
-\generate{\usepostamble\bibtexable
- \file{rsc.bst}{\from{rsc.dtx}{bib,rsc}}
- \file{rscnat.bst}{\from{rsc.dtx}{bib,rsc,nat}}
- \file{rsc-mc.bst}{\from{rsc.dtx}{bib,rsc,mc}}
- \file{angew.bst}{\from{rsc.dtx}{bib,angew}}
- \file{angewnat.bst}{\from{rsc.dtx}{bib,angew,nat}}
- \file{angew-mc.bst}{\from{rsc.dtx}{bib,angew,mc}}
-}
-\generate{\usepostamble\bibtexable
- \file{rscM.bst}{\from{rsc.dtx}{bib,rsc,mcp}}
- \file{angewM.bst}{\from{rsc.dtx}{bib,angew,mcp}}
- \file{rscnatM.bst}{\from{rsc.dtx}{bib,rsc,nat,mcp}}
- \file{angewnatM.bst}{\from{rsc.dtx}{bib,angew,nat,mcp}}
-}
-\endbatchfile
-\endinput
-%%
-%% End of file `rsc.ins'.
+%%
+%% This is file `rsc.ins',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% rsc.dtx (with options: `install')
+%% ----------------------------------------------------------------
+%% The rsc package --- BibTeX styles for Royal Society of Chemistry
+%% and Wiley journals
+%% 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
+%% ----------------------------------------------------------------
+%%
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+ ----------------------------------------------------------------
+ The rsc package --- BibTeX styles for Royal Society of Chemistry
+ and Wiley journals
+ 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
+ ----------------------------------------------------------------
+
+\endpreamble
+\Msg{Generating rsc files:}
+\generate{\file{jawltxdoc.sty}{\from{\jobname.dtx}{jawltxdoc}}
+}
+\usedir{tex/latex/rsc}
+\generate{\file{\jobname.sty}{\from{\jobname.dtx}{package}}
+}
+\usedir{source/latex/rsc}
+\generate{\file{\jobname.ins}{\from{\jobname.dtx}{install}}
+}
+\nopostamble
+\usedir{bibtex/bst/rsc}
+\generate{\file{rsc.bst}{\from{rsc.dtx}{bib,rsc}}
+ \file{angew.bst}{\from{rsc.dtx}{bib,angew}}
+}
+\nopreamble\nopostamble
+\usedir{doc/latex/rsc}
+\generate{\file{README.txt}{\from{\jobname.dtx}{readme}}
+ \file{\jobname.bib}{\from{\jobname.dtx}{refs}}
+}
+\endbatchfile
+\endinput
+%%
+%% End of file `rsc.ins'.
diff --git a/Master/texmf-dist/tex/latex/rsc/rsc.sty b/Master/texmf-dist/tex/latex/rsc/rsc.sty
index 865d990d08c..2b31377782a 100644
--- a/Master/texmf-dist/tex/latex/rsc/rsc.sty
+++ b/Master/texmf-dist/tex/latex/rsc/rsc.sty
@@ -6,47 +6,66 @@
%%
%% rsc.dtx (with options: `package')
%% ----------------------------------------------------------------
-%% The rsc package - BibTeX support for Royal Society of Chemistry
-%% and Wiley style article
+%% The rsc package --- BibTeX styles for Royal Society of Chemistry
+%% and Wiley journals
%% 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{rsc}[2008/01/16 v2.2b
- Useful chemistry functions]
-\PackageInfo{rsc}{The rsc package has been superseded!}
-\DeclareOption{floatleft}{\AtEndOfPackage{\floatcontentsleft}}
-\DeclareOption{fl}{\ExecuteOptions{floatleft}}
-\DeclareOption{natbib}{\AtEndOfPackage{%
- \RequirePackage[numbers,sort&compress,super]{natbib}}}
-\DeclareOption{rsc}{%
- \PassOptionsToPackage{\CurrentOption}{chemstyle}%
- \def\@biblabel#1{#1}%
- \PackageInfo{rsc}%
- {Loading the chemstyle package with the `rsc' option}%
-}
-\DeclareOption{angew}{%
- \PassOptionsToPackage{\CurrentOption}{chemstyle}%
- \PackageInfo{rsc}%
- {Loading the chemstyle package with the `angew' option}%
- \AtBeginDocument{%
- \@ifpackageloaded{natbib}
- {\renewcommand*\NAT@open{[}\renewcommand*\NAT@close{]}}
- {\def\@citess#1{\textsuperscript{[#1]}}}
- }
-}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{chemstyle}}
-\ExecuteOptions{rsc}
-\ProcessOptions\relax
-\RequirePackage{chemstyle}
-\floatcontentscentre
-\AtEndOfPackage{
- \@ifpackageloaded{natbib}{}
- {\RequirePackage[super]{cite}}
-}
+\ProvidesPackage{rsc}
+ [2008/08/27 v3.0 Support for RSC and Wiley journals]
+\RequirePackage{mciteplus,kvoptions}
+\SetupKeyvalOptions{
+ family = rsc,
+ prefix = rsc@}
+\DeclareBoolOption{super}
+\DeclareBoolOption{usetitle}
+\DeclareBoolOption{usedoi}
+\DeclareStringOption{maxauthors}
+\setkeys{rsc}{
+ maxauthors = 0,
+ usetitle = false,
+ usedoi = false,
+ super = true}
+\ProcessKeyvalOptions{rsc}
+\newcommand*{\rsc@prefix}{rsc-}
+\edef\rsc@msg{%
+ This is an auxiliary file used by the `rsc' package.^^J%
+ This file may safely be deleted. It will be recreated as
+ required.^^J}
+\if@filesw
+ \newwrite\rsc@out
+ \newcommand*\rsc@stream{\rsc@prefix\jobname.bib}%
+ \immediate\openout\rsc@out\rsc@stream\relax
+ \immediate\write\rsc@out{\rsc@msg}%
+ \edef\@tempa#1#2{\space\space#1\space=\space"#2",^^J}%
+ \immediate\write\rsc@out{%
+ @Control\string{rsc-control,^^J%
+ \@tempa{ctrl-use-title}{\ifrsc@usetitle yes\else no\fi}%
+ \@tempa{ctrl-etal-number}{\rsc@maxauthors}%
+ \@tempa{ctrl-use-doi-all}{\ifrsc@usedoi yes\else no\fi}%
+ \string}^^J}%
+\fi
+\AtBeginDocument{
+ \let\rsc@bibliography\bibliography
+ \renewcommand*{\bibliography}[1]{%
+ \rsc@bibliography{\rsc@prefix\jobname,#1}}}
+\g@addto@macro{\document}{%
+ \if@filesw
+ \immediate\write\@auxout{%
+ \string\citation\string{rsc-control\string}}%
+ \fi}
+\ifrsc@super
+ \RequirePackage[sort&compress,numbers,super]{natbib}
+ \IfFileExists{natmove.sty}
+ {\RequirePackage{natmove}}
+ {}
+\else
+ \RequirePackage[sort&compress,numbers]{natbib}
+\fi
\endinput
%%
%% End of file `rsc.sty'.