如何使用命令 \input{filename.tex}?

如何使用命令 \input{filename.tex}?

我正在写一本有很多章节的书,\input{filename.tex}书中的每一章都使用一个命令book.tex。如何使它们不在同一目录中?是否可以有带有子目录的目录?book.texfilename.texbook.texfilename.tex

答案1

\newcommand\subdir{mysubdir}

...
\input{\subdir/file}

然后,如果子目录发生变化,则只需更改一个名称。但是,如果您使用章节,则使用\include而不是更有意义。\input

答案2

假设目录结构如下(其中目录Work包含以下子目录:Chap01Chap02,每个子目录都有.tex自己的文件):

Work/
 |-Book.tex 
 |-mystyle.sty
 |-Chap01/
    |-chapter01.tex
 |-Chap02/
    |-chapter02.tex

那么主文件将具有以下基本结构:

% Contents of Book.tex
\documentclass{book}
\usepackage{mystyle}
\begin{document}
\include{Chap01/chapter01}% NOTE: these 'sub-files' must not include things like
\include{Chap02/chapter02}%       \usepackage, \begin{document}, or \end{document}
% You could also use \input; for the relative advantages, see http://tex.stackexchange.com/q/246/8528
% \input{Chap01/chapter01}
% \input{Chap02/chapter02}
\end{document}

包含的文件看起来如下:

% Contents of chapter01.tex
\chapter{The First Chapter}
This is the first chapter.

答案3

为了使此功能正常工作,您需要一个包含章节 .tex 文件的文件夹 Work/Book。

或者,您可以直接在花括号中为每个 指定一个相对于主 .tex 文件路径的路径\include,这样就不需要定义了\subdir。只需记住使用 / 而不是 \ 来连接路径中的文件夹即可。

相关内容