书籍类别无法识别 bib 文件中的参考文献?

书籍类别无法识别 bib 文件中的参考文献?

我正在尝试使用 -class 创建我的第一本书book。我已成功包含章节,并且每个章节的参考页都显示得非常完美。但是,由于某种原因,我在正文中的引用不起作用 - 例如,我得到的是 Sims (2003)作者 ?。我尝试了很多方法,但就是搞不明白为什么会发生这种情况——如果有人能帮忙我将非常感激。

以下是我认为相关的一段代码:

thesis.tex包含章节的主要文件:

    \documentclass[a4paper,12pt]{book}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage[numbers,sectionbib]{natbib}
    \usepackage{chapterbib}
    \usepackage[onehalfspacing]{setspace}
    \usepackage{graphicx}
    \usepackage{verbatim}
    \usepackage{amsmath}
    \usepackage{amsthm}
    \usepackage{color}
    \usepackage[utf8]{inputenc}
    \usepackage{fullpage}
    \usepackage{epigraph}
    \usepackage{xr}

    \setcounter{MaxMatrixCols}{10}
    %\addtolength{\oddsidemargin}{-0.5in}
    %\addtolength{\evensidemargin}{-0.5in}
    %\addtolength{\textwidth}{1.0in}
    %\addtolength{\topmargin}{-0.5in}
    %\addtolength{\textheight}{1.0in}

    \setlength{\epigraphwidth}{0.7\textwidth}
    \usepackage[titletoc]{appendix}

    %\bibliographystyle{plainnat}
    \begin{document}
    \frontmatter  
    %\pagenumbering{roman} 
    \tableofcontents
    \mainmatter 
    %\pagenumbering{arabic} 
    \include{tex/chapter1}\newpage\cleardoublepage
    %\input{tex/chapter2}\newpage\cleardoublepage
    %\input{tex/chapter3}\newpage\cleardoublepage
    %\input{tex/chapter4}\newpage\cleardoublepage
    %\input{tex/chapter5}\newpage\cleardoublepage

    \end{document}

在章节内我通过以下方式引用参考文献页面:

    \renewcommand\bibname{{REFERENCES}}
    \bibliographystyle{plainnat} 
    \bibliography{tex/references} 

在章节内我引用的文本如下:

    \citet{Weibull2007}

而 bib 文件引用中的相应条目如下所示:

    @ARTICLE{Weibull2007,
      author = {Jorgen W. Weibull and Lars-Goran Mattsson and Mark                 Voorneveld},
      title = {Better May be Worse: Some Monotonicity Results and Paradoxes in Discrete Choice Under Uncertainty},
      journal = {Theory and Decision},
      year = {2007},
      volume = {63},
      month = {September},
       timestamp = {2016.06.26}
    }

作为此引用的输出,我得到:(作者?)[54]研究

有关章节设置的更多信息:

\chapter[Content title ]{}
\title{Title}

\begin{center}
\huge{Title}
\footnote{text}

\large{author\footnote{
text}}

\vspace*{2cm}
    \end{center}

\begin{center}
    \textmd{Abstract}
\end{center}
text



\newpage

\section{Introduction}
 text. cite{author1} text.\citep{author2} text. \ref{Sec: Model1} text.
 \section{Section two}
  text. \citeauthor{author3}.
\section{Conclusion}
text

\renewcommand\bibname{{REFERENCES}} 
\bibliographystyle{plainnat}

\bibliography{tex/Citation}  
\begin{appendices}
    \appendixpage
    \noappendicestocpagenum
    \addappheadtotoc
\section{one}
text
\section{two}
text
\end{appendices}

有人看到这个问题吗?任何帮助都将不胜感激。

最好的,

标记

答案1

由于您使用的是natbib引文管理包,因此您应该 (a) 使用plainnat书目样式而不是plain书目样式,并且 (b)natbib使用选项 加载包numbers。这样,您可以通过 生成作者编号样式的引文标注,\citet并通过 生成纯数字样式的引文标注\citep

另外,由于您使用该chapterbib软件包创建每章参考书目,同时采用节级而不是章级每章参考书目,因此您应该 (a)natbib使用选项加载sectionbib(除了选项numbers- 请参阅上文)和 (b)\include而不是\input文件chapterx.tex。(请参阅软件包用户指南第 4 页chapterbib。)\bibliographystyle在每个文件中提供说明。初次运行 LaTeX 后,除了文件之外chapterx.tex,还会有单独的文件。通过键入、等 - 每章一个,在每个章节辅助文件上单独运行 BibTeX 。您可能必须打开命令窗口并手动运行 bibtex。然后,再运行 LaTeX 两次以完全传播所有更改。chapterx.aux\jobname.auxbibtex chapter1bibtex chapter2

在此处输入图片描述

另外两条建议/意见:

  • 当您使用book文档类时,请使用高级命令(例如\frontmatter和),\mainmatter而不是低级指令(例如\pagenumbering{roman}和)\pagenumbering{arabic}

  • 请确保 bib 条目中的所有信息都是正确且完整的。例如,在 Weibull2007 条目中,缺少两个字段(numberpages),并且两位作者的名字缺少变音符号。


\RequirePackage{filecontents}

\begin{filecontents}{references.bib}
@ARTICLE{Weibull2007,
  author = {J{\"o}rgen W. Weibull and Lars-G{\"o}ran 
            Mattsson and Mark Voorneveld},
  title  = {Better May be Worse: {Some} Monotonicity 
            Results and Paradoxes in Discrete Choice 
            Under Uncertainty},
  journal= {Theory and Decision},
  year   = {2007},
  volume = {63},
  number = {2},
  month  = {September},
  pages  = {121-151},
  timestamp = {2016.06.26}
}    
\end{filecontents}

\begin{filecontents}{chapter1.tex}
\renewcommand\bibname{REFERENCES}
\chapter{Introduction}
\citet{Weibull2007}, \citep{Weibull2007}
\bibliographystyle{plainnat}
\bibliography{references}
\end{filecontents}

\begin{filecontents}{chapter2.tex}
\renewcommand\bibname{REFERENCES}
\chapter{Conclusion}
\citep{Weibull2007}, \citet{Weibull2007}
\bibliographystyle{plainnat}
\bibliography{references}
\end{filecontents}


\documentclass[a4paper,12pt]{book}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[numbers,sectionbib]{natbib}  %% <-- note this change
\usepackage{chapterbib}
\usepackage[onehalfspacing]{setspace}
\usepackage{graphicx}
\usepackage{verbatim}
%%%\usepackage{amssymb} %% don't load packages more than once!
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{color}
\usepackage[utf8]{inputenc}
\usepackage{fullpage}
\usepackage{epigraph}
\usepackage{setspace}   %% again: don't load packages more than once!
\usepackage{xr}         %% are you sure you need this package?!

\setcounter{MaxMatrixCols}{10}
%    \addtolength{\oddsidemargin}{-0.5in}
%    \addtolength{\evensidemargin}{-0.5in}
%    \addtolength{\textwidth}{1.0in}
%    \addtolength{\topmargin}{-0.5in}
%    \addtolength{\textheight}{1.0in}

\setlength{\epigraphwidth}{0.7\textwidth}
\usepackage[titletoc]{appendix}

 %% <-- note this change
\begin{document}
\frontmatter
%%%\pagenumbering{roman} 
\tableofcontents
\mainmatter
%%%\pagenumbering{arabic} 
\include{chapter1}
\include{chapter2}
\end{document}

相关内容