如何处理大型项目

如何处理大型项目

我正在做一个项目,我想让它精简一点,所以请帮我做以下事情。我的文档结构如下:

/DocumentRoot
 |-main.tex
 |-title.tex
 |
 |-/chapter-1
 |  |-/images
 |  |-chapter-1.tex
 |
 |-/chapter-2
    |-/images
    |-chapter-2.tex

我的文档是这样的:

\begin{document}
\include{./title}
\include{./chapter-1/chapter-1}
\include{./chapter-2/chapter-2}
\include{./chapter-3/chapter-3}
\end{document}

在我的章节中,我使用了一些图像和一些繁重的 tikz 图,因此我使用 externalize 和 draft 选项来加快编译速度。但我希望将图像放在相应的章节文件夹中,但例如在第 3 章中,这是可行的:

\includegraphics[width=\linewidth]{./chapter-3/images/img.jpg}

而这并没有

\includegraphics[width=\linewidth]{./images/img.jpg}

由于某种原因,xelatex 在包含章节的相对路径方面存在问题。我还想控制位置输出和外部化 tikz 文档的命名。有什么帮助吗?我正在使用 miktex 和 texworks。

答案1

这个想法很简单,只要在包含新章节时准备目录路径(以导入章节文件和图像文件)。

主文本

\documentclass{book}
\usepackage{graphicx}

\def\Include#1{%
        \def\ChapterPath{#1/}%
        \def\GraphicsPath{\ChapterPath Images/}%
        \include{\ChapterPath#1}}

\newcommand\IncludeGraphics[2][width=\linewidth]{%
    \includegraphics[#1]{\GraphicsPath #2}}    

\begin{document}
    \Include{Chapter-1}
\end{document}

第 1 章.tex

\chapter{Chapter One}


\IncludeGraphics[width=0.5\linewidth]{Tulips}

评论:

  1. 文件夹Chapter-1Docoment-Root文件夹中。

  2. Chapter-1.tex在文件夹里Chapter-1

  3. Tulips.jpg在文件夹里Chapter-1/Images

尖端

  1. 如果你的 TiZ 代码没有“链接”到带节点的文本,例如,则将这样的 TiZ 代码放入单独的可编译输入文件中。使用articledocument class pluspreview可获得紧密的 PDF 输出。您也可以改用standalonedocument class。

  2. 如果您的表格不够长,无法跨越多页,则将其放入单独的可编译输入文件中以获得紧密的 PDF 输出。

  3. 调用时最好不要明确指定图像扩展名\includegraphics

  4. 为常用材料定义宏并将它们放入包中,以便您稍后可以在一个地方更改它们的定义,并且这些更改会影响整个文档。

相关内容