我正在使用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"}
)。
但我一般建议你避免在路径中使用空格或特殊字符,因为可能 如果您在不同的操作系统上使用文件,也会导致问题。