LaTeX条件注释

使用 commentifthen 宏包实现条件注释。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\usepackage{ifthen, comment}

\begin{document}

\newboolean{compilecontent}
\setboolean{compilecontent}{true} % 设置为 true 编译内容,设置为 false 将内容解释为注释

\newenvironment{conditionalcontent}
{\ifthenelse{\boolean{compilecontent}}{}{\comment}}
{\ifthenelse{\boolean{compilecontent}}{}{\endcomment}}

\begin{conditionalcontent}
test
\end{conditionalcontent}

\end{document}

ifthenelse 命令的第一个参数是判断条件,第二个参数是条件为真时执行的代码,第三个参数是条件为假时执行的代码。

还可以实现有条件的判断,比如 section 计数其为奇数时显示内容,为偶数时不显示内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
\usepackage{ifthen, verbatim}

\begin{document}

\setcounter{section}{0}

\newenvironment{conditionalcontent}
{\ifthenelse{\isodd{\value{section}}}{\comment}{}} % 奇数时注释
{\ifthenelse{\isodd{\value{section}}}{\endcomment}{}} % 奇数时注释


\begin{conditionalcontent}
test1
\end{conditionalcontent}

\stepcounter{section}

\begin{conditionalcontent}
test2
\end{conditionalcontent}

\end{document}

这里使用了 verbatim 宏包,comment 包在此使用会出现问题,暂未深究原因。