11

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?

5
  • 1
    Apologies if this is obvious, but are you actually running BibTeX between LaTeX runs? It looks like your new references are not making it into the .bbl file, which is BibTeX's job.
    – Ant
    Commented Sep 22, 2011 at 10:02
  • Normally, I just use "Quick build" from the menu. Now I tried to run "BibTeX" and got the messages Process started: bibtex "Refsq12_mit-bib and Process exited normally. The .bbl file, however, is empty, even after several tries.
    – rumtscho
    Commented Sep 22, 2011 at 10:36
  • Can you post you .blg (BibTeX log) file?
    – Joseph Wright
    Commented Sep 22, 2011 at 10:56
  • 2
    I'm afraid I don't use TexmakerX so don't know what "Quick build" does, but from the command line the workflow would be latex to generate an aux file, then bibtex to generate the bbl, and then latex again (possibly twice to be safe in case adding the reference text changed page numbers etc.). Does this work? If not perhaps you could edit your question to show at which stage this process fails.
    – Ant
    Commented Sep 22, 2011 at 11:05
  • 2
    @Ant I solved it. Choosing "BibTeX" from the menu is supposed to run bibtex, but it gave me the messages above. When I ran it from command line as you described, it produced some error messages which led me to find the problem (I had a typo in the name of the .bst file, but as Texmaker seems to be slow to notice changes in the bibliography, just compiling with \bibliographystyle{plain} from inside Texmaker hadn't solved it before). Anyway, it would be nice if you can combine the info from your comments (looking at bbl file, correct compiling sequence) so I have something to accept.
    – rumtscho
    Commented Sep 22, 2011 at 11:54

3 Answers 3

11

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.

1

I know this post is about a year old, however I had right now the same problem. My TexMaker though was not configured to have the right path to the bibtex executable in its BibTeX command under Options->configure TexMaker. I use Ubuntu and I had to put the right path, otherwise the file .aux that bibtex uses to create the file .bbl that makes this appear in your final pdf document.

0

In my case, the problem arose because I was using bibentry with backref and a non-standard style. Making the macro global did not work. Since I generate the .bst file with custom-bib and I did not want to delete the macro code directly in the .bst file, I copied the code as follows:

\global\def\bibAnnoteFile{}
\renewcommand{\bibAnnoteFile}[1]{%
    \IfFileExists{#1}{\begin{quotation}\noindent\textsc{Key:} #1\\
            \textsc{Annotation:}\ \input{#1}\end{quotation}}{}}

I am not even sure, what that macro is supposed to do. Probably the cleanest way would be to correctly configure custom-bib.

2
  • 1
    Welcome to TeX.SE!
    – Mensch
    Commented Feb 3, 2023 at 17:18
  • Maybe you can expand your answer a bit and explain what you did and how exactly this would solve the OP‘s problem (or a variation of it)? Commented Feb 4, 2023 at 20:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .