오류: LaTeX 오류: 뭔가 잘못되었습니다. 아마도 \item이 누락되었을 수 있습니다.

오류: LaTeX 오류: 뭔가 잘못되었습니다. 아마도 \item이 누락되었을 수 있습니다.

동일한 문제에 대한 많은 게시물을 찾았지만 아무 것도 도움이 될 수 없습니다. 이 오류가 발생하는 이유를 알아내도록 도와주실 수 있나요? 나는 다음을 사용하고 있습니다: IEEEtran.bstIEEEtran.cls. 해당 파일과 기본 .tex 파일은 모두 references.bib하나의 폴더에 있습니다. 스크립트를 컴파일하려고 하면 다음 오류가 발생합니다.

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

여기 있습니다 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}

그리고 내 test.tex:

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

\section{Test Citation}
\cite{logjam2015}

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

\end{document}

그리고 참고자료.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},
 }

답변1

문서에 no 또는 명령이 .bbl포함되어 있을 때 파일을 생성했습니다 . 이 오류는 매크로의 잘못된 재정의로 인해 발생합니다 .\cite\nociteIEEEtran.cls\endthebibliography

표준 클래스에는 다음과 같은 것이 있습니다.

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

이는 다음을 의미한다

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

하지만IEEEtran.cls

\let\endthebibliography\endlist

그것은 명백히 잘못된 것입니다.

고치면

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

그러면 빈 .bbl파일(즉, \bibitem명령이 없는 파일)도 오류가 아닌 경고만 생성합니다.

답변2

이미 논문에 을 추가했는데도 오류가 계속 나타나는 경우 \cite{something}보조 파일을 지워야 합니다.

세부적으로는,다음으로 끝나는 파일을 모두 삭제하세요..log .aux .bbl .blg. 그런 다음 문서를 다시 컴파일하면 짜잔!

답변3

빈 파일과 함께 정확히 동일한 오류 메시지가 표시되었습니다 .bbl. 저처럼 MiKTeX를 사용하신다면 모두 소문자로 \bibliographystyle{IEEEtran}변경해 보세요 . \bibliographystyle{ieeetran}그런 다음 BibTeX를 실행하세요. 마지막으로 익숙한 것을 실행하는 문서를 생성하십시오. 그것은 내 문제를 해결했습니다.

이 솔루션을 읽었습니다.https://ctan.org/pkg/ieeetran, 그들은 IEEEtran BibTeX 스타일의 최신 버전을 제공하며(그런데 다운로드할 필요가 없었습니다) TeX Live에 IEEEtran으로 포함되어 있다고 지정했습니다.MiKTeX ieeeetran 역.

답변4

내 경우에는 BibTex BBL 파일의 컨텍스트에 있었는데 검사 결과 비어 있었습니다.

분명히 Overleaf는 .bib 파일의 이름을 로 보고했고 Mendeley.bib나는 포함시켰지만 \bibliography{Mendeley}파일은 자동으로 발견되지 않았습니다.

해결책:.bib 파일의 이름을 모두 소문자로 바꾸고 \bibliography일치하도록 항목을 업데이트했는데 모든 것이 예상대로 작동했습니다.

관련 정보