表格中的垂直对齐不起作用..有人能告诉我为什么吗?

表格中的垂直对齐不起作用..有人能告诉我为什么吗?

我一无所知。谁能告诉我为什么乳胶没有垂直居中我的桌子?这是我的 MWE:

\documentclass[english]{article}
\usepackage{array}
\usepackage{amsmath}

\begin{document}
\begin{tabular}{|>{\centering}m{2cm}|>{\centering}m{2cm}|>{\centering}m{2cm}|>{\centering}m{2cm}|}
\cline{2-4} 
\multicolumn{1}{>{\centering}m{2cm}|}{} & Answer 1 & Answer 2 & Answer 3\tabularnewline[5pt]
\hline 
$\sin\widehat{CAB}$ & $\dfrac{AB}{AC}$ & $\dfrac{AC}{AB}$ & $\dfrac{BC}{AC}$\tabularnewline[10pt]
\hline 
$\cos\widehat{CAB}$ & $\dfrac{CB}{AB}$ & $\dfrac{CB}{AC}$ & $\dfrac{AB}{AC}$\tabularnewline[10pt]
\hline 
$\tan\widehat{CAB}$ & $\dfrac{AB}{CB}$ & $\dfrac{CB}{AB}$ & $\dfrac{AC}{AB}$\tabularnewline[10pt]
\hline 
\end{tabular}


\end{document}

这是我使用 MWE 得到的结果。在我的实际文件中,情况更糟(根本没有中心对齐)。 在此处输入图片描述

谢谢你!

答案1

https://github.com/AnMnv/eBook(例 4.8)

在此处输入图片描述

\documentclass[english]{article}
\usepackage{array}
\usepackage{amsmath}
\usepackage{float}
\usepackage{array, makecell}
\setcellgapes{5pt}

\begin{document}
\begin{table}[H]
\center
\makegapedcells
\begin{tabular}{|c|c|c|c|}
\cline{2-4} 
\multicolumn{1}{c|}{} & Answer 1 & Answer 2 & Answer 3\tabularnewline[5pt]
\hline 
$\sin\widehat{CAB}$ & $\dfrac{AB}{AC}$ & $\dfrac{AC}{AB}$ & $\dfrac{BC}{AC}$\tabularnewline[10pt]
\hline 
$\cos\widehat{CAB}$ & $\dfrac{CB}{AB}$ & $\dfrac{CB}{AC}$ & $\dfrac{AB}{AC}$\tabularnewline[10pt]
\hline 
$\tan\widehat{CAB}$ & $\dfrac{AB}{CB}$ & $\dfrac{CB}{AB}$ & $\dfrac{AC}{AB}$\tabularnewline[10pt]
\hline 
\end{tabular}
\end{table}


\end{document}

答案2

以下是使用新tabularray包的解决方案(加拿大运输安全局)。该软件包允许您完全分离格式和内容。

\documentclass[english]{article}
\usepackage{array}
\usepackage{amsmath}

\usepackage{tabularray}

