设置多文件 tex 文档的最佳做法是什么?

设置多文件 tex 文档的最佳做法是什么?

我研究过如何将我的大书项目拆分成几个文件。基本上,我发现有两个主要包应该可以使用,即“standalone”和“subFile”包。似乎 /input 与“standalone”结合是整个设置的最佳选择,因为 /input 可以嵌套,使用 /standalone 甚至可以编译子文件。此外,使用 /input 甚至可以将词汇表文件连接到主文档。我希望到目前为止是正确的!现在我想知道这里是否有类似“最新最佳实践指南”的东西来处理这个主题,或者是否有机会在这里设置类似的东西。我可以想象很多像我这样的新手会喜欢这个重要主题的指南?

祝一切顺利

答案1

我认为多文件操作指南相当简单,但正如评论所说,这取决于您想要实现的目标或您如何在硬盘中组织内容。此外,您必须意识到某些包可能无法使用子文档按预期工作(在开始一个大项目之前,请测试您的方法),但这是主要思想:

  1. 你只想分割一大段文本:使用 \input\include 查看整个章节。对于一些书籍/论文的部分预览,标准也\includeonly足够了。更多信息 何时应使用 \input 和 \include?

  2. 如上所述,但是即时预览对你来说非常重要您正在处理的任何子文档(甚至部分),完全不处理主文件:那么每个子文档本身必须是一个完整的文档,并使用docmute或将它们(作为不完整的文档,即没有序言)包含在主文件中。有关更多信息,只需运行standalone和等。sufilestexdoc docmutetexdoc standalone

  3. 你不仅有大量的文本,还有大量的图片、表格或其他东西您希望在分层目录结构中组织/存储/管理。这里的问题是,当子文档包含在另一个目录的文档中时,其相对路径显然无法工作。此问题的解决方法是使用包import。它可以与方法 (2) 结合使用,至少可以与docmute(例如,我在 如何在小型嵌套文件夹中组织大型文档). 更多信息正在运行texdoc import

  4. 您想要一组独立的手稿,例如会议论文集。那么combine该类是一个选择。运行texdoc combine以了解更多。此外,paper(类似文章的类)文档可以与该类相结合journal(警告:在这种情况下仅限德语文档)。

事实上,任何 LaTeX 任务的最佳实践是在 CTAN 中搜索相关主题https://ctan.org/topic/subdocs其中还有一些其他用于处理子文档的包。

最后,如果您习惯使用 Rmarkdown 来生成 LaTeX 文档,那么这bookdown是一个涵盖第 1-3 点的有趣选项。简而言之,bookdown 所做的就是将所有子文档合并到一个 markdown 文件中,然后导出到 LaTeX,因此无需特殊的 LaTeX 包或 LaTeX 命令。但您也可以将每个子文档编译为普通的 rmarkdown 文件。如果子文档无法按原样编译,因为包含需要在其他地方加载某些包或定义的命令,您可以始终在 _bookdown.yml书中要编译的文件列表中指定:

rmd_files:[“abstract.Rmd”,“intro.Rmd”]

这样,您无需费心预览摘要和简介。bookdown您只需注意所有文件的所有路径都必须与主项目目录相关。

最近,Quartomarkdown 旨在成为 Rmarkdown 的继承者,它具有与 bookdown 几乎相同的功能,但项目是通过 进行管理的_quarto.yml。例如,如果你有一本有四个章节的书,则此文件应以以下方式列出这些章节:

  chapters:
    - 01-chapter.qmd 
    - 02-chapter.qmd 
    - 03-chapter.qmd 
    - 04-chapter.qmd   

要制作仅包含第 3 章的 PDF,只需将列表缩减为:

  chapters:
    - 03-chapter.qmd 

或更好:

  chapters:
    # - 01-chapter.qmd 
    # - 02-chapter.qmd 
    - 03-chapter.qmd 
    # - 04-chapter.qmd   

因此,您可以恢复隐藏的章节,只需删除#相当于%在 LaTeX 中将其余行转换为注释即可。

相关内容