多年来,我一直使用 \fullcitebib 来列出研究生研讨会的每周阅读清单。我的问题是,它开始按字母顺序排列我的条目,而不是按照我想要的方式列出它们。例如,我给它:
\fullcitebib{holding92prf,lane11niip, charness12niip}
因为我要:
Holding,DH(1992)。棋艺理论。心理学研究-心理学研究,54(1),10-16。
Lane, PCR & Gobet, F. (2011)。国际象棋及其他领域的感知:对 Linhares 和 Freitas (2010) 的评论。《心理学新观点》,29(2),156–161。
Charness, N. (2012)。国际象棋技巧理论化模式:对 Linhares 和 Freitas (2010) 以及 Lane 和 Gobet (2011) 的评论。《心理学新观点》,30(3),322–324。
但我得到了
Charness, N. (2012)。国际象棋技巧理论化模式:对 Linhares 和 Freitas (2010) 以及 Lane 和 Gobet (2011) 的评论。《心理学新观点》,30(3),322–324。
Holding,DH(1992)。棋艺理论。心理学研究-心理学研究,54(1),10-16。
Lane, PCR & Gobet, F. (2011)。国际象棋及其他领域的感知:对 Linhares 和 Freitas (2010) 的评论。《心理学新观点》,29(2),156–161。
这似乎很疯狂。我检查了旧教学大纲的 PDF 文件,以确认我没有产生幻觉。但当我重新运行 LaTeX 时,新文件已按字母顺序排列了我的完整 citbib 列表。
答案1
biblatex-apa
在提交中明确启用了对引用进行排序cb2dccd2018年3月1日。
有趣的是,手册在第 4.1 条中指出:
请注意,APA 样式没有对多个引文列表进行排序——它们按引用顺序显示。由于 \fullcitebib 是一个引文命令,因此引文不会进行排序,这可能看起来很奇怪,因为这种“引文”样式看起来像参考文献部分的摘录。
但这可能已经过时了。我提交了一个错误报告https://github.com/plk/biblatex-apa/issues/65
您有两个选择。
sortcites=false
您可以通过传递来全局关闭引用排序biblatex
。即\usepackage[style=apa,sortcites=false]{biblatex}
。但如果仍需对正常引用进行排序,这可能并不可取。
或者,您可以本地关闭引用排序,如下面的 MWE 所示。
这里我新建了一个宏,在调用之前\disablesortcites
调用它。文档中的其他引用命令不受影响。\AtNextCite
\fullcitebib
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{holding92prf,
author = {Holding, Dennis H.},
date = {1992},
title = {Theories of Chess Skill},
journaltitle = {Psychological Research-Psychologische Forschung},
volume = {54},
number = {1},
pages = {10-16}
}
@article{lane11niip,
author = {Lane, Peter C. R. and Gobet, Fernand},
date = {2011},
title = {Perception in Chess and Beyond},
subtitle = {Commentary on {Linhares} and {Freitas} \mkbibparens{2010}},
journaltitle = {New Ideas in Psychology},
volume = {29},
number = {2},
pages = {156-161}
}
@article{charness12niip,
author = {Charness, Neil},
date = {2012},
title = {Patterns of Theorizing About Chess Skill},
subtitle = {Commentary on {Linhares} and {Freitas} \mkbibparens{2010} and {Lane} and {Gobet} \mkbibparens{2011}},
journaltitle = {New Ideas in Psychology},
volume = {30},
number = {3},
pages = {322-324}
}
\end{filecontents}
\usepackage[style=apa]{biblatex}
\addbibresource{\jobname.bib}
\makeatletter
\newcommand{\disablesortcites}{%
\boolfalse{sortcites}%
\let\blx@thecitesort\blx@citenosort
\let\blx@thenotecheck\relax}
\makeatother
\begin{document}
\cite{holding92prf, lane11niip, charness12niip}
\AtNextCite{\disablesortcites}
\fullcitebib{holding92prf, lane11niip, charness12niip}
\cite{holding92prf, lane11niip, charness12niip}
\end{document}