\begin{document}
% horizontally and vertically centered column with specified width
\NewColumnType{C}[1]{Q[c,m,wd=#1]}

% tblr environment allows complete separation of format and content
\begin{tblr}{
        colspec=*{4}{C{2cm}},
        hline{1}={2-Z}{solid}, hline{2-Z},
        vline{1}={2-Z}{solid}, vline{2-Z},
        cell{2-Z}{1-Z}={mode=math},
        row{2-Z}={rowsep=4pt},
    }
    & Answer 1 & Answer 2 & Answer 3 \\
    \sin\widehat{CAB} & \dfrac{AB}{AC} & \dfrac{AC}{AB} & \dfrac{BC}{AC} \\
    \cos\widehat{CAB} & \dfrac{CB}{AB} & \dfrac{CB}{AC} & \dfrac{AB}{AC} \\
    \tan\widehat{CAB} & \dfrac{AB}{CB} & \dfrac{CB}{AB} & \dfrac{AC}{AB} \\
\end{tblr}
    
\end{document}

输出表

默认情况下,包的垂直间距更好。此外,我将第 2-4 行设置rowsep4pt(default= 2pt) 以提高可读性。

编辑:受 Mico 的回答启发,这里是另一个使用tabullarray和的解决方案booktabs。在我看来,这种格式比使用垂直线要好得多。确保添加\UseTblrLibrary{booktabs}以使用它。

\begin{tblr}{
        colspec=*{4}{c},
        cell{2-Z}{1-Z}={mode=math},
        row{2-Z}={rowsep=4pt},
    }
    \toprule
    & Answer 1 & Answer 2 & Answer 3 \\
    \cmidrule{2-4}
    \sin\widehat{CAB} & \dfrac{AB}{AC} & \dfrac{AC}{AB} & \dfrac{BC}{AC} \\
    \cos\widehat{CAB} & \dfrac{CB}{AB} & \dfrac{CB}{AC} & \dfrac{AB}{AC} \\
    \tan\widehat{CAB} & \dfrac{AB}{CB} & \dfrac{CB}{AB} & \dfrac{AC}{AB} \\
    \bottomrule
\end{tblr}

输出书目标签

答案3

由于手头的表格似乎不需要单元格内的自动换行,因此使用p(或m) 列类型似乎有些过头了。如果您必须使用固定宽度和居中的列,我建议您使用包wc提供的列类型array

我还会从 a 环境切换tabular到 anarray环境,因为所有单元格都是数学的。为了增加分数项和水平线之间的距离,我建议插入一些\mathstrut指令。进行这些更改的结果显示在下面的第一个表中。

不过,我不清楚为什么单元格必须为 2cm 宽。使用c而不是wc列的结果显示在下面的中间表中。

如果您可以摆脱所有垂直线和大多数水平线,并对booktabs剩余的几条水平线使用包的宏,那么您也可以省去指令\mathstrut;请参阅下面的第三个表格。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{array} % for 'wc' column type
\newcommand\wCAB{\widehat{\mathit{CAB}}}
\let\ms\mathstrut

\begin{document}
\setlength\extrarowheight{2pt}
$\begin{array}{| *{4}{>{\displaystyle}wc{2cm}|} }
\cline{2-4} 
\multicolumn{1}{c|}{} & \textup{Answer 1} & \textup{Answer 2} & \textup{Answer 3} \\
\hline 
\sin\wCAB & \frac{AB^{\ms}}{AC\ms} & \frac{AC}{AB} & \frac{BC}{AC}\\
\hline 
\cos\wCAB & \frac{CB^{\ms}}{AB\ms} & \frac{CB}{AC} & \frac{AB}{AC}\\
\hline 
\tan\wCAB & \frac{AB^{\ms}}{CB\ms} & \frac{CB}{AB} & \frac{AC}{AB}\\
\hline 
\end{array}$

\bigskip
$\begin{array}{| *{4}{>{\displaystyle}c|} }
\cline{2-4} 
\multicolumn{1}{c|}{} & \textup{Answer 1} & \textup{Answer 2} & \textup{Answer 3} \\
\hline 
\sin\wCAB & \frac{AB^{\ms}}{AC\ms} & \frac{AC}{AB} & \frac{BC}{AC}\\
\hline 
\cos\wCAB & \frac{CB^{\ms}}{AB\ms} & \frac{CB}{AC} & \frac{AB}{AC}\\
\hline 
\tan\wCAB & \frac{AB^{\ms}}{CB\ms} & \frac{CB}{AB} & \frac{AC}{AB}\\
\hline 
\end{array}$

\bigskip\setlength
\extrarowheight{0pt} % reset '\extrarowheihgt` parmeter
$\begin{array}{@{} *{4}{>{\displaystyle}c} @{}}
\toprule 
 & \textup{Answer 1} & \textup{Answer 2} & \textup{Answer 3} \\
\cmidrule[\lightrulewidth](l){2-4}
\sin\wCAB & \frac{AB}{AC} & \frac{AC}{AB} & \frac{BC}{AC}\\
\addlinespace[2ex]
\cos\wCAB & \frac{CB}{AB} & \frac{CB}{AC} & \frac{AB}{AC}\\
\addlinespace[2ex]
\tan\wCAB & \frac{AB}{CB} & \frac{CB}{AB} & \frac{AC}{AB}\\
\bottomrule
\end{array}$
\end{document}

相关内容