使用 plainnat 和 natbib 时删除 issn/doi/url

使用 plainnat 和 natbib 时删除 issn/doi/url

我正在使用natbibplainnat样式作为参考文献。我想知道如何从参考文献中删除 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}

相关内容