在传统的“人文”写作风格中,可能会提到一位作者,并希望引用他/她的作品而不写作者姓名,也许是因为您正在讨论他/她的作品,添加姓名是多余的。我不一定指的是同上风格或类似的风格,而是当作者姓名无用或与上下文不相符时,如何引入书目数据。这是一个 MWE(不是真正最小的,因为我显然需要一些引用:
\documentclass[a4paper]{article}
\usepackage[style=verbose-note]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{Annas:HellenisticVersion,
Title = {{T}he {H}ellenistic {V}ersion of {A}ristotle's {E}thics},
Author = {Annas, Julia},
Journal = {The Monist},
Pages = {80-96},
Year = {1989},
Volume = {73},
}
@Article{Annas:Emotions,
Title = {{E}picurean {E}motions},
Author = {Annas, Julia},
Journal = {GRBS},
Pages = {145-64},
Year = {1989},
Volume = {30},
}
@Book{Annas:Morality,
Title = {{T}he {M}orality of {H}appiness},
Location = {New York - Oxford},
Author = {Annas, Julia},
Publisher = {Oxford University Press},
Year = {1993},
}
@Book{Annas:Intelligent-virtue,
Title = {{I}ntelligent virtue},
Location = {Oxford},
Author = {Annas, Julia},
Publisher = {Oxford University Press},
Year = {2011},
}
\end{filecontents}
\addbibresource{\jobname.bib}
% CITENOAUTHOR
\newcommand\citenoauthor[1]{%
{\citetitle{#1}\addspace%
\mkbibparens{%
\citelist{#1}{location}\addcolon\addspace%
\citelist{#1}{publisher}\addcomma\addspace%
\citeyear{#1}}%
}%
}
%
\begin{document}
\section{Standard}
Annas' well known book of ancient ethics is very important%
\footnote{\cite{Annas:Morality}. I would refer also to another
more recent work, \cite{Annas:Intelligent-virtue}.}%
. Her article on Aristotle and the Hellenistic world is worth mentioning%
\footnote{\cite{Annas:HellenisticVersion}. See also her contribution on
Epicurus: \cite{Annas:Emotions}.}.
\section{New version}
Annas' book is very important%
\footnote{\cite{Annas:Morality}. I would refer also to another
more recent work, \citenoauthor{Annas:Intelligent-virtue}.}%
. Her article on Aristotle is good%
\footnote{\cite{Annas:HellenisticVersion}. See also her contribution on
Epicurus: \citenoauthor{Annas:Emotions}.}.
%
\end{document}
我定义了一个新命令,我称之为 \citenoauthor。它打印我需要的所有字段/列表,除了作者。例如,它适用于书籍,但不适用于文章。我尝试使用,\ifentrytype{book}{...}
但没有成功。有没有可能的定义说“现在,并且只有现在,不要打印作者字段”?
我还附上了这个例子的输出。注释 3 没问题,但注释 4 引用了一篇文章,显然是错误的:
1 标准
安纳斯的著名古代伦理学著作非常重要[1]。她关于亚里士多德和希腊化世界的文章值得一提[2]。
2 新版本
安纳斯的著名古代伦理学著作非常重要[3]。她关于亚里士多德和希腊化世界的文章值得一提[4]。
1 朱莉娅·安纳斯,《幸福的道德》。纽约 - 牛津:牛津大学出版社,1993 年。我还想参考另一部较新的著作,朱莉娅·安纳斯,《智慧的美德》。牛津:牛津大学出版社,2011 年。
2 Julia Annas。“亚里士多德伦理学的希腊化版本”。《一元论者》73(1989 年),第 80-96 页。另请参阅她关于伊壁鸠鲁的贡献:Julia Annas。“伊壁鸠鲁情感”。《GRBS》30(1989 年),第 145-64 页。
3 Annas,《幸福的道德》,见第 1 号注释。我还参考了另一部较新的著作《智慧的美德》(牛津:牛津大学出版社,2011 年)。
4 Annas,《亚里士多德伦理学的希腊化版本》,见第 2 号。另请参阅她关于伊壁鸠鲁的贡献:“伊壁鸠鲁的情感”(所在地:出版商,1989 年)。
谢谢你!
答案1
您应该设置一个新的引用命令,基于\cite
它来调用 bib 宏,该宏author
在调用标准宏之前首先清除(可能还有更多字段)。
\documentclass[a4paper]{article}
\usepackage[style=verbose-note]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{Annas:HellenisticVersion,
Title = {{T}he {H}ellenistic {V}ersion of {A}ristotle's {E}thics},
Author = {Annas, Julia},
Journal = {The Monist},
Pages = {80-96},
Year = {1989},
Volume = {73},
}
@Article{Annas:Emotions,
Title = {{E}picurean {E}motions},
Author = {Annas, Julia},
Journal = {GRBS},
Pages = {145-64},
Year = {1989},
Volume = {30},
}
@Book{Annas:Morality,
Title = {{T}he {M}orality of {H}appiness},
Location = {New York - Oxford},
Author = {Annas, Julia},
Publisher = {Oxford University Press},
Year = {1993},
}
@Book{Annas:Intelligent-virtue,
Title = {{I}ntelligent virtue},
Location = {Oxford},
Author = {Annas, Julia},
Publisher = {Oxford University Press},
Year = {2011},
}
\end{filecontents}
\addbibresource{\jobname.bib}
% CITENOAUTHOR
\DeclareCiteCommand{\citenoauthor}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\iffootnote
{\usebibmacro{footcite:noauthor}}
{\usebibmacro{cite:noauthor}}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\newbibmacro*{footcite:noauthor}{%
\clearname{author}\usebibmacro{footcite}}
\newbibmacro*{cite:noauthor}{%
\clearname{author}\usebibmacro{cite}}
\begin{document}
\section{New version}
Annas' book is very important%
\footnote{\cite{Annas:Morality}. I would refer also to another
more recent work, \citenoauthor{Annas:Intelligent-virtue}.}%
. Her article on Aristotle is good%
\footnote{\cite{Annas:HellenisticVersion}. See also her contribution on
Epicurus: \citenoauthor{Annas:Emotions}.}.
\section{Standard}
Annas' well known book of ancient ethics is very important%
\footnote{\cite{Annas:Morality}. I would refer also to another
more recent work, \cite{Annas:Intelligent-virtue}.}%
. Her article on Aristotle and the Hellenistic world is worth mentioning%
\footnote{\cite{Annas:HellenisticVersion}. See also her contribution on
Epicurus: \cite{Annas:Emotions}.}.
\end{document}
上面的 is 定义\citenoauthor
基于\cite
中的verbose-note.cbx
,唯一的变化是\usebibmacro{footcite}
已被替换,\usebibmacro{footcite:noathor}
并且 也是如此\usebibmacro{cite}
。:coauthor
然后定义 bibmacros 的版本以清除字段author
并调用标准宏。您可以以类似的方式对其他引用命令进行类似的更改。