Bibtex使用方法

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

时间: 2024-10-18 03:20:51

Bibtex使用方法的相关文章

BIBTeX制作参考文献

一篇关于Latex的参考文献的好文章!基本问题都能解答~ 文章来源:http://www.cnblogs.com/longdouhzt/archive/2012/06/21/2557965.html ps:copy LaTeX 对参考文献的处理有这么一些优点: 1. 可以维护一个 bib 文件,在你的整个研究生涯可以只维护这样一个文件,就象一个数据库,每个参考文献是一个记录,由一个唯一的 ID (例如下面的 MartinDSP00)描述.比如我的 myreference.bib 文件里一条典型的

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

如何在latex中以Bibtex文件方式引用参考文献? 以IEEEtran模板为例: 1.制作bibtex参考文献库.方法如下: ①建立myreference.bib文件: ②在Google scholar上找到某一篇文献的bibtex格式,如下图: ③复制该内容到myreference.bib文件中,类似的操作,直至制作好参考文献库. 2.在需要生成参考文献的地方插入“引用样式”和“文件名称”的代码 \bibliographystyle{IEEEtran} \bibliography{myre

LaTeX多文件编译的方法总结

LaTeX多文件编译的方法总结 在编写LaTeX文档的时候,由于文档的section较多,或者section的编写时间各不相同,我们可能碰到如下问题: 1.由于想分开编写各个section 2.preamble太多,想专门弄一个文件放preamble 3.想用bibtex来生成参考文献 我分别参考了这个几个网页:111 222,再结合自己的上手体会,给出下面这个(还凑合的)解决方案. 我们首先建立一个文件夹"project",在下面分别创建"main.tex"文件&

制作BibTex文件

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

Unity 崩溃问题解决方法——之一

友情提示:工作随记,不喜勿喷 注意:文艺青年可以略过,暴力青年欢迎采纳 Library文件夹 Unity每次编译都会生成这个东西,不用担心丢失的问题.所以,干掉他! 选中 + Delete   或者  选中 + Shift  + Delete 网上看了很多方法,就觉得这个简单,粗暴,是我喜欢的类型. 优点:上面说了 缺点:如果工程过大,重新编译时间会比较长.(但是对于查Log日志来说,相对快点)

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

C#与数据库访问技术总结(八)之ExecuteNonQuery方法

ExecuteNonQuery方法 ExecuteNonQuery方法主要用来更新数据. 通常使用它来执行Update.Insert和Delete语句. 该方法返回值意义如下: 对于Update.Insert和Delete语句,返回值为该命令所影响的行数. 对于所有其他类型的语句,返回值为-1. Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下: (1)创建数据库连接. (2)创建Command对象,并指定一个SQL Insert.Update

android开发之onCreate( )方法详解

onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d