当使用 biblatex 和 bibtex 后端以及选项 giveninits=true 时,我遇到一个问题:如果我引用的任何作者的名字以包含变音符号的字符开头,则变音符号有时无法在输出中正确呈现。是否有某种方法可以在 .bib 文件中“安全地”输入字符以防止发生这种情况?
更新:对于大多数重音字符,答案是使用类似{\'A}
而不是\'{A}
,但这不适用于土耳其语字符 İ(见下文),因为 bibtex 在 bbl 文件中用 替换{\.I}
。{\\bibinitperiod I}
可能还有其他这样的例外,因此一个通用的解决方案会很好,但处理这个单个字符的方法也可以。
这是一个 MWE。
\documentclass{article}
\usepackage[backend=bibtex,giveninits=true]{biblatex}
\addbibresource{bib.bib}
\begin{document}
\cite{reference}
\printbibliography
\end{document}
#bib.bib
@article{reference,
title={Title},
author={Character, \'{A}ccented},
journal={Journal},
year={2021},
}
然后,在输出中,‘author’ 的名称显示为“A. Character”,而不是“Á. Character”。在此示例中,可以使用{\'A}
替代方法解决问题(据我所知,这是推荐方法),但这种方法并不适用于所有字符 —— 使用会\.{I}
在输出中给出“I.”,而使用{\.I}
会产生更糟糕的“bibinitperiodI.”,而我想要的是“İ.”。(看起来 TeX 命令只是反斜杠和字母的示例(如\O
)是可以的,并且可以在输出中获得所需的“Ø.”。)
我应该指出,我知道使用 biber 的明显解决方案——这就是我在实践中所做的。 (我在临时切换到 bibtex 来解决我大学系统上的另一个问题时发现了这个问题,这个问题后来得到了解决。)我之所以提出有关 bibtex 的问题,是因为如果不能通过适当格式化 .bib 文件来轻松解决这个问题,那么它可能算作 bibtex 中的一个错误,也许开发人员应该注意。 (一位首字母带重音符号的合著者告诉我,这种重音符号有时会在他们自己发表的文章的参考书目中消失,因此有些期刊实际上可能将 biblatex 与 bibtex 一起使用——拥有一个“健壮的” .bib 文件可能会降低此类错误在校对阶段发生和被遗漏的风险。)
答案1
当您使用 BibTeX 处理.bib
文件时(无论您使用的是biblatex
还是经典的 BibTeX/\bibliographystyle
方法),İ 的正确输入是
{\.I}
或{\.{I}}
。另请参阅如何在参考书目中书写“ä”及其他变音符号和重音字母?。
目前无法使用此功能是因为 中的一个错误biblatex
(更具体地说是biblatex.bst
)。它已在 中修复犯罪3a7fdeb
在 GitHub 上。此修复将包含在下一biblatex
版本中(可能是 v3.17)。
使用 BibTeX 时,重音字母消失或混乱的问题可能是由于输入错误造成的。如果您使用 BibTeX,请遵循在如何在参考书目中书写“ä”及其他变音符号和重音字母?。缺少括号可能会导致排序、大小写更改或初始生成出现问题。直接使用 Unicode 字符也不适用于 BibTeX,因为标准 BibTeX 只能处理 ASCII。这意味着所有不在 ASCII 范围内的 Unicode 字符都将被读取为多个字符。通常这不是问题,因为它们会原封不动地传递,但当 BibTeX 计算字母时,例如初始生成时,就会出现问题。