我正在使用natbib
和plainnat
样式作为参考文献。我想知道如何从参考文献中删除 ISSN、DOI 和 URL,而不在 .bib 文件中删除它们。我在其他帖子中看到了一些解决方案,但使用biblatex
;有没有使用的解决方案natbib
?
这是我正在使用的代码:
\documentclass[12pt,a4paper]{article}
\usepackage[english]{babel}
\usepackage[square,sort&compress,comma,numbers]{natbib}
\author{Me}
\title{Article}
\begin{document}
\maketitle
\begin{abstract}
This article...
\end{abstract}
\section{Intro}
According to \citet{John2003} ...
\bibliographystyle{plainnat}
\bibliography{bibl}
\end{document}
bibl
包含密钥代码为 John2003 的条目
答案1
我不建议修改*.bib
文件。你有一天可能会需要这些字段(有些期刊要求输入 DOI/ISSN,URL 对你自己的参考很有用)。相反,你应该更改风格规定如何显示参考书目的文件。
在您的计算机上找到plainnat.bst
文件。将其复制到包含文件的目录中*.tex
,将其重命名为类似名称plainnatnourl.bst
,然后对其进行修改,使其不打印 URL。然后您可以使用
\bibliographystyle{plainnatnourl}
修改应该相当简单。如果abbrvnat.bst
我唯一要做的就是改变
FUNCTION {format.url}
{ url empty$
{ "" }
{ <SOME CODE THAT FORMATS URL> }
if$
}
到
FUNCTION {format.url}
{ url empty$
{ "" }
{ "" }
if$
}
plainnat.bst
應該类似。
答案2
不要删除,只需重命名键,即ISSN -> OPTISSN
。然后数据仍然存在,但会被 bibtex 忽略,因为它不知道OPTISSN
答案3
如果你使用 biblatex,你可以删除字段,在你的序言中使用它(删除\usepackage[square,sort&compress,comma,numbers]{natbib}
)
\usepackage[style=numeric-comp,natbib=true]{biblatex}
\AtEveryBibitem{%
\clearfield{issn} % Remove issn
\clearfield{doi} % Remove doi
\ifentrytype{online}{}{% Remove url except for @online
\clearfield{url}
}
}
答案4
您可以直接将选项添加到usepackage
指令中:
\usepackage[backend=biber, style=numeric-comp, isbn=false, issn=false, doi=false]{biblatex}