截断“输入”文件的编译

截断“输入”文件的编译

在撰写数学结果时,我经常在决定实际结构之前记下几个准证明。尽管如此,我喜欢保留这些替代草图作为参考,以防我发现主要证明存在问题,但这样做不会弄乱我的文件或目录。

在单个文档中实现此目的的最简单方法是将这些内容移至 \end{document} 行下方,此时 LaTeX 会默默忽略它。但是,现在我正在处理一个更大的项目,我对每个部分都使用 \include{} 命令,现在可以不再使用此解决方法。我知道我可以注释掉(即在每行前面加上符号 %)这些额外的内容,但这会使整个文件变得混乱。我知道我也可以将它们全部移动到其他文件,但这太麻烦了,因为我通常不再需要这些东西了(如果需要,我宁愿在当前文档的末尾搜索)。

是否有人知道类似“\end{include}”的命令,它会告诉编译器默默忽略当前文件中剩余的内容?

例子。在一个文件中,我的工作流程如下所示:最初,我写下我想到的几种替代方案,例如

\begin{document}
  sketchA
  sketchB
  sketchC
\end{document}

这样,我就可以始终以完整的 LaTeX 格式阅读每个草图。然后,假设我选择了选项 C,我将这个输入得很好,并将其余部分移到 \end{document} 命令下方:

\begin{document}
  niceC
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  sketchA
  sketchB

现在,如果我发现 niceC 中有一个大错误,我并没有失去之前的想法,而且这个过程也没有花费我任何额外的努力。

如果所有这些都发生在一个文件中输入然而,在另一个文档中,我目前没有类似简单、整洁且不需要切换文件的替代方案。而且我不太喜欢“注释掉”替代方案,因为 sketchA 可能已经有一些注释行,如果我注释掉注释,当我想恢复旧内容时,我总是冒着意外取消注释太多次的风险。

所以我的问题是,如果我的输入文件如下所示,是否有任何命令 \X 可以忽略草图部分

niceC
\X
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sketchA
sketchB

答案1

使用命令“\endinput”显示文件的明确结束。LaTeX 编译器不会读取此命令后的任何内容。为了清楚起见,我建议您按如下方式使用它

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput %%%%%%%%%%%%%%%%% Every thing ignored after this line
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

答案2

如果您将不同的草图放在单独的文件中,则可以根据需要输入:

\documentclass{article}
\usepackage{tikz}

\newcommand{\MultInput}[2]{%
    \foreach \i in {#1} {%
        \pgfmathparse{{#2}[\i-1]}%
        \input{\pgfmathresult}}%
}


\begin{document}

% inputs sketchB.tex
\MultInput{2}{"sketchA","sketchB","sketchC"}

% inputs sketchC.tex then sketchA.tex
\MultInput{3,1}{"sketchA","sketchB","sketchC"}

\end{document}

相关内容