BibTeX 是一个使用数据库的的方式来管理参考文献程序, 用于协调LaTeX的参考文献处理.

BibTeX 文件的后缀名为 .bib . 先来看一个例子:

@article{Gettys90,
author = {Jim Gettys and Phil Karlton and Scott McGregor},
title = {The {X} Window System, Version 11},
journal = {Software Practice and Experience},
volume = {20},
number = {S2},
year = {1990},
abstract = {A technical overview of the X11 functionality. This is an update of the X10 TOG paper by Scheifler \& Gettys.}
}

说明:

第一行@article 告诉 BibTeX 这是一个文章类型的参考文献. 还有其它格式, 例如 article, book, booklet, conference, inbook, incollection, inproceedings, manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished 等等.
接下来的"Gettys90", 就是你在正文中引用这个条目的名称.
其它就是参考文献里面的具体内容啦.

在LaTeX中使用BibTeX
为了在 LaTeX 中使用BibTeX 数据库, 你必须先做下面三件事情:

1) 设置参考文献的类型 (bibliography style). 标准的为 plain:

\bibliographystyle{plain}

其它的类型包括unsrt – 基本上跟 plain 类型一样, 除了参考文献的条目的编号是按照引用的顺序, 而不是按照作者的字母顺序.
alpha – 类似于 plain 类型, 当参考文献的条目的编号基于作者名字和出版年份的顺序.
abbrv – 缩写格式 .
2) 标记引用 (Make citations). 当你在文档中想使用引用时, 插入 LaTeX命令

\cite{引用文章名称}

"引用文章名称" 就是前边定义@article后面的名称.

3) 告诉 LaTeX 生成参考文献列表 . 在 LaTeX 的结束前输入

\bibliography{bibfile}

这里bibfile 就是你的 BibTeX 数据库文件 bibfile.bib .

运行 BibTeX分为下面四步

1.用LaTeX编译你的 .tex 文件 , 这是生成一个 .aux 的文件, 这告诉BibTeX 将使用那些引用.
2.用BibTeX 编译 .bib 文件.
3.再次用LaTeX 编译你的 .tex 文件, 这个时候在文档中已经包含了参考文献, 但此时引用的编号可能不正确.
4.最后用 LaTeX 编译你的 .tex 文件, 如果一切顺利的话, 这是所有东西都已正常了.

例子: 将上面的 BibTeX 的的例子保存为 bibfile.bib.

\documentclass{article}
\begin{document}
We cite \cite{name1} and \cite{name2}.
\bibliography{bibfile}
\bibliographystyle{plain}
\end{document}

将上面的内容保存为bibtex-example.tex .

latex编译一次, bibtex 编译一次, 再用 latex编译两次就大功告成了!

获取bib文件

使用如下网址可以将springer文献格式变成bibtex:

http://www.it.usyd.edu.au/~niu/cgi-bin/springer.cgi

关于文献类型: (摘自TeXGuru的Latex2e用户手册)
@article条目为期刊或杂志上的一篇文章。
    不可少域author, title, journal, year.
    可省略域volume, number, pages, month, note.

