主要问题

主要问题

我正在使用chapterbib多个书目的包。我在序言中加入了以下两行。

\usepackage[square,numbers,sectionbib]{natbib}
\usepackage{chapterbib}

包含章节文件

\include{Chapter01}

并在每章末尾添加了参考书目

\bibliographystyle{plainnat}
\bibliography{Bibliography}

这很完美。但是当我把每一章放在它自己的子目录中并使用\input而不是\include像这样时

\input{../101Chapter01/101Chapter01}

它为每个章节生成了全局参考书目。任何帮助都将不胜感激。

答案1

(按照@lockstep 的要求,将我的评论转换为答案)

主要问题

这种行为是真实的。您必须使用,\include因为它会生成自己的.aux文件,而\input没有。

\input当您想使用另一个目录的路径时,无需使用。使用\include(例如\include{path/to/my/file})也可以。

参考评论

原帖者还在评论中提出了另一个问题。由于它不是原始问题的一部分,因此我将把此部分从主要答案中分离出来。

参考您的评论,其中包含有关路径中的空格的另一个问题,我只能提出一些猜测 因为我从来没有尝试过这样做:

或许您可以用来"保存包含空格的文件名(例如\include{"my path with spaces"/file}或许 \include{"my path with spaces/file"})。由于我对此不太确定,我在 tex.sx 上搜索了相关问题,并找到了 @Stefan Kottwitz 提供的有希望的答案(如何使 \include 处理包含空格的带引号的字符串路径?)。他建议在这些情况下使用该\space命令(例如\include{"my\space path\space with\space spaces/file"})。

但我一般建议你避免在路径中使用空格或特殊字符,因为可能 如果您在不同的操作系统上使用文件,也会导致问题。

相关内容