Bibtex使用介绍
BibTeX 使用数据库的的方式来管理参考文献. BibTeX 文件的后缀名为 .bib . 先来看一个例子
@article{name1,
author = {作者, 多个作者用 and 连接},
title = {标题},
journal = {期刊名},
volume = {卷20},
number = {页码},
year = {年份},
abstract = {摘要, 这个主要是引用的时候自己参考的, 这一行不是必须的}
}
@book{name2,
author ="作者",
year="年份2008",
title="书名",
publisher ="出版社名称"
}
说明:
- 第一行@article 告诉 BibTeX 这是一个文章类型的参考文献. 还有其它格式, 例如 article, book, booklet, conference, inbook, incollection, inproceedings, manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished 等等.
- 接下来的"name1", 就是你在正文中应用这个条目的名称.
- 其它就是参考文献里面的具体内容啦.
大概都是由这些一个个的这样的标签组成,每个表示一个文献,全部按照这样写即可。
@ARTICLE @CONFERENCE 这些指定了文献的类型,article是期刊文章 ,conference是会议文章,可以从名称上分辨。类型有下面几种(来自http://amath.colorado.edu /documentation/LaTeX/reference/faq/bibstyles.html):
- @article An article from a journal or magazine
- @book A book with an explicit publisher
- @booklet A work that is printed and bound, but without a named publisher or sponsoring institution
- @conference The same as inproceedings
- @inbook A part of a book, which may be a chapter (or section or whatever) and/or a range of pages
- @incollection A part of a book having its own title
- @inproceedings An article in a conference proceedings
- @manual Technical documentation
- @mastersthesis A Master's thesis
- @misc Use this type when nothing else fits
- @phdthesis A PhD thesis
- @proceedings The proceedings of a conference
- @techreport A report published by a school or other institution, usually numbered within a series
- @unpublished A document having an author and title, but not formally published
- @collection Not a standard entry type. Use proceedings instead.
- @patent Not a standard entry type.
不翻译了,很简单的文字。
----
紧跟在@ARTICLE{之后的文字就是 这个文献的标签id了,这个在一个bib文件中需要是唯一的,因为我们在tex中用\cite{}引用时需要用这个id来引用,当然需要唯一的值(也不用怕,如果写重复了,bibtex在编译时不会给你通过的,你可以再修改)。
再后面的标签的说明也很简单了,author就是作者阿,title就是标题阿,这个不说了,大家一看肯定就都明白了。
PS:有直观的GUI的界面可以去管理,推荐使用JabRef来管理,我就用的这个,很方便,很快捷。
jabref跨平台的,急于java开发的一个东东,而且是免费的。ubuntu下直接sudo apt-get install jabref 即可,其他版本linux的自行处理,我没用过,win下也有版本,安装下就行。
编写好这些之后,保存,然后在你的tex文档中加入下面两行:
\bibliographystyle{bst文件 xx.bst}
\bibliography{你的bib文件名 xx.bib}
加入位置就是文章的正文之后,\end{document}之前,
在正文中引用时,采用\cite{id}的方式来引用,id就是上文中所说的唯一的id。
PS:如果没有bst文件时,那么就需要自己来用默认提供的几个bst模板了:
---(来源:http://zzg34b.w3.c361.com/package/reference.htm)
plain,按字母的顺序排列,比较次序为作者、年度和标题
unsrt,样式同plain,只是按照引用的先后排序
alpha,用作者名首字母+年份后两位作标号,以字母顺序排序
abbrv,类似plain,将月份全拼改为缩写,更显紧凑
ieeetr,国际电气电子工程师协会期刊样式
acm,美国计算机学会期刊样式
siam,美国工业和应用数学学会期刊样式
apalike,美国心理学学会期刊样式
-----
还有很多,这里不列举了,这里有所有的类型。
一般简单的用plain或者alpha就行了,ieeetr这些是针对特定的会议来使用。
上面也说了,一些期刊之类的也会提供他们自己的bst文件的,去相关网站下载即可。 tex和bib都设置好之后,就可以来编译了,编译分4步:
1. latex xx.tex 编译tex文件,没错误的话会生成aux文件,aux文件包含了引用这些的信息。
2. bibtex xx.aux 根据aux文件中记录的信息来检测bib文件中的相关文献,此时也会检测bib中相关的书写有无错误。
有错会提示,上面说的修改错误的时候就在这个时候来检测。
没有错误的话会生成bbl文件,你可以打开bbl文件看下就明白了,
bbl里面其实就是本文最刚开头说的直接用
\begin{thebibliography}{10}
\bibitem xxxx
\bibitem xxxx
\end{thebibliography}
的这种形势。
3. latex xx.tex 再次编译,把参考文献编译进文档中。
4. latex xx.tex 三次编译,把交叉引用编译正确。 完毕,可以打开dvi看下效果了!~!~
如果嫌麻烦,可以写个脚本或者一次执行多个命令。
我一般就把所有的写成一行来用:
latex my.tex; bibtex my.aux; latex my.tex; latex my.tex; dvipdf; acroread my.pdf;
PS:shell脚本我用的还不熟,不献丑了^_^
如果在论文撰写中,一般直接先查看dvi就可以了(把dvipdf往后的去掉,换成xdvi my.dvi)最后再生成pdf
因为dvipdf需要一点时间(特别是使用中文时,比较慢,可能是字体嵌入的问题,不太清楚,因为dvipdf编译全英文的paper还是比较快的)。
在LaTeX中使用BibTeX
为了在 LaTeX 中使用BibTeX 数据库, 你必须先做下面三件事情:
1) 设置参考文献的类型 (bibliography style). 标准的为 plain:
\bibliographystyle{plain}
将上面的命令放在 LaTeX 文档的 \begin{document}后边. 其它的类型包括
- unsrt – 基本上跟 plain 类型一样, 除了参考文献的条目的编号是按照引用的顺序, 而不是按照作者的字母顺序.
- alpha – 类似于 plain 类型, 当参考文献的条目的编号基于作者名字和出版年份的顺序.
- abbrv – 缩写格式 .
2) 标记引用 (Make citations). 当你在文档中想使用引用时, 插入 LaTeX 命令
\cite{引用文章名称}
"引用文章名称" 就是前边定义@article后面的名称.
3) 告诉 LaTeX 生成参考文献列表 . 在 LaTeX 的结束前输入
\bibliography{bibfile}
这里bibfile 就是你的 BibTeX 数据库文件 bibfile.bib .
运行 BibTeX
分为下面四步
- 用LaTeX编译你的 .tex 文件 , 这是生成一个 .aux 的文件, 这告诉 BibTeX 将使用那些应用.
- 用BibTeX 编译 .bib 文件.
- 再次用LaTeX 编译你的 .tex 文件, 这个时候在文档中已经包含了参考文献, 但此时引用的编号可能不正确.
- 最后用 LaTeX 编译你的 .tex 文件, 如果一切顺利的话, 这是所有东西都已正常了.
例子: 将上面的 BibTeX 的的例子保存为 bibtex-example.bib .
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{gkai}
%我是在linux下用使用latex的, window用户将上一行改为\begin{CJK}{GBK}{kai}
text\cite{name1}\cite{name2}
中文
把Latex中的 Reference 写成中文的"参考文献"
%如果文档类是article之类的, 用\renewcommand\refname{参考文献}
%如果文档类是book之类的, 用\renewcommand\bibname{参考文献}
\renewcommand\refname{参考文献}
\bibliographystyle{plain}
\bibliography{ bibtex-example.bib}
\end{CJK}
\end{document}
将上面的内容保存为bibtex-example.tex .
latex编译一次, bibtex 编译一次, 再用 latex编译两次就大功告成了!
Bibtex使用介绍原文 http://blog.sina.com.cn/s/blog_642075770100o3sj.html
Bibtex使用介绍的更多相关文章
- Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...
- Tex介绍
TeX, LaTeX, XeTeX, PdfTeX等等 TeX 是一种宏语言.就像别的语言有库一样,TeX 语言有宏的集合.这些宏,就是用这个语言写出来的东西,供大家共用的.TeX 有个最基本的宏集合 ...
- IEEE LaTeX模板使用BibTeX
IEEE LaTeX 模板使用 BibTeX 在Google Scholar获得的文献引用格式一般是BibTex的,而IEEE Transactions的模板默认用的是BibItem.目前没有什么自动 ...
- CSS3 background-image背景图片相关介绍
这里将会介绍如何通过background-image设置背景图片,以及背景图片的平铺.拉伸.偏移.设置大小等操作. 1. 背景图片样式分类 CSS中设置元素背景图片及其背景图片样式的属性主要以下几个: ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- Windows Server 2012 NIC Teaming介绍及注意事项
Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- JavaScript var关键字、变量的状态、异常处理、命名规范等介绍
本篇主要介绍var关键字.变量的undefined和null状态.异常处理.命名规范. 目录 1. var 关键字:介绍var关键字的使用. 2. 变量的状态:介绍变量的未定义.已定义未赋值.已定义已 ...
- HTML DOM 介绍
本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...
随机推荐
- openstack 创建镜像生成虚拟机不知道密码如何解决
背景: openstack juno版本,使用glance创建centos7镜像,然后生成虚拟机. 操作步骤: 首先获取镜像http://cloud.centos.org/centos/7/image ...
- 【opencv学习笔记七】访问图像中的像素与图像亮度对比度调整
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对 ...
- SelectObject()函数详解
SelectObject 把一个对象(位图.画笔.画刷等)选入指定的设备描述表.新的对象代替同一类型的老对象. HGDIOBJ SelectObject( HDC hdc, // ...
- 多列组合为主键(PRIMARY KEY)
在表中,想把其中2列或多列作为组合主键. CREATE TABLE [dbo].[T3] ( ) NOT NULL, ) NOT NULL, ) NULL, ) NULL ) GO ALTER TAB ...
- CentOS软件包管理
rpm安装包管理 指令 说明 rpm -i XX.rpm 安装XX.rpm软件包 rpm -qa XX 查看XX软件包安装的所有文件 rpm -e XX 卸载XX软件包 yum管理软件 指令 说明 y ...
- [poj百练]2754:八皇后 回溯
描述 会下国际象棋的人都很清楚:皇后可以在横.竖.斜线上不限步数地吃掉其他棋子.如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题. 对于某个满足要求的8皇后 ...
- RVO算法
http://blog.sina.com.cn/s/blog_6ad33d350102xqal.html 简介 在介绍VO,RVO之前,需要先介绍路径规划. 对Agent进行路径规划,实际上要完成的任 ...
- cogs 721. [SDOI2007] 线性方程组
721. [SDOI2007] 线性方程组 ★★ 输入文件:gaess.in 输出文件:gaess.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 已知 n 元 ...
- uoj#351. 新年的叶子(概率期望)
传送门 数学还是太差了,想了半天都没想出来 首先有一个定理,如果直径(这里考虑经过的点数)为奇数,所有直径有同一个中点,如果直径为偶数,所有直径有同一条最中间的边.这个可以用反证法,假设不成立的话直径 ...
- IT兄弟连 Java语法教程 Java开发环境 JVM、JRE、JDK
要想开发Java程序,就需要知道什么是JVM.JRE以及JDK.JVM是运行Java程序的核心,JRE是支持Java程序运行的环境,而JDK是Java开发的核心,下面我们分别具体介绍它们以及它们之间的 ...