我很难得到我的文内引用已排序按字母顺序使用比布拉特克斯。我在 biber 中使用 'apa' 样式。由于 APA7 建议主要按字母顺序对文内引用进行排序,我很惊讶这不是我的默认设置。文内引用只是按照我在代码中输入的顺序显示。我已经阅读了一些相关问题,并找到了sortcites
和sorting=nyt
选项,我将它们放入我的代码中。虽然我可以很好地影响我的参考书目的排序,但它对文内引用没有任何影响。无论我使用哪个引用命令(例如\autocites
,\parencites
)。
这是 MWE,但问题仍然存在:
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=biber, style=apa, sortcites, sorting=nyt]{biblatex}
\addbibresource{debugLib.bib}
\begin{document}
\textcites{sellars}{belardi}
\printbibliography
\end{document}
我的图书馆布局如下:
@book{belardi,
title = {Supervision: Grundlagen, Techniken, Perspektiven},
shorttitle = {Supervision},
author = {Belardi, Nando},
date = {2005},
series = {C.H. Beck Wissen},
edition = {2., aktualisierte Aufl},
publisher = {C.H. Beck},
location = {München},
}
@article{sellars,
title = {Learning from Contemporary Practice: An Exploration of Clinical Supervision in Physiotherapy},
shorttitle = {Learning from Contemporary Practice},
author = {Sellars, Julie},
date = {2004},
journaltitle = {Learn Health Soc Care},
volume = {3},
number = {2},
pages = {64--82}
}
我的所有软件都应该是最新的 - 我检查了三遍。我知道我可以手动更改标签的顺序,但将来我希望这可以自动完成。所以如果有人能看到我所没有看到的东西并能想出一个解决方案将文内引用按字母顺序排列,我将不胜感激。
答案1
这里的主要问题是biblatex
无法对 multicite 命令的不同参数进行排序。因此
\textcites{sellars}{belardi}
无法排序,但
\textcite{sellars,belardi}
将会。如果您不需要为引文提供页码引用,那么这不是问题,因为使用逗号分隔的条目列表的普通引用命令就可以了。如果您必须为每个引文提供页码引用,则必须使用多引用版本,在这种情况下您必须手动排序。(或者尝试使用类似使用 biblatex 中的 \cites 命令对引用进行排序。 也可以看看https://github.com/plk/biblatex/issues/214。)
这里的次要观点是,style=apa,
您应该放弃这些sortcites, sorting=nyt,
选项。该样式已经启用了引用排序(实际上,它启用了稍微复杂一些的方案以符合 APA 要求:https://github.com/plk/biblatex-apa/issues/152),所以您不需要sortcites
,因为它已经设置好了。您绝对不应该设置,sorting=nyt,
因为那样会选择通用的姓名-年份-标题排序,而不是自动设置的稍微复杂一些的 APA 兼容方案style=apa,
。通常,我建议尽可能少地使用选项:仅在您知道需要它们时才使用它们。
\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=biber, style=apa]{biblatex}
\begin{filecontents}{\jobname.bib}
@book{belardi,
title = {Supervision},
subtitle = {Grundlagen, Techniken, Perspektiven},
author = {Belardi, Nando},
date = {2005},
series = {C.H. Beck Wissen},
edition = {2., aktualisierte Aufl.},
publisher = {C.H. Beck},
location = {München},
}
@article{sellars,
title = {Learning from Contemporary Practice},
subtitle = {An Exploration of Clinical Supervision in Physiotherapy},
author = {Sellars, Julie},
date = {2004},
journaltitle = {Learn Health Soc Care},
volume = {3},
number = {2},
pages = {64--82}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{sellars,belardi}
\textcite{belardi,sellars}
\printbibliography
\end{document}