Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Normally, I'm basically OK with BibTeX's choice of citation key (by which I mean, the short symbol it shows in the final document, like [2] or [Hil05], not the one one types in the tex file), but every once in a while there's a paper that cries out for a particular key (such as the paper of Freyd, Hoste, Lickorish, Millet, Ocneano and Yetter in which the HOMFLY polynomial is defined clearly should have the key [HOMFLY], not [FHL+95]), or BibTeX picks a particularly bad one.

In these cases, is there a field one can insert into the bibtex entry to override the key choice, or something one can do other than editing the .bbl file?

share|improve this question

4 Answers 4

Using biblatex, you may add the shorthand field:

\documentclass{article}

\usepackage[style=alphabetic]{biblatex}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  shorthand = {Author},
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\printbibliography

\end{document}

enter image description here

share|improve this answer

If you use the natbib package, you can declare an "alias" or alternative citation for a source:

For example, the following .bib entry:

@techreport{caltrans2002,
    Author = {{California Department of Transportation}},
    Title = {{Humboldt Bay Bridges Seismic Substructure Retrofit Environmental  Assessment/Finding of No Significant Impact (EA/FONSI)}},
    Year = {2002}}

Produces the following output when \citep{caltrans2002} used in a document:


Example citation without alias.


Having a citation that spans most of a line can be pretty bothersome- especially when the full name has to appear in the bibliography but there is a nice shorthand that should be used when citing in the text. By including \usepackage{natbib} in your preamble, you have access to citation aliases:

\defcitealias{caltrans2002}{\scshape CalTrans, 2002}

Then using \citepalias{caltrans2002} instead of \citep{caltrans2002} produces the following output:


Example citation using an alias.


In both cases, the associated entry in the bibliography looks like this:


Example bibliography text.


The LaTeX and BibTeX source I used to create this example can be obtained from GitHub.

share|improve this answer

There's actually a pretty good answer over at Stack Overflow: Is there a way to override a bibtex style file for a particular entry?.

The fact that the programming language BibTeX style files (.bst) are written in is called BAFLL may alert you to the fact that this sort of problem is a pain to deal with.

share|improve this answer

Alternatively, you can modify your .bbl file by hand. You could even use sed to automatically make the desired change after each time you regenerate the .bbl file using BibTeX --- I can show you the details if you like (ask a new question?).

share|improve this answer
5  
Just edit the sed-fu into this answer. –  Novelocrat Jul 27 '10 at 1:03
    
I don't see how this is possible; a bibtex produced .bbl file contains nothing at all about (shorthand) cite labels; see e.g. tex.stackexchange.com/questions/154215/… ... if you meant changes in the .bst, that is something else altogether. –  sdaau Sep 5 at 20:26

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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