我隐约记得有一篇文章\newenvironment*
比 提供了更好的间距\newenvironment
,但我不记得任何细节,而且我似乎无法通过搜索找到参考。这两者有什么区别,什么时候应该使用一个而不是另一个?
[注意:只要有人能指出哪个问题重复,我会很高兴将此问题关闭为重复问题;但我似乎找不到这样的问题。]
答案1
\newcommand
该关系与和之间的关系相同\newcommand*
,详见\newcommand 和 \newcommand* 之间有什么区别?
对环境的行为没有影响,除了参数到\begin{envname}
。
具体来说,如果你说
\newenvironment{foo}[1]
{something with #1}
{something else}
你可以说
\begin{foo}{An argument
with a blank line}
The environment's contents
With perhaps a blank line
\end{foo}
while\newenvironment*{foo}
不允许这样做,并且争论不应包含任何空行(或\par
命令),但环境的内容没有限制(除了其定义可能施加的限制)。