• Latex笔记(参考文献) 分类: LaTex 2014-11-08 17:41 239人阅读 评论(0) 收藏


    当你用LaTeX来写文档,在管理参考文献时,你可能会用到bibtex,
    也许你会嫌麻烦,会选择用
    egin{thebibliography}{10}
    ibitem xxxx
    ibitem xxxx
    end{thebibliography}
    的方式来处理参考文献,然后cite{}来引用。

    但我要说的是,如果你只是偶尔用下参考文献(一次管理,一次使用),那么就不需要去用bibtex来管理参考文献了,如果经常使用,还是选择用bibtex来管理你的参考文献比较多(一次管理,终身使用)

    bibtex是什么,这些就不多介绍了,很多lnote之类的文档都介绍了,本文只介绍怎么用bibtex。
    --------------------
    在使用时,一般会接触到两个文件,.bib 和.bst两个文件,.bib就是你的参考文献数据文件   .bst一般由期刊或者杂志提供, bst设定了参考文献出现在文末的方式,例如设置排序方式,设置作者名按缩写的方式还是不缩写,标题要不要大写,这些琐碎的事情,这些不用管太多。我们维 护bib文件即可。

    先看下.bib文件是什么样子的:

    @ARTICLE{dbhat,
    author = {D. Bhat and S. Nayar},
    title = {Ordinal measures for image correspondence},
    journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
    year = {1998},
    volume = {20(4)},
    pages = {415-423},
    owner = {flyskymlf},
    timestamp = {02}
    }

    @CONFERENCE{hampapur,
    author = {Hampapur, A. and Bolle, R.},
    title = {Comparison of sequence matching techniques for video copy detection},
    booktitle = {In Conference on Storage and Retrieval for Media Databases},
    year = {2002},
    pages = {194-201},
    owner = {flyskymlf},
    timestamp = {15}
    }

    大概都是由这些一个个的这样的标签组成,每个表示一个文献,全部按照这样写即可。
    @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文档中加入下面两行:
    ibliographystyle{bst文件名,注意不要后缀}
    ibliography{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里面其实就是本文最刚开头说的直接用
    egin{thebibliography}{10}
    ibitem xxxx
    ibitem 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还是比较快的)。

  • 相关阅读:
    J2ME游戏开发之层:动画
    HTTPClient
    Objectc 类的定义
    python占位符介绍及操作方法
    selenium IE浏览器运行很慢解决方法
    python eval()用法
    使用MySQL执行update时报错:You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences
    python之字符串格式化(format)
    Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment
    JS滚动页面操作
  • 原文地址:https://www.cnblogs.com/paulweihan/p/4660129.html
Copyright © 2020-2023  润新知