Skip to content

BibTeX Configurations

Gabor Szarnyas edited this page Oct 10, 2020 · 3 revisions

This page is intended to collect useful settings for BibTeX.

Avoid duplicate DOI and URL fields

Many DBLP entries for papers published at large venues have both a DOI and an URL. These get rendered twice by most bibliography setups.

As suggested on Stack Exchange, it is possible to avoid this by using biblatex and the renewbibmacro command:

\usepackage{biblatex}
\renewbibmacro*{doi+eprint+url}{%
	\printfield{doi}%
	\newunit\newblock%
	\iftoggle{bbx:eprint}{%
		\usebibmacro{eprint}%
	}{}%
	\newunit\newblock%
	\iffieldundef{doi}{%
		\usebibmacro{url+urldate}}%
	{}%
}

Preprints on arXiv face a similar problem as they have their archivePrefix and eprint fields turned into a link. To suppress the string arXiv: <eprint number> in bibliography entries, pass the eprint=false argument to the biblatex package:

\usepackage[eprint=false]{biblatex}

Configure BibTeX to replace a long list of authors with et al.

It is possible to configure BibTeX to automatically insert et al. instead of a long list of authors in the References section. This guide describes a way to achieve this for entries with 3 or more authors.

First of all, when you are compiling with BibLaTeX, this comment suggests using something like

\usepackage[backend=biber,style=ieee,maxnames=2]{biblatex}

However, when using BibTeX and the natbib package, it is a bit more difficult to achieve. Based on the answers provided here and here, a possible solution is to replace the format.names function in the .bst file with the following:

FUNCTION { format.names }
{
  's :=
  s num.names$ 'numnames :=
  s #1 "{ff }{vv }{ll}{ jj}" format.name$
  numnames #1 >
    { s #2 "{ff }{vv }{ll}{ jj}" format.name$ 't :=
      numnames #2 >
      t "others" =
      or
        { " et~al." * }
        { " and " * t * }
      if$
    }
    'skip$
  if$
}

After cleaning and compiling the document again, the entries with at least 3 authors will change to First Author et al. [...]. This has been tested with the ACM LaTeX template (ACM-Reference-Format.bst).

Clone this wiki locally