我正在尝试使用 -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.aux
bibtex chapter1
bibtex chapter2
另外两条建议/意见:
当您使用
book
文档类时,请使用高级命令(例如\frontmatter
和),\mainmatter
而不是低级指令(例如\pagenumbering{roman}
和)\pagenumbering{arabic}
。请确保 bib 条目中的所有信息都是正确且完整的。例如,在 Weibull2007 条目中,缺少两个字段(
number
和pages
),并且两位作者的名字缺少变音符号。
\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}