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.

  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.

| improve this answer | |

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

| improve this answer | |
  • Could you provide a little more context? Perhaps a minimal example showing the input and expected output under your suggestion? – Werner Dec 11 '15 at 17:28
  • I just edited my answer; I hope it's ok now. – nikolas Dec 12 '15 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 '15 at 19:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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