![垂直堆栈中的最后一个表未对齐](https://linux22.com/image/471685/%E5%9E%82%E7%9B%B4%E5%A0%86%E6%A0%88%E4%B8%AD%E7%9A%84%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E8%A1%A8%E6%9C%AA%E5%AF%B9%E9%BD%90.png)
我想tabular
在同一个table
环境中垂直堆叠三个环境。以下代码是我的成果。我发现最后一张表未对齐。这是第三个,但如果我添加另一个,前三个将对齐,但第四个不会对齐。由于第二个和第三个的代码相同,我不知所措。(顺便说一句:忽略数字上的数学模式编码 - 表格位于示例环境中,我想覆盖它对数字的影响。)
\documentclass{amsbook}
\begin{document}
\begin{table}[h]
\begin{tabular}{ |c|c|c|c||c| }
\hline
k / m &$1$ &$2$ &$3$ &$p_M$\\
\hline
$1$ &$0$ &$0.15$ &$0$ &$0.15$ \\
\hline
$2$ &$0.3$ &$0.45$ &$0.1$ &$0.85$\\
\hline
\hline
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\hline
\end{tabular}
\newline
\vspace{0.5cm}
\newline
\begin{tabular} { |c|c|c|c|c|}
\hline
$k$ &$1$ &$2$ &$3$ &Total \\
\hline
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\hline
\end{tabular}
\newline
\vspace{0.25cm}
\newline
\begin{tabular} { |c|c|c|c|}
\hline
$m$ &$1$ &$2$ &Total \\
\hline
$p_M$ &$0.15$ &$0.85$ &$1.0$ \\
\hline
\end{tabular}
\caption{Marginal Distributions} \label{tab:Marginals}
\end{table}
\end{document}
谢谢你的帮助。
答案1
表格amsbook
标题应放在顶部。
我建议避免\newline
,但也采用一种占用更少空间的其他方法。
\documentclass{amsbook}
\usepackage{booktabs}% for the second table
\begin{document}
\begin{table}[htp]
\caption{Marginal Distributions} \label{tab:Marginals}
\begin{tabular}{ |c|c|c|c||c| }
\hline
$k / m$ &$1$ &$2$ &$3$ &$p_M$\\
\hline
$1$ &$0$ &$0.15$ &$0$ &$0.15$ \\
\hline
$2$ &$0.3$ &$0.45$ &$0.1$ &$0.85$\\
\hline
\hline
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\hline
\end{tabular}
\vspace{2ex}
\begin{tabular} { |c|c|c|c|c|}
\hline
$k$ &$1$ &$2$ &$3$ &Total \\
\hline
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\hline
\end{tabular}
\vspace{2ex}
\begin{tabular} { |c|c|c|c|}
\hline
$m$ &$1$ &$2$ &Total \\
\hline
$p_M$ &$0.15$ &$0.85$ &$1.0$ \\
\hline
\end{tabular}
\end{table}
\begin{table}[htp]
\caption{Marginal Distributions} \label{tab:Marginals-better}
\begin{tabular}{ @{}ccccc@{} }
\toprule
$k / m$ &$1$ &$2$ &$3$ &$p_M$\\
\midrule
$1$ &$0$ &$0.15$ &$0$ &$0.15$ \\
$2$ &$0.3$ &$0.45$ &$0.1$ &$0.85$\\
\midrule
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\bottomrule
\end{tabular}\qquad
%%% measure the top table
\sbox0{%
\begin{tabular} { @{}ccccc@{} }
\toprule
$k$ &$1$ &$2$ &$3$ &Total \\
\midrule
$p_K$ &$0.3$ &$0.6$ &$0.1$ &$1.0$ \\
\bottomrule
\end{tabular}}
\begin{tabular}{@{}c@{}}
\usebox{0}\\
\addlinespace[2ex]
\begin{tabular*}{\wd0} { @{\extracolsep{\fill}}cccc@{} }
\toprule
$m$ &$1$ &$2$ &Total \\
\midrule
$p_M$ &$0.15$ &$0.85$ &$1.0$ \\
\bottomrule
\end{tabular*}
\end{tabular}
\end{table}
\end{document}
请注意,第三个表格的宽度与第二个表格的宽度相同。
我们\sbox0{\begin{tabular}...\end{tabular}}
将第二个子表存储在一个盒子中,以便我们可以测量它的宽度:我选择这个,因为第一次尝试表明它比第三个表更宽。
现在,我们可以借助 使第三个子表与第二个子表一样宽tabular*
。它们两个放在外部表格中,以确保与第一个子表垂直对齐。我们可以“使用”已经存储的子表,而不是重新输入第二个子表。
答案2
amsbook
居中table
环境,但\newline
强制使用短左对齐线
\documentclass{amsbook}
\begin{document}
\begin{table}[h]
X
\newline
\vspace{0.5cm}
\newline
X
\newline
\vspace{0.25cm}
\newline
X
\end{table}
\end{document}
只需使用一个空行(你几乎总是需要在之前有一个空行\vspace
)
\documentclass{amsbook}
\begin{document}
\begin{table}[h]
X
\vspace{0.5cm}
X
\vspace{0.25cm}
X
\end{table}
\end{document}
答案3
只需去掉\newline
说明即可。
\documentclass{amsbook}
\begin{document}
\begin{table}[h]
$\begin{array}{ |c|c|c|c||c| }
\hline
\text{k / m} &1 &2 &3 &p_M \\ \hline
1 &0 &0.15 &0 &0.15 \\ \hline
2 &0.3 &0.45 &0.1 &0.85 \\ \hline\hline
p_K &0.3 &0.6 &0.1 &1.0 \\ \hline
\end{array}$
\vspace{2.5mm}
$\begin{array} { |c|c|c|c|c|}
\hline
k &1 &2 &3 &\text{Total} \\ \hline
p_K &0.3 &0.6 &0.1 &1.0 \\ \hline
\end{array}$
\vspace{2.5mm}
$\begin{array} { |c|c|c|c|}
\hline
m &1 &2 &\text{Total} \\ \hline
p_M &0.15 &0.85 &1.0 \\ \hline
\end{array}$
\bigskip
\caption{Marginal Distributions}
\label{tab:Marginals}
\end{table}
\end{document}