![如何在没有 biblatex 包的情况下抑制特定的 bibtex 条目(例如语言)](https://linux22.com/image/346376/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%B2%A1%E6%9C%89%20biblatex%20%E5%8C%85%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%8A%91%E5%88%B6%E7%89%B9%E5%AE%9A%E7%9A%84%20bibtex%20%E6%9D%A1%E7%9B%AE%EF%BC%88%E4%BE%8B%E5%A6%82%E8%AF%AD%E8%A8%80%EF%BC%89.png)
在是否可以在 biblatex 中抑制 bibtex .bbl 中的特定字段?有人提出了相关问题。以下可以抑制语言字段出现在输出中,当比布拉特克斯包存在。
\AtEveryBibitem{\clearlist{language}} % clears language
如何在不使用 biblatex 包的情况下(即在纯 bibtex 中)实现此抑制?我使用的amsplain
是 bibtex 样式。bibtex 文件类似于以下内容(由https://zbmath.org/):
@Article{zbMATH02658504,
Author = {A. {Einstein}},
Title = {{Eine Theorie der Grundlagen der Thermodynamik.}},
FJournal = {{Annalen der Physik, IV. Folge}},
Journal = {{Ann. der Phys. (4)}},
ISSN = {0003-3804},
Volume = {11},
Pages = {170--187},
Year = {1903},
Publisher = {Johann Ambrosius Barth, Leipzig},
Language = {German},
Zbl = {34.0962.01}
}
答案1
amsplain.bst
有
% The extra section to write out a language field was added
% for AMSPLAIN.BST. Not present in plain.bst.
FUNCTION {format.language}
{ language empty$
{ "" }
{ " (" language * ")" * }
if$
}
这将测试语言字段是否为空,并且不执行任何操作或将其输出()
。
因此如果你复制该文件并命名为 sayxamsplain.bst
并使用
\bibliographystyle{xamsplain}
然后修改定义总是不做任何事
FUNCTION {format.language}
{ "" }