为什么我无法垂直对齐表格第三列的文本?

为什么我无法垂直对齐表格第三列的文本?

我正在尝试制作一个列出一些数学函数的表格。我一直在网上搜索如何将单元格中的方程式垂直和水平居中。我想我已经找到了答案,但无论我做什么,第三列中的方程式都不会对齐,只会停留在顶部。我使用这个array包。我做错了什么?

    \begin{table}[H]
    \centering
    \newcolumntype{A}{ >{\centering\arraybackslash} m{1cm} }
    \newcolumntype{B}{ >{\centering\arraybackslash} m{4cm} }
    \newcolumntype{C}{ >{\centering\arraybackslash} m{2cm} }
    \begin{tabular}{|A|B|C|}
    \hline

    $n$ & $a_{n}$ & $\frac{k_{0}^{n}}{n!}a_{0}$ \\[2ex]

    \hline

    1 & $k_{0}a_{0}$ & $\frac{k_{0}^{1}}{1}a_{0}$ \\[2ex]

    \hline

    2 & $\frac{k_{0}}{2}a_{1}=\frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{2}}{2 \cdot 1}a_{0}$ \\[2ex]

    \hline

    3 & $\frac{k_{0}}{3}a_{2}=\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{3}}{3 \cdot 2 \cdot 1}a_{0}$ \\[2ex]

    \hline

    4 & $\frac{k_{0}}{4}a_{3}=\frac{k_{0}}{4}\frac{k_{0}}{3}
    \frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{4}}{4 \cdot 3 \cdot 2 \cdot 1}a_{0}$ \\[2ex]

    \hline
    \end{tabular}
    \end{table}

答案1

为了进行比较,我认为 ConTeXt 在这种情况下提供了更清晰的解决方案。

  • 使用设置来指定三列的宽度(width=...),指定所有单元格应水平和垂直中间对齐(align={middle,lohi}),并指定每个单元格应具有1ex顶部和底部偏移(toffset=1ex, boffset=1ex):

    \startsetups table:align
      \setupTABLE[align={middle,lohi}, toffset=1ex, boffset=1ex]
      \setupTABLE[column][1][width=1cm]
      \setupTABLE[column][2][width=4cm]
      \setupTABLE[column][3][width=2cm]
    \stopsetups
    
  • 然后使用该设置来获取表格数据

    \startTABLE[setups={table:align}]
       \NC $n$ \NC $a_{n}$      \NC $\frac{k_{0}^{n}}{n!}a_{0}$                        
       \NC \NR
       \NC 1   \NC $k_{0}a_{0}$ \NC $\frac{k_{0}^{1}}{1}a_{0}$
       \NC \NR
       \NC 2   \NC $\frac{k_{0}}{2}a_{1}=\frac{k_{0}}{2}k_{0}a_{0}$                               
       \NC $\frac{k_{0}^{2}}{2 \cdot 1}a_{0}$
       \NC \NR
       \NC 3   \NC $\frac{k_{0}}{3}a_{2}=\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0}$                
       \NC $\frac{k_{0}^{3}}{3 \cdot 2 \cdot 1}a_{0}$
       \NC \NR
       \NC 4   \NC $\frac{k_{0}}{4}a_{3}=\frac{k_{0}}{4}\frac{k_{0}}{3} \frac{k_{0}}{2}k_{0}a_{0}$
       \NC $\frac{k_{0}^{4}}{4 \cdot 3 \cdot 2 \cdot 1}a_{0}$
       \NC \NR
    \stopTABLE
    

在此处输入图片描述

答案2

我怀疑这不是你的错……

您可以通过确保m不在最后一列来避免此问题:

在此处输入图片描述

另外,请始终确保您的问题包含显示所有使用的包的完整文档:

