Latex——natbib宏包使用说明中文版

来源:互联网 发布:国际数据公司idc 编辑:程序博客网 时间:2024/06/07 13:36
原文地址:http://hi.baidu.com/lukespring/blog/item/d982973028495390a8018e57.html

宏包加载\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 问题
引用命令\citet{jon90}Jones et al. (1990)\citet[chap. 2]{jon90}Jones et al. (1990, chap. 2)\citep{jon90}(Jones et al., 1990)\citep[chap. 2]{jon90}(Jones et al., 1990, chap. 2)\citep[see][]{jon90}(see Jones et al., 1990)\citep[see][chap. 2]{jon90}(see Jones et al., 1990, chap. 2)\citet*{jon90}Jones, Baker, and Williams (1990)\citep*{jon90}(Jones, Baker, and Williams, 1990)\citealt{jon90}Jones et al. 1990\citealt*{jon90}Jones, Baker, and Williams 1990\citealp{jon90}Jones et al., 1990\citealp*{jon90}Jones, Baker, and Williams, 1990\citealp{jon90,jam91}Jones et al., 1990; James et al., 1991\citealp[pg. 32]{jon90}Jones et al., 1990, pg. 32\citeauthor{jon90}Jones et al.\citeauthor*{jon90}Jones, Baker, and Williams\citeyear{jon90}1990\citeyearpar{jon90}(1990)\citetext{priv. comm.}(priv. comm.)

如果采用编号形式引用,上述作者--年会被替换为相应的文献编号。

定制

标点

使用 \bibpunct 可以定制引用所使用的标点符号。这个命令有六个变量

  1. 开头的括号,默认为 (
  2. 结束的括号,默认为 )
  3. 分隔多个引用的标点,默认为 ;
  4. n:编号;s:上标编号;其他字母为作者--年,默认也是作者--年
  5. 作者姓名和年之间的标点,默认无标点
  6. 同一作者多篇文献合并引用时,年代之间或者编号之间的标点,默认为 ,

例子

\bibpunct{[}{]}{,}{a}{}{;}

产生

\citep{jon90,jon91,jam92} -->[Jones et al. 1990; 1991, James et al. 1992]

其他

  • \bibsection 控制参考文献标题所使用的章节层次,一般是 \section* 或者 \chapter*
  • \bibpreamble 控制参考文献标题和列表之间的文字
  • \bibfont 控制文献列表的字体
  • \citenumfont 控制引用编号的字体,可以声明为 \textit 之类
  • \bibnumfmt 控制文献列表编号格式,它带有一个变量,默认为 [#1]
  • \bibhang 控制文献列表中每一条目第一行第一行之后的缩进,使用 \setlength 命令来改变
  • \bibsep 控制文献列表中条目之间的空白,使用\setlength 命令来改变

Tips

chapterbib 宏包

与 natbib 兼容,用来产生分章节的文献列表。这个宏包本质上使用 \include 命令来为每一章节添加文献列表。每一章节的参考文献都要单独声明 \bibliographystyle 以及 \bibliography 要导入的 bib 文件。

chapterbib 也有一个 sectionbib 的选项,但是会和 natbib 有冲突。要使其生效,只能对 natbib 使用 sectionbib 选项。

强制大写

如果作者名字的前置词为小写,如 della Robbia,当位于句首时,需要其首字母大写,这时候可以用上述命令的大写形式,以\Citet 为例

\citet{dRob98}della Robbia (1998)\Citet{dRob98}Della Robbia (1998)\Citep{dRob98}(Della Robbia, 1998)\Citealt{dRob98}Della Robbia 1998\Citealp{dRob98}Della Robbia, 1998\Citeauthor{dRob98}Della Robbia

\citet*,\citep,以及 \citep* 也有相应的大写版本。

文献别名

有时候定义别名来引用文献比较方便。定义

\defcitealias{jon90}{Paper I}

然后就可以使用

\citetalias{jon90} -->Paper I\citepalias{jon90} -->(Paper I)
原创粉丝点击