如何使用导入包?

如何使用导入包?

我已阅读了有关导入包的信息,现在正尝试在我的文档中使用它,但只遇到了错误。我有一个名为的主文件,/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}

...等等。显然文件的扩展名不是必需的

相关内容