\usepackage{natbib}在latex模板写作中的心得_格致轩_百度空间

\usepackage{natbib}在latex模板写作中的心得

IEEE类journal都提供非常好的tex模板,用起来不存在什么问题。但是elsevier却只提供了简单的tex文件,很多东西都得自己弄明白。\usepackage{natbib}感觉就是一个非常容易出错的地方。用elsevier的模板写完后,发现其中的括号都是圆括号和分号。查了一下,大家都是有这个问题。这里总结一下我的使用心得。

1、\usepackage{natbib}的介绍
http://wiki.ctex.org/index.php/Natbib#.E5.BC.BA.E5.88.B6.E5.A4.A7.E5.86.99
这个指出
natbib 重新实现了 \cite 命令以适应作者--年和编号两种形式的引用,完全兼容标准的文献样式 plain, alpha, unsrt 等,也可以配合 harvard, apalike, chicago, astron, authordate 等样式要求。

导入

\usepackage[option]{natbib}

具体的 option 有

  • round: (default) 使用圆括号
  • square: 使用方括号
  • curly: 使用花括号
  • angle: 使用尖括号
  • colon: (default) 用引号分隔多个引用
  • comma: 用逗号分隔多个引用
  • authoryear: (default) 使用作者--年引用形式
  • numbers: 使用编号引用形式
  • super: 使用 Nature 那样的上标编号引用
  • sort: 多个引用按照首字母排序
  • sort&compress: 除排序外,多个引用可以合并 (如 3-6, 15)
  • longnamesfirst: 多个作者的文献第一次被引用时列出所有作者,以后的引用可以缩写为 et al.
  • sectionbib: 重定义了 \thebibliography 使用 \section* 而不是 \chapter*。这样使用 chapterbib 宏包时,参考文献名称为 section 一级
  • nonamebreak: 在一行排版所有作者名字,这可能引起 overfull hbox 警告但是消除了跨行的 hyperref 问题
2、于是我简单地把我tex中的引用包部分改成了\usepackage[suqare]{natbib}发现还是出现错误,而且文章中的圆括号和那个分号依旧。仔细阅读整个应用包情况,发现其实问题不是在natbib的问题,而是文章抬头\documentclass[authoryear,preprint,review,12pt]{elsarticle}已经在引用natbib,下面你再用\usagepackage{natbib}更改option当然就报错啦。于是问题就解决了,把\usepackage[suqare]{natbib}删掉。然后把抬头改成
\documentclass[authoryear,preprint,review,12pt,square,comma]{elsarticle}
结果编译没报错,得到想要的中括号和逗号。

btw,如果有想加入那种参考文献超链接,加入这句话就好:
\usepackage{hyperref}