I have a BibTeX file with a mix of entries, some with full author's names and some with just initials. I would like my typeset bibliography to only use initials. Is there a way to do this?

I have the following BibTeX commands currently in my file:


I have found documentation on how to do this with biblatex, but not with natbib.

2 Answers 2

  1. Copy the file named.bst (in TeXLive it is in texmf-dist/bibtex/bst/beebe/named.bst) to the file abbrvnamed.bst in your working directory.

  2. Find in this file the line

    FUNCTION {format.names}

    and inside the function the line

      { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
  3. Change this line to

      { s nameptr "{f.~}{vv~}{ll}{, jj}" format.name$ 't :=

Now you can put in your document \bibliographystyle{abbrvnamed}, and get the result you want.

For the curious: in this magic line ff means Full First names, f. means abbreviated First names, vv is "Von part", ll is for Last names, jj is for Junior suffix. Yes, BibTeX language is evil.


Now, it's even easier: just use \bibliographystyle{abbrvnat} and it works like a charm.

In my file-containg-bibtex-entries.bib I have the following entry:

author = {Taboada, Maite},
doi = {10.1016/j.pragma.2005.09.010},
issn = {03782166},
journal = {Journal of Pragmatics},
keywords = {Coherence relations,Conjunctions,Connectives,Conversation,Discourse markers,Discourse signalling,Newspaper text,RST,Rhetorical Structure Theory},
month = apr,
number = {4},
pages = {567--592},
title = {{Discourse markers as signals (or not) of rhetorical relations}},
url = {http://www.sciencedirect.com/science/article/pii/S0378216605002249},
volume = {38},
year = {2006}

My tex file is the following:

According to \cite{Taboada2006}.



This is what I get: natbib with abbreviated names of authors

  • Could you provide a little more context? Perhaps a minimal example showing the input and expected output under your suggestion?
    – Werner
    Dec 11, 2015 at 17:28
  • I just edited my answer; I hope it's ok now.
    – nikolas
    Dec 12, 2015 at 19:12
  • Unfortunately, the style abbrvnat does not produce the same formatted as the named style (with the modifications proposed in @Boris's answer to the format.names function) does. For one, the named style does not output the fields issn, doi, and url, whereas abbrvnat does (see the screenshot you posted). In addition, named prints "April", whereas abbrvnat abbreviates the name of the month to "Apr.".
    – Mico
    Dec 12, 2015 at 19:38

You must log in to answer this question.

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