覆盖预先选择的书目样式,并抑制不需要的 bibtex 字段

覆盖预先选择的书目样式,并抑制不需要的 bibtex 字段

我必须使用期刊论文的样式文件,该文件使用plainnat参考书目样式。我想使用abbrvnat样式,但除了直接更改期刊样式文件外,我不知道还有什么方法可以选择不同的参考书目样式。有没有更简洁的方法可以做到这一点?我已经做过类似的事情

\usepackage{jmlr2e} %This is the journal style that uses plainnat
\bibliographystyle{abbrvnat}

没有成功。

另外,不诉诸于 ,抑制一些不需要的 BibTeX 字段(如 URL、ISBN 等)的最方便的方法是什么biblatex

答案1

egreg 是对的:如果日志类加载plainnat,你应该使用那种风格。

也就是说,这里有一个相当 hacky 的方式来替换plainnat而不abbrvnat改变日志类文件:你的课程非常像使用 LaTeX 的\bibliographystyle命令来加载plainnat在加载课程之前,加载etoolbox包(使用\RequirePackage)并修补\bibliographystyle命令,以便它将忽略其参数并加载abbrvnat

\RequirePackage{etoolbox}
\patchcmd{\bibliographystyle}{#1}{abbrvnat}{}{}

\documentclass{article}

\usepackage{natbib}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@article{Bli74,
  author = {Blinder, Alan S.},
  year = {1974},
  title = {The economics of brushing teeth},
  journal = {Journal of Political Economy},
  volume = {82},
  number = {4},
  pages = {887--891},
}
\end{filecontents}

\begin{document}

Some text \citep{Bli74}

\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

在此处输入图片描述

编辑:jmlr2eCTAN 上没有的包确实使用了\bibliographystyle

相关内容