\citep 与 \parencite

\citep 与 \parencite

我在一个文档中工作了很长时间,其中我使用带有以下参数的 biblatex

\usepackage[style=authoryear-comp,backend=biber,maxcitenames=\preamblemaxcitenames,giveninits=true,uniquename=init,%
maxbibnames=10,sorting=nyt,natbib=true,sortcites=no]{biblatex}

现在,我有两个命令,\citep而且\parencite——我忘了​​为什么会有这种混合。关键是乍一看我看不出有什么区别。

\citep{knuth2001things} \parencite{knuth2001things}

产生完全相同的结果:

在此处输入图片描述

这样使用的话,两者之间有什么根本区别吗?或者使用其中一种比另一种更有优势吗?(我不知道是否应该将所有\citep改为\parencite\parencite改为\citep

答案1

当您使用biblatex兼容natbib选项 ( natbib=true,) 来简化biblatexnatbib(或反之亦然)之间的转换时,

  • \citep\parencite是和的兼容别名
  • \citet是 的别名\textcite
  • 此外,\citealp\citealt都是的别名\cite
  • natbib此外,还对提供了一些基本支持\defcitealias
  • 最后,有\citeauthor*\citeyearpar

\citep{knuth2001things}因此,在您的示例中,和之间没有(并且不应该有任何)区别\parencite{knuth2001things}

然而,带星号的版本之间存在差异:

  • 名称/产生具有本地设置的引用,natbib这意味着将显示所有作者。\citep*\citet*maxnames=999
  • biblatex名称\parencite*产生不带作者姓名的引用。

不过,兼容性natbib选项会做得更多一些。如在将 natbib=true 与 biblatex 一起使用有什么缺点吗?它还将设定

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}

我通常不喜欢加载natbib兼容模式,biblatex而更喜欢使用biblatex名称,但肌肉记忆和旧习惯肯定意味着natbib兼容模式对你有用。如果你预计在某个时候必须回到natbib命令,那就更是如此了(没有多少期刊接受biblatex投稿)。

只需记住natbib上面提到的兼容模式的两个怪癖。带星号的版本的行为与标准版本不同biblatex,它设置了nameyeardelim

相关内容