以一种好的方式对齐矩阵

以一种好的方式对齐矩阵

在此处输入图片描述

使用以下代码生成的两个矩阵是否可以更好地对齐?在此代码中,两个矩阵的左括号对齐。是否可以使顶部矩阵位于底部矩阵的中间?

\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{nicefrac}
\usepackage{multirow,array,booktabs}
\usepackage{mathtools}
\begin{document}
\begin{align}
\label{eq:1}
\big|\Tilde{\Phi}_{\boldsymbol{K}}\big\rangle &= e^{i \boldsymbol{K}.\boldsymbol{r}}
\begin{pmatrix}
|0,X\rangle\\0\\1\\1
\end{pmatrix}
\\
\label{eq:2}
\big|\Tilde{\Phi}_{\boldsymbol{K}}\big\rangle &= e^{i \boldsymbol{K}.\boldsymbol{r}}
\begin{pmatrix}
 \sin(\theta)|5,X\rangle\\0\\ \cos(\theta)|2,X\rangle\\0
\end{pmatrix}
\end{align}
\end{document}

答案1

您可以使用IEEEeqnarrayfrom IEEEtrantools。但我不认为这比原始对齐方式有所改进。关键是使用四列

  1. r用于右对齐
  2. C用于中心对齐,具有适合关系的空间
  3. l用于左对齐
  4. c用于中心对齐
\documentclass{article}
\usepackage{amsmath,amssymb}
\usepackage{bm}% important!
\usepackage{IEEEtrantools}

\begin{document}

\begin{IEEEeqnarray}{rCrc}
\label{eq:1}
\bigl|\Tilde{\Phi}_{\bm{K}}\bigr\rangle &=& e^{i \bm{K}\bm{r}} &
\begin{pmatrix}
|0,X\rangle\\0\\1\\1
\end{pmatrix}
\\[1ex]
\label{eq:2}
\bigl|\Tilde{\Phi}_{\bm{K}}\bigr\rangle &=& e^{i \bm{K}\bm{r}} &
\begin{pmatrix}
 \sin(\theta)|5,X\rangle\\0\\ \cos(\theta)|2,X\rangle\\0
\end{pmatrix}
\end{IEEEeqnarray}

\end{document}

注意,用\bigl\bigr代替无向的\big。此外,该bm包还提供了更好的“粗体符号”。您仍然可以使用\boldsymbol,但\bm会短得多。

我还删除了数学中不代表乘法的句号。

在此处输入图片描述

答案2

一种方法是\makebox创建一个框,并将\widthof矩阵\BottomMatrix置于该框的中心:

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{amsmath}
\usepackage{calc}

\newcommand{\BottomMatrix}{%
    \begin{pmatrix}
     \sin(\theta)|5,X\rangle\\0\\ \cos(\theta)|2,X\rangle\\0
    \end{pmatrix}
}%
\newcommand*{\MakeBox}[2]{%
    %% #1 = content whose width is to define the width of the box
    %% #2 = content to be `c`entered with the width of #1
    \makebox[\widthof{$#1$}][c]{$#2$}%
}


\begin{document}
\begin{align}
\label{eq:1}
\big|\Tilde{\Phi}_{\boldsymbol{K}}\big\rangle &= e^{i \boldsymbol{K}.\boldsymbol{r}}
\MakeBox{\BottomMatrix}{%
    \begin{pmatrix}
    |0,X\rangle\\0\\1\\1
    \end{pmatrix}
}
\\
\label{eq:2}
\big|\Tilde{\Phi}_{\boldsymbol{K}}\big\rangle &= e^{i \boldsymbol{K}.\boldsymbol{r}}
\BottomMatrix
\end{align}
\end{document}

答案3

以下解决方案假设您希望高括号(而不仅仅是环境的内容pmatrix)彼此对齐。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools,bm}
\DeclarePairedDelimiter{\ket}{\lvert}{\rangle}

\newlength\mylen
% obtain width of widest cell in 2nd pmatrix:
\settowidth{\mylen}{$\cos(\theta)\ket{2,X}$} 
\newcommand\mybox[1]{\parbox{\mylen}{\centering$#1$}}

\begin{document}

\begin{align}
\label{eq:1}
\ket[\big]{\tilde{\Phi}_{\bm{K}}} 
  &= e^{i\bm{Kr}}
  \begin{pmatrix}
    \ket{0,X} \\ 0 \\ 1 \\ \mybox{0}
  \end{pmatrix} \\[\jot] % add a bit of vertical whitespace
\label{eq:2}
\ket[\big]{\tilde{\Phi}_{\bm{K}}} 
  &= e^{i\bm{Kr}}
  \begin{pmatrix}
    \sin(\theta)\ket{5,X} \\ 0 \\ \cos(\theta)\ket{2,X} \\ 0
  \end{pmatrix}
\end{align}
\end{document}

相关内容