I am writing for the first time in LaTeX. The bibliography was a bit flaky at first, but it worked – I got the citation numbers in the text, and the references listed at the end of the document. At some point however, LaTeX stopped recognizing citations, and I have no idea what caused it.
The compiled document has a question mark instead of a citation number:
And the log file warns me that it doesn't find the citations.
LaTeX Warning: Citation `Alexander2009' on page 1 undefined on input line 22. LaTeX Warning: Citation `Sutcliffe2011' on page 1 undefined on input line 22.
However, I have defined the citations, and they look exactly like all the examples I could find for correct citations.
Preamble:
\documentclass{llncs} \usepackage{array} \usepackage{colortbl} \usepackage{rotating}
The paragraphs which include a citation look like that:
Requirements engineering (RE) methods are usually based on information about the stakeholders' business goals, business processes and organization structure~\cite{Alexander2009}. Only a few approaches take ``soft issues'' such as values, emotions, and motivation of the users in consideration. However, there is a trend emerging in RE, which encourages scientists and practitioners to pay attention to such issues, as evidenced for example by the tutorial on emotions in RE at the RE'11 conference~\cite{Sutcliffe2011}.
The document ends with
\section{References} \label{sec:references} \bibliographystyle{llncs} \bibliography{RefsQ12_sources-only}
And I tried all possible formats for citations in RefsQ12_sources-only.bib. The first item is manually entered in the fashion of some manual I found in the internet, the second one was entered in the TexmakerX GUI for creating new BibTex items, and the third is exported from Mendeley. None works.
@book{Alexander2009, address = "Chichester", author = "Alexander, Ian and Beus-Dukic, Ljerka", edition = "1", isbn = "978-0470712405", pages = "457", publisher = "Wiley", title = "Discovering Requirements", year = "2009" } @InProceedings{Sutcliffe2011, author = {Alistair Sutcliffe}, title = {Emotional Requirements Engineering}, booktitle = {19th IEEE conference on requirements engineering}, pages = {321--322}, year = {2011}, } @article{Schwartz1990, author = {Schwartz, S H and Bilsky, W}, journal = {Journal of personality and social psychology}, number = {5}, pages = {878--891}, publisher = {American Psychology Association}, title = {{Toward a theory of the universal content and structure of values: Extensions and cross-cultural replications}}, volume = {58}, year = {1990} }
I use MikTex with TexmakerX, but I also compiled from the command line and got the same result.
When I removed the BibTex reference and used a thebibliography
environment instead, the citations worked. However, I prefer to use a BibTex file, because then I can export all the data from Mendeley, instead of building the whole bibliography pre hand. Any ideas what went wrong?
Best Answer
Summarised (and expanded) from comments above:
BibTeX uses the aux file written by LaTeX (showing where you want to cite what) together with a bst file (containing stylistic information - such as plain.bst) and a bib file (containing bibliographic information about any document you might want to reference). So a workflow from the command line might look like
latex
- to generate the aux filebibtex
- to generate a bbl file which contains information about the specific references mentioned in the aux file, formatted correctlylatex
- to incorporate the information in the bbl file into your typeset documentlatex
again, to fix any cross-referencing problems introduced when all the citations were includedLooking at the aux and bbl files along the way - and, as @Joseph pointed out, the blg file which is BibTeX's log - can help to troubleshoot problems.
For completeness as an answer: on this occasion it apparently turned out that the
bibtex
step wasn't working due to a typo in the name of the bst file.