TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a custom .bst made with makebst. It works well, except I would like to add an extra field for translated works. Ideally I would like something like "translated by [translator]" to appear after the book's title, where [translator] is the translator's name, when appropriate. I have the information stored in my .bib (under translator), but I don't know how to code the .bst.

share|improve this question
up vote 2 down vote accepted

I have a solution, based upon this question. The book function becomes

{ output.bibitem
  author empty$
    { format.editors "author and editor" output.check
      editor format.key output
    { format.authors output.nonnull
      crossref missing$
        { "author and editor" editor either.or.check }
  format.btitle "title" output.check
  crossref missing$
    { format.bvolume output
      format.number.series output
      format.publisher.address output
      format.book.crossref output.nonnull
  format.edition output
  format.translator output
  format.date "year" output.check
  format.eprint output

where I have defined a new function

FUNCTION {format.translator}
{ translator "translator" format.names
  duplicate$ empty$ 'skip$
     "translated by " swap$ *
  } if$
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.