我正在定义一个文本应为红色的环境。我认为bgroup
andegroup
将确保只有框是红色的,但框后面的文本也会变成彩色。
群组不会将其保持本地化吗?在这种情况下我该如何更改它?
\documentclass{article}
\usepackage[dvipsnames]{xcolor}
\newenvironment{comment}
{\par\medskip
\bgroup\color{red}%
\textbf{Hello: }
}
{
\egroup\medskip
}
\begin{document}
Test text begin below:
\comment{ Inside environment }
1234 (should be black) % but it is appearing red
\end{document}
答案1
组确实如此,但您使用不当。编译代码后,会发现以下内容.log
:
(\end occurred inside a group at level 1)
### simple group (level 1) entered at line 17 ({)
### bottom level
这表明您打开了一个组但从未关闭它。这显然是由于您使用您定义的环境的命令形式comment
而没有其关闭部分,即\endcomment
。
\comment
被 一个 团体 开场 所 取代\bgroup
, 但是 因为 你 从不 叫 ,\endcomment
所以 没有\egroup
.
这里的选项取决于你想使用什么。以下真正的命令形式版本有效:
\newcommand{\comment}[1]{%
\par\medskip
\bgroup\color{red}%
\textbf{Hello: }%
#1
\egroup\par\medskip
}