Biblatex 是否可以使用作者姓名的正确首字母(包括变音符号)生成标签?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[safeinputenc,backend=biber, style=alphabetic]{biblatex}
\begin{filecontents}{test.bib}
@Article{Morgan,
Title = {Article title},
Author = {M{\"u}ller, John},
Journal = {Journal title},
Year = {2014}
}
\end{filecontents}
\bibliography{test}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
正确的标签应该是Mül14
。
编辑:抱歉,我忘记safeinputenc
在上面的 MWE 中添加 biblatex 包选项了。这个选项似乎是标签中缺少变音符号的罪魁祸首。我已更新 MWE,以更好地反映我的原始文档。
那么,有没有办法在使用 的情况下获得正确的标签safeinputenc
?我使用此选项是为了规避某些 unicode 字符(如 ǧ )的声明,否则我必须添加
\DeclareUnicodeCharacter{01E7}{\v{g}}
使用 inputenc 的 utf8 模式无法解释的字符的最佳做法是什么?
答案1
这很容易实现。
将以下两行添加到你的序言中:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
第一行告诉 LaTeX 你的文件使用的是哪种编码。第二行告诉 LaTeX 嵌入真正的变音符号作为角色在 pdf 中,或者John M¨uller
如果你从 pdf 中复制文本,你就会得到。
然后你必须将文档的编码更改为UTF-8 without BOM
;也许你还应该将所有变音符命令{\"u}
与其字符ü
等交换,但这不是必需的,请参阅 egregs 命令
在我的测试中,如果我想使用 UTF-8 总是会遇到问题filecontents
,所以在这种情况下最好创建一个真实的文件test.bib
。
梅威瑟:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage[backend=biber, style=alphabetic]{biblatex}
\usepackage{csquotes}%I get a warning, if I don't add it.
\addbibresource{test.bib}%the correct command
\begin{document}
\nocite{*}
\printbibliography
\end{document}
内容test.bib
:
@Article{Morgan,
Title = {Article title},
Author = {Müller, John},
Journal = {Journal title},
Year = {2014}
}
输出: