我只想让外语文章标题以斜体显示。 可以使用 来施加这样的条件吗BibLaTeX
?
答案1
您需要以某种方式表明该文章与主文档使用的语言不同。
我认为我应该通过langid
在 bib 条目中添加一个字段并在title
格式中对其进行测试来做到这一点。
笔记
- 我已经使用
babel
默认语言american
和次要语言ngerman
。 - 我使用了该
biblatex
选项autolang=hyphen
,以便德语参考文献的连字符是正确的,但参考文献的语言仍然是英语。 - 我已添加
langid={ngerman}
到德语参考资料中。 - 我的示例针对的是
book
条目类型(我碰巧有一些有用的 bib 条目)。但article
条目类型的原理是相同的。
\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@book{wellhausen:1883,
author = {Wellhausen, Julius},
title = {Prolegomena zur Geschichte Israels},
edition = {2},
location = {Berlin},
publisher = {Reimer},
date = {1883},
langid = {ngerman}
}
@book{wellhausen:1885,
author = {Wellhausen, Julius},
title = {Prolegomena to the History of Israel},
translator = {Black, J. Sutherland and Enzies, A.},
preface = {Smith, W. Robertson},
location = {Edinburgh},
publisher = {Black},
related = {wellhausen:1883},
relatedtype = {translationof},
date = {1885}
}
\end{filecontents}
\usepackage[ngerman,american]{babel}
\usepackage{csquotes}
\usepackage[autolang=hyphen]{biblatex}
\addbibresource{\jobname.bib}
\DeclareFieldFormat[book]{title}{%
\iffieldundef{langid}
{#1}
{\mkbibemph{#1}}%
}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
langid = {american}
如果您有时在您的 bib 条目中有的话,可以使用更复杂的测试。