我知道这是很紧急的通知(我曾在LaTeX 社区),但我周一要交一篇论文,而我和论文准备(布局方面)之间只差一件事:我使用了biblatex
一种稍微调整过的biblatex-ieee
风格(可能不是最理想的,但我的论文导师有非常具体的指示,而且这是最接近的),我这样称呼它:
\usepackage[bibstyle=ieee,citestyle=authoryear,backref=false,hyperref=false]{biblatex}
\footfullcite
但问题是我需要用“上文注释”替换已经引用的项目。例如,如果在脚注 ( ) 17中将 Belloni 称为:
17.
R. Belloni,“达尔富尔的悲剧与‘保护责任’的局限性”,《民族政治》,第 5 卷,第 4 期,2006 年 11 月,第 327-346 页。
我希望将来对同一作者和文章的引用看起来像(例如在脚注 24 中,我指定了文章的页面):
24.
R. Belloni,上文注 17,第 17 页。 336.
任何想法?
提前谢谢您!
附言:实际上,看起来“citestyle”可以被删除或修改,而无需做任何更改。我想这本身就不正常……
答案1
使用citestyle=verbose-note
并加上以下修改。
\documentclass{article}
\usepackage[bibstyle=ieee,citestyle=verbose-note,firstinits=true]{biblatex}
\DefineBibliographyStrings{english}{%
seenote = {supra note},
}
% Print first name of authors in follow-up notes
\makeatletter
\renewbibmacro*{footcite:note}{%
\ifnameundef{labelname}
{\printfield{label}}
% {\printnames{labelname}}% DELETED
{\DeclareNameAlias{labelname}{default}% NEW
\printnames{labelname}}% NEW
\ifsingletitle
{}
{\setunit*{\nametitledelim}%
\printfield[title]{labeltitle}}%
\setunit*{\addcomma\space}%
\printtext{%
\bibstring{seenote}\addnbspace
\ref{cbx@\csuse{cbx@f@\thefield{entrykey}}}%
\iftoggle{cbx:pageref}
{\ifsamepage{\the\value{instcount}}
{\csuse{cbx@f@\thefield{entrykey}}}
{}
{\addcomma\space\bibstring{page}\addnbspace
\pageref{cbx@\csuse{cbx@f@\thefield{entrykey}}}}}
{}}}
\makeatother
% AS A MEASURE OF LAST RESORT, assign the functions of \autocite to \footfullcite
% (The correct way is to replace every instance of "\footfullcite" in the text
% with "\autocite")
\let\footfullcite\autocite
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{Bel06,
author = {Belloni, Roberto},
year = {2006},
title = {The tragedy of Darfur and the limits of the `responsibility to protect'},
journaltitle = {Ethnopolitics},
volume = {5},
number = {4},
pages = {327--346},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Some text \footfullcite{Bel06}.
Some text \footfullcite[336]{Bel06}.
\printbibliography
\end{document}
(filecontents 环境仅用于将一些外部文件直接包含到示例中,以便进行编译。对于解决方案来说,它不是必需的。)
编辑:经过大量评论后,这是 OP 最后一刻请求的代码:
\DeclareCiteCommand{\smartcite}[\iffootnote\relax\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\iffootnote
{\usebibmacro{footcite}}
{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}