书中参考书目

书中参考书目

我写了一本书。我需要创建一个参考书目列表。我遵循了手册的建议,但没有成功。

在声明部分我使用了\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 方法会更有利。这两种方法有很多相似之处,但也在重要方面有所不同。什么是“最佳”方法取决于您的特定格式需求——到目前为止您还没有告诉我们任何相关信息。

相关内容