latex bib format
LaTeX 的对参考文献的处理实在是非常的方便,我用过几次,有些体会,写出来供大家
参考。当然,自己的功力还不够深,有些地方问题一解决就罢手了,没有细究。
LaTeX 对参考文献的处理有这么一些优点:
1. 可以维护一个 bib 文件,在你的整个研究生涯可以只维护这样一个文件,就象一个数
据库,每个参考文献是一个记录,由一个唯一的 ID (例如下面的 MartinDSP00)描述。
比如我的 myreference.bib 文件里一条典型的文献是这样的:
@article{MartinDSP00,
author = "A. Martin and M. Przybocki",
title = "The {NIST} 1999 speaker recognition evaluation --- an overview",
journal = "Digital Signal Processing",
volume = "10",
pages = "1--18",
year = "2000",}
其中 {NIST} 中的大括号不会被显示,它的作用是保证将来的生成的参考文献中 NIST
四个字保持原样,不会被小写。
2. 需要引用文献的时候,在正文里加入:
\bibliographystyle{ieeetr}
\bibliography{myreference}
就可以用 \cite{} 来引用文献库中的论文了,如 \cite{MartinDSP00}。上面第一行是
控制文献显示格式的,这个后面再讲。此时,myreference.bib 文件在正文 tex 文件的同
一目录下,以保证 LaTeX 可以找到该 bib 文件。
3. 编译正文之后,生成 aux 文件,然后用 bibtex 在当前目录生成 bbl 文件,再编译正
文两次,完整的 dvi 就生成了。这样,LaTeX 保证了所有用 \cite 引用到的文献都已被
列出,并且自动编号。同时,如果没有用 \nocite 命令,LaTeX 还保证所有列出的参考文
献都在正文中得到了引用。
4. 关于 bib 文件
前面提到 bib 文件的维护问题。我一般不对里面的文献排序,如果文献比较多,需要
查找的话,可以通过查询关键字来实现。bib 文件把 @ 所定义的 entry 之外的所有东西
看作是注释。比如在上面 @article 的例子里,如果我在大括号之外写些东西的话,bibt
ex 是不会关心的,就当它不存在。所以我就把文献的关键字写在这里,将来通过搜索关键
字来查找某些文献。其实也可以搞一个临时的 LaTeX 文件,使用 \nocite{*} 命令,然后
编译成 dvi,这样就得到了一个 bib 文件中所有参考文献的列表,当然是可以按照作者名
字排序的。
另外,很多 journal(学术期刊)或者 booktitle(国际会议)都是重复的,为了规范
化,可以定义缩写,如
@string(ICASSP = "Proc. of the International Conference on Acoustics, Speech,
and Signal Processing (ICASSP)")
然后
@conference{QL.ICA98,
author = "Qi Li and Biing-Hwang Juang",
title = "Speaker Verification Using Verbal Information Verification for A
utomatic Enrollment",
booktitle = ICASSP,
year = "1998",}
这样在执行 bibtex 之后,ICASSP 会被替换成它的全称。
5. bib 中的中文文献
中文文献和英文的格式不同,并且使用全角的标点符号,有一点难办。我的解决办法是
这样的:
@misc{Xie.1995,
note = "谢锦辉,《隐 {Markov} 模型及其在语音处理中的应用》,华中理工大学出
版社,1995年4月",
key = "Xie",}
唯一的缺陷是参考文献中最后是以英文的 "." 而不是 "。" 结束的。还好我的中文文
献不多,无伤大雅,否则就手工修改一下 bbl 文件吧。
6. 关于参考文献的显示格式、排序,及其他
前面提到参考文献的排序问题,以及引用序号是 LaTeX 提供的 ID 还是数字的问题。
其实不止这些,参考文献的显示格式也是可以定制的。参考文献以正文中引用顺序排序,
还是以文献第一作者的 last name 排序,是通过一些 bst 文件来控制的。而使用哪种 b
st 格式,可通过 bibliographystyle 命令控制。LaTeX 默认提供了这么几种格式,如:
plain、alpha、unsrt等。具体意义见相关文档,这些 bst 在 texmf\bibtex\bst\base 可
被找到。
bst 控制的格式非常细致,除了上面讲过的排序方式等,还有:作者名字是否用缩写,
作者名字放在文献的起始还是结束,文章 title 要不要大小写(即 "Speaker Verificat
ion Using ..." 还是 "Speaker verification using "),title 用什么区分(用不用引
号括起来,用不用斜体等),刊物名字的格式(要不要全部大写,要不要粗体,要不要斜
体,要不要括起来),等等等等。打开 bst 文件看一下就知道,绝对是想要什么形式,就
可以得到什么形式。最关键的是,在文章定稿之后,完全可以用几个命令重新定义参考文
献的格式!
给个例子:采用 IEEE 给出的 bst 格式(即 ieeetr.bst),声明:
\bibliographystyle{ieeetr}
就可以使用了。最终格式是这样的(按正文引用顺序排序):
[4] D. A. Reynolds, "Comparison of background normalization
methods for text-independent speaker verication," in
EUROSPEECH, 1997.
7. 如何定制参考文献的显示格式
其实 bst 文件有很多,总能找到自己需要的。如果这些还不能满足,可以通过生成自
己的 bst 文件来定制。这有两个方法,第一是手写(反正我是写不出来),第二是通过工
具。custom-bib 是一个定制 bst 文件的包,解压缩后用 LaTeX 编译其中的主 tex 文件
,便会进行交互式的 bst 定制过程,具体过程我就不讲了。把生成的自定义的 bst 放到
LaTeX 相应目录下,刷新文件名数据库就可以使用了。
source:
http://www.eefocus.com/sunshine/blog/09-08/175253_b0ef9.html
latex bib format的更多相关文章
- LaTeX bib 引用为 作者 + 年份
将bib文件命名为ref.bib %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%% @Description: %%%%%%%% @Version: 1.0 %%%% ...
- LaTeX中titlesec宏包的使用
在 xelatex 中使用 \usepackage 指令使用 titlesec 宏包时,可以指定一些格式选项,如下: \usepackage[center]{titlesec} 其中 center 可 ...
- Latex—参考文献
在写文章的最后最让我头疼的就是参考文献的问题了.网上的资料也有很多,这里整合了很多资料得出了一个用bib文件的方法. 1. 显示确定参考文献(一句没什么用的废话). 2. 利用谷歌学术(镜像),如 ...
- iptables rule
和H3C中的acl很像,或者就是一会事,这就是不知道底层的缺陷,形式一变,所有的积累都浮云了 参考准确的说copy from http://www.ibm.com/developerworks/cn/ ...
- Winedt10 添加自定义宏
Winedt10 添加自定义功能,并在toolbar上添加快捷命令 功能描述: 用宏实现latex+bib参考文献的一键编译. Remark: The toolbar is the most visi ...
- Automake
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- Pyplot tutorial,Pyplot官方教程自翻译
matplotlib.pyplot is a collection of command style functions that make matplotlib work like MATLAB ...
- JabRef学习笔记(一)
JabRef简介 JabRef is an open source bibliography reference manager. The native file format used by Jab ...
随机推荐
- 被人遗忘的MAX_FILE_SIZE文件上传限制大小参数
在文件上传中,我们经常会要求显 示用户上传文件大小,超过上传限制的文件就会不允许用户上传.虽然我们可以用程序去判断上传文件是否超过限制,但是其实我们的PHP程序是无法判断用户本 地文件大小的.所以等到 ...
- 2017-01-15 微信小程序胡诌一
2017年1月9日,正值iphone发布10周年,在2007年的1月9日,乔布斯发布了震惊世界的iphone,10年后张小龙正式推出了他的小程序,究竟何意也没有具体深究.最初的时候小程序并不叫小程序, ...
- 07-THREE.JS 各种形状的几何图形
<!DOCTYPE html> <html> <head> <title>Example 02.04 - Geometries</title> ...
- 经典SQL语句(转载)
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- spring MVC HandlerInterceptorAdapter
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...
- Codeforces Round #271 (Div. 2)D(递推,前缀和)
很简单的递推题.d[n]=d[n-1]+d[n-k] 注意每次输入a和b时,如果每次都累加,就做了很多重复性工作,会超时. 所以用预处理前缀和来解决重复累加问题. 最后一个细节坑了我多次: print ...
- JSON格式规范总结
JSON有三类元素: 1.结构体(关键字:大括号)2.键值对(关键字:冒号)3.数组(关键字:中括号) 组织规则:结构体中放一个或者多个键值对.键只能是字符串.值可以是:字符串.数字.null.tru ...
- MySQL实战 | 05 如何设计高性能的索引?
原文链接:MySQL | 05 如何设计高性能的索引? 上回我们主要研究了为什么使用索引,以及索引的数据结构.今天带你了解如何设计高性能的索引. 其中,有这么一个点,说的是 InnoDB 引擎中使用的 ...
- spark远程调试
基本流程1.远程运行spark,打开Spark master机器的JVM的jdwp,让其阻塞监听指定端口(8888),让其有终端向指定端口发送特定请求再执行:2.IntelliJ配置socket远程连 ...
- 2.Linux下安装Jenkins
1.安装jenkins的前提是安装好jdk环境,自行安装jdk,若安装成功后,使用一下命令即可成功安装jenkins: wget -O /etc/yum.repos.d/jenkins.repo ht ...