RevTex 4-2:软件包 babel 错误:您尚未定义语言 en

RevTex 4-2:软件包 babel 错误:您尚未定义语言 en

我使用的是 RevTex 4-2 版和 Zotero 生成的 bib 文件。bib 文件的“语言”字段包含大量“随机”条目,例如“en”、“eng”等。这些条目是在添加论文时自动生成的。RevTex 4-1 可以很好地处理这个 bib 文件。但是,使用 RevTex 4-2 时,我收到大量与参考书目相关的 babel 错误消息。

我的问题是:有没有办法用 RevTex 4-2 忽略 bib 文件中的“语言”字段,因为它显然是在 RevTex 4-1 中完成的?

注意:我想避免任何需要我手动更改纸质数据库中的 1000 多个条目以删除或更正语言条目的解决方案。

编辑。这是一个简单的例子:

\documentclass{revtex4-2}
\usepackage[english]{babel}
\begin{document}
\nocite{kubota_stress-induced_2012}
\nocite{kubota_stress-induced_2012_2}
% \bibliographystyle{apsrev4-1}
\bibliography{references}
\end{document}

在哪里references.bib

@article{kubota_stress-induced_2012,
    title = {Stress-{Induced} {Perpendicular} {Magnetization} in {Epitaxial} {Iron} {Garnet} {Thin} {Films}},
    volume = {5},
    issn = {1882-0786},
    url = {https://iopscience.iop.org/article/10.1143/APEX.5.103002/meta},
    doi = {10.1143/APEX.5.103002},
    language = {en},
    number = {10},
    urldate = {2019-09-07},
    journal = {Applied Physics Express},
    author = {Kubota, Masashi and Tsukazaki, Atsushi and Kagawa, Fumitaka and Shibuya, Keisuke and Tokunaga, Yusuke and Kawasaki, Masashi and Tokura, Yoshinori},
    month = sep,
    year = {2012},
    pages = {103002}
}


@article{kubota_stress-induced_2012_2,
    title = {Stress-{Induced} {Perpendicular} {Magnetization} in {Epitaxial} {Iron} {Garnet} {Thin} {Films}},
    volume = {5},
    issn = {1882-0786},
    url = {https://iopscience.iop.org/article/10.1143/APEX.5.103002/meta},
    doi = {10.1143/APEX.5.103002},
    number = {10},
    urldate = {2019-09-07},
    journal = {Applied Physics Express},
    author = {Kubota, Masashi and Tsukazaki, Atsushi and Kagawa, Fumitaka and Shibuya, Keisuke and Tokunaga, Yusuke and Kawasaki, Masashi and Tokura, Yoshinori},
    month = sep,
    year = {2012},
    pages = {103002}
}

当我取消注释 bibliographystyle 行时,一切都正常。似乎新的 bibliographystyle 将 .bbl 标题条目从

\bibfield  {title}{\bibinfo {title} {Stress-{Induced} {Perpendicular} ...

\bibfield  {title}{{\selectlanguage {en}\bibinfo {title} {Stress-{Induced} {Perpendicular} ...

我猜想必须编辑 bst 文件,或者只是使用旧样式。

答案1

我建议你安装适合 Zotero 的更好的 BibTeX。它解决了 BibTeX 导出的许多问题。当您安装了 Better BibTeX 后,您可以跳过语言字段的导出。

在 Zotero 中,选择Edit-> Preferences-> Better BibTeX->Export并设置Fields to omit from export为“语言”

在此处输入图片描述

答案2

我遇到了完全相同的问题。由于有language = {en}, 很多条目,其中一些是手动输入的,我想避免重新生成 Zotero 的输出(我和合著者)......很麻烦。

我的解决方案是快捷方式 selectlanguage,因为它没用,方法是: \renewcommand{\selectlanguage}[1]{}

稍早一点 \begin{document}。这样,就好像您删除了有关语言的条目(我们无论如何都不关心该条目),而是只保留一行。

相关内容