3

I'm tweaking a customised bst file and I got stuck with this issue. I want the word eds. to appear before the editors' names, not after.

I'm getting

Saalfeld, Thomas. 2000. “Germany: Stable parties, Chancellor Democracy, and the Art of Informal Settlement.” In Coalition Governments in Western Europe, Wolfgang C. Muller and Kaare Strøm, eds., pages 32–85, Oxford: Oxford University Press.

But should be

Saalfeld, Thomas. 2000. “Germany: Stable parties, Chancellor Democracy, and the Art of Informal Settlement.” In Coalition Governments in Western Europe, eds. Wolfgang C. Muller and Kaare Strøm, pages 32–85, Oxford: Oxford University Press.

The function in the bst file that has to do with it is

FUNCTION {format.in.ed.booktitle}
{ format.booktitle duplicate$ empty$ 'skip$
  {
  format.bvolume duplicate$ empty$ 'pop$
    { ", " swap$ * * }
  if$
  editor "editor" format.names.ed duplicate$ empty$ 'pop$
    {
      get.bbl.editor
      swap$ "," *
      " " * swap$ *
      swap$
      "," *
      " " * swap$
      * }
  if$
  word.in swap$ *
  }
  if$
  }

The function that adds the word ed. is get.bbl.editor, but I have not managed to change the order where it appears.

Does anyone know how to do that or is there a macro I can use in my preamble to do that?

Edit:

Here is my bibtex entry

@incollection{saalfeld:2000,
address = {Oxford},
author = {Saalfeld, Thomas},
booktitle = {Coalition Governments in Western Europe},
editor = {M\"{u}ller, Wolfgang C. and Str{\o}m, Kaare},
pages = {32--85},
publisher = {Oxford University Press},
title = {{Germany: Stable parties, Chancellor Democracy, and the Art of Informal Settlement}},
year = {2000}
}

1 Answer 1

1

An alternative approach to the above is to use Bibulous as a replacement for BibTeX, so that one can work with easy-to-understand style templates instead of the details of BibTeX's stack-based language. Using the OP's example, we have the database file

@incollection{mycitekey,
  author = {Thomas Saalfeld},
  year = {2000},
  title = {Germany: Stable parties, Chancellor Democracy, and the Art of Informal Settlement},
  booktitle = {Coalition Governments in Western Europe},
  editor = {Wolfgang C. Muller and Kaare Str{\o}m},
  pages = {32-85},
  publisher = {Oxford University Press},
  address = {Oxford}
}

With the template file

TEMPLATES:
incollection = <au>. <year>. \enquote{<title>.} In <booktitle>, [<nothing.if_singular(editorlist, edmsg1, edmsg2)>~<ed>], [pages~<startpage>--<endpage>|page~<startpage>|<eid>|], <address>: <publisher>.

SPECIAL-TEMPLATES:
citelabel = <citenum>
sortkey = <citenum>
authorlist = <author.to_namelist()>
editorlist = <editor.to_namelist()>
authorname.n = [<authorlist.n.prefix> ]<authorlist.n.last>[, <authorlist.n.suffix>][, <authorlist.n.first>][ <authorlist.n.middle.initial()>.]
au = <authorname.0>, ...,{ and }<authorname.9>
editorname.n = [<editorlist.n.first> ][<editorlist.n.middle.initial()>. ][<editorlist.n.prefix> ] <editorlist.n.last>[, <editorlist.n.suffix>]
ed = <editorname.0>, ...,{ and }<editorname.3>
nothing = {}

OPTIONS:
edmsg1 = ed.,
edmsg2 = eds.,

we obtain the formatted reference list

enter image description here

Note that in the incollection template within the style template file, the variable <nothing.if_singular(editorlist, edmsg1, edmsg2)> is the one that inserts the "ed." (if only one editor present) or "eds." (if multiple editors). Thus, moving this variable to a different location of the template can accomplish what the OP asks for.

You must log in to answer this question.

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