LaTeX 尝试关闭评论环境时出错

LaTeX 尝试关闭评论环境时出错

我正在尝试创建一个文档,其中可以根据包含 \includecomment{answer} 来显示或不显示答案。我决定使用评论包,因为我在这里找到的示例看起来非常简单,但它仍然让我感到困惑。我还需要让个人能够选择哪些问题/答案与他们的项目相关。

我正在尝试使用 answer 环境,但它似乎无法在 if/then 中工作。下面是我认为应该运行的一小部分示例。我知道 \end{answer} 需要单独一行。它前后没有空格。如果 (a) 我注释掉 \begin 和 \end{answer},或者如果 (b) 我注释掉项目前后的 if/then 行,则代码将编译。如果我尝试同时使用两者进行编译,我会收到以下错误:

...包括‘答案’评论。)

失控的争论?

!扫描使用 \next 时文件结束。

< 插入文本 >

           \par

< * > 示例.tex

\documentclass{article}
\usepackage{ifthen}
\usepackage{comment}

\newcommand{\usetwo}{1} %Use Q2? 1 for yes, 2 for no. 
\includecomment{answer}

\begin{document}

\begin{enumerate}
  \item Question 1
  \ifthenelse{\equal{\usetwo}{1}}{
  \item Question 2\\
    \begin{answer}   
      Answer 2 goes here.
\end{answer}
  }%
  {}% if not set to 1
\end{enumerate}

\end{document}  

答案1

您不能将类似注释的环境作为参数传递给其他宏。相反,请使用\if如下结构:

\documentclass{article}

\usepackage{comment}

\newif\ifquestiontwo
\questiontwofalse% \questiontwotrue
\includecomment{answer}

\begin{document}

\begin{enumerate}
  \item Question 1

  \ifquestiontwo
  \item Question 2

\begin{answer}
  Answer 2 goes here.
\end{answer}

   \fi
\end{enumerate}

\end{document}

\questiontwotrue您可以通过/切换是否使用问题 2 \questiontwofalse

相关内容