在非常大的文档中,需要 \input 什么以及需要 \include 什么?

在非常大的文档中,需要 \input 什么以及需要 \include 什么?

我有一本大笔记本 (约 300 页,并且以每月约 50 页的速度增加),内容如下:

  • 深层次结构(我使用部分、章节、节、小节、小小节和段落)
  • 文档被分成许多部分(总共 30-40 个文件),这些部分\input按章节层次结构的各个级别进行分类(有些文件是一整章,有些文件是单个段落)
  • 许多图片和表格
  • 相当多的参考文献带有(\label\ref
  • hyperref
  • 大多数浮标都用锚固定,H!因为我不想让它们移动
  • 有很多命令\clearpage,例如\nolinebreak和,\nopagebreak用于微调排版
  • 包含大块文本的大型浮动框(以及许多溢出的框)

编译这个需要几十秒。大多数情况下这没问题,但如果我需要微调图片的大小(需要重复编译),这个过程就会变得非常缓慢。我知道加快速度的第一步是使用,这样没有改变的部分就不需要重新编译。但是,决定何时执行以及何时执行的\include良好策略是什么?\include\input

由于我无法(不幸)做\include所有事情,我应该:

  • 总是尝试将\include文件放在顶层,并将\input其放在其下层?这样开销较小(处理完\include每一章或每一部分后,我就可以不再担心,只使用\input其中的一部分),但如果我正在处理一个非常大的章节,这会毁掉我的大部分性能优势。
  • 始终尝试\include最低级别的文件,例如单个章节或\paragraphs。这样做的问题是,如果S之前足够小以适合一个文件的部分需要拆分为文件S1S2S3(其中嵌套了S2和),我现在必须返回查找 的位置,以便我可以将其转换为、 和文件和。此外,s 强制分页并弄乱我的布局。S3S1\include\input\includeS2S3\include
  • \include介于两者之间。这是最灵活的选择,但工作量也最大,因为之前寻找和改组\includes 的问题现在变得更加严重。

我该怎么办?是否有单一的最佳策略来管理大型、复杂的 Latex 项目?

答案1

\include通常仅用于章节级别分段,特别是那些总是强制转到新页面的章节。因此,您描述的在 和 之间更改不同级别的章节\include很少\input适用。

使用下面的多个输入文件对 TeX 来说实际上没有任何区别,可能对协同工作或管理源代码控制有优势,但在多个文件和所有文件放在一个文件中之间并没有真正的 TeX 特定区别。

我假设您指的是[H]来自 float 包而不是[!H](这是语法错误)。这当然会禁用 LaTeX 避免错误分页的主要机制,但如果您需要手动定位和分页,那就这样吧。

不清楚为什么你需要处理整个文档来调整图片的大小。如果我理解你的意思,你只需要做一次,只要你有一个包含正确大小文本块和一些虚拟文本的测试文档,你就可以在一页文档中完成此操作,然后再将其放入主文档中。

相关内容