我已阅读了有关导入包的信息,现在正尝试在我的文档中使用它,但只遇到了错误。我有一个名为的主文件,/ProjectPath/header.tex
它加载所有包等。此外,一些进一步的自定义位于 中/ProjectPath/header/
并由 加载/ProjectPath/header.tex
。
现在我有几个章节,例如/ProjectPath/chap1/
等。通常,我将所有文件(头文件、章节文件、子章节文件等)放在一个文件夹中,并且可以轻松编译第 1 章:
\input{header}
\begin{document}
…
\end{document}
为了更清晰,将文件放入文件夹当然很有用。我读过关于导入包的文档,但我不知道如何使用该\import
命令。
假设我有以下配置:
/ProjectPath/header.tex %% main file
/ProjectPath/header/custom1.tex %% is loaded by header.tex
/ProjectPath/header/custom2.tex %% is loaded by header.tex
/ProjectPath/chap1/part1.tex
/ProjectPath/chap1/part2.tex
/ProjectPath/chap1/part3.tex
/ProjectPath/chap1/part4.tex
/ProjectPath/chap1/chapter1.tex %% whole first chapter, can be compiled separately
/ProjectPath/chap2/part1.tex
/ProjectPath/chap2/part2.tex
/ProjectPath/chap2/part3.tex
/ProjectPath/chap2/part4.tex
/ProjectPath/chap2/chapter2.tex %% whole second chapter, can be compiled separately
/ProjectPath/Document.tex %% whole document, includes both chapters
当然,现在我无法使用\input{../header.tex}
。/ProjectPath/chap1/chapter1.tex
我确信我可以使用导入包来解决这个问题,但是怎么做呢?
任何建议将不胜感激!
编辑:抱歉,没有找到 MWE。这里是:
在最简单的情况下,我有以下文件:
/header.tex
/header/custom.tex %% is imported by header.tex
/chap1/part1.tex %% loads header.tex
内容:
%% header.tex
\documentclass{article}
\usepackage{import}
\subimport{header}{custom}
%% part1.tex
\input{../header}
\begin{document}
Text.
\end{document}
编译 part1.tex 得到:
! LaTeX Error: File `custom.tex' not found.
Latex Error: ../header.tex:4 Emergency stop.
怎么了?我今天有点慢,我仍然没有得到 import 包的正确使用方法……
答案1
下面是一个示例,展示了如何通过子文件夹中的文件导入更高级别的文件,据我了解,这就是您想要使用头文件实现的功能。文件chapter1.tex
位于 中/subfolder
。它加载两个文件:part1.tex
,位于同一个 中/subfolder
,以及partA.tex
来自主文件夹。partA.tex
还加载part1.tex
;因此,它对应于您添加的示例中的头文件。
subimport{}{}
必须使用才能partA.tex
让其使用自己的路径来查找part1.tex
。由于后者不再进行任何进一步的导入,因此始终可以通过 来包含它input
。
main.tex
partA.tex %your header.tex
subfolder/chapter1.tex
subfolder/part1.tex %your custom.tex
%main.tex
\documentclass{article}
\usepackage{import}
\usepackage{lipsum}
\begin{document}
\subimport*{subfolder/}{chapter1}
\end{document}
%subfolder/chapter1.tex
\section{Chapter 1}
\input{part1}
%\input{../partA} %doesn't work
\subimport*{../}{partA}
%/subfolder/part1.tex
\subsection{Part 1}
\lipsum[1]
%partA.tex
\subsection{Part A}
\lipsum[2]
\input{subfolder/part1}
答案2
根据import
软件包描述,该\subimport
命令是你的朋友。你可以像这样使用它:
\subimport{subdirectory}{filename}
或者,举几个你的情况的例子:
\subimport{header}{custom1}
...
\subimport{chap1}{part1}
...等等。显然文件的扩展名不是必需的