3.1 基本的參考文獻引用方式
在源代碼結尾處,加入由thebibliography
環境包裹的參考文獻。每條參考文獻由 \bibitem
開頭,其后是參考文獻本身的內容。在正文中相應位置使用\cite{⟨citation⟩}
進行引用:⟨citation⟩
為對應的需要引用文獻的[]
內容。
\begin{thebibliography}{⟨widest label⟩} %⟨widest label⟩表示參考文獻的最大數目,一般填99表示最多可引用99條參考文獻。
\bibitem[⟨item number⟩]{⟨citation⟩} % ⟨item number⟩ 自定義參考文獻的序號,一般情況下都會省略,按自然排序給定序號。⟨citation⟩ 是\cite使用的文獻標簽,
\bibitem[⟨item number⟩]{⟨citation⟩}
\bibitem{cs-c-svm}盧丹,殷亞強.基於CS-C-SVM的多參數GNSS欺騙干擾檢測[J/OL].信號處理:1-10[2021-11-27] %一個例子,正文引用使用\cite{cs-c-svm}
\end{thebibliography}
注:參考文獻的應用樣式一般是GB/T 7714-2015
新國標,在知網下首先點擊下圖的1處位置,即可找到需要格式的引文,其余網站同理。

以上生成的參考文獻樣式是[1]
,要想實現上標的參考文獻還得在導言區加入以下代碼,並在正文引用時使用\upcite{}
命令。
%%% 導言區加入以下代碼
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
thebibliography
環境自動生成不帶編號的一節(article 文檔類)或一章(report / book 文檔類)。在 article 文檔類的節標題默認為 “Reference”,而在 report / book 文檔類的章標題默認 為 “Bibliography”。
以下給出一個示例代碼:
\documentclass{article}
\usepackage{ctex}
\begin{document}
\section{引用參考文獻}
這里做一個示例,對GNSS的文章做一個引用\cite{cs-c-svm},還有第二個上標引用\upcite{ins-gnss}。
\begin{thebibliography}{99}
\bibitem{cs-c-svm}盧丹,殷亞強.基於CS-C-SVM的多參數GNSS欺騙干擾檢測[J/OL].信號處理:1-10[2021-11-27].http://kns.cnki.net/kcms/detail/11.2406.TN.20211122.1852.006.html.
\bibitem{ins-gnss}劉娣,劉坤,畢雲蕊,許有熊,朱松青.基於圖優化的INS/GNSS深組合導航系統研究[J/OL].電光與控制:1-7[2021-11-27].http://kns.cnki.net/kcms/detail/41.1227.tn.20211117.2037.003.html.
\end{thebibliography}
\end{document}
3.2 利用BIBTEX進行參考文獻引用
在上一節中的thebibliography
環境中已經可以實現參考文獻的引用了,但是這種參考文獻的引用方式不方便在各個參考文獻的列表樣式間遷移(不同的期刊可能有不同的要求),而且這樣的排序十分不利於管理,所以下面介紹一種更方便管理的參考文獻引用方式:BIBTEX。
- 建立
.bib
文獻庫並將其存入.tex
文件的同級目錄:其內容是若干個文獻條目,建立方式為在Winedt內新建文件,保存時命名為xxx.bib
即可。一般情況下BIBTEX 文獻條目不需要自己手寫,從 Google Scholar 或者知網/萬方等網站上都能夠導出 BIBTEX 文獻條目,大部分的文獻管理軟件也支持生成 BIBTEX 格式的數據庫。
Google Scholar 文獻條目的生成:
![]()
如上圖所示,先找到需要引用的文獻,點擊1處的雙引號,在引用格式里選擇BibTeX,即可得到以下內容:
@article{groves2015principles, %這個是\cite{}引用的標簽 title={Principles of GNSS, inertial, and multisensor integrated navigation systems, [Book review]}, author={Groves, Paul D}, journal={IEEE Aerospace and Electronic Systems Magazine}, volume={30}, number={2}, pages={26--27}, year={2015}, publisher={IEEE} }
將其復制到上面新建的
.bib
文件中,第一行的括號里包含的即是正文引用的標簽。
除了以上的方式,還可以使用文獻管理軟件進行文獻條目的生成(后面介紹文獻管理軟件時會提到)。
-
設定參考文獻的格式:參考文獻的寫法在不同文獻里千差萬別,包括作者、標題、年份等各項的順序和字體樣式、 文獻在列表中的排序規則等。BIBTEX 用樣式(style)來管理參考文獻的寫法。BIBTEX 提供了幾 個預定義的樣式,如
plain, unsrt, alpha
等。如果使用期刊模板的話,可能會提供自用的樣式。 樣式文件以 .bst 為擴展名。 使用樣式文件的方法是:在源代碼內(一般在導言區)使用\bibliographystyle
命令:\bibliographystyle{⟨bst-name⟩}
,這里 ⟨bst-name⟩ 為 .bst 樣式文件的名稱,不要帶 .bst 擴展名。若使用預定義的樣式,使用\bibliographystyle{plain}
即可; -
正文中使用
\cite{}
命令進行引用,在文末生成參考文獻列表的時候,通常只列出正文引用過的文獻,而不是.bib
文件中的所有參考文獻; -
在需要列出參考文獻的位置,使用
\bibliography
命令:\bibliography{⟨bib-name⟩}
,其中 ⟨bib-name⟩ 是 BIBTEX 數據庫的文件名,不要帶 .bib 擴展名。 -
進行編譯,編譯順序為:
xelatex
->bibtex
->xelatex
->xelatex
,注意這兒需要進行三次xelatex編譯和一次bibtex編譯,bibtex編譯可使用快捷鍵Shift+Ctrl+B
。以下給出一個示例代碼:
\documentclass{article} \bibliographystyle{plain} \begin{document} \section{Some words} Some excellent books, for example\cite{groves2015principles,hofmann2007gnss}. \bibliography{ref}% bib文獻庫的名字 \end{document}
%下面為示例代碼對應的bib文獻庫內容 @article{groves2015principles, title={Principles of GNSS, inertial, and multisensor integrated navigation systems, [Book review]}, author={Groves, Paul D}, journal={IEEE Aerospace and Electronic Systems Magazine}, volume={30}, number={2}, pages={26--27}, year={2015}, publisher={IEEE} } @book{hofmann2007gnss, title={GNSS--global navigation satellite systems: GPS, GLONASS, Galileo, and more}, author={Hofmann-Wellenhof, Bernhard and Lichtenegger, Herbert and Wasle, Elmar}, year={2007}, publisher={Springer Science \& Business Media} }
3.3 正文引用的形式
LaTeX提供了對人名——年份的引用方式的處理:例如natbib
宏包在正文中支持兩種引用方式:\citep{⟨citation⟩}
和 \citet{⟨citation⟩}
,它們分別生成形如 (Axford et al., 2013) 和 Axford et al. (2013) 的人名——年份引用。
其次,natbib 宏包同樣也支持數字引用,並可以將引用的序號壓縮,例如:調用 natbib 宏包時使用\usepackage[numbers,sort&compress]{natbib}
, 在文章中連續引用多篇文獻時,會生成形如 [3–7] 的引用而不是 [3, 4, 5, 6, 7]。
3.4 LaTeX編譯過程
下面解答一個問題:為什么有時候需要編譯兩次或者三次才能生成完整的PDF文件呢?
除了源代碼文件 .tex 以外,我們在使用 LATEX 時還可能接觸到各種格式的文件。本節簡單 介紹一下在使用 LATEX 時能夠經常見到的文件。 每個宏包和文檔類都是帶特定擴展名的文件,除此之外也有一些文件出現於 LATEX 模板中:
-
.sty
宏包文件。宏包的名稱與文件名一致。 -
.cls
文檔類文件。文檔類名稱與文件名一致。 -
.bib
BIBTEX 參考文獻數據庫文件。 -
.bst
BIBTEX 用到的參考文獻格式模板。
LATEX 在編譯過程中除了生成 .dvi 或 .pdf 格式的文檔外,還可能會生成相當多的輔助文件和日志。一些功能如交叉引用、參考文獻、目錄、索引等,需要先通過編譯生成輔助文件,然后再次編譯時讀入輔助文件得到正確的結果,所以復雜的 LATEX 源代碼可能要編譯多次。這些輔助中間文件在下面被列出:
-
.log
排版引擎生成的日志文件,供排查錯誤使用。 -
.aux
LATEX 生成的主輔助文件,記錄交叉引用、目錄、參考文獻的引用等。 -
.toc
LATEX 生成的目錄記錄文件。 -
.lof
LATEX 生成的圖片目錄記錄文件。 -
.lot
LATEX 生成的表格目錄記錄文件。 -
.bbl
BIBTEX 生成的參考文獻記錄文件。 -
.blg
BIBTEX 生成的日志文件。 -
.idx
LATEX 生成的供 makeindex 處理的索引記錄文件。 -
.ind
makeindex 處理 .idx 生成的用於排版的格式化索引文件。 -
.ilg
makeindex 生成的日志文件。 -
.out
hyperref 宏包生成的 PDF 書簽記錄文件。