# Using references to a .bib file when using IEEEtran

I'm writing an article that is supposed to be written using the IEEE Manuscript Templates for Conference Proceedings. I downloaded the latex templates from here, and used the bare_conf.tex as a template to my article tex file, myArticle.tex.

I did not remove any code (only comments), and started slowly exchanging the template content with real content. I started to work references into my article, so as the IEEEtran_HOWTO.pdf file advised me, I added the lines \bibliographystyle{IEEEtran} \bibliography{IEEEabrv,mybibfile} to my code, and created a .bib file, currently containing only a single item (see below).

However, when I added the \cite command to my code, referencing the cite key of my single entry, I received the following error and warning:

! LaTeX Error: Something's wrong--perhaps a missing \item.
LaTeX Warning: Citation 'jj2' on page 2 undefined on input line 70.
LaTeX Warning: There were undefined references.

I'm trying to understand what is it that I'm doing wrong, but so far unsuccessfully. Here are all relevant details that I can think of:

1. My installation: My OS is Windows XP SP3. I'm using Texmaker 3.5.2 as my Tex editor, and MikTex 2.9 as my Tex compiler. The package bibtex is installed, and all my packages are updated as of today.

2. My working folder contains the following files:

• IEEEtran.cls (copied from the template's folder)
• myArticle.tex
• myArticle.pdf
• myArticle.aux
• myArticle.bbl
• myArticle.blg
• myArticle.bcf
• myArticle.log
• myArticle.synctex.gz
• myArticle.run.xml
• bibi.bib
3. This is how my .tex file looks like:

\documentclass[conference]{IEEEtran}
\hyphenation{op-tical net-works semi-conduc-tor}

\begin{document}
\bibliographystyle{IEEEtran}
\bibliography{IEEEabrv,bibi}
\title{My Article's Title}

\author{\IEEEauthorblockN{****}
\and
\IEEEauthorblockN{****}
}
\maketitle

\begin{abstract}
The abstract goes here.
\end{abstract}
\IEEEpeerreviewmaketitle

\section{Introduction}
My intro... blah blah \cite{jj2}.

\section{Conclusion}
The conclusion goes here.

\section*{Acknowledgment}

\end{document}

4. My bibi.bib file:

@ARTICLE{jj2,
author = {Andreas Junghanns and Jonathan Schaeffer},
title = {Sokoban: Enhancing general single-agent search methods using domain      knowledge},
journal = {Artificial Intelligence},
year = {2001},
volume = {129},
pages = {219-251}
}

Edit: My code after changing like percuße suggested (I still get the same error):

\documentclass[conference]{IEEEtran}

\hyphenation{op-tical net-works semi-conduc-tor}

\title{title}

\author{\IEEEauthorblockN{Researcher 2}\and
\IEEEauthorblockN{Researcher 1} }

\begin{document}
\maketitle

\begin{abstract}
The abstract goes here.
\end{abstract}

\section{Introduction}
blah blah \cite{jj2}.

\section{Conclusion}
The conclusion goes here.

\bibliographystyle{IEEEtran}
\bibliography{bibi}

\end{document}
-

I found that there are two things that I found are necessary to make the IEEEtran class compile:

1. There needs to be a at least one correct citation in your document one in your bib (in your case, bibi.bib) file.
2. In the tool chain, you need to compile with LaTeX (or equivalently PdfLaTeX) twice, then once with BibTex, and then with LaTeX again to incorporate the bibliography.

If either of these two things is not the case, I also get the same LaTeX Error: Something's wrong--perhaps a missing \item error. Bizarrely, with a single citation it works for me, but after commenting it out it crashes again.

The apparent reason for this is that the IEEEtran class doesn't like empty bibliographies and can't deal with that. I haven't been able to find an underlying reason for that, though, nor a way to fix it.

-
Actually, you need to compile once with LaTeX, once with BibTex and then twice with LaTeX. – Agostino Apr 15 '15 at 22:59

You only need to give your bib file name to the \bibliography command at the location where your bibliography should appear and compile as many times as needed.

\documentclass[conference]{IEEEtran}
\usepackage{filecontents}

\begin{filecontents*}{bibi.bib}
@ARTICLE{jj2,
author = {Andreas Junghanns and Jonathan Schaeffer},
title = {Sokoban: Enhancing general single-agent search methods using domain knowledge},
journal = {Artificial Intelligence},
year = {2001},
volume = {129},
pages = {219-251}
}
\end{filecontents*}

\hyphenation{op-tical net-works semi-conduc-tor}

\title{My Article's Title}

\author{Shay \\ \IEEEauthorblockN{some author afiliation}
\and
Pal5 \\ \IEEEauthorblockN{another affiliation}
}

\begin{document}
\maketitle

\begin{abstract}
The abstract goes here.
\end{abstract}
\IEEEpeerreviewmaketitle

\section{Introduction}
My intro... blah blah \cite{jj2}.

\section{Conclusion}
The conclusion goes here.

\section*{Acknowledgment}
We acknowledge the acknowledged acknowledgees.

\bibliographystyle{IEEEtran}
\bibliography{bibi}
\end{document}

-
I'm not sure I understand. Should I not use '\bibliographystyle{IEEEtran} \bibliography{IEEEabrv,mybibfile}' as instructed by the IEEEtran_HOWTO? And isn't the whole point of having a .bib file is to store your bibliography information outside of your .tex file? Because the way it's written here the whole contents of bibi.bib is included in the .tex file, isn't it? – ShayPal5 Feb 22 '13 at 14:43
@ShayPal5 Sorry, that part is only to create the bib file on-the-fly to show the example. Filecontents package is used to create a bib file because I didn't have it. You can remove that part from the answer and use your own bib file. – percusse Feb 23 '13 at 0:20
So I should use '\bibliographystyle{IEEEtran} \bibliography{IEEEabrv,mybibfile}'? – ShayPal5 Feb 24 '13 at 10:38
I don't get it - that is the only part of your answer that is different from my code. Obviously, it produced the same errors. – ShayPal5 Feb 24 '13 at 10:47
@ShayPal5 I didn't use IEEEabrv. And the bibliography declaration is at the end. That part in my answer only creates a .bib file that I didn't have. Title and author declarations are also out in the preamble so there are some differences. I can remove the filecontents part if you like to make it minimal. – percusse Feb 24 '13 at 11:08

## protected by Community♦Dec 16 '15 at 20:25

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.