[Tex/LaTex] How to force a specific entry to be first in the bibliography

bibliographiesbibtexsorting

I'm writing a paper and I need a specific entry in the bibliography go first in the list. The rest of entries should be sorted as usual. I use plain bibliography style and an external .bib file.

For example: there are three authors: Jack Alien, John Bravo and Ally Complex and their papers will be sorted in references as [1] Alien, [2] Bravo, [3] Complex. But I'd like it to be: [1] Complex, [2] Alien, [3] Bravo.

I know, that I can do something like in How to change order of a bibliography style manually (bilingual bibliography), but the single .bib file is used in many projects and in those projects the references should be sorted in standard way.

So, how to accomplish, that a specific reference will be placed first in the bibliography?

Best Answer

For a one-off document where there is only one (or very few) entries that require special sorting treatment, it is not unreasonable to create a 'special' entry and use that entry instead.

\documentclass[12pt]{article}
\usepackage{natbib}
\newcommand{\noop}[1]{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{adams1986,
  author =   {Adams, Anthony},
  title =    {Article Title},
  journal =  {Journal},
  year =     1986,
  volume =   46,
  pages =    {1--35},
}
@Article{zedson2013,
  author =   {Zedson, John},
  title =    {Zarticle title},
  journal =      {Journal},
  year =     2013,
  volume =   22,
  pages =    {141--181},
}
@Article{zedson2013-special,
  author =   {{\noop{AAA}}Zedson, John},
  title =    {Zarticle title},
  journal =      {Journal},
  year =     2013,
  volume =   22,
  pages =    {141--181},
  annote =       {NOTE: use for special sorting},
}
\end{filecontents}
\begin{document}

\cite{adams1986}
\cite{zedson2013}
\cite{zedson2013-special}

\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}

If you use biber, an easy way to achieve unorthodox/special sorting is to add a sortkey = {<sortkey>} to the entry in question. From the biblatex manual (§ 2.2.3):

A field used to modify the sorting order of the bibliography. Think of this field as the master sort key. If present, biblatex uses this field during sorting and ignores everything else, except for the presort field. Please refer to § 3.5 for further details. This field is consumed by the backend processing and does not appear in the .bbl.

If only using (an alphabetical) biblatex (style) with BibTeX as the backend, you can do something similar by utilizing the sortname field.