\documentclass{article}
\usepackage{array}
\setlength\extrarowheight{7pt}
\begin{document}
    \centering
    \newcolumntype{A}{ >{\centering\arraybackslash} m{1cm} }
    \newcolumntype{B}{ >{\centering\arraybackslash} m{4cm} }
    \newcolumntype{C}{ >{\centering\arraybackslash} m{2cm} }
    \begin{tabular}{|A|B|C|@{}c@{}}
    \hline

    $n$ & $a_{n}$ & $\frac{k_{0}^{n}}{n!}a_{0}$ &\\[2ex]

    \hline

    1 & $k_{0}a_{0}$ & $\frac{k_{0}^{1}}{1}a_{0}$ &\\[2ex]

    \hline

    2 & $\frac{k_{0}}{2}a_{1}=\frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{2}}{2 \cdot 1}a_{0}$ &\\[2ex]

    \hline

    3 & $\frac{k_{0}}{3}a_{2}=\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{3}}{3 \cdot 2 \cdot 1}a_{0}$ &\\[2ex]

    \hline

    4 & $\frac{k_{0}}{4}a_{3}=\frac{k_{0}}{4}\frac{k_{0}}{3}
    \frac{k_{0}}{2}k_{0}a_{0}$ 
    & $\frac{k_{0}^{4}}{4 \cdot 3 \cdot 2 \cdot 1}a_{0}$ &\\[2ex]

    \hline
    \end{tabular}

\end{document}

答案3

鉴于您似乎想确保数学材料垂直居中,我认为最好不要插入[2ex]额外的垂直空格之类的东西,而是在每一行上插入“数学支柱”。以下 MWE 定义了一个名为\RTS“really tall strut”的宏,该宏应插入到您希望放大其高度的每一行中的某个位置。

在此处输入图片描述

\documentclass{article}
\usepackage{array,float}
\newcolumntype{A}{ >{\centering\arraybackslash} p{1cm} }
\newcolumntype{B}{ >{\centering\arraybackslash} p{4cm} }
\newcolumntype{C}{ >{\centering\arraybackslash} p{2cm} }
  % RTS is short for "really tall strut":
\newcommand\RTS{$\vphantom{\int\limits_0^1}$}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{|A|B|C|}
\hline
$n$ & $a_{n}$ & $\frac{k_{0}^{n}}{n!}a_{0}$ \RTS \\
\hline
1 
& $k_{0}a_{0}$ 
& $\frac{k_{0}^{1}}{1}a_{0}$ \RTS \\
\hline
2 
& $\frac{k_{0}}{2}a_{1}=\frac{k_{0}}{2}k_{0}a_{0}$ 
& $\frac{k_{0}^{2}}{2 \cdot 1}a_{0}$ \RTS \\
\hline
3 & 
$\frac{k_{0}}{3}a_{2}=\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0}$ 
& $\frac{k_{0}^{3}}{3 \cdot 2 \cdot 1}a_{0}$ \RTS \\
\hline
4 
& $\frac{k_{0}}{4}a_{3}=\frac{k_{0}}{4}\frac{k_{0}}{3}
\frac{k_{0}}{2}k_{0}a_{0}$ 
& $\frac{k_{0}^{4}}{4 \cdot 3 \cdot 2 \cdot 1}a_{0}$ \RTS \\
\hline
\end{tabular}
\end{table}
\end{document}

答案4

我将使用array嵌套在某种数学环境中的环境:

{\renewcommand{\arraystretch}{3}
\[\begin{array}{|l|>{\displaystyle{}}c|>{\displaystyle{}}c|}\hline
    n & a_{n}                                                                        & \frac{k_{0}^{n}}{n!}a_{0}                \\\hline
    1 & k_{0}a_{0}                                                                   & \frac{k_{0}^{1}}{1}a_{0}                 \\\hline
    2 & \frac{k_{0}}{2}a_{1} =\frac{k_{0}}{2}k_{0}a_{0}                              & \frac{k_{0}^{2}}{2 \cdot 1}a_{0}         \\\hline
    3 & \frac{k_{0}}{3}a_{2}=\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0}                & \frac{k_{0}^{3}}{3 \cdot 2 \cdot 1}a_{0} \\\hline
    4 & \frac{k_{0}}{4}a_{3}=\frac{k_{0}}{4}\frac{k_{0}}{3}\frac{k_{0}}{2}k_{0}a_{0} & \frac{k_{0}^{4}}{4 \cdot 3 \cdot 2 \cdot 1}a_{0} \\\hline
\end{array}\]

在此处输入图片描述

相关内容