biblatex: introcite=label で ext-authoryear スタイルを使用する場合、参考文献の著者と年の間にコンマを入れる

biblatex: introcite=label で ext-authoryear スタイルを使用する場合、参考文献の著者と年の間にコンマを入れる

私は、次の質問に示すような引用スタイルを取得するためにbiblatex-extwith を使用しています。introcite=label

biblatex と biber を使用して固定インデントと著者年ラベル付きの参考文献を作成する

これにより、ラベルと参考文献の両方で著者と年の間にスペースが入ったラベルが作成されます。ただし、ラベルでは著者と年の間にスペースを入れ、参考文献エントリでは著者と年の間にコンマを入れる必要があります。そのため、次のようなものが必要です。

Tietze et al. 2012    Tietze, Ulrich; Schenk, Christoph, 2012.
                      Halbleiterschaltungstechnik. ...

年を囲む括弧を削除するために、次の解決策を使用したことに注意してください。biblatex: authoryear スタイルで年を囲む括弧を削除するにはどうすればよいでしょうか?

解決策を探しているうちに、

\renewcommand*{\nameyeardelim}{\addcomma\space}

しかし、これは上記のエントリを作成するラベルに対してのみ機能します

Tietze et al., 2012    Tietze, Ulrich; Schenk, Christoph 2012.
                      Halbleiterschaltungstechnik. ...

これは私が必要としているものとは逆です。ラベルの著者と年の間にスペースが必要で、参考文献のエントリにはカンマが必要です。

答え1

前述の通りデビッド・パートンコメントは、nameyeardelimコンテキスト依存の区切り文字です。つまり、参考文献と引用文献に異なる定義を与えることができます。introciteラベルにはコンテキストがありbbx@introcite、これは参考文献の残りのコンテキストとは異なるためbib、ここでは異なる値を使用できますnameyeardelim

nameyeardelimすべてのコンテキストのデフォルトは なので、コンテキストの区切り文字をコンマとそれに続くスペースに\addspace変更するだけで済みます。bib

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[british]{babel}
\usepackage{csquotes}
\usepackage[style=ext-authoryear, backend=biber, introcite=label, dashed=false]{biblatex}
\addbibresource{biblatex-examples.bib}

\setlength{\bibitemsep}{0.5\baselineskip plus 0.5\baselineskip}
\setlength{\introcitewidth}{6em}

\DeclareDelimFormat[bib]{nameyeardelim}{\addcomma\space}

\DeclareFieldFormat{biblabeldate}{#1}

\begin{document}
\cite{sigfridsson,worman,geer,knuth:ct:a}
\printbibliography
\end{document}

Sigfridsson と Ryde 1998//Sigfridsson、Emma と Ulf Ryde、1998 年。

関連情報