在作者年份样式的多个引用之间添加空格

在作者年份样式的多个引用之间添加空格

我使用biblatex样式authoryear-icomp并希望引用同一作者同一年创作的两部作品。 的当前输出\citet{examplea, exampleb}

约翰(1991a,b)

但我更愿意添加一个额外的空间,从而

约翰(1991a,b)

我已经尝试重新定义\multicitedelim\compcitedelim通过

\renewcommand{\multicitedelim}{\addcomma\addspace}
\renewcommand{\compcitedelim}{\addcomma\addspace}

但没有达到预期的效果。

平均能量损失

\documentclass{article}

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

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@MISC{examplea,
  author = {John, Doe},
  title = {MyBook A},
  date = {1991}
}
@MISC{exampleb,
  author = {John, Doe},
  title = {MyBook B},
  date = {1991}
}    
\end{filecontents*}
\bibliography{\jobname.bib}

\begin{document}
\citet{examplea, exampleb}
\end{document}

答案1

这种行为的罪魁祸首是 bibmacro textcite......

在序言中添加以下几行(xpatch需要软件包)

\xpatchbibmacro{textcite}
  {\setunit{\addcomma}}
  {\setunit{\addcomma\addspace}}
  {}
  {}

解决了问题。

完整代码(我也改成\bibliography\addbibresource

\documentclass{article}

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

\usepackage{xpatch}
\xpatchbibmacro{textcite}
  {\setunit{\addcomma}}
  {\setunit{\addcomma\addspace}}
  {}
  {}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@MISC{examplea,
  author = {John, Doe},
  title = {MyBook A},
  date = {1991}
}
@MISC{exampleb,
  author = {John, Doe},
  title = {MyBook B},
  date = {1991}
}
\end{filecontents*}
\addbibresource{\jobname.bib}

\begin{document}
\citet{examplea, exampleb}
\end{document} 

输出:

在此处输入图片描述

相关内容