Chapterbib 給出「引用未定義」和所有

Chapterbib 給出「引用未定義」和所有

這是我第一次發文。我一直在努力在主.tex文件中包含的每一章之後包含參考文獻清單。儘管該.bbl文件包含所有參考文獻,但所有引文均顯示為[?]並且不會產生參考文獻清單。我跑了pdflatexbibtexpdflatexpdflatex。我嘗試過使用一個.bib文件並為每一章創建單獨的文件。我知道該.bib文件很好,因為我最初在主文件中寫入了所有內容,但沒有放入所有章節並且編譯得很好。當我添加第二章時,我意識到我需要使用\include{chap}來獲取單獨的清單。

這是我的主文件的範例:

\documentclass[12pt]{report}

\usepackage[top=1in, bottom=1.25in, left=1.25in, right=1.25in]{geometry}
\usepackage{titlesec}

\titleformat{\chapter}{\singlespacing\normalfont\LARGE\bfseries}{\thechapter.}{16pt}{\LARGE}
\titleformat{\section}{\singlespacing\normalfont\Large\bfseries}{\thesection}{12pt}{\Large}
\titleformat{\subsection}{\singlespacing\bfseries}{\thesubsection}{12pt}{\Large}
\titleformat{\subsubsection}{\singlespacing\bfseries}{\thesubsubsection}{12pt}{}
\titlespacing*{\chapter}{0pt}{-19pt}{0pt}

\usepackage[round]{natbib}
\usepackage{chapterbib}

\usepackage{setspace}
\usepackage{url}
\usepackage{textcomp}
\usepackage{amsmath}

\begin{document}
\tableofcontents

\include{chap1}
\include{chap2}

\end{document}

下面是一個章節的範例(其他類似):

\chapter{Surface Energy Balance}
\label{else}
\doublespacing

Text \citet{Paterson10}.

\singlespacing
\bibliographystyle{plainnat}
\bibliography{bib1}

以及.bib條目:

@book{Paterson10,
    Author = {K. M. Cuffey and W. S. B. Paterson},
    Date-Added = {2015-06-01 15:34:50 +0000},
    Date-Modified = {2015-06-01 15:35:53 +0000},
    Publisher = {Academic Press},
    Title = {Physics of {G}laciers},
    Year = {2010}}

答案1

由於您使用的是 natbib,因此需要指定其sectionbib 選項:\usepackage[sectionbib]{natbib}。在主文件上運行 pdflatex,這將為每個章節產生 aux 檔案。如 @moewe 所示,打開每個 aux 檔案並對每個檔案執行 Bibtex。這將為每個章節產生 bbl 檔案。然後重新運行主文件的 pdflatex 。透過建議的更改,您的程式碼對我有用。

相關內容