Latex 多列垂直居中

Latex 多列垂直居中

我已经尝试了多种方法来使我正在处理的 Latex 表格垂直居中。但它总是水平居中但垂直对齐。我该怎么做才能使其垂直居中?

\begin{center}
\centering
\begin{tabular}{|p{5in}|p{.5in}|} \hline
\multicolumn{2}{|c|}{\textbf{Grade 11}} \\ [2ex] \hline
Accounting & \cellcolor{Red}Failed \\ \hline
Maths & \cellcolor{Red}Failed \\ \hline
Science & \cellcolor{Red}Failed \\ \hline
\multicolumn{2}{|c|}{\textbf{Grade 12}} \\ [2ex] \hline
Accounting & \cellcolor{Red}Failed \\ \hline
\hline
\end{tabular}
\end{center}

-------------------------------------
              Grade 11


------------------------------------- 

我需要它位于中心(水平和垂直):

-------------------------------------

               Grade 11

-------------------------------------

答案1

当所有内容都包含在环境中时,我没有看到问题,table并且booktabs包被使用。(如果你有一个完整的 Latex 安装,它应该在系统上。)它是很容易推荐的表格包之一。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{booktabs}

\begin{table*}[!tb]
\centering
{ % scope the arraystretch command below
\renewcommand{\arraystretch}{1.5}

\begin{tabular}{ @{} p{5in} p{0.5in} @{} }  \toprule    
\multicolumn{2}{c}{ \textbf{Grade 11} } \\  \midrule 
Accounting & Failed \\ 
Maths      & Failed \\                      \bottomrule 
\end{tabular} 

} % end of \arraystretch scope. 
\caption{ An example table } 
\end{table*} 

我还通过更新(仅在块内)将行拉得更远一些\arraystretch,然后添加@{}删除左右两侧的多余空间。这些都不是必需的。我删除了垂直线,可以像往常一样添加。我没有颜色,因为它对我不起作用。\toprule和给出的水平线\midrule具有不同的厚度,也可以调整。

注意:我不知道为什么这里的图形没有居中。表格在文档中居中。

表示例


如果您宁愿直接修复现有内容,则需要手动添加行上方的间距 - 下方的间距也已手动添加(\\[2ex])。只需在多列行上方添加一条额外的行即可

\multicolumn{2}{|c|}{ } \\                                % add this
\multicolumn{2}{|c|}{\textbf{Grade 11}} \\[2ex] \hline
 % ...

不过,我很乐意推荐booktabs让表格看起来更好。如果你愿意,你仍然可以调整间距,但这种需要的可能性要小得多。另一个通常推荐用于表格的软件包是array

相关内容