[Tex/LaTex] LaTeX stopped building a BibTeX bibliography, how to troubleshoot it

bibtex

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:

enter image description here

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

  1. latex - to generate the aux file
  2. bibtex - to generate a bbl file which contains information about the specific references mentioned in the aux file, formatted correctly
  3. latex - to incorporate the information in the bbl file into your typeset document
  4. possibly latex again, to fix any cross-referencing problems introduced when all the citations were included

Looking 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.