正如文档所指出的,由于所有书目数据都是在第一次引用时提供的,因此 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}
答案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}%
}{}
}