![\includeonly{} 不适用于预编译序言](https://linux22.com/image/467864/%5Cincludeonly%7B%7D%20%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E9%A2%84%E7%BC%96%E8%AF%91%E5%BA%8F%E8%A8%80.png)
问题摘要
我关注了指导领英这答案,对我来说效果很好。但是,我发现如果我使用预编译的序言,然后指定\includeonly{}
,则仍会编译完整文档。
我是否遗漏了一些明显的东西?
平均能量损失
文件:main.tex
%&前言
\includeonly{第 1 部分}
\begin{文档}
\include{第 1 部分}
\include{第 2 部分}
\end{文档}
文件:preamble.tex
\documentclass{文章}
\usepackage{amsmath}
\csname endofdump\endcsname
文件:part1.tex
第1部分。
文件:part2.tex
第2部分。
预编译
我使用以下方法预编译了序言pdftex -ini -jobname="preamble" "&pdflatex" mylatexformat.ltx "preamble.tex"
如果您将其更改为%&preamble
,它将按预期工作。main.tex
\input{preamble}
系统信息
在 Windows 10 上的 Visual Studio Code 的 LaTeX Workshop 扩展下使用 latexmk 进行编译。
答案1
一旦开始处理使用预编译格式的文档,TeX 就会跳过前言部分,直到\endofdump
或\begin{document}
。这样,即使您在此处使用了单独的文件,也可以将文档用于预编译格式和实际文档。
因此,您需要\csname endofdump\endcsname
在想要开始处理的位置将其添加到主文档中,否则\includeonly
将不会执行序言中的任何命令。