我想通过一个切换开关禁止编译文档的某些部分。原因是我的书包含大量 PGF 图表和图形,整本书需要很长时间才能编译完成。章节数量也很多。当我编写特定章节时,我通常会注释掉其他\input
或\include
文件对应的章节。
我想创建一个新的环境,其中有一个切换开关可以自动执行此操作。只需一个评论/取消评论即可立即在单章文档和完整文档之间来回切换。
这是我的 MWE
\documentclass{book}
\usepackage{etoolbox}
\edef\leftbracechar{\string{}
\edef\rightbracechar{\string}}
\newcommand{\dontcompile}{true} % 'true' is meaningless, any word should do
\newenvironment{condcompile}{
\ifdef{\dontcompile} \leftbracechar } { \rightbracechar }
\begin{document}
\begin{condcompile}
\chapter{first} % a chapter is usually a seperate file but here this should do
Text of first
\end{condcompile}
\chapter{second}
Text of second
\chapter{third}
Text of third
\end{document}
如果我注释掉该行,\newcommand{\dontcompile}{true}
我希望文档的行为就像所有章节都将被编译一样,而且它似乎运行良好。
如果我取消注释该行\newcommand{\dontcompile}{true}
,我希望编译时省略第一章。结果确实如此,但也会产生垃圾页面。基本上,我希望该行\newcommand{\dontcompile}{true}
像一个切换开关一样运行。
有办法纠正吗?