我在双列环境中编写IEEEtran
,并有一个如下所示的表格。我需要增加行高,以便第二列中的方程式可以放进去。我尝试简单地使用\renewcommand{\arraystretch}{2.5}
可以放进去的所有内容,但垂直对齐效果不是很好。例如,第一行没有对齐,如果仔细观察,似乎每个单元格都没有完全垂直对齐。它们稍微高一点或低一点。我的问题是,除了增加行高之外,我如何让每个单元格在垂直方向上完全对齐?
下表\arraystretch
分别为 1 和 2.5。
生成表格的代码是
\begin{table}
\caption{arraystretch = 1}
\renewcommand{\arraystretch}{1}
\centering{}%
\begin{tabular}{ccc}
\toprule
\multirow{1}{*}{No.} & Equations & Current phasors\tabularnewline
\midrule
\multirow{2}{*}{1} & \multirow{2}{*}{$\begin{cases}
i_{A}=1\\
i_{B}=2\\
i_{C}=3
\end{cases}$} & 1, 2, 3\tabularnewline
\cmidrule{3-3}
& & 4, 5, 6\tabularnewline
\midrule
\multirow{2}{*}{2} & \multirow{2}{*}{$\begin{cases}
i_{A}=4\\
i_{B}=5\\
i_{C}=6
\end{cases}$} & 1, 2, 3\tabularnewline
\cmidrule{3-3}
& & 4, 5, 6\tabularnewline
\bottomrule
\end{tabular}
\end{table}
\begin{table}
\caption{arraystretch = 2.5}
\renewcommand{\arraystretch}{2.5}
\centering{}%
\begin{tabular}{ccc}
\toprule
\multirow{1}{*}{No.} & Equations & Current phasors\tabularnewline
\midrule
\multirow{2}{*}{1} & \multirow{2}{*}{$\begin{cases}
i_{A}=1\\
i_{B}=2\\
i_{C}=3
\end{cases}$} & 1, 2, 3\tabularnewline
\cmidrule{3-3}
& & 4, 5, 6\tabularnewline
\midrule
\multirow{2}{*}{2} & \multirow{2}{*}{$\begin{cases}
i_{A}=4\\
i_{B}=5\\
i_{C}=6
\end{cases}$} & 1, 2, 3\tabularnewline
\cmidrule{3-3}
& & 4, 5, 6\tabularnewline
\bottomrule
\end{tabular}
\end{table}
答案1
您的表格结构非常不寻常,因此有必要将每个单元格的内容排版为单独的自定义、垂直居中的tabular
环境。
在下面的例子中,我定义了两个这样的自定义tabular
环境:
\mytabC
,如果表格的宽度应该等于单元格内容的自然宽度,并且\mytabP
,如果表格的宽度应该是固定长度——比如说,相应标题单元格内容的宽度。
在以下屏幕截图中,上行用于\mytabC
第 1 列和第 2 列,以及\mytabP
第 3 列。下行用于\mytabC
所有 3 列。我提供了两种类型的解决方案,因为我不清楚 是否应该\midrule
跨越单元格的整个宽度,或者其宽度是否应该是单元格内容的自然宽度。
\documentclass{IEEEtran}
\usepackage{booktabs,amsmath,array,ragged2e}
%% Some housekeeping:
\newlength\mylen
\newcolumntype{P}[1]{>{\Centering\arraybackslash}p{#1}}
%% Macros to generate two custom 'tabular' environments:
\newcommand\mytabC[1]{%
\begin{tabular}[c]{@{} c @{}} #1 \end{tabular}}
\newcommand\mytabP[2]{\settowidth{\mylen}{#1}%
\begin{tabular}[c]{@{} P{\mylen} @{}} #2 \end{tabular}}
\begin{document}
\begin{table}
\caption{arraystretch = 1}
\centering
\begin{tabular}{@{}ccc@{}}
\toprule
No. & Equations & Current phasors\\
\midrule
\mytabC{1} &
\mytabC{$\begin{cases} i_{A}=1\\i_{B}=2\\i_{C}=3 \end{cases}$} &
\mytabP{Current phasors}{1, 2, 3\\ \midrule 4, 5, 6}\\
\midrule
\mytabC{2} &
\mytabC{$\begin{cases} i_{D}=4\\i_{E}=5\\i_{F}=6 \end{cases}$} &
\mytabC{7, 8, 9\\ \midrule 0, 1, 2}\\
\bottomrule
\end{tabular}
\end{table}
\end{document}