私は、次の質問に示すような引用スタイルを取得するためにbiblatex-ext
with を使用しています。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}