修改 BibTeX的输出样式 (取消标题大小写自动转换,添加/删除域)

在LaTeX中,比较符合我们专业的参考文献样式是 natbib,例如 plainnat。这个包裹是 Patrick W. Daly (应该是个德国人)写的。可以使用 \cite{} 和 \citep{} 等命令实现多种环境下的文献引用。

但连接我的 EndNote数据库的输出之后,放在论文中,总不是那么合理。其实问题不在于数据库,而是BibTeX某些输出样式的定义。

例如,
(1) 把文章标题中的自动大写字母改成小写,而不论是否专业名词,标题里的 China 最后都输出成 china;
(2) 缺少 techreport 的信息,像 series 参数。

关于问题 (1)

上网搜了一下,对于解决标题大小写问题,大都建议把需要保留大写的字母加大括号,例如{C}hina。但面对将近200篇的文献,一个个加显然是不合理的。再说以后更新文献数据库之后,怎么办。这显然不是一个最终的解决方式,按照老王同志的说法就是“不专业”。

于是,找到了位于"...\MiKTeX 2.6\bibtex\bst\natbib"目录下的plainnat.bst文件。建议在修改前先备份。用VI打开之后,修改命令(在article, conference, techreport等内部)

  format.title "title" output.check

  title "title" output.check

原来那个命令应该是对于标题进行编排,现在直接取消。
解决标题大小写问题。

关于问题 (2)

直接修改 techreport段,加上黑体那段就可以了。

FUNCTION {techreport}
{ output.bibitem
  format.authors "author" output.check
  author format.key output
  new.block
  title "title" output.check
  new.block
  series "series" output.check
  new.block

  format.tr.number output.nonnull
  institution "institution" output.check
  address output
  format.date "year" output.check
  format.url output
  new.block
  note output
  fin.entry
}

显然,这个问题的解决方法,也可以使用到其他类别信息的添加和删除上。

大功告成!

Powered by ScribeFire.

发布在LaTeX/论文. 将该链接存入书签发表评论或留个互链:互链地址.

1条评论

  1. aloe
    发表于2008/01/07 15:41 | 永久链接
    为什么我都看不懂呢

添加一条评论

你的电子邮件不会被公开或用作其他用途。

你可以使用以下HTML标签和属性。 <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  • 信息