登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

君子博学而日参省乎己,则知明而行无过矣

 
 
 

日志

 
 

制作BibTex文件  

2010-09-04 22:27:58|  分类: LaTeX |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
上一篇日志中讲到了在LaTeX中使用BibTex管理参考文献,这篇日志具体总结下如何制作BibTex文件。
制作BibTex文件,主要有以下几种方法:
  1. 手工制作
  2. 直接从期刊数据库中下载
  3. 借助Google Scholar
  4. 从文献管理工具中导出(本文涉及NoteExpress、EndNote、Mendeley)。
前三种很简单,对于第四种方法,尤其是NoteExpress和EndNote导出时遇到了一个问题,这也是耗费我较长时间的原因所在,不过经过我的广泛收集资料及辛苦分析,终于搞定。

废话不说了。看文!
1.手工制作
可以借助WinEdt: Insert-->BibTex Items-->Article等生成模板,如下是生成的Article的一个模板,其中,大写的表示必须填写。
@ARTICLE{,
  AUTHOR =       {},
  TITLE =        {},
  JOURNAL =      {},
  YEAR =         {},
  volume =       {},
  number =       {},
  pages =        {},
  month =        {},
  note =         {},
  abstract =     {},
  keywords =     {},
  source =       {},
}
注意:@ARTICLE{后面要有BibTex的关键字(bibkey或者说是label)
2.直接从期刊数据库中下载
在下载文章时,一般都有“Download Citations”这个选项,选择BibTex类型的下载即可!
3.借助Google Scholar

1) 打开scholar.google.com

2) 定制   Scholar Preferences(学术搜索设置)->Bibliography Manager(文献管理软件) ->Show links to import citations into BibTeX (选中这个)

(显示导入BibTex的链接)

3) search something like “multicast” in the scholar.google.com,

in the result list, kick “Import into BibTeX”    copy the text to bibtex database directly,

4) 直接去编译,不用任何修改

4.从文献管理软件中导出BibTex文件(这是本文的关键)

也许你以为这很简单,但是在实际操作中却容易出现问题。

我仅仅尝试了NoteExpress、EndNote、Mendeley这三款文献管理软件,对于三款软件,各有优劣,我个人目前为止也没有确定哪款最合适,但其实两款以上结合使用也许是一种方法哦。

对于三款软件的导出细节就不多说(导出嘛,无非就是选中需要导出的若干文献题录,然后在“File”菜单中找到“Export”,然后选择相应的导出格式为BibTex格式,至于谈到对导出的BibTex格式进行相应的格式微调,这个自己也很容摸索)。

前面提过,BibTex是一种特殊的数据库,是数据库就会涉及到唯一关键字(unique key),BibTex文件也不例外,他称为label或者bibkey,LaTeX中引用参考文献就是cite它的。但问题的关键是:

NoteExpress导出的BibTex时不能自动添加label(选择待导出的题录后,右键选择“复制BibTex引用”,然后再导出,这样会自动添加label),

EndNote更是不能自动添加label;

Mendeley导出BibTex文件时可以自动添加label(从这一点上,Mendeley领先了)

对于Mendeley导出的BibTex可以很容易的在LaTeX使用,如果使用的是NoteExpress、EndNote怎么办?

如果BibTex文件里的参考文献多的话,手动挨个添加label,显然是不明智的。其实手工添加了也不行,不信你试试。这是由于LaTeX引用的BibTex文件必须是ANSI编码的文本文档,而NoteExpress和EndNote导出的文件是Unicode编码格式的文档,所以除了添加label外,还要转换编码。

对于添加label,网上有别人已经写好的工具,如BibTeXConverter081.exeNoah Hoffmanendnlib.py。BibTexConverter081还是很好用的,有点遗憾的是它也只支持ANSI编码的.bib文件。运行BibTexConverter081,直接将待添加label的A.bib 格式的文档拖拽到界面上,如果A.bib是直接从NoteExpress、EndNote导出的,那么软件会弹出诸如“……,bibtex the first character read from this file was '?”的错误提示,这就是编码问题;所以在用BibTexConverter081添加label前,必须先修改A.bib的编码格式(用文本文件打开,然后另存为,选择相应的“文本文档”即可了。用空的话,可以修改BibTexConverter081代码,将判断编码、修改编码这一过程加进去)。


附录:

1.Noah Hoffman,2004,Using Endnote with BibTeX

2.Noah Hoffman,endnlib.py

3.Peter Pakulski,2006,BibTeXConverter081.exe

  评论这张
 
阅读(9272)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018