我正在处理一份包含多个图表的大型文档。由于图表较多,因此需要很长时间才能完成编译。
我想在工作时注释掉所有图形,然后在最后再将它们放回去。为此,我添加了类似
\renewenvironment{figure}{\begin{comment}}{\end{comment}}
然后我可以根据需要将其注释掉。但是,这根本行不通,而且会产生各种问题。具体来说,我尝试编译这个 -
\documentclass[12pt]{article}
\usepackage{graphicx}
\usepackage{comment}
%\renewenvironment{figure}{\begin{comment}}{\end{comment}}
\begin{document}
\begin{figure}
\begin{center}
\includegraphics{image.png}
\end{center}
\end{figure}
\end{document}
使用 % 一切都完美编译。如果我删除 %,我会得到一个错误
不包括‘comment’注释。)失控参数?!扫描使用 \next 时文件结束。
答案1
如果你只包含独立的图像,那么你可以\includegraphics
通过加载文档类(或graphicx
),draft
选项如下:
\documentclass[draft]{article}
\usepackage{graphicx}
\begin{document}
Image A: \includegraphics[height=2\baselineskip]{example-image-a}
Image B: \includegraphics[height=2\baselineskip]{example-image-b}
Image C: \includegraphics[height=2\baselineskip]{example-image-c}
\end{document}
类似的方法是重新定义\includegraphics
以做任何你想做的事情:
\documentclass{article}
\usepackage{graphicx}
\renewcommand{\includegraphics}[2][]{\rule{50pt}{20pt}}
\begin{document}
Image A: \includegraphics[height=2\baselineskip]{example-image-a}
Image B: \includegraphics[height=2\baselineskip]{example-image-b}
Image C: \includegraphics[height=2\baselineskip]{example-image-c}
\end{document}
但是,如果您即时创建图形(使用类似tikzpicture
或 的东西pspicture
),那么您需要更具创造力。实现这一点的一种方法是捕获整个环境并吞噬其内容:
\documentclass{article}
\usepackage{tikz,environ}
\RenewEnviron{tikzpicture}[1][]{}
\begin{document}
Image A: \begin{tikzpicture}[options-a] A beautiful image \end{tikzpicture}
Image B: \begin{tikzpicture}[options-b] A beautiful image \end{tikzpicture}
Image C: \begin{tikzpicture}[options-c] A beautiful image \end{tikzpicture}
\end{document}
使用 (float) 环境也可以完成相同的操作figure
,但是您会丢失所有引用\caption
(但是,您可以考虑它)。
通过在 中实际写入图片环境,可以实现环境吞噬机制的进一步发展\phantom
,从而创建输出所需的大小/形状。但是,这会产生相同数量的编译开销/时间。
答案2
环境comment
会提前考虑环境的结束,因此在其他环境中使用时效果不佳。
我知道注释掉特定环境的最简单的方法是使用环境包:
\documentclass[12pt]{article}
\usepackage{mwe}
\usepackage{graphicx}
\usepackage{environ}
\RenewEnviron{figure}{Nothing here}
\begin{document}
\begin{figure}
\begin{center}
\includegraphics{example-image.png}
\end{center}
\end{figure}
\end{document}
使用environ
可让您直接使用\BODY
环境的 。上面我已让figure
环境用 替换其主体内的所有内容Nothing here
。当然,您可以让figure
环境不执行任何操作:
\RenewEnviron{figure}{}
无论哪种方式,环境主体的内容figure
似乎都没有被处理,所以这应该很快。