I basically have the same question as [here1 - I use bibentry to include references in a document, and need to suppress the letters after the years. I am using plainnat so that doi's are shown, but cannot figure out how to alter the bst file. I also tried creating my own, but there was no option to suppress the extra letter (using makebst), and having same issues when I try modify that style.

I tried to alter this part of the bst file

FUNCTION {format.date}
{ year duplicate$ empty$
    { "empty year in " cite$ * warning$
       pop$ "" }
  month empty$
    { month
      " " * swap$ *
   extra.label *

by removing the extra.label tag - so those lines would be


While this suppresses the letters, it causes the pages and year to run together, so

A. Smith and B. Jones. Title of article. Journal of something, 6:1 –7, 2016b. doi:12.2341/SR02734


A. Smith and B. Jones. Title of article. Journal of something, 6:1 –72016. doi:12.2341/SR02734

How do I fix this? Or is there a good bibstyle for CVs and the like that just doesn't have those extra letters but still prints doi information?

  • 1
    Please clarify the following issue: Do you need to produce just formatted bib entries, or ciation call-outs as well?
    – Mico
    Aug 1, 2020 at 4:31
  • I only care about bibentry output - I don't need a list of citations/references at the end of the document.
    – Esme_
    Aug 1, 2020 at 5:00
  • 1
    It's always a bit risky saying something about .bst styles without having tested them, but try removing extra.label * and not just extra.label. If you leave the * in place, BibTeX will try to concatenate two strings that probably shouldn't be concatenated.
    – moewe
    Aug 1, 2020 at 11:59

1 Answer 1


I have two suggestions. Both start by making a copy of the file plainnat.bst and naming the copy, say, plainnat-nolab.bst. (Don't edit an original file of the TeX distribution directly.)

  • Comment out the three instructions starting at line 1392 in plainnat-nolab.bst:

     EXECUTE {initialize.longest.label}
     ITERATE {forward.pass}
     REVERSE {reverse.pass}

    This will speed up BibTeX's processing marginally, but it will also leave some citation call-outs unresolved, i.e., marked as ?. However, this may be of no import to you, especially if you use \nocite instructions to activate various entries in the bib file.

  • Taking a less radical approach, you could comment out -- or just delete -- the final line (l. 429 in my copy of the file) in the function format.date:

       extra.label *

    (@moewe has also made this suggestion in an earlier comment.) The extra labels will no longer show up in the formatted bib entries, but they will continue to be shown in the citation call-outs -- which you don't care about, right?

With either approach, be sure to save the file plainnat-nolab.bst in the directory that contains your main tex file, to change \bibliographystyle{plainnat} to \bibliographystyle{plainnat-nolab}, and to run a full recompile cycle: LaTeX, BibTeX, and LaTeX twice more.

You must log in to answer this question.

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