Biblatex: \footcite では姓のみ

Biblatex: \footcite では姓のみ

次の MWE で著者のファーストネームを省略するにはどうすればよいですか? エントリの巻とページはすでに省略しています。次のようにしたいだけです:

Brav と Heaton (2002)。金融異常の競合理論。金融研究レビュー。

\documentclass{beamer}
\usetheme{Boadilla}
\usepackage{chngcntr}
\usepackage{lmodern}

\begingroup\newif\ifmy
\IfFileExists{\jobname.bib}{}{\mytrue}
\ifmy
\begin{filecontents}{\jobname.bib}
@ARTICLE{Brav2002,
author = {Alon Brav and J. B. Heaton},
title = {Competing Theories of Financial Anomalies},
journal = {Reveiw of Financial Studies},
year = {2002},
volume = {15:2},
pages = {575-606},
owner = {User},
timestamp = {2013.11.03}
}
\end{filecontents}
\fi\endgroup

\usepackage[backend=bibtex,citestyle=verbose]{biblatex}
\addbibresource{delete.bib}


\renewbibmacro{in:}{\hspace{-5pt}}
\AtEveryCitekey{\clearfield{pages}\clearfield{volume}}


\begin{document}
\begin{frame}
\frametitle{Stuff famous linguists asked}
\begin{block}{A block}
\begin{enumerate}
\item Is it part?\footcite{Brav2002}
\item More Saussure.
\end{enumerate}
\end{block}
\end{frame}
\end{document}

答え1

\DeclareNameFormatディレクティブを使用してファーストネームを破棄できます。コードに次の行を追加しました

\DeclareNameFormat{}{\usebibmacro{name:first-last}{}{#5}{#1}{#7}}

以下のサンプル ページでわかるように、名前の出力が省略されます。

ここに画像の説明を入力してください

これは、bibmacro を悪用しているだけであり、名前の接尾辞と接頭辞を正しく処理するかどうかも確認していないため、一部で少々ハッキーな解決策であることは認めざるを得ませname:first-lastんが、MWE の環境では機能します。

答え2

の次の再定義を使用することをお勧めしますcite:full

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{labelname}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

cite:fullスタイルでは、verbose通常は参考文献に印刷されるとおりに参考文献エントリ全体が印刷されますが、その前に( )sortnameに変更されるため、名前が形式 (デフォルトで ... に設定されている) で取得されます。default\DeclareNameAlias{sortname}{default}first-lastdefault

sortnameを に変更するだけでlabelname、可能な場合は姓が取得され、そうでない場合は明確な名前が取得されます (オプションによって異なりますuniqeuname。いずれにしても、名前の形式は後続の引用と同じになります)。


どうしても姓を使いたいなら、

\DeclareNameFormat{family}{%
  \usebibmacro{name:family}
      {\namepartfamily}
      {\namepartgiven}
      {\namepartprefix}
      {\namepartsuffix}%
  \usebibmacro{name:andothers}}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{family}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

編集済みbiblatex3.3 以降の新しい名前形式3.3 より前のコードについては編集履歴を参照してください。


ムウェ

\documentclass{beamer}
\usetheme{Boadilla}
\usepackage{chngcntr}
\usepackage{lmodern}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@article{Brav2002,
  author = {Alon Brav and J. B. Heaton},
  title = {Competing Theories of Financial Anomalies},
  journal = {Reveiw of Financial Studies},
  year = {2002},
  volume = {15:2},
  pages = {575-606},
}
\end{filecontents*}

\usepackage[backend=bibtex,style=verbose]{biblatex}
\addbibresource{\jobname.bib}


\renewbibmacro{in:}{\hspace{-5pt}}
\AtEveryCitekey{\clearfield{pages}\clearfield{volume}}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{labelname}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\begin{document}
\begin{frame}
\frametitle{Stuff famous linguists asked}
\begin{block}{A block}
\begin{enumerate}
\item Is it part?\footcite{Brav2002}
\item More Saussure.\footcite{Brav2002}
\end{enumerate}
\end{block}
\end{frame}
\end{document}

ここに画像の説明を入力してください

関連情報