![对参考书目中带有“van”和“van der”的荷兰姓氏进行排序](https://linux22.com/image/378582/%E5%AF%B9%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE%E4%B8%AD%E5%B8%A6%E6%9C%89%E2%80%9Cvan%E2%80%9D%E5%92%8C%E2%80%9Cvan%20der%E2%80%9D%E7%9A%84%E8%8D%B7%E5%85%B0%E5%A7%93%E6%B0%8F%E8%BF%9B%E8%A1%8C%E6%8E%92%E5%BA%8F.png)
在我的文档中,我使用了natbib
package with apalike
style。我非常喜欢这种引用样式,不想做任何更改。但是,有一个小问题:荷兰语中间名带有货车和范德出现在参考书目中,中间名以五。 例如,冯赖特是……的邻居瓦尔迪在参考书目中。有没有办法按第二个名字的主要部分对其进行排序?这样冯赖特将同时出现沃尔特, 而不是瓦尔迪。干杯!
答案1
我建议您按如下方式进行:
在您的 TeX 发行版中找到该文件
apalike.bst
。复制此文件并将副本命名为 。apalike-nl.bst
(您当然可以自由选择其他文件名。)在文本编辑器中打开该文件
apalike-nl.bst
;您用来编辑 tex 文件的程序就可以了。sort.format.names
在 bst 文件中找到该函数。(在我的此文件副本中,该函数从第 914 行开始。)在此函数中,找到以下行:
s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := % <= here
将此行更改为
s nameptr "{ll{ }}{vv{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
我相信您能猜出全名的
ll
和部分代表什么。vv
将文件保存
apalike-nl.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后者,请确保适当更新 TeX 发行版的文件名数据库。在主 tex 文件中,更改指令
\bibliographystyle{apalike}
到
\bibliographystyle{apalike-nl}
并重新运行 LaTeX、BibTeX 和 LaTeX两次更加充分地传播这一变化。
祝您 BibTeX 愉快!
这是一个最小工作示例 (MWE)。请注意,“van Bronckhorst”列在“de Bruyne”之前;使用标准版本apalike
,“de Bruyne”将位于“van Bronckhorst”之前。
\RequirePackage{filecontents}
\begin{filecontents}{mybib.bib}
@misc{kdb, author="Kevin de Bruyne", title="Thoughts", year=2018}
@misc{gvb, author="Giovanni van Bronckhorst", title="Thoughts", year=2018}
\end{filecontents}
\documentclass{article}
\usepackage[round,authoryear]{natbib}
\bibliographystyle{apalike-nl}
\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}
答案2
无需改变书目样式;回收利用https://tex.stackexchange.com/a/40750/4427应该管用:
\begin{filecontents*}{\jobname.bib}
@article{vannoort,
author={{\VAN{Noort}{Van}{van}} Noort, Thomas},
title={An important paper},
journal={Journal},
year=2010,
}
@article{kdb,
author={{\VAN{Bruyne}{De}{de}} Bruyne, Kevin},
title={Thoughts},
journal={Journal},
year=2018,
}
@article{gvb,
author={{\VAN{Bronckhorst}{Van}{van}} Bronckhorst, Giovanni},
title={Thoughts},
journal={Journal},
year=2018,
}
\end{filecontents*}
\documentclass{article}
\usepackage[authoryear]{natbib}
\usepackage{hyperref}
% #1: sorting key, #2: prefix for citation, #3: prefix for bibliography
\DeclareRobustCommand{\VAN}[3]{#2} % set up for citation
\begin{document}
\citet{vannoort}
\citet{kdb}
\citet{gvb}
% here we change the meaning of \VAN to use the prefix for the bibliography
\DeclareRobustCommand{\VAN}[3]{#3}
\bibliographystyle{apalike}
\bibliography{\jobname}
\end{document}
如果你不需要大写“Van”或“De”,你可以设置
\DeclareRobustCommand{\VAN}[3]{#3}
在序言中并注释掉第二个设置。也可以只使用两个参数,但冗余可以避免以后的麻烦。
随着改变