将巨大的 `.tex` 文件拆分为 TeX/LaTeX 级别的章节文件

将巨大的 `.tex` 文件拆分为 TeX/LaTeX 级别的章节文件

受到启发(尽管可能重复)将 LaTeX 文档的每个章节输出为单独的 PDF,我想知道是否有可能将章节(或任何章节级别)内容提取到单独的*.tex文件中,如果.tex源文件是不是已经“分裂”并使用\include语句?

\documentclass{scrbook}

\begin{document}
\chapter{My first sophisticated chapter}
Some content...

\chapter{My second, even more sophisticated chapter}
Other content....

\end{document}

这意味着,\chapter{...}应该捕获其间的所有内容(但包括该行!)并将其写入单独的文件,\jobname_chapter\number\value{chapter}.tex例如

\jobname_chapter1.tex包含

\chapter{My first sophisticated chapter}
Some content...

\jobname_chapter2.tex包含

\chapter{My second, even more sophisticated chapter}
 Other content....

最有可能的一种方法是重新定义相应的分段命令来重定向不直接处理的输出TeX/LaTeX

我认为,如果可能的话,这可以“扩展”到其他分组命令。

为了简单起见:没有人应该关心那些“独立”章节文件根本不可编译。

我也不关心这种方法的性能

编辑

如果\chapter命令是这样的\chapter{title}{Chapter content...},这将很“简单”,只需捕获命令的第二个参数并\unexpand\expandafter通过将其(在命令之后)写入文件\immediate\write。但是,\chapter有另一种语法 ;-)

嗯,还是没有解决方案 :-(

答案1

在对这个问题进行了一番思考之后,我决定从消极的方面来回答这个问题:

.tex显然,仅通过直接的方法将输入文件拆分为章节等逻辑单元是极其困难的(La)TeX

也许使用 LuaLaTeX 可以实现,但我到目前为止还没有使用过它,所以我无法提供更好的例子。

我还决定暂时关闭这个问题。如果有人知道或找到了好的解决方案,我会很乐意再次打开它并接受该答案。

相关内容