我最近意识到,由于\newenvironment
、\begin
和\end
的工作方式,不原因是环境名称中不能有空格。只要您坚持使用\begin
和\end
,就可以正常工作。
那么,为什么环境名称总是由 11 个字符的 catcode 组成?为什么能够(轻松)使用\env
和\endenv
如此重要?(如果您正在创建需要这些的环境,那么使用 就微不足道了\csname my env\endcsname
。)这只是糟糕的风格吗?
为了消除任何可能的混淆,为什么
\newenvironment{somename}
宁愿
\newenvironment{some name}
在文档级别?
答案1
我认为使用空格是一种不好的做法(事实上它能起作用本质上是实现上的一个意外)。我不太确定你需要能够访问命令形式的论点是否真的成立,tabular*
或者figure*
例如不只由字母组成。
然而我本来想说[foo=bar]
键值解析中的键名也是一样,但是 TiKZ 表明约定是可以改变的......