隐藏所有图像、列表和方程式?

隐藏所有图像、列表和方程式?

有没有办法通过在序言中设置某个命令来手动隐藏所有图像、方程式和所有列表(使用 lstlisting 包嵌入)?看看文档实际上包含多少页真正的“文本”会很有趣。谢谢!

编辑:我尝试使用Stefans的建议:

\renewenvironment{lstlisting}{\begin{comment}}{\end{comment}}
\renewenvironment{figure}{\begin{comment}}{\end{comment}}
\renewenvironment{equation}{\begin{comment}}{\end{comment}}

而我在序言中用的是 verbatim-package。我得到的错误消息与使用 Martins 建议时得到的错误消息相同:

File ended while scanning use of \next for a command line `\include{main/02}`

当不使用注释功能时,编译文档时不会出现错误:(

編輯2:我发现马丁斯解有效,但不适用于我通过以下方式插入的方程式:

\newcommand{\beq}{\begin{equation}}
\newcommand{\eeq}{\end{equation}}

然后:

\beq
blaaa...
\eeq

那么该采取什么方法呢?

答案1

您可以使用该comment包将环境(甚至是现有环境)转换为注释环境。它会逐字跳过内容,因此也可以用于lstlistings等。但是,似乎\end{<env>}(实际上是内部的\end<env>)仍在执行,因此您也需要将其清空。对于宏,您需要使用同一组参数定义虚拟替换。

\documentclass{article}

\usepackage{comment}

\excludecomment{figure}
\let\endfigure\relax
\excludecomment{equation}
\let\endequation\relax
\excludecomment{lstlisting}
\let\endlstlisting\relax

% Also possible:
%\renewcommand{\includegraphics}[2][]{}
%\renewcommand{\lstinputlisting}[2][]{}

% For your funny equation marks use: (you then actually don't need to redefine `equation` itself)
\let\beq\iffalse
\let\eeq\fi
% or
% \def\beq#1\eeq{}

\begin{document}

Normal text

\begin{figure}
    (A figure)
    \caption{A figure indeed}
\end{figure}

\begin{equation}
  1+1=2
\end{equation}

\beq
  1+1=2
\eeq

\end{document}

答案2

您可以使用 重新定义所有这些环境和命令,使它们不执行任何操作\renewenvironment。当然,这可以总结在一个宏中。

相关内容