使用 citet 命令时,作者和年份之间不需要逗号

使用 citet 命令时,作者和年份之间不需要逗号

我已经使用 biblatex 包有一段时间了,自从更新我的 TeX 安装(el capitan 升级后)以来,我遇到了以下问题。

如果输入以下内容:

Such and such has been said \citep[111]{citekey}.

显示以下文本:

Such and such has been said (Author, 2016, p. 111).

如果输入以下内容:

\citet[111]{citekey} has said such and such.

显示以下文本:

Author, (2016, p. 111) has said such and such.

citep 命令按我期望的方式工作,但使用 citet 命令时,我不希望在作者姓名后放置逗号。我希望它显示如下:

Author (2016, p. 111) has said such and such. 

如果我使用 \citeyearpar 命令,那就没问题,但我不想手动输入作者的姓名。

这是序言中的命令:

\usepackage[backend=bibtex, style=authoryear-icomp, url=true, isbn=false, natbib=true, sortcites=true, block=space, pagetracker=false, loccittracker=constrict]{biblatex}

下面是我的 bib 文件中条目的一个示例(使用 BibDesk 制作):

@article{poldrack2006,
Author = {Poldrack, Russell},
Journal = {Trends in Cognitive Sciences},
Number = {2},
Pages = {59--63},
Title = {{Can cognitive processes be inferred from neuroimaging data?}},
Volume = {10},
Year = {2006}}

我也尝试将条目更改为以下内容:

@article{poldrack2006,
Author = {Russell Poldrack},
Journal = {Trends in Cognitive Sciences},
Number = {2},
Pages = {59--63},
Title = {{Can cognitive processes be inferred from neuroimaging data?}},
Volume = {10},
Year = {2006}}

参考书目条目如下所示,并且没有问题:

Poldrack, Russell (2006). “可以从神经影像数据推断认知过程吗?” 引自:认知科学趋势10.2,第 59-63 页。

感谢您提供的任何帮助。

答案1

3.5此问题已在 版本中得到解决biblatex。(至少对于所有标准样式而言。自定义样式可能需要进一步调整,请参阅下文。)

如果您仍遇到此问题,请更新您的 TeX 发行版。如果自定义样式出现此问题且更新后仍未解决,请通知样式作者。

如果你正在使用在线服务,请注意 Overleaf v1 仍然使用现在已经过时的 3.4 版本(2016/05/14)biblatex。Overleaf v2 有biblatex 2016/12/05 v3.7,该问题应该已经得到解决。

biblatex新的上下文相关分隔符系统对宏的两遍结构有点困惑\textcite(它在内部调用命令\cbx@textcite来完成所有工作),你需要这行

\DeclareDelimFormat[cbx@textcite]{nameyeardelim}{\addspace}

以帮助它。

正如 PLK 在本期评论中指出的那样(#432) 已针对 3.5 版中的所有标准样式进行了解决biblatex。如果您使用使用两遍\textcite但尚未更新的自定义样式,则可能需要

\DeclareDelimcontextAlias{cbx@textcite}{textcite}

反而。

平均能量损失

\documentclass{article} 

\usepackage[style=authoryear-icomp, natbib=true]{biblatex}

\addbibresource{biblatex-examples.bib}

\DeclareDelimFormat[cbx@textcite]{nameyeardelim}{\addspace}

\begin{document}
\citet{sigfridsson}

\citereset\textcite{sigfridsson}

\citereset\citep{sigfridsson}

\printbibliography
\end{document}

相关内容