utf8
使用 biber时,我遇到了引用排序问题。我需要 utf8,因为斯洛文尼亚语中的一些姓氏使用 Š、Č 和 Ž(我知道我可以使用\v{}
语法,但 biber 在执行过程中会报错)。
问题是,我有三篇文章,第一作者分别是 Zachry、Žnider 和 Zupavec(姓氏是虚构的)。我使用 apa 样式进行格式化,使用 biber 生成参考书目。当我使用pdflatex
、biber
和 2x编译源文件时pdflatex
,我得到了一个奇怪的结果:
- 扎克里
- 日尼德
- 祖帕韦茨
这里,Zachry 位于 Žnider 和 Zupavec 之前(OK)!但 Žnider 位于 Zupavec 之前(不 OK)!!!
预期结果是:
- 扎克里
- 祖帕韦茨
- 日尼德
无论如何,从这些结果来看,我会假设以相同的方式biber
处理字符Z
和(可能将它们都映射到 ascii ),并且参考书目分别按姓氏的第二个字符排序-和。Ž
Z
a
n
u
有没有办法解决这个问题?我怀疑这是一个错误biber
。
我还添加了一个 MWE:
主文本
\documentclass[12pt]{article}
\usepackage[american]{babel}
\usepackage[backend=biber,style=apa,bibencoding=utf8]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{ref.bib}
\begin{document}
First Citation: \parencite{Znider}
Second Citation: \parencite{Zupavec}
Third Citation: \parencite{Zach}
\printbibliography
\end{document}
参考文献
@ARTICLE{Zach,
author = {Zachry, John},
title = {Foo},
journal = {Bar},
volume = {1},
number = {2},
pages = {123-345},
year = {1999},
}
@ARTICLE{Znider,
author = {Žnider, Jože},
title = {Bar},
journal = {Foo},
volume = {12},
number = {123},
pages = {11-12},
year = {1999},
}
@ARTICLE{Zupavec,
author = {Zupavec, Miha},
title = {FooBar},
journal = {BarBar},
volume = {100},
pages = {132-154},
number = {2},
year = {1999},
}
答案1
您可以使用以下字段手动修改排序sortname
:
@ARTICLE{Znider,
author = {Žnider, Jože},
title = {Bar},
journal = {Foo},
volume = {12},
number = {123},
pages = {11-12},
year = {1999},
sortname = {Zznider, Jože}
}
答案2
我觉得排序没有错。但排序取决于语言,在 biblatex 中你可以更改语言环境。我不知道哪个语言环境会按照你想要的方式对 Ž 进行排序,但例如,这里的排序会将 Ž 排在 Z 之前:
\documentclass[12pt]{article}
\usepackage[american]{babel}
\usepackage[backend=biber,style=apa,bibencoding=utf8,sortlocale=sl-SI]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{bib.bib}
\begin{document}
First Citation: \parencite{Znider}
Second Citation: \parencite{Zupavec}
Third Citation: \parencite{Zach}
\printbibliography
\end{document}
使用 Texlive 2014 输出
使用 Texlive 2015 输出
由于不同版本的输出不同,我将在 biber 网站上提交错误报告。