Biber/BibTex:在脚注中引用在线资源而不使用 URL / 在参考书目中引用 URL

Biber/BibTex:在脚注中引用在线资源而不使用 URL / 在参考书目中引用 URL

我通常biber结合精彩的biblatex-dw风格来写书。

这次,出版商要求我不在脚注中包含任何 URL,而是用“在线资源”一词来代替。好的,我可以这样做,并且明白带有长 URL 的脚注并不美观 - 但我想在参考书目部分中包含 URL。有人知道如何用“在线资源”替换脚注中的 URL,但在参考书目中完整打印它们吗?

我现在能想到的唯一解决方案是创建两个 .bib 条目(source-with-onlineresource, source-with-url),一个包含关键字nourl,然后始终用 进行引用\cite{source-with-onlineresource}\nocite{source-with-url},最后用 打印参考书目\printbibliography[notkeyword={nourl}]

有谁知道有更优雅的方式来做到这一点?

答案1

如果你使用footnote-dw它,重新定义url+urldate宏就足以在引用中打印“在线资源”。这可以用

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \usebibmacro{footref}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\renewbibmacro*{url+urldate}{\iffieldundef{url}{}{\printtext{online resource}}}%
       \DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}%
    \iffieldundef{shorthand}
      {}
      {\ifbool{cbx:citedas}
        {\addspace\usebibmacro{shorthandintro}}
        {}}}}

我们仅添加了这一行\renewbibmacro*{url+urldate}{\iffieldundef{url}{}{\printtext{online resource}}}

或者,您可以稍微改变逻辑,以便仅在有@online带 URL 的条目时才显示“在线资源”消息:

\renewbibmacro*{url+urldate}{\ifboolexpr{not test {\iffieldundef{url}} and test {\ifentrytype{online}}}{\printtext{online resource}}{}}

相关内容