44

I found a lot of posts about the same problem but none could help. Can you please help me figure out why I am getting this error? I am using: IEEEtran.bst and IEEEtran.cls. Both of those files and the main .tex file and the references.bib are in one folder. When I try to compile my script, I get this error:

test.bbl(24): Error: LaTeX Error: Something's wrong--perhaps a missing \item.

Here is test.bbl:

% Generated by IEEEtran.bst, version: 1.12 (2007/01/11)
\begin{thebibliography}{}
\providecommand{\url}[1]{#1}
\csname url@samestyle\endcsname
\providecommand{\newblock}{\relax}
\providecommand{\bibinfo}[2]{#2}
\providecommand{\BIBentrySTDinterwordspacing}{\spaceskip=0pt\relax}
\providecommand{\BIBentryALTinterwordstretchfactor}{4}
\providecommand{\BIBentryALTinterwordspacing}{\spaceskip=\fontdimen2\font plus
\BIBentryALTinterwordstretchfactor\fontdimen3\font minus
  \fontdimen4\font\relax}
\providecommand{\BIBforeignlanguage}[2]{{%
\expandafter\ifx\csname l@#1\endcsname\relax
\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%
\typeout{** loaded for the language `#1'. Using the pattern for}%
\typeout{** the default language instead.}%
\else
\language=\csname l@#1\endcsname
\fi
#2}}
\providecommand{\BIBdecl}{\relax}
\BIBdecl

\end{thebibliography}

And my test.tex:

\documentclass[conference]{IEEEtran}
\begin{document}

\section{Test Citation}
\cite{logjam2015}

% ---- Bibliography ----
\bibliographystyle{IEEEtran}
\bibliography{references}

\end{document}

And the references.bib

@inproceedings{logjam2015,
 author               = {Adrian, David and Bhargavan, Karthikeyan and Durumeric, Zakir and Gaudry, Pierrick and Green, Matthew and Halderman, J. Alex and Heninger, Nadia and Springall, Drew and Thom{\'e}, Emmanuel and Valenta, Luke and VanderSloot, Benjamin and Wustrow, Eric and Zanella-B{\'e}guelin, Santiago and Zimmermann, Paul},
 booktitle            = {Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security (CCS '15)},
 pages                = {5-17},
 title                = {{I}mperfect {F}orward {S}ecrecy: {H}ow {D}iffie-{H}ellman {F}ails in {P}ractice},
 url                  = {http://doi.acm.org/10.1145/2810103.2813707},
 year                 = {2015},
 }
4
  • 5
    Your bbl file has no \bibitem. Regenerate it running BibTeX; you need at least one \cite (or \nocite) command in your document.
    – egreg
    Jan 28, 2017 at 18:28
  • 0 down vote There is no point in trying to fix this as the reason this is happening is because the IEEE website gives you a template with an old IEEEtran.bst file. Please update it from ctan.org/tex-archive/macros/latex/contrib/IEEEtran/bibtex Aug 21, 2017 at 13:43
  • I had similar problems -- which says "LaTeX Error: Something's wrong--perhaps a missing \ite m." in Revtex -- but somehow in my case, I need to remove \center in the \begin{figure} ...\end{figure}
    – wonderich
    Jan 3, 2019 at 20:38
  • @egreg you saved my life!
    – Tack_Tau
    Sep 22, 2021 at 0:33

5 Answers 5

48

You have generated the .bbl file at a time when your document contained no \cite or \nocite command. The error derives from a bad redefinition made by IEEEtran.cls of the \endthebibliography macro.

The standard classes have something like

\newenvironment{thebibliography}[1]
     {[irrelevant code omitted]}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}

which implies

\def\endthebibliography{%
  \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  \endlist
}

but IEEEtran.cls has

\let\endthebibliography\endlist

which is plainly wrong.

If you fix it

\documentclass[conference]{IEEEtran}

\makeatletter
\def\endthebibliography{%
  \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  \endlist
}
\makeatother

\begin{document}

\section{Test Citation}
\cite{logjam2015}

% ---- Bibliography ----
\bibliographystyle{IEEEtran}
\bibliography{references}

\end{document}

then also an empty .bbl file (that is, with no \bibitem command) will just produce a warning and not an error.

6
  • 4
    this saved my sanity while on a deadline for a paper submission :)
    – meetaig
    Mar 22, 2019 at 22:06
  • 1
    @meetaig You're welcome!
    – egreg
    Mar 22, 2019 at 22:11
  • Note it could also happen when using software and not compiling by yourself when compiling the wrong tex (e.g. supplementary) that has no citations
    – borgr
    Oct 29, 2019 at 12:54
  • Genius! I was searching around for more than 1 hour.. I am pretty new in LaTex/Overleaf Sep 8, 2020 at 16:52
  • 1
    @QGravity Sorry, but with a different class the problem might be in some other place. Please, open a new question with the details of your setup.
    – egreg
    Nov 24, 2020 at 8:26
10

In case the error keeps presenting even you already added a \cite{something} in your paper, then you have to clear the auxiliary files.

In details, delete any files ended with .log .aux .bbl .blg. Then compile the document again and voila.

2
4

I had exactly the same error message, with an empty .bbl file. If you are using MiKTeX like me, you can try to change \bibliographystyle{IEEEtran} with \bibliographystyle{ieeetran} with all lower case. Then run BibTeX. Finally generate your document running what you are used to. It solved my problem.

I found this solution reading https://ctan.org/pkg/ieeetran, where they provide the latest version of the IEEEtran BibTeX style (which I didn't need to download by the way), and specified that it is contained in TeX Live as IEEE­tran and in MiKTeX as ieee­tran.

1
  • I was searching for the solution to this more than 30 minutes, thx!
    – rogergo
    Jul 1, 2020 at 19:08
3

For me, there was no content in the latex files so by just including a temporary citation in the paper solved the problem.

2

In my case, this was in the context of a BibTex BBL file, which, upon inspection was empty.

Apparently, Overleaf reported the .bib file's name as Mendeley.bib and I included \bibliography{Mendeley}, but the file was silently not found.

Solution: I renamed the .bib file to all lower case and updated the \bibliography entry to match and everything worked as expected.

Not the answer you're looking for? Browse other questions tagged or ask your own question.