> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/01-bibliography-management-with-bibtex.md).

# 使用 bibtex 管理參考書目

## 注意事項

如果你是從零開始，我們建議使用 [biblatex](/latex/zh-tw/geng-duo-zhu-ti/05-bibliography-management-in-latex.md) 因為該套件提供多種語言的在地化支援，且持續開發中，能讓參考書目管理更簡單也更彈性。

## 簡介

許多 [教學文章](https://www.overleaf.com/latex/learn/free-online-introduction-to-latex-part-2) 已經有許多文章介紹 $$\mathrm{Bib\TeX}$$ 是什麼，以及 [如何使用它](https://www.overleaf.com/help/97-how-to-include-a-bibliography-using-bibtex)。然而，根據我們為 Overleaf 使用者提供支援的經驗，這仍然是許多初學者進入 $$\mathrm{\LaTeX}$$ 時覺得很複雜的主題之一——尤其是當事情不太順利時；例如：引用沒有出現；作者姓名有問題；沒有依要求排序；參考文獻清單中沒有顯示 URL，等等。

在本文中，我們將整理所有與引用、參考文獻和書目相關的內容，以及 Overleaf 與相關工具如何幫助使用者管理這些項目。

我們先快速回顧一下 $$\mathrm{Bib\TeX}$$ 和書目資料庫（`.bib`）檔案如何運作，並看看一些準備 `.bib` 檔案的方法。當然，這有重複許多線上教學內容的風險，但未來的文章會擴充我們的內容，涵蓋書目樣式和 `biblatex`——另一個套件與書目處理器。

## 書目：只是 \bibitems 的清單

讓我們先「深入」快速看看一個 $$\mathrm{\LaTeX}$$ 參考文獻清單是由什麼構成的——請 *不要* 像這樣開始撰寫你的參考文獻清單，因為在本文後面我們會看到其他更方便的做法。

參考文獻清單其實只是 `thebibliography` 的一份 `\bibitems 清單`:

```latex
\begin{thebibliography}{9}
\bibitem{texbook}
Donald E. Knuth（1986）\emph{The \TeX{} Book}，Addison-Wesley Professional。

\bibitem{lamport94}
Leslie Lamport（1994）\emph{\LaTeX: a document preparation system}，Addison
Wesley，Massachusetts，第 2 版。
\end{thebibliography}
```

預設情況下，這個 `thebibliography` 環境是一個帶標號的清單，標籤為 `[1]`, `[2]` 等等。如果所使用的文件類別是 `article`, `\begin{thebibliography}` 會自動插入一個不帶編號的節標題，使用 `\refname` （預設值： **參考文獻**）。如果文件類別是 `book` 或 report，則會改為插入一個不帶編號的章節標題，使用 `\bibname` （預設值： **書目**）取代。每個 `\bibitem` 都接受一個 *引用鍵* 作為參數，你可以搭配 `\cite` 指令使用，後面接上該參考項目的資訊。因此，如果你現在寫下

```latex
\LaTeX{} \cite{lamport94} 是建立在 \TeX{} \cite{texbook} 之上的一組巨集。
```

再加上前面的 `thebibliography` 區塊，這就是你在執行 $$\mathrm{\LaTeX}$$ 處理器（也就是以下任一項： `latex`, `pdflatex`, `xelatex` 或 `lualatex`）處理原始檔時，輸出成 PDF 的內容：

![從 thebibliography 清單引用條目](/files/10d35e6f7520bd6307efd4a40e250736e4d11093)

**圖 1：** 從一個 `thebibliography` 清單中引用條目。

請注意每個 `\bibitem` 都會自動編號，以及 `\cite` 然後會插入對應的數字標籤。

`\begin{thebibliography}` 需要一個數字參數：清單中預期最寬的標籤。在這個例子中我們只有兩個項目，所以 `9` 就足夠了。不過，如果你有超過十個項目，你可能會發現清單中的數字標籤開始對不齊：

![標籤太短的 thebibliography](/files/05dee36d5042c6d02ebe87fcbe4729035d03d2da)

**圖 2：** `thebibliography` 標籤太短的情況。

我們必須把它改成 `\begin{thebibliography}{99}` ，這樣最長的標籤寬度就足以容納較長的標籤，如下所示：

![標籤寬度較長的 thebibliography](/files/8223faa06029140b7756434d6ac3b47dfb066675)

**圖 3：** `thebibliography` 標籤寬度較長的情況。

如果你在本機電腦上編譯這段範例程式碼 *第一次* 你執行 `pdflatex` （或另一個 $$\mathrm{\LaTeX}$$ 處理器），參考文獻清單會如預期出現在 PDF 中，但 `\cite` \cite 指令只會顯示成問號 **\[?]**.

這是因為在第一次 $$\mathrm{\LaTeX}$$ 執行後，每個 `\bibitem` (`texbook`, `lamport94`）中的引用鍵會寫入 `.aux` 檔案，尚未可供 `\cite` 指令讀取。直到第二次執行 `pdflatex` 時， `\cite` 指令才能從 `.aux` 檔案中查找每個引用鍵，並插入對應的標籤（`[1]`, `[2]`）到輸出中。

不過在 Overleaf 上，你不必擔心重新執行 `pdflatex` 。這是因為 Overleaf 使用 [`latexmk` 建置工具](/latex/zh-tw/zhi-shi-ku/064-how-does-overleaf-compile-my-project.md)，它會自動重新執行 `pdflatex` （以及其他一些處理器）所需的次數，以解決 `\cite` 輸出。這也適用於其他交叉參照指令，例如 `\ref` 和 `\tableofcontents`.

### 關於編譯時間的說明

處理 $$\mathrm{\LaTeX}$$ 參考文獻清單或其他形式的交叉參照，例如索引，需要多次執行軟體——包括 $$\mathrm{\TeX}$$ 引擎（例如， `pdflatex`）以及相關程式，例如 $$\mathrm{Bib\TeX}$$, `makeindex`，等等。如上所述，Overleaf 會自動處理所有這些多次執行，所以你不必擔心。因此，當 Overleaf 上的預覽正在為含有書目（或其他交叉參照）的文件重新整理，或為含有大型圖片檔案的文件重新整理時（另見 [這裡](/latex/zh-tw/zhi-shi-ku/113-optimising-very-large-image-files.md)），這些必要的編譯步驟有時可能會讓預覽重新整理看起來比在你自己的電腦上花更久。當然，我們的目標是盡量縮短它！如果你覺得你的文件編譯時間比預期更久，這裡有一些 [進一步的提示](/latex/zh-tw/zhi-shi-ku/038-fixing-and-preventing-compile-timeouts.md) 也許會有幫助。

## 輸入 $$\mathrm{Bib\TeX}$$

當然，手動準備 `thebibliography` 清單也有一些不便之處：

* 你必須自行準確地格式化每一個 `\bibitem` 根據要求使用的參考文獻樣式——哪些部分應該用粗體或斜體？年份應該緊接在作者後面，還是在條目最後？先寫名字，還是先寫姓氏？
* 如果你是依照一種要求參考文獻清單按第一作者姓氏排序的樣式撰寫，你就需要自行排序這些 `\bibitem`s。
* 對於使用不同參考文獻樣式的不同稿件或文件，你必須重新撰寫 `\bibitem` 每一筆參考資料的

這就是 $$\mathrm{Bib\TeX}$$ 和 *書目資料庫檔案* (`.bib` 檔案）非常有用，而這也是大多數期刊與論文中管理引用和參考文獻的建議做法。這種 `biblatex` 方法稍有不同，而且越來越受歡迎，同樣需要一個 `.bib` 檔案，不過我們會在 `biblatex` 日後的文章中討論。

不要把已引用的參考項目格式化在一份 `thebibliography` 清單中，我們改為維護一個書目資料庫檔案（我們把它命名為 `refs.bib` 作為範例）其中包含 *不依格式而定的* 參考資料資訊。因此，我們的 `refs.bib` 檔案可能會像這樣：

```latex
@book{texbook,
  author = {Donald E. Knuth},
  year = {1986},
  title = {The {\TeX} Book},
  publisher = {Addison-Wesley Professional}
}

@book{latex:companion,
  author = {Frank Mittelbach and Michel Gossens
            and Johannes Braams and David Carlisle
            and Chris Rowley},
  year = {2004},
  title = {The {\LaTeX} Companion},
  publisher = {Addison-Wesley Professional},
  edition = {2}
}

@book{latex2e,
  author = {Leslie Lamport},
  year = {1994},
  title = {{\LaTeX}: a Document Preparation System},
  publisher = {Addison Wesley},
  address = {Massachusetts},
  edition = {2}
}

@article{knuth:1984,
  title={Literate Programming},
  author={Donald E. Knuth},
  journal={The Computer Journal},
  volume={27},
  number={2},
  pages={97--111},
  year={1984},
  publisher={Oxford University Press}
}

@inproceedings{lesk:1977,
  title={Computer Typesetting of Technical Journals on {UNIX}},
  author={Michael Lesk and Brian Kernighan},
  booktitle={Proceedings of American Federation of
             Information Processing Societies: 1977
             National Computer Conference},
  pages={879--888},
  year={1977},
  address={Dallas, Texas}
}
```

你可以找到更多關於其他 $$\mathrm{Bib\TeX}$$ 參考項目類型與欄位的資訊 [這裡](https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management#BibTeX)——那裡有一個很大的表格，顯示哪些欄位支援哪些項目類型。我們稍後會更詳細談談如何準備 `.bib` 檔案。

現在我們可以使用 `\cite` 與先前相同的引用鍵，但現在我們 *用* `thebibliography` 取代，改成一個 `\bibliographystyle{...}` 來選擇參考文獻樣式，以及 `\bibliography{...}` 來指向 $$\mathrm{Bib\TeX}$$ 該 `.bib` 用來查找已引用參考文獻的檔案。

```latex
\LaTeX{} \cite{latex2e} 是建立在 \TeX{} \cite{texbook} 之上的一組巨集。
\bibliographystyle{plain} % 我們選擇「plain」參考文獻樣式
\bibliography{refs} % 條目位於 refs.bib 檔案中
```

這會依照以下指令順序處理，假設我們的 $$\mathrm{\LaTeX}$$ 文件位於名為 `main.tex` （且我們使用 `pdflatex`):

1. `pdflatex main`
2. `bibtex main`
3. `pdflatex main`
4. `pdflatex main`

，並得到以下輸出：

![使用 plain 參考文獻樣式的 BibTeX 輸出](/files/b625471f128db29efee61efa3fcc964e5800470c)

**圖 4：** $$\mathrm{Bib\TeX}$$ 使用 `plain` 參考文獻樣式的輸出。

哇！這裡發生了什麼，為什麼需要那些（重複的）程序？嗯，事情是這樣的。

1. 在 *第一次* `pdflatex` 第一次執行時，所有 `pdflatex` 看到的只是 `\bibliographystyle{...}` 和一個 `\bibliography{...}` 來自 `main.tex`。它並不知道所有的 `\cite{...}` 指令到底是什麼！因此，在輸出 PDF 中，所有的 `\cite{...}` 指令暫時只會顯示成 \[?]，而且目前不會出現參考文獻清單。不過 `pdflatex` 會寫入關於書目樣式和 `.bib` 檔案，以及所有 `\cite{...}`的出現次數，寫入檔案 `main.aux`.
2. 其實是 `main.aux` 問題所在的是 $$\mathrm{Bib\TeX}$$ 才是它感興趣的！它會記下 `.bib` 由 `\bibliography{...}`所指示的檔案，接著查找所有鍵值符合 `\cite{...}` 在 `.tex` 檔案中使用的指令。 $$\mathrm{Bib\TeX}$$ 接著使用由 `\bibliographystyle{...}` 指定的樣式來格式化已引用的項目，並寫入格式化後的 `thebibliography` 清單到檔案 `main.bbl`。產生 `.bbl` 檔案只是這一步所完成的事情；輸出 PDF 不會有任何變動。
3. 當 `pdflatex` 再次執行時，它現在會看到一個 `main.bbl` 檔案可用！因此它會插入 `main.bbl` 也就是 `\begin{thebibliography}....\end{thebibliography}` 到 $$\mathrm{\LaTeX}$$ 原始碼中， `\bibliography{...}` 所在的位置。完成這一步後，參考文獻清單就會依所選的 `\bibliographystyle{...}`樣式出現在輸出 PDF 中，但文內引用仍然是 \[?]。
4. `pdflatex` 再次執行，這次 `\cite{...}` 指令會在輸出 PDF 中被對應的數字標籤取代！

如前所述， [`latexmk` 建置工具](/latex/zh-tw/zhi-shi-ku/064-how-does-overleaf-compile-my-project.md) 會負責觸發並重新執行 `pdflatex` 和 `bibtex` ，如有需要，因此你不必擔心這一部分。

### 關於使用的幾點說明 $$\mathrm{Bib\TeX}$$ 和 .bib 檔案

關於使用 $$\mathrm{Bib\TeX}$$ 和 `.bib 檔案還有幾件事要注意`:

* 你可能已經注意到，雖然 `refs.bib` 包含五筆 $$\mathrm{Bib\TeX}$$ 參考條目，但輸出 PDF 中的參考文獻清單只包含兩筆。這是關於 $$\mathrm{Bib\TeX}$$的一個重要重點： `.bib` 這個檔案的作用是儲存書目記錄，只有透過 `\cite{...}`在 `.tex` 檔案中被引用的條目才會出現在參考文獻清單中。這和在 Microsoft Word 文件中，只有 EndNote 資料庫中被引用的項目才會顯示於參考文獻清單的情況相似。如果你 *的確* 想要包含所有條目——顯示出來但實際上不引用全部條目——你可以寫入 `\nocite{*}`。這也表示你可以重複使用同一個 `.bib` 檔案供你所有的 $$\mathrm{\LaTeX}$$ 專案使用：未在某篇稿件或報告中被引用的條目，將不會出現在該文件的參考文獻清單中。
* $$\mathrm{Bib\TeX}$$ 需要一個 `\bibliographystyle{...}` 和一個 `\bibliography{...}` 才能正常運作——在未來的文章中，我們會看到如何在同一文件中建立多個書目。如果你一直收到「undefined citation」警告，請檢查你是否確實包含了那兩個指令，以及名稱拼寫是否正確。通常不需要檔案副檔名，但請記住 *檔案名稱是區分大小寫的* 在某些作業系統上是如此——包括 Overleaf！因此，如果你輸入了 `\bibliographystyle{IEEetran}` （注意拼字錯誤：「e」）而不是 `\bibliographystyle{IEEEtran}`，或寫了 `\bibliography{refs}` 而實際檔名是 `Refs.bib`，你就會得到可怕的 **\[?]** 作為引用。
* 同樣地，請始終將你的引用鍵視為區分大小寫。請在你的 `\cite{...}` 中使用與你的 `.bib` 檔案中使用的指令。
* 參考文獻的順序 `.bib` 檔案中的順序，對輸出 PDF 中參考文獻清單的排序沒有任何影響： *參考文獻清單的排序順序是由* `\bibliographystyle{...}`所決定的。例如，有些讀者可能已經注意到，在我前面的範例中，文中第一個引用 `latex2e` 的編號是 \[2]，而文中的第二個引用（`texbook`）的編號卻是 \[1]！你是不是 $$\mathrm{\LaTeX}$$ 和 $$\mathrm{Bib\TeX}$$ 搞混了？完全沒有：這其實是因為 `plain` 這種樣式會依第一作者的 *姓氏*。如果你偏好數字引用標籤在全文中依序編號的方式，你就必須選擇一種實作此功能的參考文獻樣式。例如，如果在那個範例中我們改用 `\bibliographystyle{IEEEtran}` 於那個範例，我們就會得到以下輸出。也請注意參考文獻清單中每個被引用項目的格式如何自動更新，以符合 IEEE 的樣式：

![IEEEtran 書目樣式輸出](/files/5576d23c3473468735cf9da2f9184efe2a147899)

**圖 5：** `IEEEtran` 書目樣式輸出。

我們會在未來的文章中更深入談談不同的書目樣式，包括作者－年份引用格式。現在先把注意力放在 `.bib` 檔案內容，以及我們如何讓準備 `.bib` 檔案的工作稍微輕鬆一些。

## 再看看 .bib 檔案

如你先前可能已經注意到， `.bib` 檔案包含 $$\mathrm{Bib\TeX}$$ 以一個 *條目類型* 前綴為一個 `@`。每個條目都有一些鍵值 $$\mathrm{Bib\TeX}$$ *欄位*，放在一對大括號（`{...}`）。 *引用鍵* 是這些大括號中的第一項資訊，而條目中的每個欄位 *都必須以逗號分隔*:

```latex
@article{knuth:1984,
  title={Literate Programming},
  author={Donald E. Knuth},
  journal={The Computer Journal},
  volume={27},
  number={2},
  pages={97--111},
  year={1984},
  publisher={Oxford University Press}
}
```

一般而言， *每一個* 書目條目都應該有一個 `author`, `year` 和 `title` 欄位，不管其類型為何。大約有 [十幾種條目類型](https://en.wikibooks.org/wiki/LaTeX/Bibliography_Management#BibTeX) ，雖然有些書目樣式可能會辨識／定義更多；不過，你最常用的很可能是以下這些條目類型：

* `@article` 用於期刊文章（見上方範例）。
* `@inproceedings` 用於會議論文：

```latex
@inproceedings{FosterEtAl:2003,
  author = {George Foster and Simona Gandrabur and Philippe Langlais and Pierre
    Plamondon and Graham Russell and Michel Simard},
  title = {統計機器翻譯：以有限資源快速開發},
  booktitle = {第 {MT Summit IX} 屆論文集},
  year = {2003},
  pages = {110--119},
  address = {美國紐奧良},
}
```

* `@book` 用於書籍（見上方範例）。
* `@phdthesis`, `@masterthesis` 用於博士論文與碩士論文：

```latex
@phdthesis{Alsolami:2012,
    title    = {對連續使用者驗證的按鍵動態
                檢驗},
    school   = {昆士蘭科技大學},
    author   = {Eesa Alsolami},
    year     = {2012}
}
```

* `@inbook` 是用於書籍章節，其中 *整本書* 由相同的作者撰寫：感興趣的章節以章節編號標示：

```latex
@inbook{peyret2012:ch7,
  title={流體流動的計算方法},
  edition={2},
  author={Peyret, Roger and Taylor, Thomas D},
  year={1983},
  publisher={Springer-Verlag},
  address={紐約},
  chapter={7, 14}
}
```

* `@incollection` 是用於書中的投稿章節，因此會有自己的 `author` 和 `title`。整本書的實際書名則寫在 `booktitle` 欄位中；通常也會有一個 `editor` 欄位：

```latex
@incollection{Mihalcea:2006,
  author = {Rada Mihalcea},
  title = {基於知識的 {WSD} 方法},
  booktitle = {詞義消歧：演算法
               與應用},
  publisher = {Springer},
  year = {2006},
  editor = {Eneko Agirre and Philip Edmonds},
  pages = {107--132},
  address = {多德雷赫特，荷蘭}
}
```

* `@misc` 是用於不太符合其他任何條目類型的內容。它對網頁特別有用——可寫成 note = \url{http\://...} 或 url = {[http://...}：](https://overleaf-pro.ayaka.space/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/http:/...}：)
  * 你通常會發現加入 `\usepackage{url}` 或 `\usepackage{hyperref}` 到你的 `.tex` 檔案前言區中會很有幫助（可更穩健地處理 URL）；
  * 並非所有書目樣式都支援 `url` 欄位： `plain` 不支援，但 `IEEEtran` 支援。所有樣式都支援 `note`欄位。更多內容會在未來的文章中談到；
  * 你應當注意，即使是網頁和 `@misc` 條目也應該有一個 `author`，以及一個 `year` 和一個 `title` 欄位：

```latex
@misc{web:lang:stats,
  author = {W3Techs},
  title = {內容語言的使用統計
           供網站使用},
  year = {2017},
  note = {最後存取於 2017 年 9 月 16 日},
  url = {http://w3techs.com/technologies/overview/content_language/all}
}
```

### 多位作者的 $$\mathrm{Bib\TeX}$$

在一個 `.bib` 檔案中，逗號僅用於將作者的姓與名分開——如果姓氏是先寫的話。各作者姓名之間以 `和`分隔。所以這些是正確的：

```latex
author = {Jane Doe and John Goodenough and Foo Bar}
```

或

```latex
author = {Doe, Jane and Goodenough, John and Bar, Foo}
```

但是 *以下都無法正確運作*——你會得到怪異的輸出，甚至來自 $$\mathrm{Bib\TeX}$$的錯誤訊息！所以，如果你是從論文或網頁複製作者姓名，請格外小心。

```latex
author = {Jand Doe, John Goodneough, Foo Bar}
author = {Jand Doe, John Goodneough and Foo Bar}
author = {Jand Doe, John Goodneough, and Foo Bar}
```

### 多字姓氏

如果作者的姓氏由以空格分隔的多個單字組成，或者其實是一個機構，請在姓氏外再加一對大括號，以便 $$\mathrm{Bib\TeX}$$ 會將這些分組的字詞辨識為姓氏：

```latex
author = {{World Health Organisation}}
author = {Geert {Van der Plas} and John Doe}
```

或者，你也可以使用 `Lastname, Firstname` 格式；有些使用者覺得這樣更清楚、更易讀：

```latex
author = {Van der Plas, Geert and Doe, John}
```

**請記住：** 輸出中名字或姓氏先出現（“John Doe” 與 “Doe, John”），或名字是否自動縮寫為“J. Doe”或“Doe, J.”（相較於“John Doe”“J. Doe”）等細節，全部都由 `\bibliographystyle`.

### 我嘗試用 % 來將 .bib 檔案中的某些行或條目註解掉，結果卻出現了很多錯誤訊息？

`%` 其實不是 `.bib` 檔案中的註解字元！所以，在 `%` 中插入一個 `.bib` 檔案中不但無法把那一行註解掉，還會導致一些 $$\mathrm{Bib\TeX}$$ 錯誤。要讓 $$\mathrm{Bib\TeX}$$ 忽略某個特定欄位，我們只需要把該欄位重新命名為 $$\mathrm{Bib\TeX}$$ 無法辨識的名稱。例如，如果你想保留一個 `date` 欄位，但希望它被忽略（也許是因為你想 $$\mathrm{Bib\TeX}$$ 使用 `year` 欄位來取代）請寫成 `Tdate = {...}` 或者更易讀的 `IGNOREdate = {...}`.

要讓 $$\mathrm{Bib\TeX}$$ 忽略整個 *條目* 你可以刪除 `@` 在條目類型之前的。有效的參考條目總是以一個 `@` 開頭，後面接著條目類型；如果沒有 `@` 字元 $$\mathrm{Bib\TeX}$$ 會跳過這些行，直到遇到另一個 `@`.

## 我實際上要怎麼／從哪裡取得那些 .bib 檔案？

### 以純文字編輯 .bib 檔案

因為 `.bib` .bib 檔案是純文字，因此你當然可以親手編寫——一旦你熟悉 $$\mathrm{Bib\TeX}$$所需的語法。只要確保你將它儲存為 `.bib` 副檔名，且你的編輯器不會偷偷加上一個 `.txt` 或其他後綴。在 Overleaf 中，你可以點擊檔案清單面板上方的「Files…」連結，然後點擊「Add blank file」來建立一個新的 `.bib` 檔案來編輯。

> **小撇步：** 你知道 Google Scholar 的搜尋結果可以匯出為 $$\mathrm{Bib\TeX}$$ 條目嗎？點擊每個搜尋結果下方的「Cite」連結，然後點擊「$$\mathrm{Bib\TeX}$$」選項搜尋。接著你就可以複製生成的 $$\mathrm{Bib\TeX}$$ 條目。這裡有一段 [影片](/latex/zh-tw/wen-yu-da/49-how-to-include-a-bibliography-using-bibtex.md) 示範這個流程。請注意，你應該總是再次核對條目中提供的欄位，因為自動填入的資訊並不總是完整或正確！

### GUI 式 .bib 編輯器的協助

許多使用者偏好使用專門的 $$\mathrm{Bib\TeX}$$ 書目資料庫編輯器／管理器，例如 [JabRef](http://www.jabref.org) 或 [BibDesk](http://bibdesk.sourceforge.net/) 來維護、編輯並新增其 `.bib` 檔案。使用 GUI 確實有助於在建立 $$\mathrm{Bib\TeX}$$ 檔案中的書目條目時減少語法與拼字錯誤。如果你願意，也可以先在自己的電腦上使用 JabRef、BibDesk 或其他工具準備你的 `.bib` .bib 檔案，然後上傳到你的 Overleaf。

> **小撇步：** 如果你想在多個 Overleaf 專案中使用同一個 `.bib` ，請參考 [這篇說明文章](/latex/zh-tw/zhi-shi-ku/009-can-i-share-files-e.g.-.bib-and-some-graphics-across-my-projects.md) 來設定「主專案」，或者 [這篇](/latex/zh-tw/zhi-shi-ku/051-how-can-i-upload-files-from-google-drive.md) 用於從 Google Drive 分享檔案（這些說明也適用於其他雲端儲存方案，例如 Dropbox）。

### 從參考文獻資料庫服務匯出

如果你點擊檔案清單面板上方的「Upload files」按鈕，你會注意到一些選項：從 Mendeley 匯入，以及從 Zotero 匯入。如果你已經在使用這些參考文獻管理服務之一，Overleaf 現在可以透過那些服務提供的網頁匯出 API 來匯入 `.bib` 由你的資料庫產生的 .bib 檔案到你的 Overleaf 專案中。如需更多資訊，請參閱 Overleaf 文章 [如何將你的 Overleaf 帳戶連結到 Mendeley 和 Zotero](/latex/zh-tw/zhi-shi-ku/073-how-to-link-zotero-to-your-overleaf-account.md).

至於其他沒有公開 API、或尚未直接整合到 Overleaf 的參考文獻資料庫服務，例如 [EndNote](/latex/zh-tw/zhi-shi-ku/016-can-i-use-overleaf-with-endnote.md) 或 [Paperpile](/latex/zh-tw/zhi-shi-ku/017-can-i-use-overleaf-with-paperpile.md)，請尋找「export to `.bib`」選項。當你取得一個 `.bib` 檔案後，就可以將它加入你的 Overleaf 專案。

### 我已經在 Microsoft Word/HTML/PDF 檔案中有一份參考文獻清單了；我能不能在不重新輸入全部內容的情況下重複利用這些資料？

以前你必須手動把每一行編成 `\bibitem` 或是一個 `@article{...}` 條目（或其他條目類型）放進 `.bib` 檔案中。可想而知，這並不是一項很多人期待去做的工作。幸好，現在已有一些工具可以幫忙。它們通常會讀取一個純文字檔，例如

```latex
[1] J. Smith, J. Doe and F. Bar (2001) 一項開創性的研究。
《驚人研究期刊》5(11)，第 29-34 頁。

[2] ...
```

並嘗試解析這些行，將其轉換成結構化書目，作為一個 $$\mathrm{Bib\TeX}$$ `.bib` 檔案。例如，看看 [text2bib](https://text2bib.org) 或 [Edifix](https://www.overleaf.com/blog/446-edifix-converts-unstructured-bibliographies-to-bibtex)。請務必仔細檢查這些工具的選項，確保它們能與你現有的非結構化純文字書目良好配合。

## 摘要與延伸閱讀

我們已經快速看過如何 $$\mathrm{Bib\TeX}$$ 處理一個 `.bib` 書目資料庫檔案以解析 `\cite` 指令並產生格式化的參考文獻清單，以及如何準備 `.bib` .bib 檔案。

祝你 $$\mathrm{Bib\TeX}$$愉快！

### 延伸閱讀

詳情請見：

* [BibTeX 書目樣式](/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/04-bibtex-bibliography-styles.md)
* [使用 natbib 管理書目](/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/02-bibliography-management-with-natbib.md)
* [使用 biblatex 管理書目](/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/03-bibliography-management-with-biblatex.md)
* [CTAN 網站上的 BibTeX 文件](http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/)
* [tocbind 套件文件](http://www.ctan.org//tex-archive/macros/latex/contrib/tocbibind/tocbibind.pdf)
* [目錄](/latex/zh-tw/wen-jian-jie-gou/02-table-of-contents.md)
* [大型專案中的管理](/latex/zh-tw/wen-jian-jie-gou/07-management-in-a-large-project.md)
* [多檔案 LaTeX 專案](/latex/zh-tw/wen-jian-jie-gou/08-multi-file-latex-projects.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/zh-tw/can-kao-wen-xian-yu-yin-wen/01-bibliography-management-with-bibtex.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
