我尝试在 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
至于为什么会出现这种行为,以及如果需要单独的参考书目,如何使用该包。