上一篇日志中讲到了在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. window.open()打开窗口的几种方式

    1. window.open("http://www.baidu.com/", "_search");//在一个新的窗口打开百度,并且使URL地址出现在搜索栏中 ...

  2. PC/UVa 题号: 110106/10033 Interpreter (解释器)题解 c语言版

    , '\n'); #include<cstdio> #include<iostream> #include<string> #include<algorith ...

  3. 浅谈IT员工管理

    本人尽管还不是管理人员,但也管理过学弟们(不是同校.仅仅是工作中同事,为了好称呼叫学弟).也被管理着,工作也好多年了.今天又感而发.想来谈谈假设管理好员工(在此声明,我仅仅是发表个人意见哦.不要喷.哈 ...

  4. 2015 NOIP day2 t2 信息传递 tarjan

    信息传递 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.luogu.org/problem/show?pid=2661 Descrip ...

  5. HDU 4593 H - Robot 水题

    H - RobotTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.act ...

  6. delphi 去掉TreeView水平滚动条

        使用API函数:声明 FUNCTION ulong ShowScrollBar(ulong hwnd,ulong wBar,ulong bShow) LIBRARY "user32. ...

  7. 第29题:推断一个序列是否是还有一个push序列的pop序列

    github:https://github.com/frank-cq/MyTest 第29题:输入两个整数序列,当中一个序列表示栈的push顺序,推断还有一个序列有没有可能是相应的pop顺序.为了简单 ...

  8. android UI进阶之实现listview的分页加载

    上篇博文和大家分享了下拉刷新,这是一个用户体验非常好的操作方式.新浪微薄就是使用这种方式的典型. 还有个问题,当用户从网络上读取微薄的时候,如果一 下子全部加载用户未读的微薄这将耗费比较长的时间,造成 ...

  9. cocos2d-x3.2在xcode6.1下的 环境搭建

    由于最近需要给CP开发游戏SDK,顺便又重新接触了下cocos2d-x,自己曾在2011年的时候用过cocos2d-x早起的版本,现发现3.2版于原来的差距还是蛮大的,环境搭建流程如下: 1.xcod ...

  10. Python学习 之 内建函数

    1.常用函数:abs().max().min().len().divmod().pow().round() 例1:abs返回数字绝对值 abs(10) #结果10 abs(-10) #结果10 例2: ...