在操作员处对齐表格单元格的最佳方法是什么?

在操作员处对齐表格单元格的最佳方法是什么?

我有一些 csv 格式的大型上三角表,如下所示:

     ,           A,           B,         C
    D, $-10 \pm 2$, $52 \pm 40$, $9 \pm 3$
    C, $8 \pm 300$, $411 \pm 1$
    B,  $9 \pm 10$

这个想法是显示 A、B、C 和 D 的所有可能的比较。显示这样的表格的最佳方式是什么?我要做的第一件事是将所有单元格居中,并将它们与加号和减号对齐。关于如何使此表格看起来美观的其他想法也值得赞赏。

我可以完全控制数据本身,因此如果生成完全不同的 .csv 有意义,我也可以这样做。

谢谢!

答案1

siunitx包主要用于排版具有 SI 单位的物理量,但也可以用于此目的。

该包提供了S列类型,用于在表格中排版不确定的数字。通过使用列规范

S[table-align-uncertainty]

将会使数字与正负号对齐。

答案2

如果不需要数据行之间的水平规则,那么分组的 TABstack 就足够了,特别是\alignCenterstack

\documentclass{article}
\usepackage{tabstackengine}
\setstackEOL{\cr}
\setstackgap{L}{\normalbaselineskip}
\begin{document}
\begin{tabular}{c|ccc}
 & A & B& C\\
 \hline
 \Centerstack{D\cr C\cr B} & 
   {\ensurestackMath{
   \alignCenterstack{-10 \pm&2\cr 8\pm&300\cr 9\pm&10}}}
&
   {\ensurestackMath{
   \alignCenterstack{52 \pm&40\cr 411\pm&1\cr &}}}
&
   {\ensurestackMath{
   \alignCenterstack{9 \pm&3  \cr &       \cr &}}}
\end{tabular}
\end{document}

在此处输入图片描述

当然,这个答案并没有解决同样具有挑战性的问题,即如何自动化将 csv 数据转换成格式的过程tabular,而仅仅解决了操作员的对齐问题。

相关内容