@article{name,
 author = {a and b},
 title = {title},
 journal = {journal name},
 volume = {42},
 number = {1},
 year = {2008},
 issn = {0110-0101},
 pages = {1--8},
 doi = {http://doi.xxx.org},
 publisher = {ACM},
 address = {New York, NY, USA},
 };

@book条目为有确定出版社的书籍。
    不可少域author或editor, title, publisher, year.
    可省略域volume或number, series, address, edition, month, note.

@booklet条目为印制的有封皮的作品,但没有出版社或赞助机构的名称。
      不可少域title.
    可省略域author, howpublished, address, month, year, note.

@conference与下面的@inproceedings相同。

@inbook条目为一本书的一部分(章,节或某些页)。
    不可少域author或editor, title, chapter和/或pages, publisher,year.
    可省略域volume或number, series, type, address, edition, month,note.

@incollection条目为一本书中有自己题目的一部分。
    不可少域author, title, booktitle, publisher, year.
    可省略域editor, volume或number,series, type, chapter, pages,address, edition, month, note.

@inproceedings条目为会议论文集中的一篇文章。
    不可少域author, title, booktitle, year.
    可省略域editor, volume或number, series, pages, address, month,
                organization, publisher, note.

@InProceedings{b07name,
    author = {a and b},
    title = {title},
    booktitle = {Proceedings of the conference},
    address = {Sydney, Australia},
    month = Nov,
    year = 2008,
    pages = {1-2},
    affiliation = {Uni-name, Country},
    URL = {http://url/}
};

@manual条目为科技文档。
    不可少域title.
    可省略域author, organization, address, edition, month, year, note.

@mastersthesis条目为硕士论文。
    不可少域author, title, school, year.
    可省略域type, address, month, note.

@misc条目为不属于其它任何类型的作品。
    不可少域没有。
      可省略域author, title, howpublished, month, year, note.

@misc{name,
    author = "a",
    title = "title",
    howpublished = "Website",
    year = {2008},
    note = {\url{https://www.mysite.org}}
};

@phdthesis条目为博士论文。
    不可少域author, title, school, year.
    可省略域type, address, month, note.

@proceedings条目为会议论文集。
    不可少域title, year.
    可省略域editor,volume或number, series, address, month,
                organization, publisher, note.

@techreport条目为学校或其它研究机构印制的报告。
    不可少域author, title, institution, year.
    可省略域type, number, address, month, note.

@techreport{name,
 author = {a and b}
 title = {title},
 institution = {institution rpt no.}
 year = {2008}
};

@unpublished条目为有作者和标题的还未出版的作品。
    不可少域author, title, note.
    可省略域month, year.
在每项条目中还可以有可省略域key和crossref.

from: http://blog.sina.com.cn/s/blog_4aee288a0100dehr.html

Bibtex使用方法的更多相关文章

  1. BIBTeX制作参考文献

    一篇关于Latex的参考文献的好文章!基本问题都能解答~ 文章来源:http://www.cnblogs.com/longdouhzt/archive/2012/06/21/2557965.html ...

  2. Note | LaTeX

    目录 一.TeX家族 1. TeX - LaTeX 2. pdfTeX - pdfLaTeX 3. XeTeX - XeLaTeX 4. CTeX - MiKTeX - TeX Live 二.入门 1 ...

  3. Latex技巧:插入参考文献

    LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex. 方法一:不使用BibTeX 先在文章文章末尾写好需要插入的参考文献,逐一写出,例如: \begin{thebibliograp ...

  4. 如何解决bib的一些问题

    胡老师留的大作业要求综述,因而有很多文献引用.但是当使用bibtex的方法,特别是中文文献的引用会遇到一些问题. 网上相关的解答有: http://blog.sciencenet.cn/blog-10 ...

  5. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  6. The usage method of reference with bibtex in Latex【latex中参考文献的使用方法】

    如何在latex中以Bibtex文件方式引用参考文献? 以IEEEtran模板为例: 1.制作bibtex参考文献库.方法如下: ①建立myreference.bib文件: ②在Google scho ...

  7. 使用LaTeX按IEEE模板写论文时的参考文献管理方法(BibTeX使用小结)

    之前用LaTeX写论文时,参考文献都是手动添加管理的,真是让人很抓狂.所以这次趁着假期,简单看了一下怎么使用BibTeX对参考文献进行管理,这里以IEEE的最新模板为例. 首先说明,我之前用的是MiK ...

  8. LaTeX简单使用方法

    Content LaTeX的用途 LaTeX文件布局 LaTeX的文档格式 公式环境 图的排版 表格的排版 有序列表和无序列表 引用 伪代码 参考文献 LaTeX的用途 LaTeX是一种基于TeX的排 ...

  9. 制作BibTex文件

    上一篇日志中讲到了在LaTeX中使用BibTex管理参考文献,这篇日志具体总结下如何制作BibTex文件. 制作BibTex文件,主要有以下几种方法: 手工制作: 直接从期刊数据库中下载: 借助Goo ...

随机推荐

  1. 【JAVA】ConcurrentHashMap

    HashTable 写操作时候,Lock全表    源码:  public synchronized V put(K key, V value) {  // Make sure the value i ...

  2. C#图片处理---基础

    简单的图片剪裁 using System; using System.Drawing; using System.Drawing.Drawing2D; using System.IO; namespa ...

  3. ios修改产品名

    在创建项目的时候,会设置一个项目名,以后生成的APP名字也就是这个了,但由于某种原因,我想修改APP名字,也就是屏幕程序图标下面显示的那个,这该怎么办呢? 下面有三种方法都可以: 修改Product ...

  4. 集合 ArrayList 类

    集合的基本信息: System.Collections   系统类中的收藏类,定义各种对象(如列表,队列,位数组,哈希表和字典)的集合 常用的集合为ArrayList类:特殊集合一般会用到Queue队 ...

  5. hdu-acm steps 命运

    /*表示刚刚接触dp.这是我接触到的第3道dp题,刚开始以为是要用dfs+dp,后来栈溢出...仔细想想, 其实这道题和数塔差不多,只要每步都得到最优子结构,最后结果一定是最优的.题目的初始化要做好, ...

  6. iOS Core Animation

    1.什么是Core Animation? 它是一套包含图形绘制,投影,动画的OC类集合.它就是一个framework.通过CoreAnimation提供的接口,你可以方便完成自己所想要的动画. 2.我 ...

  7. mysql入门教程

    mysql相信大家都非常熟悉,but读音你们都读对了么?MySQL [maɪ ˌɛskjuːˈɛl] [maɪ ˈsiːkwəl] 念 买S奎儿 或 买吸扣 都可以,还有好多容易读错的名词,详情请见I ...

  8. SQL Server如何添加登录名

    1.电脑上如果安装有SQL Server,我们在开始里面打开SQL Server Management Studio,或者以桌面的快捷方式等打开SQL Server. 2.首先以Windows身份验证 ...

  9. 栈的C++实现(指针)——创建-push-pop-top-清空栈-处理栈

    今天学习了栈的C++实现,跟单链表很像: push相当于单链表在第一个位置插入元素: pop相当于单链表在第一个位置删除元素: 1.空栈检查 int stack::isEmpty(Stack *S) ...

  10. File类的createNewFile()与createTempFile()的区别

    最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File.createNewFile() 方法,一时间不知道两者到底有什么区别,感觉都是创建新文件嘛,后来查看 ...