2

Consider the following MWE:

\documentclass{scrartcl}

\usepackage{textcase}
\usepackage{natbib}

\begin{document}
    Some reference: \citet{ABC}

    Some other reference: \MakeTextLowercase{\citet{ABC}}

    \bibliographystyle{plainnat}
    \bibliography{literature}
\end{document}

The file literature.bib looks like this:

@Book{ABC,
    Title="ABC",
    Author="Me",
    Year="2015",
    Publisher="Me"
}

The result is that BibTeX cannot find the second reference and outputs

Case mismatch error between cite keys abc and ABC

Searching on tex.stackexchange, I found out what the problem is: BibTeX binds the corresponding BibTeX-entry to the key 'ABC' since it occurs under this name first. When it reaches the second citation, it will not search for 'ABC' but for 'abc', which is an unknown key. How can I tell LaTeX and/or BibTeX not to search for 'abc' but for 'ABC'?

Although the example seems to be quite pathological, it indeed occurs in practice when I use a citation in a theorem label, which is converted to lower case in my style (ClassicThesis + ArsClassica).

  • 1
    Can you provide a MWE? I just tried an example and it worked fine. Do we talk about textcase's \MakeTextLowercase? What package do you use for citations? – moewe Sep 29 '15 at 14:54
  • I added a MWE to the question above, thanks for the remark. Indeed, I'm talking about textcase's \MakeTextLowercase and I use natbib for citations. – user1742364 Sep 30 '15 at 7:54
  • Yes, with natbib you run into trouble, the same if you use biblatex (though I thought I had checked that earlier). If you don't use any citation package, we are fine. I think one could solve this problem with some expansion magic, but unfortunately, I wasn't able to get anything going. – moewe Sep 30 '15 at 14:59

Your Answer

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

Browse other questions tagged or ask your own question.