我正在使用 biblatex 和 verbose-inote 样式,除了在文档末尾包含完整的参考书目之外,还在脚注引用中包含参考文献。
我想缩短脚注引用以仅包含作者的姓氏,但在文档最末尾的参考书目中打印完整的引用(名字和姓氏)。
我遇到了这个问题(Biblatex:\footcite 中只有姓氏),关于如何修改脚注引用命令以仅包含姓氏,但它同样会将参考书目条目更改为仅包含姓氏。
我的 MWE 是:
\begin{filecontents}{bib.bib}
@article{Arzheimer.2006,
author = {Arzheimer, Kai and Carter, Elisabeth},
year = {2006},
title = {{P}olitical {O}pportunity {S}tructures and {R}ight-{W}ing {E}xtremist {P}arty {S}uccess},
pages = {419--443},
volume = {45},
journaltitle = {European Journal of Political Research}, shortjournal = {EJPR},
number = {3},
shorttitle = {Political Opportunity Structures}
}
\end{filecontents}
\documentclass[11pt]{scrartcl}
\usepackage[backend=bibtex, citestyle=verbose-inote, bibstyle=authortitle, autocite=footnote, isbn=false, doi=false, citepages=suppress, parentracker=false, dashed=false, sorting=nyt, maxcitenames=2, maxbibnames=5]{biblatex}
\usepackage[style=british]{csquotes}
% Commas as separators
\renewcommand*{\newunitpunct}{\addcomma\space}
% NO `in:' BEFORE JOURNALTITLE
\renewbibmacro{in:}{}
\usepackage{xpatch}
% Comma before issue + date
\xpatchbibmacro{journal+issuetitle}{%
\setunit{\addspace}%
\usebibmacro{issue+date}}%
{\setunit{\addcomma\addspace}%
\usebibmacro{issue+date}}%
{}{}
% No dot before number of articles
\xpatchbibmacro{volume+number+eid}{%
\setunit*{\adddot}%
}{%
}{}{}
% Number of articles in parentheses
\DeclareFieldFormat[article]{number}{\mkbibparens{#1}}
% Comma before and after journal volume
\renewbibmacro*{volume+number+eid}{%
\setunit*{\addcomma\space}% NEW
\printfield{volume}%
% \setunit*{\adddot}% DELETED
%\setunit*{\addcomma\space}% NEW
\printfield{number}%
\setunit{\addcomma\space}%
\printfield{eid}}
% Comma before date; date not in parentheses
\renewbibmacro*{issue+date}{%
\setunit*{\addcomma\space}% NEW
% \printtext[parens]{% DELETED
\iffieldundef{issue}
{\usebibmacro{date}}
{\printfield{issue}%
\setunit*{\addspace}%
% \usebibmacro{date}}}% DELETED
\usebibmacro{date}}% NEW
\newunit}
%Include shortjournal, journal abbreviation
\renewbibmacro*{journal}{%
\ifboolexpr{ test {\ifcitation} and not test {\iffieldundef{shortjournal}} }
{\printfield[journaltitle]{shortjournal}}
{\iffieldundef{journaltitle}
{}
{\printtext[journaltitle]{%
\printfield[titlecase]{journaltitle}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{journalsubtitle}}}}}
\bibliography{bib}
\begin{document}
This is supposed to print only the authors' last names\autocite{Arzheimer.2006}. Whereas the bibliography should keep the full citation.
\printbibliography
\end{document}
答案1
答案来自莫威可以适应verbose-inote
风格。只需将以下内容添加到您的序言中:
\renewbibmacro*{footcite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver
{\DeclareNameAlias{sortname}{labelname}}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
这将使用消除歧义的姓氏;如果您无论如何都想强制使用姓氏,那么您将需要添加在那里为姓名格式定义的代码。