
マクロを\finalnamedelim
引用と書誌エントリに対して異なる動作をするようにしたいです。
特に、ちょうど2つ著者(複数いる場合は、引用スタイルではとにかく「et al」を使用します)では、引用では区切りとして「and」を使用する必要がありますが、コンマゼッケンエントリーに記入してください。
これが私の MWE です:
\documentclass[a4paper,12pt,oneside]{scrreprt}
% ----------------------------------------------------------
\usepackage[%
style=authoryear,
bibstyle=authoryear,
maxcitenames=2,
dashed=false,
firstinits=true
backend=biber,
]{biblatex}
% ----------------------------------------------------------
\renewcommand*{\finalnamedelim}{\addcomma\space}
\renewcommand*{\revsdnamepunct}{}
% ----------------------------------------------------------
\addbibresource{biblatex-examples.bib}
% ----------------------------------------------------------
\begin{document}
\parencite{bertram}
\printbibliography
\end{document}
その結果、次の引用が生まれました:
そしてこのゼッケンのエントリー:
それを実行する最善の方法は何ですか?
よろしくお願いいたします。デビッド
答え1
\AtBeginBibliography
フックを使用してのみ参考文献に特定の設定を適用できます
\AtBeginBibliography{\renewcommand*{\finalnamedelim}{\addcomma\space}}
フック\AtEveryCite
は引用についても同じことを行うので、原則として、
\renewcommand*{\finalnamedelim}{\addcomma\space}
\AtEveryCite{%
\renewcommand*{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\bibstring{and}\space}}
しかし、なぜそうするのでしょうか?
\AtEveryCitekey
また、および もあります\AtEveryBibitem
。これらのフックは、問題のエントリの書誌データがすでに利用可能なコンテキストで実行されます。これはここで使用するコマンドでは重要ではありませんが、および の仲間はおよび\clearfield
でのみ機能します。\AtEveryCitekey
\AtEveryBibitem
これらのコードフックの詳細については、§4.10.6を参照してください。汎用フック、244-246ページ、biblatex
ドキュメンテーション。