修改“trad-alpha”以从参考书目项目中删除年份

修改“trad-alpha”以从参考书目项目中删除年份

我有这个最小的工作示例:

\documentclass{book}
\usepackage{filecontents}
\begin{filecontents}{chapterref.dbx}
\DeclareDatamodelFields[type=field,datatype=literal]{
  shortdesc,
}
\DeclareDatamodelEntryfields{shortdesc}
\end{filecontents}

\usepackage[backref, refsegment=chapter, datamodel=chapterref, 
style=trad-alpha % https://tex.stackexchange.com/a/69706/38244
]{biblatex}
\usepackage[colorlinks]{hyperref}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author    = {Author, A. and Duthor, D.},
  year      = {2001},
  title     = {Alpha},
  shortdesc = {Conference1},
}


@misc{N02,
    author = {Nuthor, C.},
    title = {New title},
    year = {2001},
}

@misc{N03,
    author = {Nuthor, C},
    title = {More new title},
    year = {2000},
}
\end{filecontents}

\addbibresource{\jobname.bib}


\begin{document}
  \chapter{First Chapter}
  Some more text \cite{A01}. More citation \cite{N02} and again \cite{N03}


  \printbibliography
\end{document}

它产生:

引用年份

年份

我想要做的是从参考书目条目(以黄色突出显示)中删除年份以及之前的逗号,同时保留其余部分。年份有点多余(因为年份已经在引用条目中提到{幸运的是,我不需要引用任何超过 100 年的论文})。

任何建议将被认真考虑。

编辑。 正如@AlanMunn 的评论所解释的那样,链接问题有很大不同。在这种情况下,另一个人要求删除重复的年份(后缀为ab)。就我而言,我想从参考书目键中删除年份。

编辑2。(@AlanMunn 也评论道)我仍然得到与以前相同的结果接受的答案链接的问题。

答案1

您可以重新定义书目宏以不打印任何内容。这是标准样式用来避免打印两次年份的date方法。authoryear

\documentclass{article}

\usepackage[style=trad-alpha]{biblatex}
\usepackage[colorlinks]{hyperref}

\renewbibmacro*{date}{}

\addbibresource{biblatex-examples.bib}

\begin{document}
  Some more text \autocite{sigfridsson,worman,geer,nussbaum}.
  \printbibliography
\end{document}

未注明日期的参考书目


\AtEveryBibitem{\clearfield{year}}

正如 Alan Munn 和 Marijn 在评论中提到的那样,这里也应该起作用。

请注意,这\AtEveryBibitem不会隐藏引文中的年份\fullcite,因此您需要

\AtEveryCitekey{\clearfield{year}}

也一样。

我通常只喜欢将其\clearfield作为最后的手段,并且更喜欢源映射(Biber 甚至不使用数据,这不是这里的选项)或使用输入处理程序清除字段。 有关抑制字段的几种方法的更详细比较,请参阅如何在使用 biblatex 时省略地址字段删除 biblatex 参考文献中的标题

在这种情况下,我发现简单地重新定义打印日期的 bibmacro 以使其不执行任何操作是很自然的,因为authoryear在类似情况下样式就是这样做的,但这可能并不总是容易实现的。如果样式不同,可能必须重新定义几个不同的宏,此时不同的解决方案可能变得更有吸引力。

相关内容