分类: LINUX
2011-10-31 21:58:01
LaTeX 对参考文献的处理包含三个紧密相连的部分。
引用命令 | 显示效果 |
---|---|
\citet{Mas-Colell-Whinston-Green_1995} | Mas-Colell, Whinston and Green (1995) |
\citep{Mas-Colell-Whinston-Green_1995} | (Mas-Colell, Whinston and Green 1995) |
上述后两个过程可以由下面的命令行实现:
latex yourfile bibtex yourfile latex yourfile latex yourfile因此,对中文参考文献的处理也同样涉及到上述三个部分。中文参考文献处理的 特殊要求决定了要对上述三个部分加以适当调整和修改。
中文参考文献的处理(作者年代式) 对 bib 文件的修改为了能够分别处理中英文参考文献的不同风格,需要在 bib 文件中所有中文参 考文献条目中增加一个字段 lang, 指定该字段值为 {chinese} 即可。如
@Book{Pindyck-Rubinfeld.cn_2000, author = {平狄克 and 鲁宾费尔德}, title = {微观经济学}, publisher = {中国人民大学出版社}, year = 2000, address = {北京}, edition = 4, lang = {chinese} } 文献引用宏包 natbib 导言区设置 \usepackage[sort&compress,longnamesfirst]{natbib} \bibpunct[, ]{(}{)}{;}{a}{}{,} \addtolength{\bibsep}{-0.5 em} % 缩小参考文献间的垂直间距 \setlength{\bibhang}{2em} \newcommand{\bibfont}{\normalfont}%文献列表的字体 %\renewcommand\bibnumfmt[1]{#1} %去掉文末文献列表的[](数字或上标模式) %\newcommand{\bibnumfont}[1]{\textit{#1}} %文献列表中的姓氏字体设置,需要与适当的 bst 文件配合使用 \newcommand{\bibnamefont}[1]{{\bf\hei #1}} %文献列表中的名字字体设置,需要与适当的 bst 文件配合使用 \newcommand{\bibfnamefont}[1]{{\bf\hei #1}} 处理中文问题natbib 宏包缺省情况下会将中文忽略,得到的结果是所有中文都消失了。为了 解决这一问题,可以在导言区加上下面的代码:
%% 下面的代码来自 fixCJK.tex by Werner Lemberg也可以直接使用 hooklee 编写的 fixbbl 工具,具体用法请参考 。
文献引用风格文件 bst对中英文文献采用不同的风格是处理中英文参考文献的关键。这里采用维 护的 thuthesis 的处理方法,即在 bib 文件中为中文参考文献增加 lang 字段 ,通过这一字段区分中英文文献。依照这一思路,读者可以调整和修改 natbib 自带的 plain.bst, unsrt.bst 等风格文件。下面是一个小小的例子:
FUNCTION {bbl.and} { lang empty$ {"and"} {"和"} if$ } 这样修改可以告诉 BibTeX 在生成 bbl 文件时,中文文献多个作者之间的 and 改用中文“和”。下面是经过初步修改的 bst 文件,未经充分测试,供参考。
以下是导言区的相关代码。注意:如果同时使用了 hyperref 宏包,需要在 natbib 和 hyperref 两个宏包之后使用 hypernat 宏包,以解决数字上标的连 写问题。
\usepackage[numbers,sort&compress]{natbib} \renewcommand{\citet}[1]{\textsuperscript{\cite{#1}}} \renewcommand{\citep}[1]{\textsuperscript{\cite{#1}}} \addtolength{\bibsep}{-0.5 em} % 缩小参考文献间的垂直间距 \setlength{\bibhang}{2em} %\newcommand{\bibnumfont}[1]{\textit{#1}} \newcommand{\bibfont}{\normalfont}% 不宜使用中文字号,因为中文字号定义中包含了多余的行距 %\renewcommand\bibnumfmt[1]{#1} %去掉文末文献列表的[](数字或上标模式)文中文献的引用方式:
命令 | 适用情况 |
---|---|
citet | 上标形式 |
citep | 上标形式(同上) |
cite | 正文形式 |
对中文的处理,与作者年代式相同。
关于文中文献条目问题 应用的领域该宏包提供 \bibentry 命令,用于在正文中插入对应的参考文献条目。主要用 法有两种:
不再出现参考文献列表此时需要在使用 \bibentry 命令之前声明参考文献数 据库文件,形式为 \nobibliography{bibfile} 。注意:文献条目最末尾的标点 符号会自动去掉,以便作者在其后添加其他文字。仍然出现参考文献列表此时需要将上面的数据库文件声明命令改为 \nobibliography* ,然后在文末使用通常的 \bibliography{bibfile} 命令声明 数据库文件,两者需要使用同一个数据库文件,最好只有一个。这样的话,文档 中就可以混合使用 \bibentry 和 \citet 等命令了。 使用 chapterbib 和 natbib 宏包使用这两个宏包可以实现每章内容末尾出现自己的参考文献列表。但需要注意以 下几点:
其他步骤与通常编译 LaTeX 文档相同。
使用 footbib 宏包使用该宏包可以将引用到的参考文献条目直接放到引用所在页的脚注中,并且如 果前后所引文献相同,该宏包还可以自动加上 ibid。