我在\ latex中处理一个巨大的脚本。
我希望能够将每个章节编译为独立的,因为使用Latex进行黑客攻击会更容易。
另一方面,我想保留一份文件,其中包含迄今为止编写的整个脚本。
我不知道如何在没有永久烦人开销的情况下维护这两个文档,因为tex文件既可以单独编写,也可以包含在内。
使用具有类似C的#define和#ifdef-#else- #endif语句的Latex预处理器是很有帮助的。这将在很大程度上促进写作。你知道乳胶中是否存在这样的东西,或者你怎么能做同等的事情? Google没有向我提供令人满意的答案。
编辑: 一些评论是为了避免误解:我知道非常简单的内置TEX预处理器,但这些命令不能正常工作。因此,对这些的引用不会帮助我。
我脚本中的章节应该是这样的(伪代码)
IF being_just_included defined
%No header here, and document has already begun
ELSE
\input{common_header.tex} %Header things all my documents use
\begin{document}
ENDIF
%%% Lots of stuff
IF being_just_included defined
%Nothing to do here
ELSE
\end{document}
END IF
相比之下,我的完整脚本源文件应如下所示
\input{common_header.tex}
DEFINE being_just_included
\begin{document}
\input{preamble.tex}
\input{first_chapter.tex}
\input{second_chapter.tex}
\input{third_chapter.tex}
\end{document}
您可以发布执行此类操作的代码吗?
答案 0 :(得分:3)
非常感谢您提供此套餐以及论坛的提示。
经过一段时间后,我发现存在一个tex预处理器,它类似于CPP。也许没有精心设计,但它很适合我的目的。
魔术线是:
\def\justbeingincluded{justbeingincluded}
\ifx\justbeingincluded\undefined
\fi
在相应的源文件中适当使用。
答案 1 :(得分:2)
这样做的一种方法是使用standalone
包,用于此特定目的。
您也可以通过TeX and Friends浏览,也许加入。