使用宏禁用/启用注释块?

使用宏禁用/启用注释块?

有没有办法在 LaTeX 文档中创建宏,从而启用或禁用注释块?我在 C 和 C++ 中做过这种事情,但不确定是否适用于 LaTeX。

例如,在文档顶部附近,我希望有几行包含 0 或 1。我会根据自己的判断在 0 和 1 之间进行更改。如果是 0,那么后面的部分将如下所示:

\begin{comment}
\begin{figure}[ht]
    \centering
    \includegraphics[width=0.5\textwidth]{BLARG.jpg}
    \caption{\label{fig:}HONK.}
\end{figure}
\FloatBarrier
\end{comment}

但是如果宏编号为 1,它将禁用注释功能,因此它将有效地使文档保留以下内容:

\begin{figure}[ht]
    \centering
    \includegraphics[width=0.5\textwidth]{BLARG.jpg}
    \caption{\label{fig:}HONK.}
\end{figure}
\FloatBarrier

这可能吗?

答案1

是的...如果你使用以下方式编写自己的comment环境environ

enter image description here

\documentclass{article}

\usepackage{environ,graphicx}

\NewEnviron{comment}{%
  \ifnum\keepcomment=1
  \else
    \BODY
  \fi
}

%\newcommand{\keepcomment}{1}% Keep comment
\newcommand{\keepcomment}{0}% Remove comment

\begin{document}

Some text before the figure.

\begin{comment}
  \begin{figure}[ht]
    \centering
    \includegraphics[width=0.5\textwidth]{example-image}
    \caption{\label{fig:example}Example image.}
  \end{figure}
\end{comment}

Some text after the figure.

\end{document}

如果你使用comment包裹你可以做类似的事情:

\usepackage{comment}

%\newcommand{\keepcomment}{1}% Keep comment
\newcommand{\keepcomment}{0}% Remove comment

\AtBeginDocument{\ifnum\keepcomment=1
  \excludecomment{comment}
\else
  \includecomment{comment}
\fi}

相关内容