我写了一本书。我需要创建一个参考书目列表。我遵循了手册的建议,但没有成功。
在声明部分我使用了\usepackage{biblatex}
。
然后,我引用一些参考资料
Abba abba abba \cite{ddd} often dark
\begin{thebibliography}
\bibitem{ddd} abbbbba
\end{thebibliography}
在 MikTex 22.7 中编译后我收到以下警告:
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (MiKTeX 22.7) (preloaded format=pdflatex.fmt)
restricted \write18 enabled.
entering extended mode
(C:/Users/i-5/Desktop/untitled-1.tex
LaTeX2e <2022-06-01> patch level 5
L3 programming layer <2022-07-04>
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/base\book.cls
Document Class: book 2021/10/04 v1.4n Standard LaTeX document class
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/base\bk10.clo))
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\biblatex.sty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/generic/pdftexcmds\pdftexcmds.s
ty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/generic/infwarerr\infwarerr.sty
) (C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/generic/iftex\iftex.sty)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/generic/ltxcmds\ltxcmds.sty))
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/etoolbox\etoolbox.sty)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/graphics\keyval.sty)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/kvoptions\kvoptions.sty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/generic/kvsetkeys\kvsetkeys.sty
)) (C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/logreq\logreq.sty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/logreq\logreq.def))
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/base\ifthen.sty)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/url\url.sty)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\blx-dm.def)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\blx-compat.def)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\biblatex.def)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex/bbx\numeric.bbx
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex/bbx\standard.bbx
))
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex/cbx\numeric.cbx)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\biblatex.cfg)
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/l3kernel\expl3.sty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/l3backend\l3backend-pdfte
x.def))
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex\blx-case-expl3.s
ty
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/l3packages/xparse\xparse.
sty)))
No file untitled-1.aux.
(C:\Users\i-5\AppData\Local\Programs\MiKTeX\tex/latex/biblatex/lbx\english.lbx)
No file untitled-1.bbl.
LaTeX Warning: Citation 'ddd' on page 1 undefined on input line 6.
[1{C:/Users/i-5/AppData/Local/MiKTeX/fonts/map/pdftex/pdftex.map}] [2]
Runaway argument?
{\settowidth \labelwidth {\@biblabel {
! Paragraph ended before \list was complete.
<to be read again>
\par
l.9
-----------
怎么了?
答案1
您提供了一些代码片段和日志文件的长段摘录,但没有提供以 开头\documentclass
和结尾的可编译测试文档\end{document}
。您提到您“遵循手册建议”。但是,由于您没有告诉我们您参考了哪些手册(可能是某个随机博主的 YouTube 帖子?),因此猜测毫无意义哪个手册可能会误导你。
我不得不对您实际要做的事情做出一些有根据的猜测。为了便于讨论,我们来考虑以下测试文档,我认为它涵盖了可用测试文档的大部分相关元素:
\documentclass{book}
\usepackage{biblatex}
\begin{document}
Abba abba abba \cite{ddd} often dark
\begin{thebibliography}
\bibitem{ddd} abbbbba
\end{thebibliography}
\end{document}
令人放心的是,在 pdfLaTeX 下编译此测试文档会生成以下“LaTeX 警告”消息:
LaTeX Warning: Citation `ddd' on page 1 undefined on input line 6.
即完全相同的根据日志文件中报告的内容,即,
LaTeX Warning: Citation 'ddd' on page 1 undefined on input line 6.
那么,到底发生了什么?我认为至少两个,单独的问题。
首先,如果您打算手动创建参考书目,即通过提供
thebibliography
包含各种\bibitem
指令的环境,您应该在任何情况下都不加载biblatex
包。相反,您需要做的是 (a) 停止加载包biblatex
和 (b) 提供环境所需的参数thebibliography
。此参数应为整数,您可以按如下方式选择其值:如果参考书目包含的条目少于 10 个,则将其用作9
参数;如果条目多于 9 个但少于 100 个,则将其用作99
参数;等等。果然,如果我将测试文档更改为
\documentclass{book} \begin{document} Abba abba abba \cite{ddd} often dark \begin{thebibliography}{9} \bibitem{ddd} abbbbba \end{thebibliography} \end{document}
文档编译良好,生成了数字样式的引用标注
\cite{ddd}
,并且Bibliography
章节(位于 pdf 文件的后面)显示了一个条目,内容为abbbbba
。显然,实际文档需要更加真实。其次,你加载这个包这一事实本身
biblatex
就强烈地表明你确实不是实际上打算手工创建书目。如果确实如此,请摆脱整个
thebibliography
环境,并花时间学习如何使用软件工具为 LaTeX 文档创建参考书目的基础知识。根据您的格式和引用需求,您可能可以采用较旧的 BibTeX 方法,或者您可能会发现采用相当新且功能更强大、用途更广的 biblatex/biber 方法会更有利。这两种方法有很多相似之处,但也在重要方面有所不同。什么是“最佳”方法你取决于您的特定格式需求——到目前为止您还没有告诉我们任何相关信息。