我正在编写一篇论文,其中主 TeX 文件包含我所有的序言声明,然后再将论文章节作为单独的 TeX 文件包含进去。但是,我更希望在论文末尾但在附录之前有一个参考书目。但是,当我尝试这样做时,我的引文都没有正确显示在章节中,即它们被替换为“?”,即使它们都出现在参考书目中。
我发现了该xcite
软件包,并尝试使用它来解决这个问题,但无法正常工作。可能是我对如何实现它的误解。
主文件由几个章节和参考书目创建主要论文:
\documentclass{report}
\usepackage[authoryear,comma,nonamebreak,round,sort&compress]{natbib}
\usepackage{xcite}
\bibliographystyle{plainnat}
\externalcitedocument{Chapter1}
\externalcitedocument{Chapter2}
...
\externalcitedocument{Chaptern}
\externalcitedocument{Appendix}
\begin{document}
\include{Chapter1}
\include{Chapter2}
....
\include{Chaptern}
\bibliography{Bibliography}
\appendix
\include{Appendix}
\end{document}
并且每章或附录只包含正文内容,即没有序言或\begin{document}
命令\end{document}
。正文中的引用格式如下:
...as found in \citet{Smith2013}...
我尝试过移动\externalcitedocument{Chapteri}
到第 ith. chapter TeX 文件,但没有什么变化。我使用 WinEdt7 PDFTeXify 编译我的文档,并使用 JabRef 创建参考书目。
这似乎是一个非常简单的动作,我只能假设我没有xcite
正确使用。
答案1
只是为了向您展示这xcite
不是必需的,以及如何为您的问题构建 MWE,请查看以下 MWE(带有注释xcite
)。它包含filecontents
三个章节文件和一个 bib 文件。如果您将此 MWE 复制到文件中,mwe.tex
则\jobname
变为mwe
。
\RequirePackage{filecontents}
\begin{filecontents*}{testxcite1.tex}
\chapter{Chapter One}
Text \cite{adams}
\end{filecontents*}
\begin{filecontents*}{testxcite2.tex}
\chapter{Chapter Two}
Text \cite{companion}
\end{filecontents*}
\begin{filecontents*}{testxcite3.tex}
\chapter{Chapter Three}
Text \cite{adams} \cite{companion}
\end{filecontents*}
\begin{filecontents*}{\jobname.bib}
@Book{companion,
author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
title = {The LaTeX Companion},
edition = {1},
publisher = {Addison-Wesley},
location = {Reading, Mass.},
year = {1994}
}
@Book{adams,
title = {The Restaurant at the End of the Universe},
author = {Douglas Adams},
series = {The Hitchhiker's Guide to the Galaxy},
publisher = {Pan Macmillan},
year = {1980}
}
\end{filecontents*}
\listfiles % to show used packages and versions
\documentclass{report}
\usepackage[authoryear,comma,nonamebreak,round,sort&compress]{natbib}
%\usepackage{xcite}
\bibliographystyle{plainnat}
%\externalcitedocument{testxcite1}
%\externalcitedocument{testxcite2}
%\externalcitedocument{testxcite3}
\begin{document}
\include{testxcite1}
\include{testxcite2}
\include{testxcite3}
\bibliography{\jobname}
\end{document}
使用 latex、bibtex、latex、latex 编译此 MWE,您将获得一个 pdf 文件和四个来自包的警告filecontents
(它们没问题,可以忽略)。如果您仍然没有得到?
正确的引用,则说明您的系统或构建 pdf 文件的方式存在其他问题。