我正在做一个更大的论文任务,我一直在摆弄不同文件夹中的各种 tex 文件,试图让它看起来美观而有序。
目前,我的结构与此类似:
main.tex
img/image.png
tex/chapter01.tex
其中所有其他 .tex 文件都使用 \include{tex.chapter01.tex} 包含在主文件中。它工作得很好,我通常一次只处理一个章节文件,然后单独编译它,之后再编译整个主文件以查看所有内容。
但是,我有一个小问题。在处理单个章节文件时,我使用 \includegraphics{../img/image.png} 包含图像。这显然不会在编译整个主文件时转换,因为正确的命令应该是 \includegraphics{img/image.png}。
因此,我正在考虑设立一个单独的主文件夹并使其结构如下:
main/main.tex
img/image.png
tex/chapter01.tex
因此我可以在任何地方使用 ../ 命令。与此处第二个答案中描述的内容类似:使用带有 .sty 文件的子文件包(PS:我没有使用子文件包)
但是,这似乎不适用于 \include 命令。例如:\include{../tex/chapter01} 似乎会出现错误。这是一个常见问题吗?
希望您能理解我的问题。感谢您提供任何意见。
编辑:我似乎在这里找到了答案:使用 Kile 重组带有子文件夹的经典论文项目 显然,\include 在文件夹中向上导航时实际上不起作用。所以我最终按照 Christina 的建议将 main.tex 文件与其他 .tex 文件放在一起。
答案1
import
您要找的就是该软件包。如果我理解正确的话,您还想编译不包含主文件的章节,因此这可以与软件包结合使用docmute
,或者standalone
:
主文本(在根目录中
/home/jon/thesis
)
\documentclass{book}
\usepackage{graphicx}
\usepackage{docmute}
\usepackage{import}
\title{A book}
\begin{document}
\maketitle
\chapter{This is the main file}
This is the main file
The figure \ref{im} % 2.1
is in chapter \ref{subdoc} % 2
\subimport{tex/}{chapter01}
\end{document}
第一章.tex在子目录中特克斯(
/home/jon/thesis/tex
)
\documentclass{book}
\usepackage{graphicx}
\begin{document}
\chapter{A chapter}
\label{subdoc}
This is a subdocument.
The figure \ref{im} % 1.1
is in chapter \ref{subdoc} % 1
\begin{figure}[htp]
\centering
\includegraphics{../img/image}
\caption{My image}
\label{im}
\end{figure}
\end{document}
对于章节,您可以使用\subincludefrom
而不是\subimport
。运行texdoc import
以获取更多信息。