这个问题似乎出现过多次,但我从来没有能够从其他问题中得到想要的答案。
我正在使用biblatex
+ biber
。我想组织诸如van der Hofstad
by H
(not v
) 之类的名称。看来我可以通过简单地添加tex.options: useprefix = false
到书目数据。我想我也可以通过将useprefix = false
作为可选参数添加到 来实现这\usepackage[...]{biblatex}
一点。我的理解是后者会使其成为每个条目的规则,而前者只会将其应用于一个条目。
我非常乐意手动决定该表单的每个条目。
我没有很多这样的文件,所以我更愿意只向文件中添加一些内容.bib
(我使用Zotero
管理器,所以这很容易),以便以这种方式执行。其他问题/答案/评论指出,拥有单一规则非常复杂(比较van
和Jnr
)。所以我觉得在这些情况下,手动决定是最好的。
问题来了。我有另一个名字,El-Baz
,我无论如何都无法用E
而不是来组织它B
。我添加/删除了选项useprefix
,将其设置为true
或false
。我所做的一切都无法阻止它在 下排序B
。我希望它位于E
。[*旁注:如果一个应该订购这样的以色列名字B
,不E
,那么请通知我!]
我真的不知道如何使用书目数据进行 MWE。这是我能做的最好的事情。
假设我们有名字
{Charles, El-Baz, van der Hofstad, Smith}
。我希望它们按此顺序出现。特别是,Charles < El-Baz
和van der Hofstad < Smith
。
再次强调,这不是(事实上也不应该)一个复杂的自动化系统。添加一些样式的东西tex.options: useprefix = false
是理想的。
答案1
您需要的是sortname
选项。请注意,您可以将它与选项结合使用useprefix
。使用此选项,您基本上可以将条目放置在您喜欢的任何位置(即使在荒谬的位置,如下面的示例)。
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\addbibresource{foo.bib}
\addbibresource{biblatex-examples.bib}
\begin{filecontents}[overwrite]{foo.bib}
@book{charles,
author = {El-Baz Charles},
sortname = {augustinea},
title = {Lorem ipsum dolor sit amet},
year= {2020}}
@book{hofstad,
author = {Smith van der Hofstad},
sortname ={wildea},
title = {Lorem ipsum dolor sit amet},
year= {2020}}
\end{filecontents}
\begin{document}
\textcite{charles} is ordered after \textcite{augustine} thanks to the \texttt{sortname=augustinea} option
\textcite{hofstad} is ordered after \textcite{wilde} thanks to the \texttt{sortname=wildea} option
\printbibliography
\end{document}