Biblatex:在单独调用 \printbibliography 时删除 ISSN、URL 和 DOI

Biblatex:在单独调用 \printbibliography 时删除 ISSN、URL 和 DOI

这个问题与这个。该问题的可接受答案是将全局参数传递给biblatex包。

我不明白的是,要\printbibliography使用不同的选项进行调用需要做什么?比如说,一个书目打印有doi信息,而下一个没有。

那么,如何更改document环境内的包选项?

答案1

一般情况下,您无法biblatex在文档中本地设置 的全局选项。某些选项可以基于每个类型或每个条目进行设置(从 3.13 版开始)biblatex可以在以下范围内设置更多选项:https://github.com/plk/biblatex/pull/866https://github.com/plk/biblatex/pull/877),但这与在文档内切换一个选项不同。请注意,某些选项值会传递到后端,因此无法动态更改,因为它们需要在整个文档中固定。

但是, DOI、ISBN 选项的内部实现eprint可以很容易地在本地更改。这些选项是通过etoolbox切换按钮实现的(参见standard.bbx,第 4-21 页)。调用选项doiisbneprinturlas几乎相当于将名称的切换related设置为。<option>=<value>bbx:<option><value>

因此,你可以尝试类似

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\addbibresource{biblatex-examples.bib}


\begin{document}
\cite{sigfridsson}
\printbibliography[title=\refname\ with DOI]

\begingroup
\togglefalse{bbx:doi}
\printbibliography[title=\refname\ without DOI]
\endgroup

\printbibliography[title=\refname\ with DOI again]
\end{document}

三个具有相同条目的参考书目:第一个和第三个有 DOI,第二个没有显示。


请注意,如果您想在本地(区域性)禁用文档中的某些功能,这是一个可行的解决方案。如果您想隐藏某些条目的 DOI,对于具有特定属性的条目(例如,对于特定类型的条目),那么有更自然的方法可以做到这一点(例如,使用每个类型的选项、源映射或测试)。

相关内容