
次の 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-last
default
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}}
編集済みbiblatex
3.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}