Biblatex:省略作者

Biblatex:省略作者

在传统的“人文”写作风格中,可能会提到一位作者,并希望引用他/她的作品而不写作者姓名,也许是因为您正在讨论他/她的作品,添加姓名是多余的。我不一定指的是同上风格或类似的风格,而是当作者姓名无用或与上下文不相符时,如何引入书目数据。这是一个 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并调用标准宏。您可以以类似的方式对其他引用命令进行类似的更改。

相关内容