次のリンクのような値の表を取得したいです:
次のコード部分を書きました:
\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
キャプションとテーブル間の間隔を広げるオプションを備えたパッケージ。