Latex 生成参考文献
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
无法生成参考文献原因
编辑和使用参考文献确实比较头疼,如果不小心的疏忽,文献列表中多写了,结果文中却没有引用,这样的错误是不能容忍的。 而且在写的过程中,自己常常弄不清格式,会议,书籍,url等多种格式,比较繁琐。
\bibliography{E:/xxx/bib_name}。 (谢谢赵振华的补充 )