我想写两行方程,每行包含两个“ =
”符号,使得相应的“ =
”符号垂直对齐。
我尝试使用align
如下环境:
\begin{align*}
P^{-1}AP & = P^T\left[\lambda_1p_1, \dots, \lambda_np_n\right] & = \left[\lambda_1P^Tp_1, \dots, \lambda_nP^Tp_n\right]
\\ & = \left[\lambda_1i_1, \dots, \lambda_ni_n\right] & = \textrm{diag}\left(\lambda_1, \dots, \lambda_n\right)
\end{align*}
但这产生了此输出其中第二个 ' =
' 符号未对齐。为什么它们未对齐?我该如何对齐它们?
答案1
环境alignat*
会通过&
等号前面的两个对齐字符 ( ) 来为您完成此操作。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{2}
P^{-1}AP & = P^T\left[\lambda_1p_1, \dots, \lambda_np_n\right] && = \left[\lambda_1P^Tp_1, \dots, \lambda_nP^Tp_n\right] \\
& = \left[\lambda_1i_1, \dots, \lambda_ni_n\right] && = \textrm{diag}\left(\lambda_1, \dots, \lambda_n\right)
\end{alignat*}
\end{document}
进一步阅读
- 这 ”数学模式“ 文档
附录
为了进行比较,没有自动缩放的分隔符和“diag”作为运算符。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\DeclareMathOperator*{\diag}{diag}
\begin{document}
\begin{alignat*}{2}
P^{-1}AP &= P^T [\lambda_1p_1, \dots, \lambda_np_n] &&= [\lambda_1P^Tp_1, \dots, \lambda_nP^Tp_n] \\
&= [\lambda_1i_1, \dots, \lambda_ni_n] &&= \diag(\lambda_1, \dots, \lambda_n)
\end{alignat*}
\end{document}
答案2
您需要两个&
。其中第一个用于第二个方程组的左侧部分(此处为空):
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
P^{-1}AP & = P^T\left[\lambda_1p_1, \dots, \lambda_np_n\right] && =
\left[\lambda_1P^Tp_1, \dots, \lambda_nP^Tp_n\right]
\\
& = \left[\lambda_1i_1, \dots, \lambda_ni_n\right] && =
\textrm{diag}\left(\lambda_1, \dots, \lambda_n\right)
\end{align*}
\end{document}