Macros Latex-为什么注释环境不能在宏中工作?

Macros Latex-为什么注释环境不能在宏中工作?,macros,latex,Macros,Latex,我正试图包装一个宏,可以在简历中显示不同级别的详细信息,目的是能够陈述一个特定的主题,并且只获取简历中相关条目的详细信息 我正在使用类“回忆录”来使用\newcomment函数。我试过moderncv,但我不是很信服 以下是我到目前为止得出的结论: \newcomment{Item} \newcomment{Descr} \newcomment{Details} \newcommand{\cvitem}[3]{ \begin{Item}\textbf{#1}\end{Item}

我正试图包装一个宏,可以在简历中显示不同级别的详细信息,目的是能够陈述一个特定的主题,并且只获取简历中相关条目的详细信息

我正在使用类“回忆录”来使用\newcomment函数。我试过moderncv,但我不是很信服

以下是我到目前为止得出的结论:

\newcomment{Item}
\newcomment{Descr}
\newcomment{Details}

\newcommand{\cvitem}[3]{
    \begin{Item}\textbf{#1}\end{Item}
    \begin{Descr}\hspace{1cm} {#2}\end{Descr}
    \begin{Details}\\ {\small #3}\end{Details}\vspace{2em}
    }

\commentsoff{Item}
\commentsoff{Descr}
\commentsoff{Details}
它按原样工作,但如果我声明

\commentson{Details}
然后我得到一个错误:

! File ended while scanning use of \next.
<inserted text>
\par
<*> cv_master.tex
I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.
!文件在扫描\next时结束。
\标准杆
cv_master.tex
我怀疑你忘了一个“}”,这是我的错
从你想让我停下来的地方读过去。
我会努力恢复;但如果错误严重,
你最好现在键入'E'或'X'并修复你的文件。

知道为什么吗?

你最好使用传统意义上的条件句。也就是说,使用类似于
\if
-的语句,可以打开/关闭:


为什么??它更简单,适用于所有环境/类别。

Waww超级棒!谢谢@Werner,我正在考虑在某个时候加入if语句,我一定会的!
\documentclass{article}

\newif\ifItem
\newif\ifDescr
\newif\ifDetails

\newcommand{\cvitem}[3]{%
  \ifItem
    \textbf{#1}
  \fi
  \ifDescr
    \hspace{1cm} #2
  \fi
  \ifDetails
    \\ {\small #3}
  \fi
  \vspace{2em}
}

\Itemtrue
\Descrtrue
\Detailsfalse

\begin{document}

\cvitem{First}{Second}{Third}

\end{document}