居中文本和方程式对齐

居中文本和方程式对齐

我想写一个类似表格的东西,其中包含状态和相应的方程式,但方程式应该是对齐的,如图所示。

在此处输入图片描述

不幸的是我还没有找到解决方案。我已经尝试过对齐,但文本没有居中。这是我尝试的代码:

\begin{align*}
\textit{State} && \textit{Rate leave} &= \textit{rate enter} \\
(0,0) && \lambda P_{0,0} &= \sum\limits_{n=1}^{\infty} \mu_n P_{0,n} \\
(0,n), n > 0 && (\lambda + \mu_n)P_{0,n} &= \sum\limits_{m=1}^{\infty} \mu_m P_{n,m} \\
(m,n), mn > 0 && (\lambda + \mu_n)P_{m,n} &= \lambda P_{m-1,n}
\end{align*}

有谁知道我应该用什么来使文本居中?

答案1

我也会使用,但我通过删除和插入来array简化标题。此外,我添加了更好的行距。我同意@Sebastiano 的观点,使用更好。qquad@{{}={}}\renewcommand{\arraystretch}{1.3}text

\documentclass{article}
\usepackage{amsmath}    
\begin{document}

\[ 
\renewcommand{\arraystretch}{1.3}
\begin{array} {c r @{{}={}} l}
\text{State}   & \text{Rate leave}             & \text{rate enter}                 \\ 
(0,0)          & \lambda P_{0,0}               & \sum_{n=1}^{\infty} \mu_n P_{0,n} \\ 
(0,n),\ n > 0  & (\lambda + \mu_n)P_{0,n}      & \sum_{m=1}^{\infty} \mu_m P_{n,m} \\ 
(m,n),\ mn > 0 & \quad(\lambda + \mu_n)P_{m,n} & \lambda P_{m-1,n}
\end{array}
\]

\end{document}

在此处输入图片描述

答案2

使用array,并运用一些小技巧来获得正确的间距(不,正确的间距不是\,)。

\documentclass{article}
\usepackage{amsmath,array}

\begin{document}

\begin{equation*}
\begin{array}{@{}  c @{\qquad} r @{} >{{}}l @{}}
\textit{State}     & \textit{Rate leave}      &= \textit{rate enter} \\[1ex]
(0,0)              & \lambda P_{0,0}          &= \sum_{n=1}^{\infty} \mu_n P_{0,n} \\[1ex]
(0,n),\ n > 0  & (\lambda + \mu_n)P_{0,n} &= \sum_{m=1}^{\infty} \mu_m P_{n,m} \\[1ex]
(m,n),\ mn > 0 & (\lambda + \mu_n)P_{m,n} &= \lambda P_{m-1,n}
\end{array}
\end{equation*}

\end{document}

我会避免\limits,那会使整个事情失去平衡。

在此处输入图片描述

答案3

另一个解决方案是使用gathered和一个aligned环境,以及以下几个\vphantom{\sum...}

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\[
\begin{gathered}[t]
\textit{State} \\
\vphantom{\sum\nolimits_{n=1}^{\infty}}(0,0)\\
\vphantom{\sum\nolimits_{n=1}^{\infty}}(0,n), n > 0 \\
(m,n), mn > 0
\end{gathered}
\hspace{4em}
\begin{aligned}[t]
\textit{Rate leave} &= \textit{rate enter} \\
\lambda P_{0,0} &= \sum\nolimits_{n=1}^{\infty} \mu_n P_{0,n} \\
 (\lambda + \mu_n)P_{0,n} &= \sum\nolimits_{m=1}^{\infty} \mu_m P_{n,m} \\
\lambda + \mu_n)P_{m,n} &= \lambda P_{m-1,n}
\end{aligned}
 \]
 \vskip 4ex
\[
\begin{gathered}[t]
\textit{State} \\
\vphantom{\sum_{n=1}^{\infty}}(0,0)\\
\vphantom{\sum_{n=1}^{\infty}}(0,n), n > 0 \\
(m,n), mn > 0
\end{gathered}
\hspace{4em}
\begin{aligned}[t]
\textit{Rate leave} &= \textit{rate enter} \\
\lambda P_{0,0} &= \sum_{n=1}^{\infty} \mu_n P_{0,n} \\
 (\lambda + \mu_n)P_{0,n} &= \sum_{m=1}^{\infty} \mu_m P_{n,m} \\
\lambda + \mu_n)P_{m,n} &= \lambda P_{m-1,n}
\end{aligned}
 \]

\end{document} 

在此处输入图片描述

答案4

如果你想坚持aligneqparbox's\eqmakebox[<tag>][<align>]{<stuff>}将所有<stuff>内容对齐<tag>到中心。您可以将<align>ment 更改为left、centre(默认)或right。

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,eqparbox}

\begin{document}

\begin{align*}
  \eqmakebox[LHS]{  \textit{State} } &&        \textit{Rate leave} &= \textit{rate enter} \\[1ex]
  \eqmakebox[LHS]{$     (0, 0)    $} &&           \lambda P_{0, 0} &= \textstyle\sum_{n = 1}^\infty \mu_n P_{0, n} \\
  \eqmakebox[LHS]{$ (0, n), n > 0 $} && (\lambda + \mu_n) P_{0, n} &= \textstyle\sum_{m = 1}^\infty \mu_m P_{n, m} \\
  \eqmakebox[LHS]{$(m, n), m n > 0$} && (\lambda + \mu_n) P_{m, n} &= \lambda P_{m - 1, n}
\end{align*}

\end{document}

因为eqparbox的宏使用辅助文件来存储与 相关的最大宽度<tag>,所以每次 的内容发生变化时您都必须至少编译两次<stuff>

相关内容