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

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

2008年1月4日 发表评论 阅读评论

在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. aloe
    2008年1月7日15:41 | #1
    为什么我都看不懂呢
  1. 本文目前尚无任何 trackbacks 和 pingbacks.