使用以下代码生成的两个矩阵是否可以更好地对齐?在此代码中,两个矩阵的左括号对齐。是否可以使顶部矩阵位于底部矩阵的中间?
\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
您可以使用IEEEeqnarray
from IEEEtrantools
。但我不认为这比原始对齐方式有所改进。关键是使用四列
r
用于右对齐C
用于中心对齐,具有适合关系的空间l
用于左对齐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}