另一个“在 align* 环境中插入缺失的 }”

另一个“在 align* 环境中插入缺失的 }”

很抱歉,因为这个网站上已经有很多标题相同的问题,但似乎没有人遇到和我一样的问题。顺便说一句,我是 LaTeX 和这个论坛的新手。这是我的问题:没有 align* 环境,我没有收到任何错误,但是当我想对齐所有行并使用 align* 时,我得到了“!缺少 } 插入。 } l.154 \end{align*}”

那么如何对齐所有“=”?我的代码就在下面。提前感谢您的反馈。

\begin{align*}
Ker(\psi) &= \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, \psi(\sigma, e)=~$id$_{\mathfrak S_{n}} \} \\
          &= \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)s(e)=~$id$_{\mathfrak S_{n}} \} \\
          &= \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)s(e)=~$id$_{\mathfrak S_{n}} \} \\
          &= \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)=~$id$_{\mathfrak S_{n}}~$et$~s(e)=~$id$_{\mathfrak S_{n}} \} \\
          &= \{ ($id$_{\mathfrak A_{n}}, 1) \}
\end{align*}

答案1

您的问题有两个方面:LaTeX 给您一个错误并且align环境不能满足您的对齐需求。

前者的原因是使用$字符来封装似乎是自定义运算符(我认为是id和,正如前面的答案所指出的那样)。 解决此问题的方法是使用宏将它们声明为这样; 例如,对于运算符(按照相同的先前答案。 请注意,对于运算符,此宏优于和,因为它们处理字母间距的方式不同。Ker\DeclareMathOperator\DeclareMathOperator{\id}{id}id\text\mathrm

由于每行都有多个=符号,要使它们全部对齐,您需要使用环境alignat(或者,在您的情况下alignat*,也是来自amsmath包的兄弟 ;)。使用您的示例(对您的格式进行了一些清理,以使 TeX 更具可读性):

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}

\DeclareMathOperator{\id}{id}
\DeclareMathOperator{\Ker}{Ker}

\begin{document}
\begin{alignat*}{3}
\Ker(\psi) &= \{(\sigma,e) \in \mathfrak{A}_n \rtimes_{\varphi} \{-1,1\}, \psi(\sigma,e) &&= \id_{\mathfrak{S}_n}\} \\
           &= \{(\sigma,e) \in \mathfrak{A}_n \rtimes_{\varphi} \{-1,1\}, i(\sigma)s(e)  &&= \id_{\mathfrak{S}_n}\} \\
           &= \{(\sigma,e) \in \mathfrak{A}_n \rtimes_{\varphi} \{-1,1\}, i(\sigma)s(e)  &&= \id_{\mathfrak{S}_n}\} \\
           &= \{(\sigma,e) \in \mathfrak{A}_n \rtimes_{\varphi} \{-1,1\}, i(\sigma)      &&= \id_{\mathfrak{S}_n} \text{et } s(e) &&= \id_{\mathfrak{S}_n}\} \\
           &= \{(\id_{\mathfrak{A}_n}, 1)\}
\end{alignat*}
\end{document}

此环境将“列”数作为参数({3}),并使用字符分隔列&。在这种情况下,=除第一个符号之外的每个符号前面都加一个双精度数,&&以实现所需的效果。

答案2

问题不在于使用,align而在于使用$ $内部align

一些替代方法是使用\text{id}\mathrm{id}或(在序言中)\DeclareMathOperator{\id}{id}

\documentclass{article}
\usepackage{amsmath,amsfonts,amssymb}

\DeclareMathOperator{\id}{id}

\begin{document}


\begin{align*}
Ker(\psi) & = \{ (\sigma, e) \in \mathfrak{A}_n \rtimes_\varphi \{-1, 1\}, \psi(\sigma, e)=~\text{id}_{\mathfrak S_{n}} \} \\
          & = \{ (\sigma, e) \in \mathfrak{A}_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)s(e)=~\mathrm{id}_{\mathfrak S_{n}} \} \\
          & = \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)s(e)=~\id_{\mathfrak S_{n}} \} \\
          & = \{ (\sigma, e) \in \mathfrak A_{n} \rtimes_{\varphi} \{-1, 1\}, i(\sigma)=~\id_{\mathfrak S_{n}}~\text{et}~s(e)=~\id_{\mathfrak S_{n}} \} \\
          & = \{ (\id_{\mathfrak A_{n}}, 1) \}
\end{align*}
\end{document}

相关内容