我正在使用具有以下代码的纸质模板:
\usepackage{natbib,har2nat} % for references in harvard+dcu style
\renewcommand{\harvardurl}{\footnotesize{\textbf{URL:} \url}}"
我想关闭在参考书目中打印 URL。我搜索了软件包手册,但找不到方法。请帮忙!
答案1
我假设你正在使用哈佛套餐,例如,dcu
或agsm
。如果这个假设是正确的,并且文档中的行距不是“太不正统”——除此之外:如果你使用该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
字段非空时它什么也不做。然而,对于当前的情况来说,这可能有点过头了。