我有一个 BibTeX 格式的科学引文库。它们几乎都包含字段 url=''。在目标文档类中(它是专门为根据国家标准处理博士学位而创建和设计的),这些条目会产生带有指示 URL 的参考书目,其中此字段存在于 bibtex 库中。如何通过序言中的命令或作为 \bibliography 命令的选项来抑制显示 URL 而不影响类包?
答案1
鉴于您使用的是gost2008
参考书目样式,我认为您有两个主要选择:
创建不处理
url
字段内容的参考书目样式的修改版本。在你的 TeX 发行版中找到该文件
gost2008.bst
;复制该文件并将副本命名为gost2008nourl.bst
.在文本编辑器中打开该文件
gost2008nourl.bst
(用于 tex 文件的编辑器就可以了),然后找到函数format.url
。在我的这个文件的副本中,该函数从第 1381 行开始。该函数看起来应该像这样:FUNCTION {format.url} { url empty$ { "" } { bbl.url ": \BibUrl{" * url * "}" * urldate empty$ { "" } { " (" bbl.urldate * ": " * urldate * ")" * } if$ * } if$ }
用以下代码替换整个函数
FUNCTION {format.url} { url empty$ { "" } { "" } if$ }
即,用“存根”替换该函数,有效地告诉参考书目样式“不执行任何操作”,无论所讨论的条目是否具有名为的字段
url
。将文件保存
gost2008nourl.bst
在包含主 tex 文件的目录中,或保存在 BibTeX 搜索的目录中。如果选择后者,请确保也更新 TeX 发行版的文件名数据库。在您的主 tex 文件中,将指令更改
\bibliographystyle{gost2008}
为\bibliographystyle{gost2008nourl}
。然后再重新运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
或者,在文本编辑器中打开 bib 文件并将所有
url =
和实例替换url=
为zzzurl=
。BibTeX 会忽略您使用的参考书目样式数据库中不存在的字段。虽然
gost2008
它被编程为具有名为 的字段url
,但它(不出所料)没有关于如何处理名为 的字段的说明zzzurl
。url
将字段名称从 更改为后,您仍需要重新运行 BibTeX 和 LaTeXzzzurl
。
祝您 BibTeX 愉快!