跳轉到內容

LaTeX/參考文獻管理

來自華夏公益教科書,開放書籍,開放世界

LaTeX

入門
  1. 介紹
  2. 安裝
  3. 安裝額外的包
  4. 基礎
  5. 如何獲取幫助

常見元素

  1. 文件結構
  2. 文字格式
  3. 段落格式
  4. 顏色
  5. 字型
  6. 列表結構
  7. 特殊字元
  8. 國際化
  9. 旋轉
  10. 表格
  11. 標題建立
  12. 頁面佈局
  13. 自定義頁面頁首和頁尾‎
  14. 匯入圖形
  15. 浮動體、圖形和標題
  16. 腳註和邊注
  17. 超連結
  18. 標籤和交叉引用
  19. 首字母縮寫

機制

  1. 錯誤和警告
  2. 長度
  3. 計數器
  4. 方框
  5. 規則和支柱

技術文字

  1. 數學
  2. 高階數學
  3. 定理
  4. 化學圖形
  5. 演算法
  6. 原始碼清單
  7. 語言學

特殊頁面

  1. 索引
  2. 詞彙表
  3. 參考文獻管理
  4. 更多參考文獻

特殊文件

  1. 科學報告(學士報告、碩士論文、博士論文)
  2. 信函
  3. 簡報
  4. 教師專欄
  5. 簡歷
  6. 學術期刊(MLA、APA 等)

建立圖形

  1. 介紹程式化圖形
  2. MetaPost
  3. 圖片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 建立 3D 圖形

程式設計

  1. Plain TeX
  2. 建立包
  3. 建立包文件
  4. 主題

其他

  1. 模組化文件
  2. LaTeX 文件的協作寫作
  3. 匯出到其他格式

幫助和推薦

  1. 常見問題解答
  2. 技巧和竅門

附錄

  1. 作者
  2. 連結
  3. 包參考
  4. LaTeX 文件示例
  5. 索引
  6. 命令詞彙表

編輯此框編輯目錄


對於任何學術/研究寫作,將參考文獻整合到文件中都是一項重要的任務。幸運的是,LaTeX 具有各種功能,使處理參考文獻變得更加簡單,包括對引用參考文獻的內建支援。然而,由於一個名為BibTeX(與 LaTeX 捆綁在一起作為標準)的輔助工具,實現了更強大、更靈活的解決方案。最近,BibTeX 在許多使用者中被BibLaTeX所取代,這是一種可以在 LaTeX 語法中配置的工具。

BibTeX 用於將所有參考文獻儲存在具有副檔名 .bib 的參考文獻資訊檔案中,這是一種扁平檔案資料庫。(BibLaTeX 使用相同的格式,但具有更多和不同的參考文獻條目型別和欄位型別,而不是 BibTeX。)此資料庫可以在任何 LaTeX 文件中被引用,並且可以引用檔案中包含的任何記錄。這通常比在編寫的每個文件末尾嵌入它們更方便;一個集中的參考文獻源可以連結到任意數量的文件(一次寫入,多次讀取!)。當然,參考文獻可以拆分到任意數量的檔案中,所以可以有一個檔案包含關於主題 A 的來源 (a.bib) 和另一個包含關於主題 B 的來源 (b.bib)。當寫關於主題 AB 時,這兩個檔案都可以連結到文件中(可能除了關於主題 AB 的特定來源 ab.bib 之外)。

嵌入式系統

[編輯 | 編輯原始碼]

如果您只編寫一兩個文件,並且沒有計劃在很長一段時間內針對同一主題編寫更多文件,那麼您可能不想浪費時間建立一個您永遠不會使用的參考文獻資料庫。在這種情況下,您應該考慮使用 LaTeX 中嵌入的基本且簡單的參考文獻支援。

LaTeX 提供了一個名為 thebibliography 的環境,您需要在需要參考文獻的地方使用它;這通常意味著在文件的最後,就在 \end{document} 命令之前。以下是一個實際示例

\begin{thebibliography}{9}

\bibitem{lamport94}
  Leslie Lamport,
  \textit{\LaTeX: a document preparation system},
  Addison Wesley, Massachusetts,
  2nd edition,
  1994.

\end{thebibliography}

好的,這裡發生了什麼?首先要注意的是環境的建立。thebibliography 是一個關鍵字,它告訴 LaTeX 將開始和結束標籤之間的所有內容識別為參考文獻的資料。強制引數是在開始語句之後提供的,它告訴 LaTeX 列印時專案標籤的寬度。但是請注意,數字本身不是引數,而是數字的位數。因此,我實際上是在告訴 LaTeX 我只需要一個字元長度的參考文獻標籤,最終意味著總共不超過九個參考文獻。如果您想要超過九個,那麼輸入任何兩位數,例如“56”,這允許最多 99 個參考文獻。

接下來是實際的參考文獻條目本身。它以 \bibitem{cite_key} 命令為字首。cite_key 應該是該特定參考文獻的唯一識別符號,通常是某種助記符,由任何字母、數字和標點符號(但不是逗號)序列組成。我通常使用第一個作者的姓氏,後跟年份的後兩位數字(因此為 lamport94)。如果該作者在給定年份發表了不止一篇參考文獻,那麼我在後面新增字母,“a”、“b”等。但是,您應該做任何對您有效的事情。在關鍵字後面的所有內容都是參考文獻本身。您需要按照您希望呈現的方式輸入它。我將參考文獻的不同部分,例如作者、標題等,放在不同的行中以提高可讀性。這些換行符被 LaTeX 忽略。\textit{} 命令將標題正確地格式化為斜體。

實際引用給定文件非常容易。轉到您希望引用出現的位置,並使用以下內容:\cite{cite_key},其中cite_key 是您要引用的 bibitem 的 cite_key。當 LaTeX 處理文件時,引用將與 bibitem 交叉引用,並替換為相應的數字引用。再次,這裡的優點是 LaTeX 為您處理編號。如果是完全手動操作,那麼新增或刪除引用將是一項真正的苦差事,因為您必須手動重新編號所有引用。

Instead of WYSIWYG editors, typesetting systems like \TeX{} or \LaTeX{} \cite{lamport94} can be used.

更具體地參考

[編輯 | 編輯原始碼]

如果您想參考教科書中的某個頁面、圖表或定理,您可以使用 \cite 命令的引數

\cite[p.~215]{citation01}

引數“p. 215”將在相同的括號內顯示。請注意 [p.~215] 中的波浪號,它用不可分割的詞間空格替換句尾空格。插入不可分割的詞間空格是因為句尾空格會太寬,而“p.” 不應與頁碼分開。程式碼 \cite[215]{citation01} 將產生相同的結果 - 在這種情況下,頁碼前面的 p.~ 將被自動新增;但它不會被新增到 \cite[Cor.~2.5]{citation01} 中。

多個引用

[編輯 | 編輯原始碼]

當需要多個引用的序列時,您應該使用單個 \cite{} 命令。然後用逗號分隔引用。以下是一個示例

\cite{citation01,citation02,citation03}

然後結果將顯示為相同括號內的引用,具體取決於引用風格。

參考文獻風格

[編輯 | 編輯原始碼]

