如何在 alignat 环境中对齐术语(后续)

如何在 alignat 环境中对齐术语(后续)

这是对类似问题。我还是不知道在alignat环境中应该把 & 符号放在哪里。:(


这是我生成的内容。 在此处输入图片描述

为了增强可读性,我想自定义对齐方式。

  • 我希望第二列能够对齐,\oplus即使这会在第一个=符号之后和第二个=符号之前产生一些空格。
  • 类似地,我希望第三列围绕+符号对齐,即使这会在=符号后产生一些空间。
  • 但是,我希望三列能够由垂直对齐的符号分隔,=如上所示。

我怎样才能做到这一点?

\documentclass{minimal}

\usepackage{amsmath,amssymb,bm}
% Matrix inverse \inv[2]{\Abf} or \inv{\Abf}
\newcommand{\inv}[2][1]{\ensuremath{{#2}^{-{#1}}}}
% Matrix transpose
\newcommand{\trans}[1]{\ensuremath{{#1}^\intercal}}

\newcommand{\Abf}{\ensuremath{\bm{A}}}
\newcommand{\Ibf}{\ensuremath{\bm{I}}}
\newcommand{\Pbf}{\ensuremath{\bm{P}}}
\newcommand{\Qbf}{\ensuremath{\bm{Q}}}
\newcommand{\Ubf}{\ensuremath{\bm{U}}}

\begin{document}

\begin{subequations}
\begin{alignat}{3}
\lambda\Ibf - \Abf
&=
\Ubf
\big(
(\lambda-n)\Ibf_{k-1}
&\oplus
\lambda\Ibf_{n-k+1}
\big)
\trans\Ubf
&=
(\lambda-n)\Pbf + \lambda\Qbf
\\
\inv{(\lambda\Ibf - \Abf)}
&=
\Ubf
\Bigg(
\frac{1}{\lambda-n}\Ibf_{k-1}
&\oplus
{\frac 1 \lambda}\Ibf_{n-k+1}
\Bigg)
\trans\Ubf
&=
{\frac 1 {(\lambda-n)}}\Pbf + {\frac 1 \lambda}\Qbf
\\
\inv[2]{(\lambda\Ibf - \Abf)}
&=
\Ubf
\Bigg(
\frac{1}{(\lambda-n)^2}\Ibf_{k-1}
&\oplus
{\frac 1 {\lambda^2}}\Ibf_{n-k+1}
\Bigg)
\trans\Ubf
&=
{\frac 1 {(\lambda-n)^2}}\Pbf + {\frac 1 {\lambda^2}}\Qbf
\end{alignat}
\end{subequations}

\end{document}

答案1

我有一个解决方案,其中 \oplus 和 + 二元运算符周围的空格是对称的:

    \documentclass{minimal}

    \usepackage{amsmath,amssymb,bm}
    % Matrix inverse \inv[2]{\Abf} or \inv{\Abf}
    \newcommand{\inv}[2][1]{\ensuremath{{#2}^{-{#1}}}}
    % Matrix transpose
    \newcommand{\trans}[1]{\ensuremath{{#1}^\intercal}}

    \newcommand{\Abf}{\ensuremath{\bm{A}}}
    \newcommand{\Ibf}{\ensuremath{\bm{I}}}
    \newcommand{\Pbf}{\ensuremath{\bm{P}}}
    \newcommand{\Qbf}{\ensuremath{\bm{Q}}}
    \newcommand{\Ubf}{\ensuremath{\bm{U}}}

    \begin{document}

    \begin{subequations}
    \begin{alignat}{4}
            \lambda\Ibf - \Abf
            &= {}&
            \Ubf
            \big(
            (\lambda-n)\Ibf_{k-1}
            &\oplus
            \lambda\Ibf_{n-k+1}
            \big)
            \trans\Ubf
            &= {} &  &
            (\lambda-n)\Pbf  & + \lambda\Qbf
    \\%%
            \inv{(\lambda\Ibf - \Abf)}
            &= {}  &
            \Ubf
            \Bigg(
            \frac{1}{\lambda-n}\Ibf_{k-1}
            &\oplus
            {\frac 1 \lambda}\Ibf_{n-k+1}
            \Bigg)
            \trans\Ubf
            &= {} &  &
            {\frac 1 {(\lambda-n)}}\Pbf  & + {\frac 1 \lambda}\Qbf
    \\%%
            \inv[2]{(\lambda\Ibf - \Abf)}
            & = &
            \Ubf
            \Bigg(
            \frac{1}{(\lambda-n)^2}\Ibf_{k-1}
            &\oplus
            {\frac 1 {\lambda^2}}\Ibf_{n-k+1}
            \Bigg)
            \trans\Ubf
            & ={} &  &
            {\frac 1 {(\lambda-n)^2}}\Pbf  & + {\frac 1 {\lambda^2}}\Qbf
    \end{alignat}
    \end{subequations}

    \end{document} 

在此处输入图片描述

答案2

&&只需在需要对齐的位置添加:

在此处输入图片描述

笔记

  • alignat产生r对齐l,因此需要双精度&&来产生左对齐(即跳过该r列)。
  • 该类minimal不应用于示例。TeX.SE 上有一个很好的问题,但现在找不到,所以回来后会添加一个链接。

代码:

\documentclass{article}

\usepackage{amsmath,amssymb,bm}
% Matrix inverse \inv[2]{\Abf} or \inv{\Abf}
\newcommand{\inv}[2][1]{\ensuremath{{#2}^{-{#1}}}}
% Matrix transpose
\newcommand{\trans}[1]{\ensuremath{{#1}^\intercal}}

\newcommand{\Abf}{\ensuremath{\bm{A}}}
\newcommand{\Ibf}{\ensuremath{\bm{I}}}
\newcommand{\Pbf}{\ensuremath{\bm{P}}}
\newcommand{\Qbf}{\ensuremath{\bm{Q}}}
\newcommand{\Ubf}{\ensuremath{\bm{U}}}

\begin{document}

\begin{subequations}
\begin{alignat}{5}
\lambda\Ibf - \Abf
&=
\Ubf
\big(
(\lambda-n)\Ibf_{k-1}
&&\oplus
\lambda\Ibf_{n-k+1}
\big)
\trans\Ubf
&&=
(\lambda-n)\Pbf &&+ \lambda\Qbf
\\
\inv{(\lambda\Ibf - \Abf)}
&=
\Ubf
\Bigg(
\frac{1}{\lambda-n}\Ibf_{k-1}
&&\oplus
{\frac 1 \lambda}\Ibf_{n-k+1}
\Bigg)
\trans\Ubf
&&=
{\frac 1 {(\lambda-n)}}\Pbf &&+ {\frac 1 \lambda}\Qbf
\\
\inv[2]{(\lambda\Ibf - \Abf)}
&=
\Ubf
\Bigg(
\frac{1}{(\lambda-n)^2}\Ibf_{k-1}
&&\oplus
{\frac 1 {\lambda^2}}\Ibf_{n-k+1}
\Bigg)
\trans\Ubf
&&=
{\frac 1 {(\lambda-n)^2}}\Pbf &&+ {\frac 1 {\lambda^2}}\Qbf
\end{alignat}
\end{subequations}

\end{document}

相关内容