我有一个包含序言的主文件。然后我用\import
它整理最终文档的所有章节。当将主文件保存在章节文件以外的其他目录中时,我收到以下消息:
! LaTeX Error: File `GDP.tex' not found.
这个想法不是\import
从不同的目录导入文件吗?我的代码可能有问题吗?
...
\begin{document}
\maketitle
\tableofcontents
\import{/Users/john/Documents/Uni/Studienarbeit/Latex/Kapitel/GDP}{Methodology}
\import{/Users/john/Documents/Uni/Studienarbeit/Latex/Kapitel/GDP}{GDP}
\end{document}
答案1
使用时import
包(提供\import
命令)时,必须确保路径参数包含尾部斜杠/
。因此,您需要执行以下操作:
\import{/Users/john/Documents/Uni/Studienarbeit/Latex/Kapitel/GDP/}{GDP}
注意/
路径末尾的。
2020 年更新 从 v6.2(TL 2020 的一部分)开始,不再需要尾随斜杠。
\include
正如其他人在评论中指出的那样,对于这种事情,通常最好使用命令,尽管该import
包确实对所包含文档中的相对名称有一些有趣的功能。请参阅使用 \include 保留插入章节的章节号举个例子。
答案2
我知道将一个.tex
文件放入另一个文件的三种方法:
1. \include{⟨filename⟩}
2. \input{⟨filename⟩}
3. \import{⟨path⟩}{⟨filename⟩}
\include
只用于主文档,是处理大型文档的首选方式。您不能\include
在已包含的文档中使用\include
。\include
将始终从新页面开始。\includeonly{⟨filename1⟩,⟨filename2⟩,...}
您可以告诉主文档仅包含一些文档,以进行测试。例如,如果您正在处理chapter7.tex
一本大书,并且想查看编译结果,而不编译所有内容,则只需将其放在\includeonly{chapter7}
主文档的序言中。⟨filename⟩
需要是一个.tex
文件。只需输入文件的名称、相对路径或完整路径,但不要使用.tex
扩展名。\input
用于子文档,例如输入图片。对于较小的文档,也可以直接在主文档中使用。其工作方式与在 处写入文件内容时完全相同\input
。此处⟨filename⟩
可以有任何扩展名,但如果未写入,则.tex
选择 。\import
需要\usepackage{import}
,并且仅在导入的文件需要其他文件的路径时使用\input
。- 请参阅进口手册。此处⟨path⟩
需以“/”结尾。
答案3
请注意,如果您想要稍后在不同的系统或从不同的路径进行编译,通常最好使用相对路径:
\import{Kapitel/GDP/}{GDP}
代替
\import{/Users/john/Documents/Uni/Studienarbeit/Latex/Kapitel/GDP/}{GDP}
答案4
您需要将其放在您的前言(或第二个包)中:
\usepackage{import}
。然后您可以根据需要导入任意数量的文件。
以下是完整的文档模板:
\documentclass[…]{…}
…
\usepackage{import}
…
\begin{document}
…
\import{path}{file.ext}
…
\end{document}
path
./folder1/…/
可以是、/folder1/…/
或绝对路径的形式。