有没有办法在 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
:
\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}