1. 程式人生 > >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 相應目錄下,重新整理檔名資料庫就可以使用了。

---------------------------------------

BibTeX 是一種格式和一個程式, 用於協調LaTeX的參考文獻處理. 

BibTeX 使用資料庫的的方式來管理參考文獻. BibTeX 檔案的字尾名為 .bib . 先來看一個例子 

@article{name1, 
author = {作者, 多個作者用 and 連線}, 
title = {標題}, 
journal = {期刊名}, 
volume = {卷20}, 
number = {頁碼}, 
year = {年份}, 
abstract = {摘要, 這個主要是引用的時候自己參考的, 這一行不是必須的} 


@book{name2, 
author ="作者", 
year="年份2008", 
title="書名", 
publisher ="出版社名稱" 


說明: 

1. 第一行@article 告訴 BibTeX 這是一個文章型別的參考文獻. 還有其它格式, 例如 article, book, booklet, conference, inbook, incollection, inproceedings, manual, misc, mastersthesis, phdthesis, proceedings, techreport, unpublished 等等. 
2. 接下來的"name1", 就是你在正文中應用這個條目的名稱. 
3. 其它就是參考文獻裡面的具體內容啦. 

在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*}{GBK}{song} 
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編譯兩次就大功告成了! 

-----------------------

Google Scholar顯示“Import into BibTeX”的方法:

1、開啟http://scholar.google.com
2、點選右上角的Scholar Preferences。
3、在“Bibliography Manager”那一項,勾上“Show links to import citations into BibTeX”。
4、隨便搜尋,比如“Laibson”。
5、在第一項Golden Eggs and Hyperbolic Discounting的下面,就有“Import into BibTeX”,點選。
6、出來的那堆東西直接扔到一個“XXXX.bib”檔案裡就好了,儲存,和論文文件放在同一個目錄下。
7、想要Cite或者reference就輕鬆了。

另外,Google Scholar匯出的文獻條目還很聰明,特殊字元都幫忙處理好了。比如搜尋Bénabou,如果他的文章刊出時,名字裡的e頭上有變音符,那生成的文獻條目裡的作者那一項就會變成:author={B{\'e}nabou}。

但也有一點不聰明的,比如參考文獻裡引了NBER的工作論文,結果在Google Scholar裡匯出的BibTeX模板是“misc”,可是“misc”的可選域裡出版那一項預設是“howpublished”,但Google Scholar卻給成“publisher”,結果編譯了幾十次都沒出現NBER。搞不清楚為什麼是“publisher”。

---------------

  • @article
期刊雜誌的論文
  • 必要域: author, title, journal, year.
  • 可選域: volume, number, pages, month, note.
  • @book
公開出版的圖書
  • 必要域: author/editor, title, publisher, year.
  • 可選域: volume/number, series, address, edition, month, note.
  • @booklet
無出版商或作者的圖書
  • 必要域: title.
  • 可選域: author, howpublished, address, month, year, note.
  • @conference
等價於 inproceedings
  • 必要域: author, title, booktitle, year.
  • 可選域: editor, volume/number, series, pages, address, month, organization, publisher, note.
  • @inbook
書籍的一部分章節
  • 必要域: author/editor, title, chapter and/or 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.
  • @manual
技術文件
  • 必要域: title.
  • 可選域: author, organization, address, edition, month, year, note.
  • @mastersthesis
碩士論文
  • 必要域: author, title, school, year.
  • 可選域: type, address, month, note.
  • @misc
其他
  • 必要域: none
  • 可選域: author, title, howpublished, month, year, note.
  • @phdthesis
博士論文
  • 必要域: author, title, year, school.
  • 可選域: address, month, keywords, note.
  • @proceedings
會議論文集
  • 必要域: title, year.
  • 可選域: editor, volume/number, series, address, month, organization, publisher, note.
  • @techreport
教育,商業機構的技術報告
  • 必要域: author, title, institution, year.
  • 可選域: type, number, address, month, note.
  • @unpublished
未出版的論文,圖書
  • 必要域: author, title, note.
  • 可選域: month, year.

 文章來源:http://www.cnblogs.com/longdouhzt/archive/2012/06/21/2557965.html