有幾種不同的方法來格式化參考文獻列表和文字中對它們的引用。這些被稱為引用風格,由兩部分組成:縮略引用的格式(即插入文字以標識參考文獻列表中條目的標記)和參考文獻列表中相應條目的格式,其中包含完整的參考文獻詳細資訊。

縮略引用主要有兩種型別:編號或文字。編號引用(也稱為溫哥華參考文獻系統)按出現在文字中的順序連續編號,並且由括號內的阿拉伯數字(1)、方括號[1]、上標1或它們的組合[1] 組成。文字引用(也稱為哈佛參考文獻系統)使用作者姓氏和(通常)年份作為引用的縮略形式,通常是完整的(Smith 2014) 或部分括在括號內,例如Smith (2014)。後一種形式允許將引用整合到它所支援的句子中。


下面您可以看到 LaTeX 可用的三種風格

plain
abbrv
alpha

以下是一些更常用的風格

風格名稱 作者姓名格式 參考文獻格式 排序
plain Homer Jay Simpson #ID# 按作者
unsrt Homer Jay Simpson #ID# 按引用
abbrv H. J. Simpson #ID# 按作者
alpha Homer Jay Simpson Sim95 按作者
abstract Homer Jay Simpson Simpson-1995a
acm Simpson, H. J. #ID#
authordate1 Simpson, Homer Jay Simpson, 1995
apacite Simpson, H. J. (1995) Simpson1995
named Homer Jay Simpson Simpson 1995

但是,請記住,您需要使用 natbib 包才能使用這些風格中的大多數。

無引用

[編輯 | 編輯原始碼]

如果您只想讓引用出現在參考文獻中,而不希望它出現在主文字中,那麼可以使用 \nocite{} 命令,例如

Lamport showed in 1995 something...  \nocite{lamport95}.

該命令的特殊版本 \nocite{*} 包含資料庫中的所有條目,無論它們是否在文件中引用。

Natbib 的文字和括號命令
引用命令 輸出
\citet{goossens93}
\citep{goossens93}
Goossens 等人 (1993)
(Goossens 等人, 1993)
\citet*{goossens93}
\citep*{goossens93}
Goossens, Mittlebach 和 Samarin (1993)
(Goossens, Mittlebach 和 Samarin, 1993)
\citeauthor{goossens93}
\citeauthor*{goossens93}
Goossens 等人。
Goossens, Mittlebach 和 Samarin
\citeyear{goossens93}
\citeyearpar{goossens93}
1993
(1993)
\citealt{goossens93}
\citealp{goossens93}
Goossens 等人 1993
Goossens 等人, 1993
\citetext{priv.\ comm.} (priv. comm.)

使用標準 LaTeX 參考文獻支援,您將看到每個參考文獻都編號,並且每個引用都對應於數字。引用的數字風格在科學寫作中非常常見。在其他學科中,作者-年份風格,例如 (Roberts, 2003),例如 哈佛 是首選。natbib 包是獲得此類輸出的一種可能方法。事實上,它可以取代 LaTeX 自己的引用命令,因為 Natbib 允許使用者輕鬆地在哈佛或數字之間切換。

第一步是在您的序言中新增以下內容,以便 LaTeX 使用 Natbib 包

\usepackage[options]{natbib}

有用的選項示例是

\usepackage[square,sort,comma,numbers]{natbib}

此外,您需要更改要使用的參考文獻風格檔案,因此編輯檔案底部的相應行,使其變為:\bibliographystyle{plainnat}。完成後,基本上只需更改現有的 \cite 命令即可顯示您想要的引用型別。

與 Natbib 相容的引用風格
風格 來源 描述
plainnat 提供 plain 的 natbib 相容版本
abbrvnat 提供 abbrv 的 natbib 相容版本
unsrtnat 提供 unsrt 的 natbib 相容版本
apsrev REVTeX 4 主頁 用於物理評論期刊的 natbib 相容風格
rmpaps REVTeX 4 主頁 用於現代物理學評論期刊的 natbib 相容風格
IEEEtranN TeX 目錄條目 用於 IEEE 出版物的 natbib 相容風格
achemso TeX 目錄條目 用於美國化學會期刊的 natbib 相容風格
rsc TeX 目錄條目 用於英國皇家化學學會期刊的 natbib 相容風格
Natbib 的定製選項
選項 含義
round : square : curly : angle 圓括號 () (預設)、方括號 []、花括號 {} 或尖括號 <>
colon : comma 多個引用用分號 (預設) 或逗號分隔
authoryear : numbers : super 作者年份風格引用 (預設)、數字引用或上標數字引用
sort : sort&compress 多個引用按它們在參考文獻部分中出現的順序排序,或者壓縮多個數字引用(如果可能的話)
longnamesfirst 任何參考文獻的第一個引用將使用帶星號的變體(完整的作者列表),隨後的引用將使用簡化的 et al. 風格
sectionbib 用於 chapterbib 包。重新定義 \thebibliography 以發出 \section* 而不是 \chapter*
nonamebreak 將所有作者的姓名保持在一行引用中以修復某些 hyperref 問題 - 會導致 overfull hboxes

主要命令只是在基本的 \cite 命令中新增 t 表示“文字”或 p 表示“括號”。您還會注意到 Natbib 預設情況下會將三個或更多作者的參考文獻壓縮為更簡潔的 第一個姓氏 et al 版本。透過新增星號 (*),您可以覆蓋此預設值並列出與該引用關聯的所有作者。Natbib 支援一些其他專用命令,如表所示。請記住,例如 abbrvnat 不支援 \citet*,並且會自動在所有作者和 et al. 之間進行選擇。

關於 Natbib 我想介紹的最後一個領域是自定義它的引用風格。有一個名為 \bibpunct 的命令,可用於覆蓋預設值並更改某些設定。例如,我在序言中添加了以下內容

\bibpunct{(}{)}{;}{a}{,}{,}

該命令需要六個強制引數。

  1. 開括號的符號。
  2. 閉括號的符號。
  3. 出現在多個引用之間的符號。
  4. 此引數接受一個字母
    • n - 數字樣式。
    • s - 數字上標樣式。
    • 任何其他字母 - 作者-年份樣式。
  5. 出現在作者和年份之間的標點符號(僅在括號中)。
  6. 在多個引用中,當存在共同作者時,年份之間使用的標點符號。例如,(Chomsky 1956,1957)。如果你想要一個額外的空格,你需要{,~}

\bibpunct 控制的一些選項也可以透過在載入時傳遞選項給 natbib 包來訪問。這些選項還允許控制參考文獻的一些其他方面,可以在表格(右邊)中看到。

因此,正如你所看到的,這個包非常靈活,特別是因為你可以透過更改單個引數輕鬆地在不同的引用樣式之間切換。請檢視Natbib 手冊,這是一篇簡短的文件,你可以從中瞭解到更多關於如何使用它的資訊。

我之前介紹了在文件末尾嵌入參考文獻,然後使用 \cite 命令在文字中引用它們的想法。在本教程中,我想比這種方法做得更好,因為它沒有那麼靈活。我將重點介紹使用BibTeX

BibTeX 資料庫儲存為 .bib 檔案。它是一個純文字檔案,因此可以輕鬆地檢視和編輯。檔案的結構也很簡單。BibTeX 條目的一個示例

