
答え1
次の卑劣なトリックを試してください:
\documentclass{article}
\usepackage{array, tabu}
\begin{document}
\begin{table}[h]
\begin{tabu} to 1.0\textwidth { |X[c,$] | X[c,$]m{0pt}|}
\hline
N_{1} & (0: 1] & \\[3cm] \hline
\end{tabu}
\end{table}
\end{document}
なぜこのような奇妙なテーブル設計が必要なのかは不明です。また、tabu
パッケージの使用は難しいです。メンテナンスされておらず、バグが含まれています...
補遺:セルの内容を垂直方向に中央揃えするのは簡単な作業ではありません。この目的のために、上記の例では、行のベースラインを垂直方向に中央揃えする偽の列が追加されていますm{0pt}
。
表のセルの内容を水平方向に中央揃えするにはtabularx
、新しい列タイプを定義する必要があります。たとえば、
\newcolumntype{C}{>{\centering\arraybackslash}X}
列全体の内容が数式モードである場合は、列全体をこのモードに定義するのが理にかなっています。そうすれば、各セルに書き込む必要はありません$<math expression>$
。この場合、新しい列タイプを次のように定義できます。
\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}
Complete code is then:
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}
\begin{document}
\begin{table}[h]
\begin{tabularx}{\textwidth}{ | C | C @{}m{0pt}|}
\hline
N_{1} & (0: 1] & \\[3cm] \hline
\end{tabularx}
\end{table}
\end{document}
ご覧のとおり、ここでも前と同じトリックが使用されています。上記の MWE では@{}
列間のスペースが削除されているため、結果は最初の例と比較してわずかに改善されています。
補遺2:\\[3cm]
セルの内容の周囲に垂直方向のスペースを増やすために を使用する理由が明確ではありません。 変更によって、より少ない問題で同様の効果を実現できます\arraystretch
。たとえば、セルに適切な垂直方向のスペースを追加して、次のようにテーブルを設計できます。
\documentclass{article}
\usepackage{tabularx}
\renewcommand\tabularxcolumn[1]{m{#1}}% <-- cell's contend is vertically centered
\newcolumntype{C}{>{\centering\arraybackslash $}X<{$}}
\begin{document}
\begin{table}[h]
\renewcommand{\arraystretch}{3}
\setlength{\extrarowheight}{-2.5pt}% <-- correction of vertical centering
\begin{tabularx}{\textwidth}{ | C | C |}
\hline
N_{1}
& (0: 1] \\ \hline
\end{tabularx}
\end{table}
\end{document}
ご覧のとおり、現在は偽の列は追加されていません。