我想对齐tabular
环境中的方程,这些方程包含一个case
环境,使得对齐变得烦人,下图显示了我遇到的麻烦,我该如何解决这个问题?
Latex 代码是
\documentclass[preview]{standalone}
\usepackage{amsmath}
\usepackage[flushleft]{threeparttable}
\usepackage{makecell,booktabs}
\begin{document}
\newsavebox\CE
\begin{lrbox}{\CE}
$\begin{aligned}
\hat{x}^i_k & = \hat{x}^i_{k\mid {k-1}}+ K^i_k( z^{i}_k - H^i_k \hat{x}^i_{k \mid k-1})+u^i_k \notag\\
u^i_k&=C^i_k \sum_{j\in N_i}(\hat{x}^j_{{k-1}}-\hat{x}^i_{k\mid {k-1}} )
\end{aligned}
$
\end{lrbox}
\newsavebox\HC
\begin{lrbox}{\HC}
$\begin{aligned}
\begin{cases}
\hat{x}^i_k & = A_k \hat{x}^i_{ {k-1}}+ K^i_k( z^{i}_k - H^i_k \hat{x}^i_{ k-1})+u^i_k \notag\\
u^i_k&=C^i_k \sum_{j\in N_i}(\hat{x}^j_{{k-1}}-\hat{x}^i_{ {k-1}} )
\end{cases}\\
& Subject To\\
\frac{1}{n}\sum_{i\in \mathcal{N}} \|\tilde{z}^i\|^2 &\leq \gamma^2 \{ \|v\|_2^2 +\frac{1}{n}\sum_{i\in \mathcal{N}} (e^i_0)^T S^i e^i_0\}
\end{aligned}
$
\end{lrbox}
\begin{table}
\caption{The mechanisms of four consensus filtering approaches}
\centering
\begin{threeparttable}
\begin{tabular}{cc@{\qquad}}
Types & Structures of Consensus Filters\\
\midrule\midrule
\makecell{CE} & \usebox{\CE} \\\cmidrule(l r){1-2}
\makecell{$H_\infty$\\ consensus} & \usebox{\HC} \\ \midrule\midrule
\end{tabular}
\end{threeparttable}
\end{table}
\end{document}
答案1
我只是猜测你喜欢你的桌子是什么样子的:就像这样:
对于上图,我重写(简化)了你的 MWE:
\documentclass[border=3mm,preview]{standalone}
\usepackage{amsmath}
%\usepackage[flushleft]{threeparttable}
\usepackage{array,booktabs}
\usepackage[font=small]{caption}
\begin{document}
\begin{table}
\caption{The mechanisms of four consensus filtering approaches}
\centering
\begin{tabular}{m{22mm} m{66mm}}
Types & Structures of Consensus Filters\\
\midrule\midrule
CE &
$\begin{aligned}
\hat{x}^i_k & = \hat{x}^i_{k\mid k-1} + K^i_k(z^i_k
- H^i_k \hat{x}^i_{k \mid k-1})+u^i_k \\
u^i_k & = C^i_k \sum_{j\in N_i}(\hat{x}^j_{k-1}-\hat{x}^i_{k\mid k-1})
\end{aligned}
$ \\%new row
\cmidrule(l r){1-2}
$H_\infty$\newline
consensus
& $\begin{aligned}
& \begin{cases}
\hat{x}^i_k = A_k \hat{x}^i_{k-1}
+ K^i_k(z^i_k- H^i_k\hat{x}^i_{k-1})
+ u^i_k \\
u^i_k = C^i_k \sum_{j\in N_i}(\hat{x}^j_{k-1}-\hat{x}^i_{k-1})
\end{cases}\\
& \text{Subject To:}\\
& \frac{1}{n}\sum_{i\in \mathcal{N}} \|\tilde{z}^i\|^2
\leq \gamma^2 \{\|v\|_2^2
+ \frac{1}{n}\sum_{i\in\mathcal{N}} (e^i_0)^T S^i e^i_0\}
\end{aligned}
$ \\% end of rows
\midrule\midrule
\end{tabular}
\end{table}
\end{document}
如您所见,我将方程式直接写入表格中。在其中,我省略了所有不必要的内容,并将“取决于”作为文本写入。我保留了方程式的左对齐。
c
我使用列类型m{>width>}
(在这里您可以根据自己的喜好选择宽度)。此列类型使单元格内容垂直居中并左对齐。如果您喜欢水平居中,则m{<width>}
使用:
>{\centering\arraybackslash}m{<width>}
我不知道使用的目的是什么threeparttable
,无论如何我忽略了它,因为它对表格外观没有影响,除了标题。为此我宁愿使用caption
包。
编辑:cases
如果你在环境中删除“&”符号,你会获得更好的效果,正如@egreg 在他的评论中所建议的那样。