包含的 tex 文件中的 TeXworks 引用显示为

包含的 tex 文件中的 TeXworks 引用显示为

我尝试在 Windows 上设置 TeXworks 来撰写我的论文,但是在两层文档层次结构中创建共享参考书目时遇到了问题。

我有一个主thesis.tex文件,它设置了包,然后包括了章节,最后是参考书目。该collection.bib文件位于上面的文件夹中thesis.tex,章节位于子文件夹中。

\documentclass[11pt,a4paper]{../uolthesis}
%\usepackage{alltt,float}
%\usepackage{lgrind}
\usepackage{url}                    % for better handling of URL
\usepackage{lscape}                 
\usepackage{subfigure}
\usepackage{mathrsfs}
\usepackage{graphicx}
%\usepackage{caption2}
\usepackage{epstopdf}

\usepackage{sidecap}
\usepackage{../draft_doc}

\graphicspath{{ch1/}{ch2/}}

% correct bad hyphenation here
\hyphenation{op-tical}
% use less hyphenation
\lesshyphenation
% or totally stop it
%\nohyphenation

% speed up compilation
%\includeonly{ch1/ch1}

\begin{document}
\chapter*{thesis title}
\cite{Santner2010,Kalal2011}    % This works
\include{ch1/ch1}               % \cite{} in here produces [?]
\include{ch2/ch2}               % \cite{} in here produces [?]

\clearpage
\markboth{References}{References}
\bibliographystyle{ieeetr}
{\bibliography{../collection}}

\end{document}

问题是,\cite{}从内部thesis.tex工作正常,但章节 tex 文件中的相同引用会产生[?]。正确生成的参考书目包含所有引用的论文,因此问题是仅有的获取数字参考文献就是引用点。

不出所料,日志文件中充满了类似这样的行

Package natbib Warning: Citation `Santner2010' on page 9 undefined on input line 61.

我正在用 进行编译pdfLatex+MakeIndex+BibTeX。我尝试编译多次,但没有成功。

请问我做错了什么?

答案1

这似乎是您的 MWE 中包含的两个自定义元素(\documentclass[11pt,a4paper]{../uolthesis}documentclass 以及\usepackage{../draft_doc}包中的任何内容)的问题。

使用标准report类并注释掉提到的 usepackage 行(以及删除与连字符相关的内容)会产生以下行为完全正常的结果: 使用该类uolthesis(来自 OP 的评论),我可以使用以下最小示例重现错误:

\documentclass[11pt,a4paper]{../uolthesis}

\begin{filecontents}{ch1/ch1.tex}
\chapter{ch1}
this is include file 1. citing \cite{citekey}.
\end{filecontents}

\begin{filecontents}{ch2/ch2.tex}
\chapter{ch2}
this is include file 2. also citing \cite{citekey}.
\end{filecontents}

\begin{filecontents}{../collection.bib}
@article{citekey,
    author = "Bloggs, Joseph K.",
    journal = "International Journal of Dubious Assertions",
    pages = "337-629",
    title = "Misusing Scientific Terminology for Fun and Profit",
    volume = "202",
    year = "1950"
}
\end{filecontents}


\begin{document}
\chapter*{thesis title}
This cites \cite{citekey}.    % This works
\include{ch1/ch1}             % This works too!
\include{ch2/ch2}             % As does this..

\clearpage
\markboth{References}{References}
\bibliographystyle{ieeetr}
{\bibliography{../collection}}

\end{document}

并评论以下行:

\RequirePackage{chapterbib}         % create bibiography for each chapter

解决了问题。

參閱记录chapterbib至于为什么会出现这种行为,以及如果需要单独的参考书目,如何使用该包。

相关内容