我使用的是 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}
。这样,就好像您删除了有关语言的条目(我们无论如何都不关心该条目),而是只保留一行。