上一篇日志中讲到了在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

制作BibTex文件的更多相关文章

  1. 3种方法快速制作tpk文件 [转]

    tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被 ...

  2. NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版

    nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序. ...

  3. Ubuntu下制作ISO文件

    利用Ubuntu自带的命令mkisofs就可以制作iso文件,具体方法如下: 1.   如果你是直接从cd压制iso文件的,执行 sudo umount /dev/cdromdd if=/dev/cd ...

  4. 如何制作CSR文件?

    如何制作CSR文件? 在申请数字证书之前,您必须先生成证书私钥和证书请求文件(CSR,Cerificate Signing Request),CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单 ...

  5. 用C#制作PDF文件全攻略

    用C#制作PDF文件全攻略 目  录 前    言... 3 第一部分 iText的简单应用... 4 第一章 创建一个Document 4 第一步 创建一个Document实例:... 5 第二步 ...

  6. 如何制作iso文件

    UltraISO 9.6.2.3059中文完美破解安装版 http://www.upantool.com/qidong/2011/UltraISO_v9.5.0.2800.html 软碟通v9.6.2 ...

  7. 使用和制作patch文件

    使用和制作patch文件 发表时间: 2007-2-13 20:57    作者: superuser    来源: 迷茫人 字体: 小 中 大 | 打印 原文http://www.linuxsir. ...

  8. 实战DeviceIoControl 之三:制作磁盘镜像文件

    Q DOS命令DISKCOPY给我很深的印象,现在也有许多"克隆"软件,可以对磁盘进行全盘复制.我想,要制作磁盘镜像文件,DeviceIoControl应该很有用武之地吧? A 是 ...

  9. winform利用ImageList控件和ListView控件组合制作图片文件浏览器

    winform利用ImageList控件和ListView控件组合制作图片文件浏览器,见图,比较简单,实现LISTVIEW显示文件夹图片功能. 1.选择文件夹功能代码: folderBrowserDi ...

随机推荐

  1. Centos6.3 jekyll环境安装

    yum install ruby yum install rubygems yum install ruby-devel gem install rdiscount yum install pytho ...

  2. Mysql,JDBC封装

    1.完成对数据库的表的增删改的操作 2.查询返回单条记录 3.查询返回多行记录 4.可以使用反射机制来封装,查询单条记录 5.反射机制,查询多条记录 package myjdbc; import ja ...

  3. Hadoop平台配置总结

    hadoop的配置,个人感觉是非常容易出问题.一个原因是要配置的地方多,还有个原因就是集群配置要在几台机器上都配置正确,才能保证配置好hadoop,跑起任务. 经过昨晚加今天上午的折腾,总算成功配好了 ...

  4. Nginx学习之十一-Nginx启动框架处理流程

    Nginx启动过程流程图 下面首先给出Nginx启动过程的流程图: ngx_cycle_t结构体 Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个N ...

  5. Educational Codeforces Round 1 D. Igor In the Museum bfs 并查集

    D. Igor In the Museum Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/598 ...

  6. 解决使用DevExpress开发错误:未将对象引用设置到对象的实例

    在使用DevExpress是总是会出现一些状况.这次同事在他的机器上调试完成的代码发过来,却出现"未将对象引用设置到对象的实例"的错误,提示是Resources.resx的问题.另 ...

  7. spring mvc 框架核心文档

    http://docs.spring.io/spring-data/ Parent Directory - cassandra/ 01-Apr-2014 01:50 - commons/ 29-Jan ...

  8. UML视图(九)部署图

    一.什么是部署图? 部署图对面向对象系统的物理方面建模,描写叙述系统执行时节点.构件实例及其对象的配置.主要用来在部署系统时涉及到的硬件(处理器和设备)进行建模. 二.部署图的组成元素? 部署图主要包 ...

  9. 进程间通信之XSI IPC

    XSI IPC源自于系统V的IPC功能. 有三种IPC我们称作XSI IPC,即消息队列.信号量以及共享存储器,它们之间有很多相似之处. 1.标识符和键 每个内核中的IPC结构(消息队列.信号量或共享 ...

  10. Android N分屏模式Activity生命周期的变化

    昨天Google发布了Android N Preview, balabala....我是用模拟器去验证的, 通过长按多任务窗口(口)进入分屏模式, 这里只进行了简单的测试, 不排除通过配置哪个参数, ...