
Wie kann ich den Vornamen des Autors im folgenden MWE weglassen? Ich habe den Umfang und die Seiten des Eintrags bereits unterdrückt. Ich möchte nur, dass Folgendes lautet:
Brav und Heaton (2002). Konkurrierende Theorien zu Finanzanomalien. Review of Financial Studies.
\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}
Antwort1
Sie können die Direktive verwenden, \DeclareNameFormat
um die Vornamen wegzulassen. Ich habe Ihrem Code einfach die folgende Zeile hinzugefügt
\DeclareNameFormat{}{\usebibmacro{name:first-last}{}{#5}{#1}{#7}}
wodurch einfach die Ausgabe der Vornamen weggelassen wird, wie Sie auf der folgenden Beispielseite sehen können:
Ich muss zugeben, dass es sich in manchen Teilen um eine etwas holprige Lösung handelt, da es einfach das name:first-last
Bibmacro missbraucht, und ich habe auch nicht überprüft, ob es richtig mit Namensuffixen und -präfixen umgeht, aber es funktioniert in der Umgebung Ihres MWE.
Antwort2
Ich würde vorschlagen, die folgende Neudefinition von zu verwenden cite:full
:
\renewbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{labelname}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
cite:full
in den verbose
Stilen wird normalerweise der gesamte Bibliografieeintrag so gedruckt, wie er in der Bibliografie gedruckt würde, vorher ändert es sich aber sortname
zu default
( \DeclareNameAlias{sortname}{default}
), sodass wir Namen im first-last
Format erhalten (da dies default
standardmäßig auf ... eingestellt ist).
Wir ändern es einfach sortname
in labelname
, sodass wir wenn möglich Nachnamen und andernfalls eindeutige Namen erhalten (abhängig von der uniqeuname
Option; das Namensformat ist in jedem Fall dasselbe wie in nachfolgenden Zitaten).
Wenn Sie unbedingt auf Nachnamen bestehen, würde ich vorschlagen
\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}}
Herausgegeben für dieneues Namensformat in biblatex
>= 3.3, siehe Bearbeitungsverlauf für Code vor 3.3.
MWE
\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}