summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst')
-rw-r--r--Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst295
1 files changed, 130 insertions, 165 deletions
diff --git a/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst b/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
index f865a76f0ab..db2b025c32e 100644
--- a/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
+++ b/Master/texmf-dist/bibtex/bst/rsc/rsc-mc.bst
@@ -4,10 +4,10 @@
%%
%% The original source files were:
%%
-%% rsc.dtx (with options: `bib-mc')
+%% rsc.dtx (with options: `bib,rsc,mc')
%% ----------------------------------------------------------------
%% The rsc package - BibTeX and macro support for Royal Society
-%% of Chemistry style articles
+%% of Chemistry and Wiley chemistry articles
%% Maintained by Joseph A. Wright
%% E-mail: joseph.wright@morningstar2.co.uk
%% Released under the GNU General Public License
@@ -51,34 +51,29 @@ FUNCTION {init.state.consts}
}
FUNCTION {add.comma}
-{ duplicate$
- #-1 #1 substring$ "}" =
- { #-2 #1024 substring$ ";} " * }
- { ", " * }
- if$
-}
+{ ", " * }
STRINGS { s t }
FUNCTION {output.nonnull}
{ 's :=
output.state mid.sentence =
- { ", " * write$ }
+ { 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$ }
+ { add.comma write$
+ newline$
+ "\newblock " write$
+ }
+ { output.state before.all =
+ 'write$
+ { output.state after.item =
+ { " " * write$ }
+ { add.period$ " " * write$ }
+ if$
+ }
if$
}
- if$
- }
- if$
+ if$
mid.sentence 'output.state :=
}
if$
@@ -109,6 +104,7 @@ FUNCTION {output.bibitem}
""
before.all 'output.state :=
}
+
FUNCTION {fin.entry}
{ write$
"\relax" write$
@@ -162,15 +158,24 @@ FUNCTION {paren}
if$
}
+FUNCTION {bbl.and}
+{ "and" }
+
FUNCTION {bbl.chapter}
{ "ch." }
-FUNCTION {bbl.ed}
-{ "ed. " }
+FUNCTION {bbl.editor}
+{ "ed." }
FUNCTION {bbl.edition}
{ "edn." }
+FUNCTION {bbl.etal}
+{ "et~al." emphasize }
+
+FUNCTION {bbl.in}
+{ "in" }
+
FUNCTION {bbl.inpress}
{ "in press" }
@@ -193,7 +198,7 @@ FUNCTION {bbl.techreport}
{ "Technical Report" }
FUNCTION {bbl.volume}
-{ "vol."}
+{ "vol." }
FUNCTION {bbl.first}
{ "1st" }
@@ -243,10 +248,20 @@ FUNCTION {eng.ord}
if$
}
-FUNCTION {is.num}
-{ chr.to.int$
- duplicate$ "0" chr.to.int$ < not
- swap$ "9" chr.to.int$ > not and
+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}
@@ -255,7 +270,7 @@ FUNCTION {extract.num}
{ t empty$ not }
{ t #1 #1 substring$
t #2 global.max$ substring$ 't :=
- duplicate$ is.num
+ duplicate$ is.a.number
{ s swap$ * 's := }
{ pop$ "" 't := }
if$
@@ -270,8 +285,7 @@ FUNCTION {extract.num}
FUNCTION {bibinfo.check}
{ swap$
duplicate$ missing$
- {
- pop$ pop$
+ { pop$ pop$
""
}
{ duplicate$ empty$
@@ -298,7 +312,7 @@ FUNCTION {convert.edition}
{ bbl.fourth 't := }
{ s "fifth" = s "5" = or
{ bbl.fifth 't := }
- { s #1 #1 substring$ is.num
+ { s #1 #1 substring$ is.a.number
{ s eng.ord 't := }
{ edition 't := }
if$
@@ -324,9 +338,7 @@ FUNCTION {tie.or.space.connect}
}
FUNCTION {space.connect}
-{ " "
- swap$ * *
-}
+{ " " swap$ * * }
INTEGERS { nameptr namesleft numnames }
@@ -336,26 +348,26 @@ FUNCTION {format.names}
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
- { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
- nameptr #1 >
- { namesleft #1 >
- { ", " * t * }
- { numnames #2 >
- { "" * }
- 'skip$
+ { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=
+ nameptr #1 >
+ { namesleft #1 >
+ { add.comma t * }
+ { numnames #2 >
+ { "" * }
+ 'skip$
if$
- t "others" =
- { " \emph{et~al.}" * }
- { " and " * t * }
+ t "others" =
+ { bbl.etal space.connect }
+ { bbl.and space.connect t space.connect }
if$
- }
- if$
- }
- 't
+ }
+ if$
+ }
+ 't
if$
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
- }
+ }
while$
}
@@ -371,28 +383,12 @@ FUNCTION {format.editors}
{ editor empty$
{ "" }
{ #2 'author.or.editor :=
- bbl.ed *
+ bbl.editor " " * *
editor format.names
}
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 {n.separate.multi}
{ 't :=
""
@@ -400,7 +396,7 @@ FUNCTION {n.separate.multi}
t text.length$ #4 > t is.a.number and
{
{ t empty$ not }
- { t #-1 #1 substring$ is.num
+ { t #-1 #1 substring$ is.a.number
{ numnames #1 + 'numnames := }
{ #0 'numnames := }
if$
@@ -421,29 +417,30 @@ FUNCTION {n.separate.multi}
if$
}
-FUNCTION {format.title.noemph}
-{ title empty$
+FUNCTION {format.bvolume}
+{ volume empty$
{ "" }
- { title }
+ { bbl.volume volume tie.or.space.connect }
if$
}
-FUNCTION {format.title}
-{ title empty$
+FUNCTION {format.title.noemph}
+{ 't :=
+ t empty$
{ "" }
- { title emphasize }
+ { t }
if$
}
-FUNCTION {format.booktitle}
-{ booktitle title empty$
+FUNCTION {format.title}
+{ 't :=
+ t empty$
{ "" }
- { booktitle emphasize }
+ { t emphasize }
if$
}
-FUNCTION {n.dashify}
-{ 't :=
+FUNCTION {n.dashify} { 't :=
""
{ t empty$ not }
{ t #1 #1 substring$ "-" =
@@ -470,7 +467,7 @@ FUNCTION {n.dashify}
FUNCTION {format.date}
{ year empty$
{ "" }
- { year }
+ 'year
if$
}
@@ -488,33 +485,6 @@ FUNCTION {either.or.check}
if$
}
-FUNCTION {format.bvolume}
-{ volume empty$
- { "" }
- { bbl.volume volume tie.or.space.connect }
- if$
-}
-
-FUNCTION {format.number.series}
-{ volume empty$
- { number empty$
- { series field.or.null }
- { output.state mid.sentence =
- { "no." }
- { "No." }
- if$
- number tie.or.space.connect
- series empty$
- { "There's a number but no series in " cite$ * warning$ }
- { " in " * series * }
- if$
- }
- if$
- }
- { "" }
- if$
-}
-
FUNCTION {format.edition}
{ edition duplicate$ empty$
'skip$
@@ -572,6 +542,7 @@ FUNCTION {format.pages.required}
}
if$
}
+
FUNCTION {format.pages.nopp}
{ pages empty$
{ ""
@@ -601,7 +572,7 @@ FUNCTION {format.vol.pages}
{ volume boldface field.or.null
duplicate$ empty$
{ pop$ format.pages.required }
- { ", " * pages n.dashify * }
+ { add.comma pages n.dashify * }
if$
}
@@ -615,40 +586,21 @@ FUNCTION {format.chapter.pages}
chapter tie.or.space.connect
pages empty$
'skip$
- { ", " * format.pages * }
+ { add.comma format.pages * }
if$
}
if$
}
-FUNCTION {format.in.ed.booktitle}
-{ booktitle empty$
- { "" }
- { editor empty$
- { "in " booktitle emphasize * }
- { "in " format.editors * ", " * booktitle emphasize * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.title.ed}
-{ title empty$
- { "" }
- { editor empty$
- { " in " title emphasize * }
- { " in " title emphasize * ", " * format.editors * }
- if$
- }
- if$
-}
-
-FUNCTION {format.in.booktitle.ed}
-{ booktitle empty$
+FUNCTION {format.title.in}
+{ 's :=
+ s empty$
{ "" }
{ editor empty$
- { " in " booktitle emphasize * }
- { " in " booktitle emphasize * ", " * format.editors * }
+ { bbl.in s format.title space.connect }
+ { bbl.in s format.title space.connect
+ add.comma format.editors *
+ }
if$
}
if$
@@ -659,7 +611,7 @@ FUNCTION {format.pub.address}
{ "" }
{ address empty$
{ publisher }
- { publisher ", " * address *}
+ { publisher add.comma address *}
if$
}
if$
@@ -707,28 +659,32 @@ FUNCTION {article}
FUNCTION {book}
{ output.bibitem
author empty$
- { format.title "title" output.check
+ { title format.title "title" output.check
editor empty$
- { "Need either an author or editor for " cite$ * warning$ }
- { "" format.editors * "editor" output.check }
- if$
+ { "Need either an author or editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
}
- { format.authors output.nonnull
+ { format.authors output
"author and editor" editor either.or.check
- format.title "title" output.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
- format.title "title" output.check
+ title format.title "title" output.check
howpublished output
address output
format.date output
@@ -738,14 +694,14 @@ FUNCTION {booklet}
FUNCTION {inbook}
{ output.bibitem
author empty$
- { format.title "title" output.check
+ { 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.nonnull
- format.in.title.ed "title" output.check
+ { format.authors output
+ title format.title.in "title" output.check
}
if$
format.pub.address "publisher" output.check
@@ -759,14 +715,14 @@ FUNCTION {inbook}
FUNCTION {incollection}
{ output.bibitem
author empty$
- { format.booktitle "booktitle" output.check
+ { 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$
+ { "Need at least an author or an editor for " cite$ * warning$ }
+ { "" format.editors * "editor" output.check }
+ if$
}
- { format.authors output.nonnull
- format.in.booktitle.ed "booktitle" output.check
+ { format.authors output
+ booktitle format.title.in "booktitle" output.check
}
if$
format.pub.address "publisher" output.check
@@ -788,9 +744,13 @@ FUNCTION {inpress}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
- booktitle "booktitle" 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
}
@@ -799,14 +759,14 @@ FUNCTION {manual}
author empty$
{ organization empty$
'skip$
- { organization output.nonnull
+ { organization output
address output
}
if$
}
- { format.authors output.nonnull }
+ { format.authors output }
if$
- format.title "title" output.check
+ title format.title "title" output.check
author empty$
{ organization empty$
{ address output }
@@ -825,7 +785,7 @@ FUNCTION {manual}
FUNCTION {mastersthesis}
{ output.bibitem
format.authors "author" output.check
- bbl.msc emphasize format.thesis.type output.nonnull
+ bbl.msc emphasize format.thesis.type output
school "school" output.check
address output
format.date "year" output.check
@@ -835,9 +795,9 @@ FUNCTION {mastersthesis}
FUNCTION {misc}
{ output.bibitem
format.authors output
- format.title output
+ title format.title output
howpublished output
- format.bdate output
+ year output
note output
fin.entry
empty.misc.check
@@ -863,7 +823,7 @@ FUNCTION {patent}
FUNCTION {phdthesis}
{ output.bibitem
format.authors "author" output.check
- bbl.phd emphasize format.thesis.type output.nonnull
+ bbl.phd emphasize format.thesis.type output
school "school" output.check
address output
format.date "year" output.check
@@ -872,9 +832,13 @@ FUNCTION {phdthesis}
FUNCTION {proceedings}
{ output.bibitem
- format.title.noemph "title" output.check
+ title format.title.noemph "title" output.check
address output
format.date "year" output.check
+ pages empty$
+ 'skip$
+ { format.pages output }
+ if$
fin.entry
}
@@ -894,7 +858,7 @@ FUNCTION {submitted}
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
- format.title "title" output.check
+ title format.title "title" output.check
institution
type empty$
'bbl.techreport
@@ -905,7 +869,7 @@ FUNCTION {techreport}
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
- output.nonnull
+ output
format.pub.address output
format.date "year" output.check
fin.entry
@@ -921,7 +885,8 @@ FUNCTION {unpublished}
doi empty$
{ note output }
{ format.date output
- "DOI:" doi tie.or.space.connect output }
+ "DOI:" doi tie.or.space.connect output
+ }
if$
fin.entry
empty.doi.note
@@ -993,6 +958,6 @@ FUNCTION {end.bib}
}
EXECUTE {end.bib}
-\endinput
+%%
%%
%% End of file `rsc-mc.bst'.