使用 Biblatex 更改参考书目中仅包含的内容

使用 Biblatex 更改参考书目中仅包含的内容

正如文档所指出的,由于所有书目数据都是在第一次引用时提供的,因此 Biblatex 中的详细样式可以在没有参考文献列表的情况下使用。

但有时即使采用这种样式,也会使用参考文献列表。我曾经遇到过这种情况,并且希望列表比引用更详细,例如,其中 isbn=true,但引用中的 isbn=false。

这可能吗?至少没有 isbn、url 等选项,\printbibliography我认为如果您能够做到这一点,这是一种自然的方法。该命令\ExecuteBibliographyOptions仅在序言中可用,因此这不是在之前更改它的方法\printbibliography

答案1

目前biblatex没有比按条目、按类型和全局执行选项更本地化的选项。另请参阅https://github.com/plk/biblatex/issues/1209。对于许多选项,允许更本地化地应用这些选项会很简单(一旦解决了这些选项的优先顺序的概念问题,它们是否会覆盖全局设置和每个条目和每个类型的选项? - 感谢您的想法),但其他人有更复杂的实现,涉及将信息传回 Biber。

对于您的示例,isbn=false,如果我们通过该选项的实现,我们可以轻松获得所需的效果。它被实现为一个名为的切换按钮bbx:isbn。我们可以在文档中的几乎任何位置切换此切换按钮的值。

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

\usepackage[backend=biber, style=verbose, isbn=false]{biblatex}

\AtBeginBibliography{\toggletrue{bbx:isbn}}

\addbibresource{biblatex-examples.bib}

\begin{document}
\null\vfill
Lorem \autocite{gaonkar:in}

\printbibliography
\end{document}

脚注 1 Dilip Parameshwar Gaonkar。《论另类现代性》。在:另类现代性。Dilip Parameshwar Gaonkar 编。达勒姆和伦敦:杜克大学出版社,2001 年,第 1-23 页。// 参考文献 Gaonkar,Dilip Parameshwar。《论另类现代性》。在:另类现代性。Dilip Parameshwar Gaonkar 编。达勒姆和伦敦:杜克大学出版社,2001 年,第 1-23 页。isbn:0-822-32714-7。

答案2

您也可以使用\clearfield命令获得相同的结果:

 \documentclass[british]{article}
 \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{csquotes}
 
 \usepackage[backend=biber, style=verbose]{biblatex}
 
 \AtEveryCitekey{%
     \clearfield{isbn}% }
 
 
 \addbibresource{biblatex-examples.bib}
 
 \begin{document} \null\vfill Lorem \autocite{gaonkar:in}
 
 \printbibliography \end{document}

这允许您使用基于类型的过滤器,例如:

\AtEveryCitekey{%
\ifentrytype{book,article}{
    \clearfield{isbn}%
    \clearfield{publisher}%
}{}
}

相关内容