我正在尝试在线提交论文,但由于在线编译器只运行一次 pdfLaTeX,因此 BibTex 出现错误。期刊建议将 .bbl 直接包含在 .tex 文件中,由于我使用的是 Overleaf,所以我遵循了这些方向。不幸的是,我未定义控制序列复制粘贴的 .bbl 文本有错误。
我的代码
\documentclass[titlepage, 10pt, a4paper, twocolumn]{article}
\usepackage{url}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{authblk}
\usepackage[backend=biber]{biblatex}
\usepackage{graphicx}
\usepackage[none]{hyphenat}
\usepackage{tikz}
\usepackage{mathtools}
\usepackage{standalone}
\usepackage{etoolbox}
\addbibresource{sample.bib}
\makeatletter
\patchcmd{\thebibliography}{
\chapter*{\bibname}\@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}}{
\section{References}}{}{}
\makeatother
...
\let\stdsection\section
\def\section*#1{\stdsection{#1}}
\printbibliography[title={References}]
\let\section\stdsection
我注释掉了从\addbibresource{sample.bib}
到\makeatother
和从\let\stdsection\section
到的所有内容\let\section\stdsection
,然后我将 .bbl 文件的内容粘贴到 下方...
。
除了其他问题之外,我在 Overleaf 中遇到的第一个错误是
l.401
\sortlist[entry]{nty/global/}
错误消息顶行末尾的控制序列从未被\def
'ed 过。如果拼写错误(例如,\hobx
'),请输入I
' 和正确拼写(例如,I\hbox
')。否则请继续,我会忘记未定义的内容。
我遗漏了什么?解释中没有提到我复制 .bbl 文件后必须包含任何额外的包,但现在看起来有数千个未定义的控制序列。
答案1
Overleaf 中的说明(https://www.overleaf.com/help/219) 专门用于基于 BibTeX 的书目。赫伯特的回答 Biblatex:向期刊投稿解释了如何使用 做类似的事情biblatex
。
然而,在大多数情况下,这不会按预期工作。与基于 BibTeX 的参考书目不同,其中文件.bbl
包含可排版的材料,biblatex
而 的.bbl
文件包含 LaTeX 可读格式的重新散列的原始数据。biblatex
的.bbl
文件的确切格式取决于biblatex
和 Biber 版本。.bbl
您机器上的文件只能由具有相同版本的系统理解biblatex
(嗯,实际上是相同的内部.bbl
文件版本;biblatex
开发仍在进行中,因此目前还没有稳定状态)。请参阅在两台机器上匹配 biblatex,让 arXiv 接受 BibTeX BBL(2018 年 5 月)和哪个 biblatex/biber 版本可以生成 BBL 格式 2.8?了解更多背景信息。
事实上,将文件复制biblatex
到.bbl
你的.tex
文档中会使你的文档便携性较差。通过在文件中使用内部命令,您可以有效地限制可以使用的.tex
可能版本,因为对这些内部宏的更改很敏感。另一方面,用户界面在高级功能方面是稳定的,并且通常以向后兼容的方式尝试更改(不幸的是,这并不总是奏效)。因此,虽然可以将包含在文件中,但通常弊大于利。biblatex
biblatex
biblatex
.bbl
.tex
此外,出版商不一定能处理biblatex
投稿(见约瑟夫的回答Biblatex:向期刊投稿)。对于期刊投稿,使用提供的类(如果有)或使用标准类和简单的 BibTeX 或手册通常更安全thebibliography
。
底线是,对于期刊投稿来说,最好的机会仍然是使用老牌的 BibTeX\bibliographystyle
和\bibliography
。
arXiv 的困难表明,如果出版商想要支持,biblatex
他们应该接受上传.bib
文件。用户提交的.bbl
文件只会导致版本冲突和麻烦。然而,这意味着他们必须在提交的文件上运行 LaTeX 和 Biber,这将大大复杂化他们的工作流程。我不认为这种情况会很快发生。
请注意,使用 BibTeX 作为后端biblatex
与使用 Biber 存在同样的问题,因为文件的用途.bbl
相同,格式仅略有不同,因此简单地切换backend=bibtex
到biblatex
不会带来可衡量的改进。