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