我使用以下命令创建了一个新环境:
\newenvironment{eqs}
{\begin{subequations}\begin{align}}
{\end{align}\end{subequations}
}
我想将子方程和对齐环境结合起来,但就是不行。任何想法都会很感激。
答案1
由于技术原因,您提议的语法无法\begin
在“开始”部分和\end
“完成”部分中使用。这是因为它align
在开始排版之前会收集整个环境的内容;原因是它必须进行一些测量,因此必须多次处理内容。
收集工作通过获取结束符 之前出现的任何内容来完成\end{...}
,其中...
是对齐开始的环境的名称。问题是:当你有
\newenvironment{eqs}
{\begin{subequations}\begin{align}}
{\end{align}\end{subequations}}
并执行\begin{eqs}
,对齐从开始\begin{align}
,但\end{align}
看不到,因为它隐藏在中\end{eqs}
,而\end{align}
应该明确地在输入中。
align
解决方案很简单:使用和使用的“内部”宏subequations
:
\newenvironment{eqs}
{\subequations\align}
{\endalign\endsubequations}
这样就\align
启动了对齐,但是由于打开的环境的名称是eqs
(因为没有\begin
执行过其他命令),所以amsmath
知道必须找到\end{eqs}
终止对齐的方法,然后才会执行“完成”部分。
据我所知,无法在 Texmaker 中更改用户定义环境的颜色,请参阅更改 TeXmaker 中用户定义命令的颜色附有答案和评论。另请参阅环境定义给出错误对于类似的问题。