从参考书目中省略不需要的 bibtex 信息

从参考书目中省略不需要的 bibtex 信息

我的 .bib 文件由 Mendley 桌面生成,通常包含 URL、ISSN 和 DOI。我使用的是 \usepackage[round]{natbib} 包和 \bibliographystyle{plainnat}。

我意识到我不是第一个问这个问题的用户(问题 1问题2)——虽然公平地说,这个用户询问的样式与我使用的样式不同。和这个用户一样,我不希望 DOI、URL、ISSN 显示在我的参考书目中。我该如何摆脱它们?

约瑟夫·赖特建议使用 doi=false等等。但我不清楚这该如何编码。我尝试添加 doi=false,如下所示:\bibliographystyle{natbib, doi=false},但这不起作用。

编辑:为了清晰起见进行更改。

答案1

推荐的解决方案

使用 无法真正简单地优雅地完成此操作natbib,因为.bst格式化参考书目条目的文件要么生成字段,要么不生成字段。无法有选择地打开或关闭它们。出于这个原因,我建议natbib您使用而不是biblatex来管理参考书目,因为这将允许您直接控制是否生成它们。

然后是 Joseph 所链接的问题中的解决方案:

将工作。

但是,此解决方案的一个小问题是没有完全biblatex模仿的样式plainnat,主要是因为大多数作者年份系统将年份放在作者之后,而不是像作者年份系统那样放在作者末尾plainnat。如果您在选择样式时有任何灵活性,您可以选择标准biblatex authoryear样式、apa样式或biblatex-chicago带有authordate样式的包之一。以下是使用 APA 样式的最小示例:

% !BIB TS-program = biber
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{AD.Smith2001,
  author    = {Arthur D. Smith},
  title     = {A simple model of LaTeX References.},
  journal   = {Journal of LaTeX},
  year      = {2001},
  volume    = {100},
  pages     = {1--10},
  number    = {3},
  keywords  = {LaTeX models; biology},
  doi       = {10.1115/1.1372322},
  publisher = {Cambridge},
  url       = {http://link.aip.org/link/?PBY/321},
}
\end{filecontents*}

\documentclass[a4paper,12pt]{article}

\usepackage[american]{babel} 
\usepackage{csquotes} 
\usepackage[style=apa,
            backend=biber,
            natbib=true, % use this to use natbib cite commands
            url=false,
            doi=false]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{\jobname.bib}  

\begin{document}
\citet{AD.Smith2001}.

\printbibliography
\end{document} 

代码输出

不推荐(但可行)的解决方案

.bst修改文件以不打印任何这些字段并不困难。该.bst文件plainnat具有如下所示的函数(一个用于 URL,一个用于 ISSN,一个用于 DOI 等)

FUNCTION {format.isbn}
{ isbn empty$
    { "" }
    { new.block "ISBN " isbn * }
  if$
}

我们可以用这样的函数替换其中的每一个:

FUNCTION {format.isbn}
{ "" }

这只会导致这些字段中的任何一个都无法打印。复制一份plainnat.bst,给它起一个新名字(我把它叫做)plainnat-noURL,然后把它保存在与文档相同的文件夹中.tex。然后编辑文件,对于每个函数,用上面的函数替换该函数。

通过这个最小的例子我们得到了我们想要的输出。

\RequirePackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@ARTICLE{AD.Smith2001,
  author    = {Arthur D. Smith},
  title     = {A simple model of LaTeX References.},
  journal   = {Journal of LaTeX},
  year      = {2001},
  volume    = {100},
  pages     = {1--10},
  number    = {3},
  keywords  = {LaTeX models; biology},
  doi       = {10.1115/1.1372322},
  publisher = {Cambridge},
  url       = {http://link.aip.org/link/?PBY/321},
}
\end{filecontents*}


\documentclass[a4paper,12pt]{article}


\usepackage[round]{natbib}


\begin{document}
\cite{AD.Smith2001}.

\bibliographystyle{plainnat-noURL}
\bibliography{\jobname}   % using the bib file created with filecontents
\end{document} 

代码输出

相关内容