制作BibTex文件
上一篇日志中讲到了在LaTeX中使用BibTex管理参考文献,这篇日志具体总结下如何制作BibTex文件。
- 手工制作;
- 直接从期刊数据库中下载;
- 借助Google Scholar;
- 从文献管理工具中导出(本文涉及NoteExpress、EndNote、Mendeley)。
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.exe、Noah Hoffman的endnlib.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文件的更多相关文章
- 3种方法快速制作tpk文件 [转]
tpk是ArcGIS10.1推出的一种新的数据文件类型,主要是用于将切片文件打包形成离线地图包,tpk可以在ArcGIS Runtime或者ArcGIS for Android/iOS中作为切片底图被 ...
- NSIS使用教程(安装包制作安装文件教程,如何封装打包文件) 中文版
nsis中文版(Nullsoft Scriptable Install System)是一个专业的开源的可以用来封闭Windows程序的实用工具,是一个开源的 Windows 系统下安装程序制作程序. ...
- Ubuntu下制作ISO文件
利用Ubuntu自带的命令mkisofs就可以制作iso文件,具体方法如下: 1. 如果你是直接从cd压制iso文件的,执行 sudo umount /dev/cdromdd if=/dev/cd ...
- 如何制作CSR文件?
如何制作CSR文件? 在申请数字证书之前,您必须先生成证书私钥和证书请求文件(CSR,Cerificate Signing Request),CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单 ...
- 用C#制作PDF文件全攻略
用C#制作PDF文件全攻略 目 录 前 言... 3 第一部分 iText的简单应用... 4 第一章 创建一个Document 4 第一步 创建一个Document实例:... 5 第二步 ...
- 如何制作iso文件
UltraISO 9.6.2.3059中文完美破解安装版 http://www.upantool.com/qidong/2011/UltraISO_v9.5.0.2800.html 软碟通v9.6.2 ...
- 使用和制作patch文件
使用和制作patch文件 发表时间: 2007-2-13 20:57 作者: superuser 来源: 迷茫人 字体: 小 中 大 | 打印 原文http://www.linuxsir. ...
- 实战DeviceIoControl 之三:制作磁盘镜像文件
Q DOS命令DISKCOPY给我很深的印象,现在也有许多"克隆"软件,可以对磁盘进行全盘复制.我想,要制作磁盘镜像文件,DeviceIoControl应该很有用武之地吧? A 是 ...
- winform利用ImageList控件和ListView控件组合制作图片文件浏览器
winform利用ImageList控件和ListView控件组合制作图片文件浏览器,见图,比较简单,实现LISTVIEW显示文件夹图片功能. 1.选择文件夹功能代码: folderBrowserDi ...
随机推荐
- js奇葩错误 字符串传递问题
第一种方式function hello(){ var name="he"; var content="<input type=button value= ...
- Spring 3 整合Apache CXF WebService[转]
http://www.cnblogs.com/hoojo/archive/2012/07/13/2590593.html 在CXF2版本中,整合Spring3发布CXF WebService就更加简单 ...
- leetcode第一刷_Count and Say
水题. 描写叙述的还挺麻烦的,实际上就是纸老虎,用两个string,一个存上一轮的结果,一个用来更新出这一轮的结果,每次扫描上一轮,统计一个字符出现的次数,然后把这个次数和字符增加到这一轮的字符串中就 ...
- Codeforces Beta Round #51 C. Pie or die 博弈论找规律 有趣的题~
C. Pie or die Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/55/problem/ ...
- Codeforces Gym 100513I I. Sale in GameStore 暴力
I. Sale in GameStore Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100513/p ...
- ViewGroup源码部分解析
ViewGroup的官方解析是: A <code>ViewGroup</code> is a special view that can contain other views ...
- dup和dup2函数
下面两个函数都可用来复制一个现存的文件描述符: #include<unistd.h> int dup(int filedes); int dup2(int filedes,int file ...
- Helpers\Number
Helpers\Number This helper has 2 methods for converting a number format and to get a percentage. Num ...
- Fedora下载地址
http://fedoraproject.org/zh_CN/get-fedora-all
- Eclipse对printf()不能输出到控制台的解决方法
方案1: 在main 语句中加一条 setbuf(stdout,NULL); 这个即可. 在ecplise下使用cdt开发c程序,发现运行后终端没有输出,停止后会输出,通过在main中添加 setbu ...