当作者姓名带有“-”时,biber 倾向于在姓名周围生成虚拟字符。例如,bib 文件中的输入如下。
@article{Baker,
author = {Baker, F.B. and Al‐Karni, A},
journal = {Journal of Educational Measurement},
pages = {147--162},
title = {{A comparison of two procedures for computing IRT equating coefficients}},
url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1745-3984.1991.tb00350.x/abstract},
volume = {28},
year = {1991}
}
当上述输入在 latex 中编译时,会产生错误信息,并且如果回头检查 bbl 文件,“-”变成了 fffd...
\name{labelname}{2}{}{%
{{uniquename=0,hash=4d61c716006737e01dad3e296d8cb4b2}{Baker}
{B\bibinitperiod}{F.B.}{F\bibinitperiod}{}{}{}{}}%
{{uniquename=0,hash=bbeb8c73c9f3f7bd033ecb2e8bbdab2d}
{Al\x{fffd}\x{fffd}\x{fffd}Karni}{A\bibinitperiod}{A}{A\bibinitperiod}{}{}{}{}}%
}
pdflatex 的输出将是
Baker, F. & AlfffdfffdfffdKarni, A. (1991)。两种计算 IRT 等值系数的程序的比较。《教育测量杂志》,28,147-162。
而不是原来的
Baker, F. & Al-Karni, A. (1991). 两种计算 IRT 等值系数的程序的比较。《教育测量杂志》,28,147-162。
这是 biber 或 biblatex 的 bug 吗?如何修复?
答案1
bib
您可以使用简单的连字符来更改文件中的字符。
这是一个不同的策略,可能更适合自动生成的 bib 条目。
\begin{filecontents*}{\jobname.bib}
@article{Baker,
author = {Baker, F. B. and Al‐Karni, A.},
journal = {Journal of Educational Measurement},
pages = {147--162},
title = {{A comparison of two procedures for computing IRT equating coefficients}},
url = {http://onlinelibrary.wiley.com/doi/10.1111/j.1745-3984.1991.tb00350.x/abstract},
volume = {28},
year = {1991}
}
\end{filecontents*}
\documentclass{article}
\usepackage[utf8]{inputenc} % avoid strange translations by Biber
\usepackage{url}
\usepackage{biblatex}
\usepackage{newunicodechar}
\newunicodechar{‐}{-} % the first is what's in Al‐Karni, the second is a normal hyphen
\addbibresource{\jobname.bib}
\begin{document}
\cite{Baker}
\printbibliography
\end{document}
该filecontents*
环境只是为了有一个独立的示例,使用您自己的 bib 文件。