改进表格中带符号分数的对齐方式

改进表格中带符号分数的对齐方式

我想找到一种方法来更好地对齐表格中的带符号分数。请看以下示例:

\documentclass{article}
\usepackage{amsmath}
\usepackage{booktabs}

\begin{document}

\begin{table}
  \centering
  \begin{tabular}{rr} \toprule
    $\alpha$ & $\beta$ \\ \midrule
    $-\frac{9}{2}$ & $-\frac{1}{6}$ \\[0.8ex] 
    $-\frac{7}{2}$ & $\frac{1}{30}$ \\[0.5ex]                                  
    \bottomrule
  \end{tabular}
\end{table}

\end{document}

得出:

在此处输入图片描述

我不喜欢第二列的外观,我认为如果1/30将其与 居中对齐,效果会更好1/6。通过反复尝试,我注意到将第二列的类型更改为并在 前面c添加,即\phantom{-}1/30

\begin{table}
  \centering
  \begin{tabular}{rc} \toprule
    $\alpha$ & $\beta$ \\ \midrule
    $-\frac{9}{2}$ & $-\frac{1}{6}$ \\[0.8ex] 
    $-\frac{7}{2}$ & $\phantom{-}\frac{1}{30}$ \\[0.8ex]                                  
    \bottomrule
  \end{tabular}
\end{table}

我得到了我认为更好的结果:

在此处输入图片描述

但是,这要求我手动\phantom{-}为表中的每个正条目添加命令:我想避免这种情况,因为表很大。所以我有两个问题:

  1. 有没有办法在 LaTeX 中或通过包可以自动添加\phantom{-}
  2. 您知道有没有更好的方法来获得我想要的分数对齐方式?

答案1

我认为标准居中对齐没有任何问题。考虑一下有-1/6和的情况-1/30:如果将分数居中对齐,则减号将消失。

我可以为包含负数条目的列提供一种新的列类型。

\documentclass{article}
\usepackage{amsmath,mathtools}
\usepackage{booktabs,array,calc}

\newcolumntype{n}{@{\hspace{\dimexpr\fontcharwd\textfont2 0+\arraycolsep}}c}
\newcommand{\?}{\mathllap{-}}
\newcommand{\mcn}[1]{%
  \multicolumn{1}{c}{\kern-\fontcharwd\textfont2 0 #1}%
}

\begin{document}

\begin{table}
\centering

$\begin{array}{nnc}
\toprule
\mcn{\alpha} & \mcn{\beta} & \gamma \\
\midrule
\?\frac{9}{2} & \?\frac{1}{6}  & 2 \\[0.8ex]
\?\frac{7}{2} &   \frac{1}{30} & 3 \\[0.5ex]
\bottomrule
\end{array}$

\end{table}

\end{document}

在此处输入图片描述

相关内容