8

This is where the problem lies:

What I would think should not work: \cite{jaeger2006a} 
What should work: \cite{Jaeger2006a} 

See Andrew Swann's answer for the detailed explanation. In short use either one of the citations throughout your entire document. Do not mix.


Original

In my bibliography I have one entry that is acting a bit strange and I can not seem to figure out why. Sadly reproducing it completely has proven to be a bit of a problem to but maybe solving the problem with the example below will take care of my real issue to (more below).

I get:

Citations in text

with this code:

\begin{filecontents}{test.bib}
@inbook{Jaeger2006a,
Author = {Axel-V. J{\"a}ger},
Chapter = {Optimale Raumtemperaturen liegen zwischen $20^{\circ}C$ und $26^{\circ}C$},
Date-Added = {2007-06-15 01:11:14 +0200},
Date-Modified = {2014-05-21 08:57:26 +0000},
Edition = {1.},
Keywords = {Deutsch, Indoor climate,},
Pages = {13-26},
Publisher = {Manfred Stahl},
Title = {10 Goldene Regeln f{\"u}r gute L{\"u}ftung, Klima und Behaglichkeit},
Year = {2006}}
\end{filecontents}

\documentclass[16pt,a4paper,openbib,notitlepage]{book} %twocolumn,
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\begin{document}

What I would think should not work: \cite{jaeger2006a} 

What should work: \cite{Jaeger2006a} 

\nocite{*} %Even non-cited BibTeX-Entries will be shown.
\bibliographystyle{plainnat} 
% plainnat
% plain
\bibliography{test.bib}
\end{document}

However if anything the first citation should have the problem, not the second (capital first letter).

Can you explain me what is going on here?


Background to the question

In my main document everything is working fine and the citation is as it should be. In another document (that uses the exact same bib file - and the citation has been copied from the other document) I get the following error:

This is BibTeX, Version 0.99d (TeX Live 2013)
The top-level auxiliary file: No-cite.aux
Case mismatch error between cite keys Jaeger2006a and jaeger2006a
---line 35 of file No-cite.aux
 : \citation{Jaeger2006a
 :                      }
...

I have tried to completely reenter the citation in the bibliography and to change the capital first letter. Interestingly using jaeger... instead of Jaeger... does not help in this case as it does in the example above.

I have also made sure that I do not have jaeger2006a in my Bibtex library at all. There is only Jaeger2006a.

  • \bibliographystyle must be in preamble. Use Author = {J{\"a}ger, Axel-V.}, for the author.. – user10274 May 21 '14 at 9:40
  • @MarcvanDongen: No, not with bibtex. But one shouldn't add the extension .bib with bibtex, in miktex this leads to an error. – Ulrike Fischer May 21 '14 at 9:44
  • @MarcvanDongen I did not know that. It also does work as is for any case I have had thus far. I have however moved it to the preamble now but that did not change anything. The Autor = ... is the way BibDesk stores the information in the bib-file. So shouldn't that be ok? – MatoBehr May 21 '14 at 9:47
  • @UlrikeFischer When I tried the original source with BibTeX it didn't work. Moving the \bibliographystyle to the preamble resolved the problem. – user10274 May 21 '14 at 9:47
  • 1
    Isn't this inconsistency in being case specific a bad bug? It has lost me hours on at least two occasions with very little error reporting to go on. Is there a way of checking that all the keys have consistent cases? Perhaps something I could add to my standard preamble, or an update I can install. I'm sure in a few months I will make this mistake again and forget what the problem is. – Chogg Aug 8 '14 at 19:22
10

From Tame the BeaST

BibTEX will complain if two entries have the same internal key, even if they aren’t capitalized in the same way. For instance, you cannot have two entries named Example and example.

In the same way, if you cite both example and Example, BibTEX will complain. Indeed, it would have to include the same entry twice, which probably is not what you want;

When bibtex meets the first key it takes its representation including case, and finds a bibentry that matches, but ignoring case. When it meets the same key with the same case in a later cite command then bibtex will accept this. If you try to use the same key but with different case it will trigger the complaint you see and it will not be matched with a bibliography entry.

Moral: be consistent with your keys.

  • But i don't have two identical keys. I have explicitly checked the entire bibliography and the thing closest to Jaeger2006a I do have is Jeong2007f. So that should not be a problem. The whole thing had also surprised me as I have previously been using for example jeong2007f with no problems. – MatoBehr May 21 '14 at 9:50
  • Generally my keys are generated by BibDesk as: %a1%Y%u1 being the first authors name + Year (4digits) + one letter (I am just hopping I will not have more than 26 sources by the same first author in one year :-) – MatoBehr May 21 '14 at 9:53
  • @MatoBehr You do have two identical keys in the LaTeX file, differing only for the case of letters. That's the source of the problem. – egreg May 21 '14 at 9:59
  • @MatoBehr: But you do have two slightly different cite commands. bibtex encounters the first, sees the case missmatch and tries to help you by adjusting the bib database but now the second cite command fails. If you change their order it will be the other way round. – Ulrike Fischer May 21 '14 at 10:00
  • @egreg I have just reread the original answer and got it now. Thanks. Turns out that was also the problem in my real case. – MatoBehr May 21 '14 at 10:01

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.