使用带有 acm bbx 样式的 biblatex 时,未定义控制序列 \bibfont ->\bibliofont\footnotesize

使用带有 acm bbx 样式的 biblatex 时,未定义控制序列 \bibfont ->\bibliofont\footnotesize

当我使用 xelatex 生成 PDF 文件并使用时,我发现一个非常奇怪的错误任何ACM 风格与 Biblatex 和任何后端(我尝试过 biber、bibtex 和 natbib)。

这是我重现的简单示例:

\documentclass[a4paper,titlepage,bibliography=totoc,parskip=full]{scrartcl}
\usepackage[backend=biber,sorting=none,dateabbrev=false,style=acmauthoryear]{biblatex}
\usepackage{lipsum}
\addbibresource{references.bib}
\title{Example}

\begin{document}

\lipsum \cite{5952536}

\printbibliography
\end{document}

(您可以尝试使用bib文件中的任何引用,这无关紧要)。这是我用来编译文档的内容:

latexmk -xelatex -shell-escape -synctex=1 -interaction=nonstopmode -file-line-error -pdf -outdir=output main.tex

我收到的错误很奇怪:

output/main.bbl:69: Undefined control sequence.
\bibfont ->\bibliofont 
                       \footnotesize 
l.69     \endentry
                  
) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}]
./main.tex:12: Undefined control sequence.
\bibfont ->\bibliofont 
                       \footnotesize 
l.12 \end
         {document}
./main.tex:12: Undefined control sequence.
\bibfont ->\bibliofont 
                       \footnotesize 
l.12 \end
         {document}
[2] (output/main.aux)

LaTeX Warning: There were undefined references.


Package biblatex Warning: Please rerun LaTeX.

有趣的是,PDF 文件在最后生成时没有任何问题(除了生成时由于错误而突然结束)。如果我将样式更改为其他样式,例如numeric生成时不会显示任何错误。

知道发生了什么吗?我目前的猜测是,acm样式设计用于与 KOMA 文章一起使用acmart,但我想继续使用 KOMA 文章(这是我的论文,而不是 ACM 文章)。

答案1

\bibliofont并非所有文档类别都可用。它由 AMS 类别(amsart、、 )定义amsbookamsproc因此在 中也可用acmart,因为acmart它基于amsart

如果您使用未定义的类\bibliofont,则可以添加类似

\newcommand{\bibliofont}{\footnotesize}

你的序言。

\documentclass[a4paper,titlepage,bibliography=totoc,parskip=full]{scrartcl}
\usepackage[backend=biber, style=acmauthoryear, dateabbrev=false,]{biblatex}
\addbibresource{biblatex-examples.bib}

\newcommand{\bibliofont}{\footnotesize}

\begin{document}
Lorem \autocite{sigfridsson}

\printbibliography
\end{document}

工作书目

我认为这sortin=none,与作者年份风格不符,所以我删除了该选项。

相关内容