以下代码生成包含三次 URL 的引用列表。我使用交叉引用来节省空间。有没有办法删除引用主条目的条目中的 URL?
\documentclass{article}
\usepackage{natbib}
\usepackage{url}
\begin{document}
\citet{Flickinger2008a,VanEynde2008a}
\bibliographystyle{plainnat}
\bibliography{test}
\end{document}
测试.bib:
@inproceedings{Flickinger2008a,
Author = {Daniel P. Flickinger},
Crossref = {Mueller2008a-ed},
Title = {Transparent Heads}}
@inproceedings{VanEynde2008a,
Author = {Frank {Van Eynde}},
Crossref = {Mueller2008a-ed},
Pages = {253--273},
Title = {Predicate Complements}}
@proceedings{Mueller2008a-ed,
Booktitle = {Proceedings of the 15th International Conference on Head-Driven Phrase Structure Grammar},
Editor = {Stefan M{\"u}ller},
Title = {Proceedings of the 15th International Conference on Head-Driven Phrase Structure Grammar},
Url = {http://cslipublications.stanford.edu/HPSG/9/},
Year = {2008}}
答案1
这似乎是样式上的设计决定。如果我修改为具有以下功能plainnat
,则不会获得条目的 URL :@inproceedings
plainnat.bst
inproceedings
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
crossref missing$
{ format.in.ed.booktitle "booktitle" output.check
format.bvolume output
format.number.series output
format.pages output
address empty$
{ organization publisher new.sentence.checkb
organization output
publisher output
format.date "year" output.check
}
{ address output.nonnull
format.date "year" output.check
new.sentence
organization output
publisher output
}
if$
format.isbn output
format.doi output
format.url output
}
{ format.incoll.inproc.crossref output.nonnull
format.pages output
}
if$
% format.isbn output
% format.doi output
% format.url output
new.block
note output
fin.entry
}
注释掉的行负责添加isbn
、doi
和url
字段,并已移至测试的“false”分支crossref missing$
,以便@inproceedings
没有crossref
字段的条目将获得 URL。
plainnat.bst
和往常一样,你应该用新名字复制一份,比如说。应该对和函数myplainnat.bst
进行类似的修改。inbook
incollection
答案2
我觉得url
这三个条目的字段不应该全部相同。特别是,条目Flickinger2008a
和VanEynde2008a
应该被赋予各自独立的url
字段。即,条目Flickinger2008a
可能被赋予字段
url = {http://cslipublications.stanford.edu/HPSG/9/Flickinger.pdf},
并且条目VanEynde2008a
可能会被赋予字段
url = {http://cslipublications.stanford.edu/HPSG/9/vaneynde.pdf},
提供单独字段的主要原因url
是类型条目的 URL@inproceedings
是 pdf 文件,而 -type 条目的 URL@proceedings
是网页。通过提供单独的 URL,您可以让读者轻松(或更轻松)地获取他们想要的出版物,而不是让他们先访问网站,然后滚动一段时间,直到他们设法找到他们感兴趣的论文。
附录,由 OP 的后续评论提示:如果你这样做不是想要让“子”条目(类型)从“父”条目(类型) @inproceedings
“继承”字段的值,您可以简单地为相应字段设置一个空白值,即,您可以设置url
@proceedings
url
url = {},
对于两个“子”条目。