2

I'm using the RSC's (Royal Society of Chemistry) bst file to write my thesis. You can find this file here. But I would like to tweak it just a bit, to add for example the DOI at the end of each reference.

I discovered some interesting lines at the top of the file:

%% #0 turns off the display of the title for articles
%% #1 enables
FUNCTION {default.is.use.title} { #0 }

%% The number of names that force "et al." to be used
FUNCTION {default.etal.number} { #2 }

%% #0 turns off the display of the DOI for articles
%% #1 enables
FUNCTION {default.use.doi.all} { #0 }

So I changed the line about the doi to:

FUNCTION {default.use.doi.all} { #1 }

But nothing changed in my pdf output. I also tried to enable the display of titles, or change the etal number, but once again, I got nowhere. Can you please help me to figure it out ?

3
  • 1
    You don't need to edit the file to alter the control values: see the LaTeX rsc package which provides an interface for this. Once you set the right value, you'll need to run LaTeX/BibTeX/LaTeX/LaTeX to see the effect.
    – Joseph Wright
    May 22, 2016 at 9:08
  • Yes, I know about that. But using this package messes with my setup of mciteplus or natbib. Suppose I just want to modify the bst file, how would I do it ?
    – Rififi
    May 22, 2016 at 9:10
  • 1
    You still don't need to modify the .bst (and if you do you need to copy and rename it). I'll post a 'raw' answer.
    – Joseph Wright
    May 22, 2016 at 9:11

1 Answer 1

1

The easiest way to alter the inclusion of DOIs is to use the rsc package

\usepackage[usedoi=true]{rsc}

This will send the appropriate setting through to the rsc bibliography style.

If you want to do things 'by hand', this can be done without copying and editing the .bst file by creating the 'special' reference by hand. Add an entry, either in a dedicated .bib file or in your general one for your document, reading

@Control{rsc-control,
  ctrl-use-title   =  "no",
  ctrl-use-doi-all =  "yes",
  ctrl-link-doi    =  "no",
  ctrl-etal-number =  "0",
}

where the settings are pretty obvious. Then add

\nocite{rsc-control}

right at the start of your document and include the appropriate .bib file in your \bibliography line.

This works by passing the settings to rsc.bst as a special citation, which is then picked up and used to alter the output without needing to make a separate renamed coped of rsc.bst for each possible option combination.

3
  • Thank you ! I read about the control citation in the rsc package's doc, but it just mentions it. Where did you find a more complete doc ? Are there more options ?
    – Rififi
    May 22, 2016 at 9:31
  • 1
    @Rififi The official interface is using the package: I quite deliberately don't document the mechanism (as I view it as 'internal' so subject to change). The idea itself comes originally from REVTeX and is used not only by rsc but several other BibTeX styles. There are no more options than the ones shown, which as I say map to the package interface in the natural way.
    – Joseph Wright
    May 22, 2016 at 9:36
  • Ok, I got why there is no official doc. But maybe you could just add the control citation in the bst file of the package, for those with specific needs ?
    – Rififi
    May 22, 2016 at 9:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .