我想要获取如以下链接所示的值表:
我写了以下部分代码:
\central
\begin{tabular}{ | l | l | l | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | }
\hline
\foreignlanguage{english}{m} \setminus \foreignlanguage{english}{n} & 0 & 1 & 2 & 3 & 4 & 5 & \dots & \foreignlanguage{english}{y} \\ \hline
0 & 1 & 2 & 3 & 4 & 5 & 6 & \dots & \foreignlanguage{english}{y}+1 \\ \hline
1 & 2 & 3 & 4 & 5 & 6 & 7 & \dots & \foreignlanguage{english}{y}+2 \\ \hline
2 & 3 & 5 & 7 & 9 & 11 & 13 & \dots & 2\foreignlanguage{english}{y}+3 \\ \hline
3 & 5 & 13 & 39 & 81 & & & \dots & 8 \cdot 2^{\foreignlanguage{english}{y}}-3\\ \hline
4 & 13 & 65533 & & & & & \dots & 2^{2^{.^{.^.}}^2}-3\\ \hline
5 & 65533 & & & & & & \dots & \\ \hline
\dots & & & & & & & \dots &\\ \hline
\end{tabular}
这是正确的吗?我可以改进一些吗?
答案1
以下是我的做法:
\documentclass{article}
\usepackage[margin = 3cm]{geometry}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{mathdots}
\begin{document}
\noindent Before.
\begin{table}[htbp]
\centering
\label{table:something}
\begin{tabular}{
>{$}c<{$}
*{2}{S[table-format = 5]}
*{2}{S[table-format = 2]}
*{2}{S[table-format = 3]}
}
\toprule
A(m,n) & {$n = 0$} & {$n = 1$} & {$n = 2$} & {$n = 3$} & {$n = 4$} & {$n = 5$} \\
\midrule
m = 0 & 1 & 2 & 3 & 4 & 5 & 6 \\[1ex]
m = 1 & 2 & 3 & 4 & 5 & 6 & 7 \\[1ex]
m = 2 & 3 & 5 & 7 & 9 & 11 & 13 \\[1ex]
m = 3 & 5 & 13 & 29 & 61 & 125 & 253 \\[1ex]
m = 4 & 13 & 65536 & {$2^{\num{65536}}-3$} & {$2^{2^{\num{65536}}}-3$} & {$2^{2^{2^{\num{65536}}}}-3$} & {$2^{2^{2^{2^{\num{65536}}}}}-3$} \\[1ex]
m = 5 & 65536 & & & & & \\[1ex]
m = 6 & {$2^{2^{2^{2^{\iddots}}}}\raisebox{1.2ex}{$\Bigr\}$\,(\num{65536}~mal)}-3$} & & & & & \\
\bottomrule
\end{tabular}
\end{table}
\noindent After.
\end{document}
一些建议:
- 使用
siunitx
包来对齐表中的数字。(此外,如果您有物理单位,请使用包。) - 使用
booktabs
包装以获得更好的厚度——以及水平规则周围的间距。 - 尽可能使用语法
*{<number of columns>}{<column type>}
来缩短代码。 - 构造输入代码使其看起来像输出,以便更好地概述它。
PS 如果您想要表格标题,请使用caption
包中包含可选项tableposition = top
,以在标题和表格之间获得更好的间距。