使用命令中断环境

使用命令中断环境

目前我正在尝试弄清楚如何中断环境。到目前为止我做了什么...

\documentclass{article}
\usepackage{amsmath}

\newenvironment{envnew}
{
    \begingroup
    \csname align*\endcsname
}{
    \csname endalign*\endcsname
    \endgroup
}
\newcommand{\last}[1]{%
    \end{envnew}\begin{envnew}#1%
}

\begin{document}
\begin{envnew}
a &= b + c\\
x &= y + z\\
a &= b + c\\
x &= y + z
\last{\text{content}}
\end{envnew}
\end{document}

我认为大部分内容应该是不言自明的,我只是想在最后添加第二个环境 - 背景应该不重要。大部分给定的代码都可以工作,但它会因错误而中断...

! Missing $ inserted.
<inserted text>
                $
l.24 \end{envnew}

...知道我做错了什么吗?

答案1

amsmath具有多个多行数学环境,并且可以对单个显示使用多个多行数学环境以获得所需的结果。有时,如果“文本”行上方和下方的材料在对齐点的左侧和右侧具有不同宽度的表达式,则还需要采取一些迂回措施。这是一个人为的例子。

代码示例的输出

\documentclass{article}
\usepackage{amsmath}

\begin{document}
\begin{gather*}
\begin{aligned}
\phantom{a + b}\llap{$a$} &= b + c\\
x &= y + z\\
a &= b + c\\
x &= y + z
\end{aligned}\\
\text{content}\\
\begin{aligned}
a + b &= c\\
x &= y + z
\end{aligned}
\end{gather*}
\end{document}

与复合显示器对齐部分中最长的线段的幻像一起使用\llap,以确保分离组件的相互对齐。 (如果右侧存在较长的线段,则将\rlap使用,放置在关系符号之后。)

相关内容