TeXstudio 中 latexmk 的意外 biber 行为

TeXstudio 中 latexmk 的意外 biber 行为

我使用 TeXstudiolatexmk作为我的默认编译器,并对命令进行了以下修改:-( latexmk -pdf -silent -synctex=1 -pdflatex="pdflatex -shell-escape" %用于svg包)。

这是我的 MWE:-

\documentclass[a4paper,12pt,twoside,openright]{book}
\usepackage[backend=biber, sorting=count]{biblatex}
\DeclareCiteCommand{\supercite}[\mkbibsuperscript]
{\iffieldundef{prenote}
    {}
    {\BibliographyWarning{Ignoring prenote argument}}%
    \iffieldundef{postnote}
    {}
    {\BibliographyWarning{Ignoring postnote argument}}%
    \bibopenbracket}%
{\usebibmacro{citeindex}%
    \usebibmacro{cite}}
{\supercitedelim}
{\bibclosebracket}
\let\cite=\supercite
\usepackage{hyperref}
\usepackage{bookmark}
\usepackage{cleveref}
\addbibresource{references.bib}
\begin{document}
\frontmatter
This book\supercite{ElvangBook}.
\backmatter
\printbibliography
\end{document}

references.bib:-

@book{ElvangBook,
    author = "Elvang, Henriette and Huang, Yu-tin",
    title = "{Scattering Amplitudes in Gauge Theory and Gravity}",
    isbn = "978-1-316-19142-2, 978-1-107-06925-1",
    publisher = "Cambridge University Press",
    month = "4",
    year = "2015"
}

问题是,每当我更改 .bib 文件并保存更改并运行 时latexmk,biber 就会中断,并且我会丢失引文。要解决此问题,我必须注释掉 \addbibresource{references.bib},运行latexmk,然后取消注释,然后latexmk再次运行以修复引文。

这是预期的行为吗?可以做些什么来简化此工作流程?我想动态地更改我的参考文献,因此在最后进行引用对我来说是不可行的。

谢谢。

答案1

在尝试按照 moewe 的建议添加日志文件时,我注意到错误提示运行 biber。但我以为它会自动选择,latexmk但事实并非如此。我的 TeXstudio 设置默认参考书目工具选择为 BibTeX,将其更改为 Biber 后,我的问题就解决了。

这是一个愚蠢的错误,我会将此留给未来可能遇到同样问题的用户。

谢谢。

相关内容