Quero escrever algo como uma tabela com estados e as equações correspondentes, mas as equações devem estar alinhadas, como pode ser visto na imagem.
Infelizmente ainda não encontrei uma solução. Já tentei alinhar, mas o texto não está centralizado. Esse é o código que tentei:
\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*}
Alguém tem uma idéia do que devo usar para centralizar o texto?
Responder1
Eu também usaria um array
, mas simplifico o cabeçalho removendo qquad
e inserindo @{{}={}}
. Além disso, adiciono \renewcommand{\arraystretch}{1.3}
para melhor espaçamento entre linhas. E concordo com @Sebastiano que usar text
é melhor.
\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}
Responder2
Use array
, com um pequeno truque para acertar o espaçamento (não, o espaçamento correto não é \,
).
\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}
Eu evitaria \limits
, isso desequilibraria tudo.
Responder3
Outra solução, com ambientes a gathered
e an aligned
, junto com alguns \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}
Responder4
Se você quiser continuar align
,eqparbox
's \eqmakebox[<tag>][<align>]{<stuff>}
alinha tudo <stuff>
com o mesmo <tag>
no centro. Você pode alterar o <align>
ment para l
eft, c
entre (padrão) ou r
ight.
\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}
Como eqparbox
as macros de usam o arquivo auxiliar para armazenar larguras máximas relacionadas a a <tag>
, você terá que compilar pelo menos duas vezes a cada alteração no conteúdo de <stuff>
.