如何关闭书目项目中的 URL 字段?

如何关闭书目项目中的 URL 字段?

我正在使用具有以下代码的纸质模板:

\usepackage{natbib,har2nat} % for references in harvard+dcu style
\renewcommand{\harvardurl}{\footnotesize{\textbf{URL:} \url}}"

我想关闭在参考书目中打印 URL。我搜索了软件包手册,但找不到方法。请帮忙!

答案1

我假设你正在使用哈佛套餐,例如,dcuagsm。如果这个假设是正确的,并且文档中的行距不是“太不正统”——除此之外:如果你使用该setspace包,你应该没问题——你可以url通过发出指令来抑制打印字段的内容

\renewcommand\harvardurl[1]{\vspace{-\baselineskip}}

靠近序言的末尾。(当然,您还应该删除模板提供的\renewcommand{\harvardurl}{\footnotesize{\textbf{URL:} \url}}说明。)

这是因为harvard-package 书目样式提供了一个名为的 BibTeX 函数write.url,其定义如下:

FUNCTION {write.url}
{ URL empty$
    { skip$ }
    { "\newline\harvardurl{" URL * "}" * write$ newline$ }
  if$
}

即使你不熟悉 BibTeX 编程语言的语法,也希望你清楚,该函数通过测试url字段是否为空来开始工作。如果是不是在这种情况下,\newline先执行一个指令,然后执行一个\harvardurl指令(其参数是 URL 字符串)。因此,\harvardurl仅仅通过 重新定义为“不对 URL 字符串执行任何操作”是不够的\renewcommand\harvardurl[1]{},因为这无法消除前一个\newline指令的效果。因此,我建议的解决方案是 (a) 故意丢弃宏的参数(URL 字符串)并 (b) 执行\vspace{-\baselineskip}以撤消前一个指令的效果\newline

当然,也可以修改书目样式文件(副本)并重新定义,write.url这样当url字段非空时它什么也不做。然而,对于当前的情况来说,这可能有点过头了。

相关内容