如何在 biblatex 中本地省略引文的作者字段?

如何在 biblatex 中本地省略引文的作者字段?

我需要创建一个引用简写列表,但我的文档仅使用一位作者的作品的简写。因此,用简写形式表示完整引用方案是多余的:它应该省略作者的名字。

这可以通过重置作者字段来实现\AtBeginShorthands,例如:

\AtBeginShorthands{\renewbibmacro*{author}{}}

但我在其他地方也需要这种行为:文档中有一个部分,我计划在其中放置一个description list,介绍和解释主要参考书目......

我想创建一个单独的参考书目,例如“作品按作者姓名”,其中作者的名字也是多余的......(我认为这应该在里面做,\defbibenvironment但我不知道怎么做)

总结一下:

  • 1)如何author bibmacro在单一环境内重置
  • 2)如何author bibmacro在单独的参考书目中重置

答案1

前注:尽管您声明已设法重置环境中的作者字段,但恐怕这\renewbibmacro*{author}{}将涵盖许多情况,但不是所有情况。(标准书目驱动程序使用了许多不同的 bibmacros!)

对于单独的参考书目,我建议克隆您最喜欢的参考书目/引用样式使用的 bibenvironment,并将\clearname{author}(和\clearname{editor})添加到包含的第四个强制参数\defbibenvironment“在参考书目或简写列表的每个条目开头执行的代码”(手册,第 3.5.7 节)。

在下面的例子中,我还半自动化地创建了“按作者姓名排列的作品”书目。biblatex没有(还没有?)命令\bibbyauthor,但您可以为不同的作者声明类别并使用\bibbycategory

\documentclass{article}

\usepackage[defernumbers=true]{biblatex}

\defbibenvironment{bibnoauthors}
  {\list
     {\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\clearname{author}%
  \clearname{editor}%
  \item}

\DeclareBibliographyCategory{Author}
\DeclareBibliographyCategory{Buthor}
\addtocategory{Author}{A01x,A01y}
\addtocategory{Buthor}{B02}
\defbibheading{Author}{\section*{Works by A.~Author}}
\defbibheading{Buthor}{\section*{Works by B.~Buthor}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01x,
  author = {Author, A.},
  year = {2001},
  title = {Alpha-First},
}
@misc{A01y,
  author = {Author, A.},
  year = {2001},
  title = {Alpha-Second},
}
@misc{B02,
  editor = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\nocite{*}

\begin{document}

\bibbycategory[env=bibnoauthors]

\printbibliography

\end{document}

相关内容