我正在使用 OSCOLAbiblatex
包。我使用脚注。我引用的所有文章都出现在最后的参考书目中。当我将 DOI 编号添加到我的参考书目条目中时,它们也会出现在脚注中。但是,我不希望它们出现在脚注中,而只出现在参考书目中。我试过了doi=false
,但 DOI 编号被完全隐藏了。有什么想法吗?我是 Latex 的新手,所以我不知道要提供哪些其他信息。
\documentclass[a4paper,twoside,12pt]
\usepackage[style=oscola, doi=true, indexing=cite, citereset=chapter, ibidstyle=uc, backend=biber, giveninits=true]{biblatex}
@article{sarooshi96,
author = {Sarooshi, D},
title = {The Legal Framework Governing United Nations Subsidiary Organs},
journal = {BYBIL},
volume = {67},
pages = {413},
year = {1996},
doi = {10.1093/bybil/67.1.413},}
\begin{document}
Test test test\footcite[417]{sarooshi96}
\printbibliography[title={Articles}, type=article, heading=mysubbibintoc]
\end{document}
如果信息缺失,请告诉我。它在我的实际文档中显示如下:DOI 应该在脚注中删除,或者应该位于第 416 页的精确位置之后。
答案1
难道这个
oscola
风格和现在的版本不兼容biblatex
?
至少我无法编译您的示例。但原则上,您可以使用 测试您是否在脚注内\iffootnote
,因此以下方法可能有效:
\documentclass[a4paper,twoside,12pt]{book}
\usepackage[style=oscola, doi=true]{biblatex}
\begin{filecontents*}{test.bib}
@article{sarooshi96,
author = {Sarooshi, D},
title = {The Legal Framework Governing United Nations Subsidiary Organs},
journal = {BYBIL},
volume = {67},
pages = {413},
year = {1996},
doi = {10.1093/bybil/67.1.413},}
\end{filecontents*}
\renewbibmacro*{doi+eprint+url}{%
\iftoggle{bbx:doi}
{\ifboolexpr{ test {\iffootnote}}{}{\printfield{doi}}}
{}%
\newunit\newblock
\iftoggle{bbx:eprint}
{\usebibmacro{eprint}}
{}%
\newunit\newblock
\ifboolexpr{ test {\iftoggle{bbx:url}}
or test {\ifentrytype{online}}}
{\usebibmacro{url+urldate}}
{}}
\addbibresource{test.bib}
\begin{document}
Test test test\footcite[417]{sarooshi96}
\printbibliography
\end{document}