Fehler: LaTeX-Fehler: Irgendetwas stimmt nicht – möglicherweise fehlt ein \item

Fehler: LaTeX-Fehler: Irgendetwas stimmt nicht – möglicherweise fehlt ein \item

Ich habe viele Beiträge zum gleichen Problem gefunden, aber keiner konnte helfen. Können Sie mir bitte helfen, herauszufinden, warum ich diesen Fehler bekomme? Ich verwende: IEEEtran.bstund IEEEtran.cls. Beide Dateien und die Haupt-.tex-Datei und die references.bibbefinden sich in einem Ordner. Wenn ich versuche, mein Skript zu kompilieren, bekomme ich diesen Fehler:

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

Hier ist 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}

Und meine test.tex:

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

\section{Test Citation}
\cite{logjam2015}

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

\end{document}

Und die Referenzen.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},
 }

Antwort1

Sie haben die .bblDatei zu einem Zeitpunkt generiert, als Ihr Dokument keinen \citeoder \nociteBefehl enthielt. Der Fehler ist auf eine fehlerhafte Neudefinition IEEEtran.clsdes \endthebibliographyMakros zurückzuführen.

Die Standardklassen haben so etwas wie

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

was impliziert

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

aber IEEEtran.clshat

\let\endthebibliography\endlist

was schlichtweg falsch ist.

Wenn Sie es reparieren

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

dann erzeugt auch eine leere .bblDatei (d. h. ohne Befehl) nur eine Warnung und keinen Fehler.\bibitem

Antwort2

Falls der Fehler weiterhin auftritt, obwohl Sie \cite{something}Ihrem Dokument bereits eins hinzugefügt haben, müssen Sie die Zusatzdateien löschen.

Im Detail,Löschen Sie alle Dateien mit der Endung.log .aux .bbl .blg. Dann kompilieren Sie das Dokument erneut und voilà.

Antwort3

Ich hatte genau dieselbe Fehlermeldung, mit einer leeren .bblDatei. Wenn Sie wie ich MiKTeX verwenden, können Sie versuchen, es durch Kleinbuchstaben zu ersetzen \bibliographystyle{IEEEtran}. \bibliographystyle{ieeetran}Führen Sie dann BibTeX aus. Erstellen Sie schließlich Ihr Dokument mit der von Ihnen gewohnten Methode. Das hat mein Problem gelöst.

Ich fand diese Lösung beim Lesenhttps://ctan.org/pkg/ieeetran, wo sie die neueste Version des IEEEtran BibTeX-Stils bereitstellen (den ich übrigens nicht herunterladen musste) und angeben, dass er in TeX Live als IEEEtran und inMiKTeX als ieeetran.

Antwort4

In meinem Fall geschah dies im Kontext einer BibTex-BBL-Datei, die bei der Überprüfung leer war.

Offenbar hat Overleaf den Namen der BIB-Datei als gemeldet Mendeley.bibund ich habe eingefügt \bibliography{Mendeley}, aber die Datei wurde stillschweigend nicht gefunden.

Lösung:Ich habe die .bib-Datei vollständig in Kleinbuchstaben umbenannt und den \bibliographyEintrag entsprechend aktualisiert und alles hat wie erwartet funktioniert.

verwandte Informationen