39

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)
    • IEEEabrv.bib (downloaded, thought it might be necessary)
    • IEEEtran.bst (downloaded, thought it might be necessary)
    • 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}  
\usepackage[noadjust]{cite}  

\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}
0

2 Answers 2

22

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), then once with BibTex, and then twice with LaTeX again to incorporate the bibliography and correct in-text referencing.

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.

4
  • 2
    Actually, you need to compile once with LaTeX, once with BibTex and then twice with LaTeX.
    – Agostino
    Apr 15, 2015 at 22:59
  • 2
    If you have done both points outlined in the answer but continue getting this error, try deleting the .bbl file and then compiling for it to be generated again. In my case the .bbl file was not updated when I added a citation to the .bib file. Of course this can be avoided if you use a makefile correctly.
    – hb20007
    Feb 17, 2017 at 15:14
  • in case someone has try this and keep getting error try to delete all generated files that is .pdf, .aux, .bbl, .blg, .log and keep only .tex and .bib, then try again. Oct 20, 2018 at 14:25
  • If nothing helps, try compiling once without IEEEabrv by issuing \bibliography{bibfile} instead of \bibliography{IEEEabrv,bibfile}
    – droid192
    May 24, 2019 at 21:21
15

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}
\usepackage[noadjust]{cite}

\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}

enter image description here

9
  • 1
    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? Feb 22, 2013 at 14:43
  • 2
    @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, 2013 at 0:20
  • So I should use '\bibliographystyle{IEEEtran} \bibliography{IEEEabrv,mybibfile}'? Feb 24, 2013 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. Feb 24, 2013 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, 2013 at 11:08

You must log in to answer this question.

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