
Как мне убрать имя автора в следующем 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}