@article{greenwade93,
    author  = "George D. Greenwade",
    title   = "The {C}omprehensive {T}ex {A}rchive {N}etwork ({CTAN})",
    year    = "1993",
    journal = "TUGBoat",
    volume  = "14",
    number  = "3",
    pages   = "342--351"
}

每個條目都以引用型別的宣告開始,形式為 @type。BibTeX 幾乎知道所有你能想到的型別,常見的型別有:bookarticle,以及針對在會議上發表的論文,還有 inproceedings。在本例中,我引用了期刊中的文章。

在型別之後,你必須有一個左大括號 '{' 來表示引用屬性的開始。第一個屬性緊隨括號之後,即引用鍵BibTeX 鍵。此鍵對於參考文獻列表中的所有條目必須是唯一的。你將在文件中使用此識別符號將其交叉引用到此條目。你如何標記每個引用取決於你,但有一個鬆散的標準,即使用作者的姓氏,後跟出版年份。這是我在本教程中使用的方案。

接下來,應該清楚的是,後面是該特定引用的相關欄位和資料。左側的欄位名稱是BibTeX 關鍵字。它們後面跟著一個等號(=),然後是該欄位的值。BibTeX 期望你明確地標記每個值的開始和結束。我個人使用引號("),但是,你也可以選擇使用大括號('{','}')。但正如你很快就會看到,大括號在屬性中還有其他作用,因此我不喜歡將它們用於此任務,因為它們會導致更多混淆。一個值得注意的例外是,當你想要使用帶有變音符號的字元(ü、ö 等)時,因為它們的表示法格式為 \"{o},而引號將關閉開啟欄位的引號,從而導致解析引用時出錯。在 .tex 原始檔的序言中使用 \usepackage[utf8]{inputenc} 可以解決這個問題,因為帶變音符號的字元可以儲存在 .bib 檔案中,而無需任何特殊標記。這允許在整個 .bib 檔案中保持一致的格式,避免在考慮變音符號時使用大括號。

請記住,每個屬性後面必須跟著一個逗號,以將它們彼此分隔開。你不需要在最後一個屬性後面新增逗號,因為右大括號會告訴 BibTeX 此條目沒有更多屬性,雖然你添加了也不會出錯。

可能需要一段時間才能瞭解引用型別是什麼,以及每種型別有哪些可用欄位(以及哪些是必需的或可選的等)。所以,看看這個條目型別參考,以及這個欄位參考,以獲取所有欄位的描述。你可能需要將這些頁面新增書籤或打印出來,以便在需要時隨時檢視。以下表格中為方便起見重複了其中大部分資訊。

標準 BibTeX 條目和欄位型別
article book booklet inbook incollection inproceedings ≈ conference manual mastersthesis, phdthesis misc proceedings tech report unpublished
address o o o o o o o o o
annote
author + * o + + o + o + +
booktitle + +
chapter o
crossref
edition o o o o
editor * o o o
howpublished o o
institution +
journal +
key
month o o o o o o o o o o o o
note o o o o o o o o o o o +
number o o o o o o o
organization o o o
pages o o o
publisher + + + o o
school +
series o o o o o
title + + + + + + + + o + + +
type o o o o
volume o o o o o o
year + + o + + + o + o + + o

+ 必需欄位,o 可選欄位 *1(需要澄清) *2(需要澄清)

BibTeX 對作者的姓名非常聰明。它可以接受名字 姓氏姓氏,名字形式的姓名。我個人使用前者,但請記住,你輸入它們的順序(或任何條目中的資料,無論如何)都是可定製的,因此你可以讓 BibTeX 操作輸入,然後以你喜歡的任何方式輸出它。如果你使用名字 姓氏方法,那麼你必須注意一些特殊的名稱,例如“John von Neumann”。在這種形式下,BibTeX 假定最後一個詞是姓氏,前面的一切都是名字,加上任何中間名。因此,你必須手動告訴 BibTeX 將“von”和“Neumann”放在一起。這可以透過使用大括號輕鬆實現。因此,最終結果將是“John {von Neumann}”。透過使用姓氏,名字,這很容易避免,因為你有一個逗號將姓氏與名字分隔開。

其次,是如何告訴 BibTeX 什麼時候引用有多個作者的問題。這可以透過在每個作者之間放置關鍵字and來非常輕鬆地完成。正如我們從另一個例子中看到的

@book{goossens93,
    author    = "Michel Goossens and Frank Mittelbach and Alexander Samarin",
    title     = "The LaTeX Companion",
    year      = "1993",
    publisher = "Addison-Wesley",
    address   = "Reading, Massachusetts"
}

這本書有三個作者,並且每個作者都按所述方式分隔。當然,當 BibTeX 處理並輸出它時,在倒數第二個作者和最後一個作者之間只會出現一個“and”,但在 .bib 檔案中,它需要and,以便它可以跟蹤各個作者。

標準模板

[編輯 | 編輯原始碼]

可以直接複製和填寫的標準模板。可選條目在核心部分用?字首標記。請注意,LaTeX 中用於註釋行的%符號在 BibTeX 中不起作用,會導致無效的欄位名稱。在 BibTeX 中,有效的但未知的欄位名稱和條目之外的名稱會被忽略,導致一種流行的註釋方法。<--如果你複製以下模板,請小心,%符號在 bibtex 檔案中不能用於註釋行。如果你想註釋掉一行,你必須把它放在條目之外。-->


@article
來自雜誌或期刊的文章。
  • 必需欄位:author、title、journal、year。
  • 可選欄位:volume、number、pages、month、note。
@article{Xarticle,
    author    = "",
    title     = "",
    journal   = "",
    ?_volume   = "",
    ?_number   = "",
    ?_pages    = "",
    year      = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@book
已出版的書籍
  • 必需欄位:author/editor、title、publisher、year。
  • 可選欄位:volume/number、series、address、edition、month、note。
@book{Xbook,
    author    = "",
    title     = "",
    publisher = "",
    ?_volume   = "",
    ?_number   = "",
    ?_series   = "",
    ?_address  = "",
    ?_edition  = "",
    year      = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@booklet
沒有署名出版商或贊助商的裝訂作品。
  • 必需欄位:title。
  • 可選欄位:author、howpublished、address、month、year、note。
@booklet{Xbooklet,
    ?_author   = "",
    title     = "",
    ?_howpublished   = "",
    ?_address  = "",
    ?_year      = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@conference
等於 inproceedings
  • 必需欄位:author、title、booktitle、year。
  • 可選欄位:editor、volume/number、series、pages、address、month、organization、publisher、note。
@conference{Xconference,
    author    = "",
    title     = "",
    booktitle = "",
    ?_editor   = "",
    ?_volume   = "",
    ?_number   = "",
    ?_series   = "",
    ?_pages    = "",
    ?_address  = "",
    year      = "XXXX",
    ?_month    = "",
    ?_publisher= "",
    ?_note     = "",
}
@inbook
書籍中沒有自己標題的部分。
  • 必需欄位:author/editor、title、chapter 和/或 pages、publisher、year。
  • 可選欄位:volume/number、series、type、address、edition、month、note。
@inbook{Xinbook,
	author	= "",
	editor	= "",
	title	= "",
	chapter	= "",
	pages	= "",
	publisher= "",
	?_volume	= "",
	?_number	= "",
	?_series	= "",
	?_type	= "",
	?_address= "",
	?_edition= "",
	year	= "",
	?_month	= "",
	?_note	= "",
}
@incollection
有自己標題的書籍部分。
  • 必需欄位:author、title、booktitle、publisher、year。
  • 可選欄位:editor、volume/number、series、type、chapter、pages、address、edition、month、note。
@incollection{Xincollection,
	author	= "",
	title	= "",
	booktitle= "",
	publisher= "",
	?_editor	= "",
	?_volume	= "",
	?_number	= "",
	?_series	= "",
	?_type	= "",
	?_chapter= "",
	?_pages	= "",
	?_address= "",
	?_edition= "",
	year	= "",
	?_month	= "",
	?_note	= "",
}
@inproceedings
會議論文集中的文章。
  • 必需欄位:author、title、booktitle、year。
  • 可選欄位:editor、volume/number、series、pages、address、month、organization、publisher、note。
@inproceedings{Xinproceedings,
	author		= "",
	title		= "",
	booktitle	= "",
	?_editor		= "",
	?_volume		= "",
	?_number		= "",
	?_series		= "",
	?_pages		= "",
	?_address	= "",
	?_organization	= "",
	?_publisher	= "",
	year		= "",
	?_month		= "",
	?_note		= "",
}
@manual
技術手冊
  • 必需欄位:title。
  • 可選欄位:author、organization、address、edition、month、year、note。
@manual{Xmanual,
	title		= "",
	?_author		= "",
	?_organization	= "",
	?_address	= "",
	?_edition	= "",
	year		= "",
	?_month		= "",
	?_note		= "",
}
@mastersthesis
碩士論文
  • 必需欄位:author、title、school、year。
  • 可選欄位:type(例如“diploma thesis”)、address、month、note。
@mastersthesis{Xthesis,
    author    = "",
    title     = "",
    school    = "",
    ?_type     = "diploma thesis",
    ?_address  = "",
    year      = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@misc
適用於其他型別出版物的模板
  • 必需欄位:無
  • 可選欄位:author、title、howpublished、month、year、note。
@misc{Xmisc,
    ?_author    = "",
    ?_title     = "",
    ?_howpublished = "",
    ?_year     = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@phdthesis
博士論文
  • 必需欄位:author、title、year、school。
  • 可選欄位:address、month、keywords、note。
@phdthesis{Xphdthesis,
	author		= "",
	title		= "",
	school		= "",
	?_address	= "",
	year		= "",
	?_month		= "",
	?_keywords	= "",
	?_note		= "",
}
@proceedings
會議論文集。
  • 必需欄位:title、year。
  • 可選欄位:editor、volume/number、series、address、month、organization、publisher、note。
@proceedings{Xproceedings,
	title		= "",
	?_editor		= "",
	?_volume		= "",
	?_number		= "",
	?_series		= "",
	?_address	= "",
	?_organization	= "",
	?_publisher	= "",
	year		= "",
	?_month		= "",
	?_note		= "",
}
@techreport
來自教育機構、商業機構或標準化機構的技術報告。
  • 必需欄位:author、title、institution、year。
  • 可選欄位:type、number、address、month、note。
@techreport{Xtreport,
    author    = "",
    title     = "",
    institution = "",
    ?_type     = "", 
    ?_number   = "",
    ?_address  = "",
    year      = "XXXX",
    ?_month    = "",
    ?_note     = "",
}
@unpublished
未發表的文章、書籍、論文等。
  • 必需欄位:author、title、note。
  • 可選欄位:month、year。
@unpublished{Xunpublished,
	author	= "",
	title	= "",
	?_year	= "",
	?_month	= "",
	note	= "",
}


非標準模板

[編輯 | 編輯原始碼]
@patent
BibTeX 條目可以從 Google 專利匯出。
(有關替代方案,請參閱使用 Bibtex 引用專利)
@collection
@electronic
@Unpublished
用於在REVTEX 風格的文章中引用 arXiv.org 論文
(請參閱REVTEX 作者指南)

保留字母的大小寫

[編輯 | 編輯原始碼]

如果所選的樣式設定 BibTeX 不保留標題中的所有大寫字母,則可能會出現問題,尤其是在引用專有名詞或縮寫詞時。要告訴 BibTeX 保留它們,請在需要保留的字母(或縮寫詞)周圍使用花括號,這樣一切都會好起來!甚至可能需要保留小寫字母 - 例如,如果在將標題全部設定為大寫或小寫字母的樣式中使用化學式,或者如果“pH”要用於將所有首字母大寫的樣式中。

title = "The {LaTeX} Companion",

但是,避免將整個標題放在花括號中,因為如果使用不同的字母大小寫格式,它看起來會很奇怪

title = "{The LaTeX Companion}",

為了方便起見,許多人只是使用雙花括號,這在為不同的期刊、使用不同的 BibTeX 樣式的會議撰寫科學文章時可能會有所幫助,這些樣式有時會保留,有時不會保留大寫字母

title = {{The LaTeX Companion}},

作為替代方法,請嘗試其他 BibTeX 樣式或修改現有樣式。如果使用出版商控制的模板(例如用於期刊投稿),那麼將僅將相關文字放在花括號中的方法是最可行的。如果可能,應避免在單個字母周圍使用花括號,因為它可能會弄亂字距,尤其是在使用 biblatex 時,[1]因此,第一步通常應該是將單個單詞放在括號中。

一些額外的例子

[edit | edit source]

您將在下面找到一些其他參考文獻條目示例。第一個示例涵蓋了 Surname, Firstname 格式的多作者情況,第二個示例處理了 incollection 情況。

@article{AbedonHymanThomas2003,
  author = "Abedon, S. T. and Hyman, P. and Thomas, C.",
  year = "2003",
  title = "Experimental examination of bacteriophage latent-period evolution as a response to bacterial availability",
  journal = "Applied and Environmental Microbiology",
  volume = "69",
  pages = "7499--7506"
}

@incollection{Abedon1994,
  author = "Abedon, S. T.",
  title = "Lysis and the interaction between free phages and infected cells",
  pages = "397--405",
  booktitle = "Molecular biology of bacteriophage T4",
  editor = "Karam, Jim D. Karam and Drake, John W. and Kreuzer, Kenneth N. and Mosig, Gisela
            and Hall, Dwight and Eiserling, Frederick A. and Black, Lindsay W. and Kutter, Elizabeth
            and Carlson, Karin and Miller, Eric S. and Spicer, Eleanor",
  publisher = "ASM Press, Washington DC",
  year = "1994"
}

如果您必須引用網站,可以使用 @misc,例如

@misc{website:fermentas-lambda,
      author = "Fermentas Inc.",
      title = "Phage Lambda: description \& restriction map",
      month = "November",
      year = "2008",
      url = "http://www.fermentas.com/techinfo/nucleicacids/maplambda.htm"
}

如果需要新增非結構化資訊(例如,該期刊的對應期尚未出現),note 欄位會很有用

@article{blackholes,
      author = "Rabbert Klein",
      title = "Black Holes and Their Relation to Hiding Eggs",
      journal = "Theoretical Easter Physics",
      publisher = "Eggs Ltd.",
      year = "2010",
      note = "(to appear)"
}

讓當前的 LaTeX 文件使用您的 .bib 檔案

[edit | edit source]

在 LaTeX 檔案的末尾(即在內容之後,但在 \end{document} 之前),您需要放置以下命令

\bibliographystyle{plain}
\bibliography{sample1,sample2,...,samplen} 
% Note the lack of whitespace between the commas and the next bib file.

參考文獻樣式是 BibTeX 識別的檔案,它告訴 BibTeX 如何格式化儲存在.bib檔案中的資訊,以便在處理後輸出。因此,上面列出的第一個命令宣告要使用的樣式檔案。此示例中的樣式檔案是plain.bst(它作為 BibTeX 的標準提供)。在使用此命令時,您無需新增 .bst 副檔名,因為它會被自動新增。儘管它的名字是 plain,但它做得非常好(看看本教程的輸出,您就知道我的意思了)。

第二個命令是實際指定要使用的命令.bib檔案。我為本教程建立的檔案稱為sample1.bib, sample2.bib, . . ., samplen.bib,但同樣,您無需包含副檔名。目前,該.bib檔案與 LaTeX 文件位於同一個目錄中。但是,如果您的 .bib 檔案位於其他地方(如果您打算為所有研究維護一個集中化的參考文獻資料庫,這很有意義),您還需要指定路徑,例如 \bibliography{/some/where/sample}\bibliography{../sample1} (如果 .bib 檔案位於呼叫它的 .tex 文件的父目錄中)。

現在,LaTeX 和 BibTeX 知道在哪裡查詢相應的檔案,實際引用參考文獻就非常簡單了。\cite{ref_key} 是您需要的命令,確保 ref_key 與 .bib 檔案中某個條目完全匹配。如果您希望同時引用多個參考文獻,請執行以下操作:\cite{ref_key1, ref_key2, ..., ref_keyN}

為什麼 LaTeX 不會生成任何輸出?

[edit | edit source]

新增 BibTeX 為將原始碼處理為所需的輸出增加了額外的複雜性。這在很大程度上對使用者隱藏了,但是由於從源 LaTeX 檔案到另一個檔案中的資料庫條目的引用的複雜性,實際上需要多次傳遞才能完成任務。這意味著您必須執行 LaTeX 多次。每次傳遞都會執行特定的任務,直到它成功解析所有引用。以下是如何在命令列中輸入這些內容:

  1. latex latex_source_code.tex
  2. bibtex latex_source_code.aux
  3. latex latex_source_code.tex
  4. latex latex_source_code.tex

(副檔名是可選的,如果使用副檔名,請注意 bibtex 命令使用 AUX 檔案作為輸入。)

在第一次執行 LaTeX 後,您將看到諸如以下之類的錯誤

LaTeX Warning: Citation `lamport94' on page 1 undefined on input line 21.
...
LaTeX Warning: There were undefined references.

下一步是在同一個 LaTeX 原始碼上執行 bibtex(更準確地說是在相應的 AUX 檔案上,但不是在實際的 .bib 檔案上),然後在該文件中定義所有參考文獻。您應該看到類似於以下內容的輸出

This is BibTeX, Version 0.99c (Web2C 7.3.1)
The top-level auxiliary file: latex_source_code.aux
The style file: plain.bst
Database file #1: sample.bib

第三步是第二次呼叫 LaTeX,將看到更多類似於“LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.”的錯誤。不要驚慌,它快完成了。正如您所料,您只需要按照它的指示操作,第三次執行 LaTeX,文件就會按預期輸出,不會出現進一步的問題。

如果您希望生成 pdf 輸出而不是 dvi 輸出,可以使用pdflatex而不是latex如下所示

  1. pdflatex latex_source_code.tex
  2. bibtex latex_source_code.aux
  3. pdflatex latex_source_code.tex
  4. pdflatex latex_source_code.tex

(副檔名是可選的,如果使用副檔名,請注意 bibtex 命令使用 AUX 檔案作為輸入。)

請注意,如果您在 vim 中編輯原始碼並嘗試使用命令模式和當前檔案快捷方式 (%) 處理文件,就像這樣

  1. :! pdflatex %
  2. :! bibtex %

您將收到類似於以下內容的錯誤

  1. I couldn't open file name 'current_file.tex.aux'

似乎在執行當前檔案命令 (%) 時,預設情況下會包含副檔名。要從 vim 內部處理文件,您必須顯式地命名沒有副檔名的檔案才能使 bibtex 工作,如下所示

  1. :! pdflatex %
  2. :! bibtex %:r (沒有副檔名,它會像上面提到的那樣查詢 AUX 檔案)
  3. :! pdflatex %
  4. :! pdflatex %

如果您正在執行 Unix/Linux 或任何其他具有 make 的平臺,則還有另一種選擇。然後,您只需建立一個 Makefile 並使用 vim 的 make 命令或在 shell 中使用 make。Makefile 應該如下所示

latex_source_code.pdf: latex_source_code.tex latex_source_code.bib
	pdflatex latex_source_code.tex
	bibtex latex_source_code.aux
	pdflatex latex_source_code.tex
	pdflatex latex_source_code.tex

經常出現的錯誤是

  • BibTeX 對參考文獻檔名稱中的空格很反感。BibTeX 不允許在檔名中使用空格,其他限制(例如最大路徑長度為 40 個字元)也同樣有效。解決方法:將 bib 檔案複製到您的資料夾中,或者將資料夾重新命名為不包含空格的名稱。
  • 空參考文獻:您在文件中引用了內容嗎(搜尋 \cite 或類似的詞語)?否則,LaTeX 不會在 PDF 中生成參考文獻。解決方案:使用 \nocite{*} 列出參考文獻中的所有條目,而不考慮它們是否被引用。或者簡單地說:引用一些內容。
  • BibTeX 一直對包含引號的條目抱怨,即使語法看起來是正確的?可能是引號看起來很像,但卻是錯誤的字元(“ 與 ')。解決方法:嘗試將引號替換為正確的對應項。

在參考文獻中包含 URL

[edit | edit source]

如您所見,沒有 URL 欄位。一種可能性是在 @mischowpublished 欄位或 @techreport@article@booknote 欄位中包含網際網路地址

howpublished = "\url{http://www.example.com}"

請注意 \url 命令的使用,以確保 URL 的正確外觀

另一種方法是使用特殊欄位url並使參考文獻樣式識別它。

url = "http://www.example.com"

您需要在第一種情況下使用 \usepackage{url},或在第二種情況下使用 \usepackage{hyperref}

Natbib 提供的樣式(見下文)處理此欄位,其他樣式可以使用 urlbst 程式進行修改。urlbst 提供了三種標準樣式(plain、abbrv 和 alpha)的修改。

如果您需要有關參考文獻中 URL 的更多幫助,請訪問 UK List of TeX 的常見問題解答

自定義參考文獻外觀

[edit | edit source]

BibTeX 的主要優勢之一,尤其是對於撰寫大量研究論文的人來說,是能夠自定義參考文獻以滿足特定出版物的要求。您會注意到,不同的出版物往往有自己的參考文獻格式風格,作者必須遵守這些風格才能發表他們的手稿。事實上,已建立的期刊和會議組織者通常會為 BibTeX 使用者建立他們自己的參考文獻樣式 (.bst 檔案),為您完成所有繁重的工作。

它能夠做到這一點是因為 .bib 資料庫的性質,所有關於參考文獻的資訊都以結構化的格式儲存在其中,但沒有關於樣式的資訊。這在 LaTeX 中是一個普遍的主題,它儘可能地將內容和展示分離。

參考文獻樣式檔案(.bst)將告訴 LaTeX 如何格式化每個屬性,以什麼順序排列它們,在特定屬性之間使用什麼標點符號等等。不幸的是,手動建立這樣的樣式並非易事。這就是為什麼Makebst(也稱為 custom-bib)是我們需要的工具。

Makebst可以用來根據您的需求自動生成 .bst 檔案。它非常簡單,實際上會向您提出一些關於您偏好的問題。完成後,它將輸出適合您使用的樣式檔案。

它應該與 LaTeX 發行版一起安裝(否則,您可以 下載它),啟動也非常簡單。在命令列中輸入

latex makebst

LaTeX 會找到相關檔案,並開始提問過程。您將不得不回答相當多問題(儘管,請注意預設答案非常合理),這意味著在本教程中進行示例演示不切實際。但是,它相當直截了當。如果您需要進一步的指導,那麼有一個全面的 手冊 可供使用。我建議您嘗試一下,看看將它應用於 LaTeX 文件後的結果。

如果您使用的是自定義構建的 .bst 檔案,那麼 LaTeX 必須能夠找到它!因此,請確保它與 LaTeX 原始檔位於同一個目錄中,除非您使用的是標準樣式檔案之一(例如plainplainnat,這些檔案與 LaTeX 捆綁在一起 - 這些檔案會在其安裝的目錄中自動找到)。此外,請確保您要使用的.bst檔案的名稱反映在 \bibliographystyle{style} 命令中(但不包括.bst副檔名!)。

本地化參考文獻外觀

[edit | edit source]

在用英語以外的語言編寫文件時,您可能希望調整參考文獻的外觀以適應文件語言。這涉及到諸如編輯in之類的詞語,以及適當的排版佈局。可以使用 babelbib 來實現這一點。例如,要將參考文獻以德語的形式排版,請在頁首中新增以下內容

\usepackage[fixlanguage]{babelbib}
\selectbiblanguage{german}

或者,您可以根據引文文件的語言來排版每個參考文獻條目

\usepackage{babelbib}

條目的語言在 BibTeX 條目中指定為一個額外的欄位

@article{mueller08,
  % ...
  language = {german}
}

對於babelbib生效,必須使用它支援的參考文獻樣式,其中之一是babplain, babplai3, babalpha, babunsrt, bababbrvbababbr3。必須使用它們。

\bibliographystyle{babplain}
\bibliography{sample}

顯示未使用的條目

[edit | edit source]

通常 LaTeX 只顯示使用 \cite 引用的條目。可以使未引用的條目可見

\nocite{Name89} % Show Bibliography entry of Name89
\nocite{*} % Show all Bib-entries

獲取參考文獻資料

[edit | edit source]

許多線上資料庫提供 BibTeX 格式的參考文獻資料,使您能夠輕鬆構建自己的資料庫。例如,Google Scholar 提供了返回正確格式化輸出的選項,您也可以在設定頁面中啟用此選項。

應該注意的是,參考文獻資料庫通常是經過多代自動處理的結果,因此生成的 BibTex 程式碼容易出現各種小錯誤,尤其是在較舊的條目中。

有用的工具

[edit | edit source]
另請參閱:w:en:Comparison of reference management software
Literatur-Generator
JabRef
BibDesk
  • BibDesk BibDesk 是一個用於 Mac OS X 的參考文獻管理軟體。它擁有非常友好的使用者介面,並提供了一些功能,例如基於關鍵詞的智慧資料夾和即時 TeX 顯示。
  • BibSonomy — 基於 BibTeX 的免費社交書籤和出版物管理系統。
  • BibTeXSearch BibTeXSearch 是一個免費的可搜尋 BibTeX 資料庫,涵蓋數百萬條學術記錄。
  • Bibtex 編輯器 - 線上 BibTeX 條目生成器和參考文獻管理系統。可以匯入和匯出 Bibtex 檔案。
  • Bibwiki Bibwiki 是一個 MediaWiki 特殊頁面,用於管理 BibTeX 參考文獻。它提供了一種直接的方法來匯入和匯出參考文獻記錄。
  • cb2Bib cb2Bib 是一款工具,可以從電子郵件提醒、期刊網頁和 PDF 檔案中快速提取未格式化或非標準化的參考文獻。
  • Citavi 商業軟體(有大小受限的免費試用版),它甚至可以在圖書館中搜索引文並將您所有的知識儲存在資料庫中。可以將資料庫匯出到各種格式。與 MS Word 和 Open Office Writer 一起使用。此外,還存在用於瀏覽器和 Acrobat Reader 的外掛,可以自動將參考文獻新增到您的專案中。
  • DokuWiki DokuWiki 是一款 Bibtext 外掛,允許在 DokuWiki 頁面中包含 Bibtex 格式的引文,並在 APA 格式中顯示它們。注意:此外掛容易受到 XSS 攻擊 -> http://www.dokuwiki.org/plugin:bibtex
  • Ebib — 一個用於 Emacs 的 BibTeX 資料庫管理器,解析良好,並且只需幾下按鍵即可使用。
  • JabRef 是一款 Java 程式(在 GPL 許可下),它允許您搜尋許多參考文獻資料庫,如 Medline、Citeseer、IEEEXplore 和 arXiv,並使用您選擇的文章來填充和管理您的 BibTeX 本地資料庫。基於 BiBTeX,JabRef 可以匯出到許多其他輸出格式,例如 html、MS Word 或 EndNote。
  • KBib 另一個用於 KDE 的 BibTeX 編輯器。它具有類似的功能,但 UI 略有不同。功能包括從 PDF 檔案、純文字、DOI、arXiv 和 PubMed ID 生成 BibTeX 參考文獻。還支援對 Google Scholar、PubMer、arXiv 和其他一些服務的網路查詢。
  • KBibTeX KBibTeX 是一個用於 KDE 的 BibTeX 編輯器,用於編輯與 LaTeX 一起使用的參考文獻。功能包括舒適的輸入掩碼、啟動網路查詢(例如 Google 或 PubMed)以及匯出到 PDF、PostScript、RTF 和 XML/HTML。由於 KBibTeX 使用了 KDE 的 KParts 技術,因此 KBibTeX 可以嵌入到 Kile 或 Konqueror 中。
  • Literatur-Generator 是一款德語線上工具,用於建立參考文獻(Bibtex、Endnote、Din 1505 等)。
  • Mendeley Mendeley 是一款免費的學術軟體,用於管理 PDF 檔案,可以管理 Open Office 中的參考文獻並讀取 BibTeX。
  • Qiqqa Qiqqa 是一款免費的研究管理器,它內建了自動將 BibTeX 記錄與您的 PDF 檔案關聯的功能,以及一個“BibTeX Sniffer”,可以幫助您半自動地查詢 BibTeX 記錄。
  • Referencer Referencer 是一款 Gnome 應用程式,用於組織文件或參考文獻,並最終生成 BibTeX 參考文獻檔案。
  • Synapsen — 超文字卡片索引/參考文獻管理器,具有對 BiBTeX/biblatex 的特殊支援,用 Java 編寫。
  • Zotero Zotero 是一款免費的開源參考文獻管理器,可以作為獨立應用程式使用,能夠匯入和匯出 bib 檔案。Zotero 具有適用於 Chrome 和 Firefox 的瀏覽器外掛。

總結

[edit | edit source]

雖然掌握 BibTeX 需要花費一些時間,但從長遠來看,它是處理參考文獻的有效方法。在網站上經常可以看到人們將 .bib 檔案作為他們自己出版物列表的集合,或對某個主題的相關作品的調查等等。或者在那些龐大的線上參考文獻資料庫中,您經常可以找到出版物的 BibTeX 版本,因此可以快速剪下並貼上到您自己的 .bib 檔案中,然後就沒有更多麻煩了!

將所有參考文獻集中在一個地方是一個很大的優勢。將它們以結構化的形式儲存,允許自定義輸出是另一個優勢。有各種各樣的免費實用程式可以載入您的 .bib 檔案,並允許您以更有效的方式檢視它們,以及對它們進行排序並檢查錯誤。

目錄中的參考文獻

[edit | edit source]

如果您正在編寫書籍報告,您可能會使用類似以下內容來插入您的參考文獻

\begin{thebibliography}{99}
\bibitem{bib:one_book} some information
\bibitem{bib:one_article} other information
\end{thebibliography}

或者,如果您使用 BibTeX,您的參考文獻將儲存在 .bib 檔案中,您的 TeX 文件將透過以下命令包含參考文獻

\bibliographystyle{plain}
\bibliography{mybibtexfile}

這兩個示例都將建立一個類似章節(或類似節)的輸出,顯示所有參考文獻。但即使生成的“參考文獻”看起來像一個章節或節,它也不會被完全相同的方式處理:它不會出現在目錄中。

使用 tocbibind

[edit | edit source]

將參考文獻新增到目錄中最舒適的方法是使用專門的包 tocbibind,它適用於許多標準文件類。只需將以下程式碼包含在您的文件的前言中

\usepackage[nottoc]{tocbibind}

這將在目錄中包含參考文獻,但不進行編號。如果您想要進行適當的編號,請在前言中包含以下程式碼

\usepackage[nottoc,numbib]{tocbibind}

tocbibind 包還可以處理將圖片列表、表格列表和目錄本身包含在目錄中。它擁有許多用於編號、文件結構等的選項,可以適應幾乎所有場景。有關詳細文件,請參閱 tocbibind CTAN 頁面

其他方法

[編輯 | 編輯原始碼]

作為無編號專案

[編輯 | 編輯原始碼]

如果你希望你的參考文獻出現在目錄中,只需在thebibliography環境之前新增以下兩行

\clearpage% or cleardoublepage
\addcontentsline{toc}{chapter}{Bibliography}

(或者\addcontentsline{toc}{section}{Bibliography} 如果你正在寫一篇文章)

第一行只是終止當前段落和頁面。如果你正在寫一本書,使用\cleardoublepage以匹配使用的樣式。第二行將在目錄中新增一行(第一個選項,toc),它將類似於章節建立的那些行(第二個選項,chapter),第三個引數將在目錄中的對應行上列印;這裡選擇了Bibliography,因為它與thebibliography環境在使用它時自動寫入的文字相同,但你可以自由地寫任何你喜歡的文字。如果你使用的是單獨的bib檔案,請在以下兩行之間新增這些行\bibliographystyle\bibliography.

如果你使用hyperref 包,你還應該使用\phantomsection命令來啟用從目錄到參考文獻的超連結。

\clearpage% or cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Bibliography}

這個技巧在您必須在目錄中插入參考文獻時特別有用,但它可以用於任何東西。當LaTeX找到上面的程式碼時,它將記錄如上所述的資訊和當前頁碼,並在目錄頁中插入一個新行。

作為編號專案

[編輯 | 編輯原始碼]

如果你希望參考文獻是編號的節或章,你可能會使用這種方式

\cleardoublepage % This is needed if the book class is used, to place the anchor in the correct page,
                 % because the bibliography will start on its own page.
                 % Use \clearpage instead if the document class uses the "oneside" argument
\renewcommand*{\refname}{} % This will define heading of bibliography to be empty, so you can...
\section{Bibliography}     % ...place a normal section heading before the bibliography entries.

\begin{thebibliography}{99}
...
\end{thebibliography}

另一個更簡單的解決方案是在\renewcommand塊中使用\section

\renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
\begin{thebibliography}{99}
...
\end{thebibliography}

您可能希望使用\renewcommand*{\refname}{\vspace*{-1em}},後面跟著\vspace*{-1em},以抵消空白\refname插入的額外空間。

如果你使用的是BibTeX、\bibliography命令以及book或report類,你需要重新定義\bibname而不是\refname,如下所示。

\renewcommand{\bibname}{\section{Sources}} % Redefine bibname
\bibliographystyle{IEEEtran}               % Set any options you want
\bibliography{your_bib_file_names}         % Build the bibliography

正如我們之前所說,biblatex被廣泛認為是BibTeX的繼任者。它旨在完全替代BibTeX,在輸出方面更具可配置性,並提供大量新的樣式(用於輸出)和欄位(用於資料庫),這些樣式和欄位可以在文件中使用。目前,請參考其CTAN上的全面文件

.bib檔案中的條目和欄位型別

[編輯 | 編輯原始碼]

下表顯示了大多數字段型別。一些欄位型別是列表,要麼是人員姓名列表,要麼是文字列表。一個日期可以以部分或完整形式給出,一些是必需的,頁碼引用以範圍形式提供,某些特殊欄位包含逐字程式碼。有許多種標題

層次化條目型別
基本型別 多卷本 獨立部分 補充材料
@book @mvbook @inbook, @bookinbook @suppbook
@periodical @article @suppperiodical
@collection @mvcollection @incollection @suppcollection
@reference @mvreference @inreference
@proceedings @mvproceedings @inproceedings, @conference
biblatex已知的.bib檔案中的條目型別以及支援的欄位型別,
必需+、可選±、可選^、不支援(空)或禁止
一些型別已縮短:點“.”截斷條目,波浪號“~”重複最後一個完整條目
article
book
mv~
in~
~let
collect.
mv~
in~
manual
misc
online
patent
period.
proceed.
mv~
in~
report
thesis
unpub.
author, authortype + + + + ± + ± ± ± + + + + +
editor, editortype ^ ^ ^ ^ ± + + + ± ± ± + + + +
editorX, editorXtype ^ ^ ^ ^ ^ ^ ^ ^
holder ^
bookauthor ^
annotator, commentator ^ ^ ^ ^ ^ ^ ^
translator, origlanguage ^ ^ ^ ^ ^ ^ ^
afterword, foreword, introduction ^ ^ ^ ^ ^ ^
title + + + + + + + + + + + + + + + + + + +
titleaddon, subtitle ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ˇ ^ ^ ^ ^ ^ ^
maintitle, mainsubtitle, maintitleaddon ^ ^ ^ ^ ^ ^
booktitle + + +
booksubtitle, booktitleaddon ^ ^ ^
journalsubtitle ^
journaltitle +
eventdate, eventtitle, eventtitleaddon, venue ^ ^ ^
date, year ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ± ±
month ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
edition ^ ^ ^ ^ ^ ^
issue, issuetitle, issuesubtitle ^ ^
number ^ ^ ^ ^ ^ ^ ^ + ^ ^ ^ ^ ^
series ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
chapter ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
part ^ ^ ^ ^ ^ ^
volume ^ ^ ^ ^ ^ ^ ^ ^
volumes ^ ^ ^ ^ ^ ^ ^ ^ ^
version ^ ^ ^ ^ ^ ^
doi, eprint, eprintclass, eprinttype ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
eid ^
isbn ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
isrn ^
issn ^ ^
isan, ismn, iswc
url ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ + ^ ^ ^ ^ ^ ^ ^ ^
urldate ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
location ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
publisher ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
organization ^ ^ ^ ^ ^ ^
institution + +
type ^ ^ ^ ^ + +
howpublished ^ ^ ^
pages ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
pagetotal ^ ^ ^ ^ ^ ^ ^ ^ ^ ^

一些條目型別很難區分,並且由標準樣式以相同方式處理

  • @article 與假設的 *@inperiodical 相同,因此包含現有的 @suppperiodical
  • @inbook = @bookinbook = @suppbook
  • @collection = @reference
  • @mvcollection = @mvreference
  • @incollection = @suppcollection = @inreference
  • @online = @electronic = @www
  • @report = @techreport
  • @thesis = @mastersthesis = @phdthesis

一些欄位型別已定義,但文件中沒有說明它們可用於哪些條目型別。這是因為它們依賴於另一個欄位被設定為有用,或者它們始終可以以使用者定義的方式使用,但永遠不會在標準樣式中使用

  • abstract, annotation
  • entrysubtype
  • file
  • label
  • library
  • nameaddon
  • origdate, origlocation, origpublisher
  • origtitle, reprinttitle, indextitle
  • pagination, bookpagination
  • shortauthor, shorteditor, shorthand, shorthandintro, shortjournal, shortseries shorttitle

唯一始終為強制性的欄位是title。所有條目型別還需要dateyear,並且它們指定它們期望的authoreditor,或者它們是否可以使用兩者。一些欄位型別可以可選地用於任何條目型別

  • addendum, note
  • language
  • pubstate
  • urldate

所有物理(印刷)條目型別共享更多可選欄位型別

  • url, doi
  • eprint, eprintclass, eprinttype

多媒體條目型別

  • @artwork
  • @audio
  • @image
  • @movie
  • @music
  • @performance
  • @video
  • @software

以及法律條目型別

  • @commentary
  • @jurisdiction
  • @legislation
  • @legal
  • @letter
  • @review
  • @standard

已定義,但尚未得到良好支援。

條目型別@bibnote@set@xdata是特殊的。

列印參考文獻

[編輯 | 編輯原始碼]

假設我們在一個名為references.bib的檔案中定義了我們的參考文獻,我們透過在序言中新增以下內容來將它新增到biblatex中

\addbibresource{references.bib}

使用此宏列印參考文獻(通常在文件正文的末尾)

\printbibliography

列印單獨的參考文獻

[編輯 | 編輯原始碼]

我們希望將參考文獻分成論文、書籍和其他

\printbibliography[title={Book references},type=book]
\printbibliography[title={Article references},type=article]
\printbibliography[title={Other references}, nottype=article, nottype=book]

如果bib條目位於多個檔案中,我們可以像這樣新增它們

\addbibresource{references.bib}
\addbibresource{other.bib}

我們也可以根據其他欄位過濾,例如entrysubtype。如果我們將線上資源定義為如下

@misc{some-resource,
   ...
   entrysubtype = {inet},
}

我們使用 \printbibliography[title={線上資源}, subtype=inet] 過濾。

帶字首鍵、子標題和目錄的示例

[編輯 | 編輯原始碼]

由於參考文獻的編號是獨立的,因此使用字首編號(例如 a、b 和 c)來分隔參考文獻也是很有用的。此外,我們為參考文獻新增一個主標題,並將該標題新增到目錄中。

為了使 Hyperref 連結指向正確的參考文獻部分,我們還在列印每個參考文獻之前新增 \phantomsection

\printbibheading[
heading=bibintoc, % bibintoc adds the Bibliography to the table of contents
title={Resources} % If we want to override the default title "Bibliography" 
]
\phantomsection % Requires hyperref package
\printbibliography[title={Printed sources}, heading=subbibliography, prefixnumbers={a}, type=book, type=article]
\phantomsection
\printbibliography[title={Online resources}, heading=subbibliography, prefixnumbers={c}, subtype=inet]
\phantomsection
\printbibliography[title={Other}, heading=subbibliography, prefixnumbers={c}, nottype=article, nottype=book, notsubtype=inet]

要將每個參考文獻都新增到目錄中,作為主參考文獻的子部分,請將 heading=subbibliography 替換為 heading=subbibintoc

多個參考文獻

[編輯 | 編輯原始碼]

使用 multibib

[編輯 | 編輯原始碼]

這個包用於在你的作品的不同部分建立多個參考文獻。例如,你可以為每一章生成一個參考文獻。你可以在 CTAN[2] 上找到有關這個包的資訊。

使用 bibtopic

[編輯 | 編輯原始碼]

bibtopic 包[3] 是為了將引用分散到多個檔案中而建立的,這樣你就可以將參考文獻分成多個部分。它為每個參考文獻部分生成一個單獨的 aux 檔案,因此你必須在每個檔案中執行 bibtex(有關更多詳細資訊,請參閱包文件)。

\documentclass[11pt]{article}
\usepackage{bibtopic}
\begin{document}

\bibliographystyle{alpha}
\section{Testing}
Let’s cite all the books: \cite{ColBenh:93} and
\cite{Munt:93}; and an article: \cite{RouxSmart:95}.

File books.bib is used for this listing:
\begin{btSect}{books}
 \section{References from books}
 \btPrintCited
\end{btSect}
Here, the articles.bib is used, and the listing is in plain-format instead of the standard alpha.
\begin{btSect}[plain]{articles}
 \section{References from articles}
 \btPrintCited
 \section{Articles not cited}
 \btPrintNotCited
\end{btSect}
Just print all entries here with \btPrintAll
\begin{btSect}[plain]{internet}
 \section{References from the internet}
 \btPrintAll
\end{btSect}
\end{document}

註釋和參考資料

[編輯 | 編輯原始碼]

此頁面使用 Andy Roberts 的 Getting to grips with LaTeX 的素材,經作者許可。


上一頁:詞彙表 索引 下一頁:更多參考文獻
華夏公益教科書