我有一张这样的桌子:
\begin{tabular}{|l|c|r|}
\hline
\multicolumn{3}{|c|}{\textbf{Etumerkillinen}} \\
\hline
Tyyppi & Minimi & Maksimi \\
\hline
i8 & $ -2^{7} $ & $ 2^{7}-1 $\\
i16 & $ -2^{15} $ & $ 2^{15}-1 $\\
i32 & $ -2^{31} $ & $ 2^{31}-1 $\\
i64 & $ -2^{64} $ & $ 2^{63}-1 $\\
i128 & $ -2^{127} $ & $ 2^{127}-1 $\\
\hline
\end{tabular}
该表呈现如下:
答案1
我认为,如果您为两个数据列选择左对齐,就不会出错。要将第二列中的数字对齐到2
、-
和1
,您可以将单个列拆分为三个不同的子列。
我会更加集中精力让表格看起来更加开放,就像下面屏幕截图右侧那样。
\documentclass{article}
\usepackage{array} % for '\newcolumntype' macro
\newcolumntype{L}{>{$}l<{$}}
\newcolumntype{C}{>{${}}c<{{}$}}
\usepackage{booktabs}
\begin{document}
\begin{tabular}[t]{|l|L|L@{}C@{}L|}
\hline
\multicolumn{5}{|c|}{\textbf{Etumerkillinen}} \\
\hline
Tyyppi & $Minimi$ & \multicolumn{3}{c|}{Maksimi} \\
\hline
i8 & -2^{7^{\mathstrut}} & 2^{7} & - & 1 \\
i16 & -2^{15} & 2^{15} & - & 1 \\
i32 & -2^{31} & 2^{31} & - & 1 \\
i64 & -2^{64} & 2^{63} & - & 1 \\
i128 & -2^{127} & 2^{127} & - & 1 \\
\hline
\end{tabular}%
\qquad
\begin{tabular}[t]{@{\kern2pt} l L L@{}C@{}L @{}} % cf barbara beeton's comments below
\toprule
\multicolumn{5}{c}{\textbf{Etumerkillinen}} \\
\cmidrule{1-5}
\multicolumn{1}{@{}l}{Tyyppi} & $Minimi$ & \multicolumn{3}{c@{}}{Maksimi} \\
\midrule
i8 & -2^{7} & 2^{7} & - & 1 \\
i16 & -2^{15} & 2^{15} & - & 1 \\
i32 & -2^{31} & 2^{31} & - & 1 \\
i64 & -2^{64} & 2^{63} & - & 1 \\
i128 & -2^{127} & 2^{127} & - & 1 \\
\bottomrule
\end{tabular}
\end{document}
答案2
您可以定义\2
宏并使用它:
\def\2^#1{\hbox to1.6em{$2^{#1}$\hss}}
\begin{tabular}{|l|c|r|}
\hline
\multicolumn{3}{|c|}{\textbf{Etumerkillinen}} \\
\hline
Tyyppi & Minimi & Maksimi \\
\hline
i8 & $ -\2^{7} $ & $ \2^{7}-1 $\\
i16 & $ -\2^{15} $ & $ \2^{15}-1 $\\
i32 & $ -\2^{31} $ & $ \2^{31}-1 $\\
i64 & $ -\2^{64} $ & $ \2^{63}-1 $\\
i128 & $ -\2^{127} $ & $ \2^{127}-1 $\\
\hline
\end{tabular}
答案3
另一种可能的布局,公式在各自的列中对齐并居中。它需要eqparbox
对齐,并collcell
在表格中使用前者:
\documentclass{article}
\usepackage{array} %
\usepackage{eqparbox}
\newcommand{\eqmathboxM}[1]{\eqmakebox[M][l]{$#1$}}
\newcommand{\eqmathboxm}[1]{\eqmakebox[m][l]{$#1$}}
\usepackage{collcell}
\begin{document}
\setlength{\extrarowheight}{3pt}
\begin{tabular}[t]{|l|>{\collectcell\eqmathboxm}c< {\endcollectcell}|>{\collectcell\eqmathboxM}c< {\endcollectcell}|}
\hline
\multicolumn{3}{|c|}{\textbf{Etumerkillinen}} \\
\hline
Tyyppi & \multicolumn{1}{c}{Maxi Minimi} & \multicolumn{1}{c|}{Mini Maksimi} \\
\hline
i8 & -2^{7} & 2^{7}\hfill- 1 \\
i16 & -2^{15} & 2^{15}\hfill -1 \\
i32 & -2^{31} & 2^{31}\hfill - 1 \\
i64 & -2^{64} & 2^{63}\hfill - 1 \\
i128 & -2^{127} & \eqmakebox[M]{$ 2^{127}- 1 $} \\
\hline
\end{tabular}
\end{document}