我通常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}}{}}