在编写latex文件时,参考文献是个比较头疼的问题,以前自己写的时候总是用
\begin{thebibliography}
\bibitem author,article, year, vol,
\end{thebibliography}
我要说这个方法太业余,现在要带你鸟枪换炮!
这里要用的就是BibTeX,它可以把你编写好的参考文献文件自动插入tex文件中,形成专业的参考文献格式!
那就开始吧,首先需要了解一下几个基本概念,也就是几种文件类型:
tex---就是tex文件,这个地球人都知道
bib---参考文献所在的文件
bst---参考文献样式文件
这里插一句,有时候注意下英文缩写很重要,容易发现问题,bst=bibliography style
下来开始编辑这三个文件,一般情况下bst由系统提供,所以不需要编写,不过当你发表期刊的时候,期刊一般会提供样式文件给你,毕竟各个期刊对参考文献的要求就不一样,国内还没有看到这样的期刊,和国际接轨还需时日。
\documentclass[a4paper, 11pt]{article}
%===================Package Area==================%
\usepackage[top=1.5cm, bottom=2cm, left=1cm, right=1cm]{geometry}
\usepackage{CJK}
\usepackage{indentfirst}
\usepackage{textcomp}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[dvips]{graphicx}
\usepackage{flafter}
\usepackage{booktabs, longtable}
\usepackage{caption2}
\usepackage{pxfonts}
\usepackage{cite}
\usepackage{enumerate}
%===============End Package Area==================%
\begin{document}
\begin{CJK*}{GBK}{song}
\CJKindent
%------------中文设置--------------------------
\makeatletter %将文献引用作为上标出现,增加括号,
\def\@cite#1#2{\textsuperscript{[{#1\[email protected] , #2\fi}]}}
\makeatother
\renewcommand{\refname}{\centerline{参考文献}}
\renewcommand{\tablename}{表}
\renewcommand{\captionlabeldelim}{\quad}
%===================Image settings========================%
\renewcommand{\figurename}{图}
\renewcommand{\captionlabeldelim}{\quad} %Need caption2 macro package
%===============End image settings========================%
%-----------中文设置--------------------------
\title{BibTeX测试文件}
\author{XXX}
\date{\today}
\maketitle
这是书籍的参考\cite{plain:myBook}
这是文章参考\cite{plain:myArticle}
\bibliographystyle{plain}
\bibliography{bibitex_test}
\end{CJK*}
\end{document}
这个是我自己写东西的模版,所以宏包比较多,和这里有关的就CJK和cite,一个是支持中文,还有一个是支持引用上标,其余应该可以去掉。看正文里的两个cite,就是两个引用的地方,怎么引用后面说明,最后在\end{CJK*}前分别是样式和外部引用的参考文献的文件,这个做法有点类似C语言里的#include指令
最后编辑一个bib文件,这里文件名要和\bibliography{xxx}里的xxx同名,以bib为扩展名,在\bibliography中不需要加载扩展名。
那bib的书写格式呢?
来看
@文献类型={引用名称,
各个域,用逗号分割,最后一个后面不需要在后面追加逗号,内容要用双引号括起来
};
这里要注意:每条参考文献用@开头,分割的逗号不要用中文逗号,用半角逗号,每条参考文献要以;来结束,类似于C++的类的定义。
例子
book{plain:myBook,
author ="南燕",
editor ="南燕",
year ="2006",
title ="书籍测试",
publisher ="Wiley"
};
@article{plain:myArticle,
author ="Houston",
title ="Teach you how to use article reference",
jounal ="IEEE Trans. on Typeset",
year ="2006"
};
还有很多参考文献的类型,比如:article, article, booklet, conference, inbook, incollection, inproceedings, manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished,每种参考文献还有多种的域,有些是必须写得,没写 会给出警告,而有些是可选,不过尽可能提供详细的信息。
最后有几个东西要注意的,就是在写引用名称的时候,要带上样式,具体格式为
样式:引用名
在文中引用也是一样,而bst文件最好放在和tex文件同一个目录,或者放在<texmf>/bibtex/bst
比如我安装在C:\CTeX\,那就是C:\CTeX\texmf\bibtex\bst,这样放,每次系统会把这个样式文件自动加载进来,如果是放在和tex同一个目录,则就只能当前文件使用。
最后是编译过程:
运行命令
$ latex yourfile.tex
$ bibtex your_ref.bib
$ latex yourfile.tex
$ latex yourfile.tex
最后的确要运行两次latex,才能得到正确结果
from: http://blog.sina.com.cn/s/blog_6a4b2dea0100l45n.html