![著者年形式で複数の引用の間にスペースを追加する](https://rvso.com/image/281563/%E8%91%97%E8%80%85%E5%B9%B4%E5%BD%A2%E5%BC%8F%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AE%E5%BC%95%E7%94%A8%E3%81%AE%E9%96%93%E3%81%AB%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B.png)
私はスタイルbiblatex
を使用してauthoryear-icomp
、同じ年に書かれた同じ著者の2つの作品を引用したいと考えています。現在の出力\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}
出力: