我研究过如何将我的大书项目拆分成几个文件。基本上,我发现有两个主要包应该可以使用,即“standalone”和“subFile”包。似乎 /input 与“standalone”结合是整个设置的最佳选择,因为 /input 可以嵌套,使用 /standalone 甚至可以编译子文件。此外,使用 /input 甚至可以将词汇表文件连接到主文档。我希望到目前为止是正确的!现在我想知道这里是否有类似“最新最佳实践指南”的东西来处理这个主题,或者是否有机会在这里设置类似的东西。我可以想象很多像我这样的新手会喜欢这个重要主题的指南?
祝一切顺利
答案1
我认为多文件操作指南相当简单,但正如评论所说,这取决于您想要实现的目标或您如何在硬盘中组织内容。此外,您必须意识到某些包可能无法使用子文档按预期工作(在开始一个大项目之前,请测试您的方法),但这是主要思想:
你只想分割一大段文本:使用
\input
或\include
查看整个章节。对于一些书籍/论文的部分预览,标准也\includeonly
足够了。更多信息 何时应使用 \input 和 \include?如上所述,但是即时预览对你来说非常重要您正在处理的任何子文档(甚至部分),完全不处理主文件:那么每个子文档本身必须是一个完整的文档,并使用
docmute
或将它们(作为不完整的文档,即没有序言)包含在主文件中。有关更多信息,只需运行standalone
和等。sufiles
texdoc docmute
texdoc standalone
你不仅有大量的文本,还有大量的图片、表格或其他东西您希望在分层目录结构中组织/存储/管理。这里的问题是,当子文档包含在另一个目录的文档中时,其相对路径显然无法工作。此问题的解决方法是使用包
import
。它可以与方法 (2) 结合使用,至少可以与docmute
(例如,我在 如何在小型嵌套文件夹中组织大型文档). 更多信息正在运行texdoc import
。您想要一组独立的手稿,例如会议论文集。那么
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
您只需注意所有文件的所有路径都必须与主项目目录相关。
最近,Quarto
markdown 旨在成为 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 中将其余行转换为注释即可。