tabularx 中 S 列缺少填充

tabularx 中 S 列缺少填充

我正在尝试创建一个表格,表格中间有一个填充列。但是,我的最后一列(S 类型)右侧没有填充,原因我不明白。

这里是 MWE

    \documentclass{article}
\usepackage{siunitx}
\usepackage{booktabs}

\usepackage{multicol}
\usepackage{textcase}
\usepackage{tabularx}

\begin{document}
\newcommand*{\tableheadline}[1]{\multicolumn{1}{c}{\textsc{\MakeTextLowercase{#1}}}}

\begin{table}
\begin{tabularx}{\textwidth}{lS[round-mode=places,round-precision=2]XlS[round-mode=places,round-precision=2]} \toprule
      \tableheadline{\MakeTextLowercase{Variable}} & \tableheadline{Value in }\si{eV} & & \tableheadline{Variable} & \tableheadline{Value in }\si{eV}\\ \midrule
      $E_A$ &  0. & & $E_C$ &  0.\\
    $J$  &  0.  & & $\xi$ &  0.0\\
    $t_1$ &  0. & & $t_2$ & -0.0\\
      \bottomrule
    \end{tabularx}
    \end{table}
\end{document}

答案1

siunitx问题与或无关tabularx:问题在于您对 的使用\tableheadline。您已将其定义为包含\multicolumn以及案例更改,然后添加额外的标题材料它(\si{eV})。然后该文本“悬空”并且无法通过对齐正确处理。如果您想保留\tableheadline当前定义,请使用要\NoCaseChange保护的部分免受大小写函数的影响:

\tableheadline{Value in \NoCaseChange{\si{eV}}}

或者,您可以分离出\mulicolumn字体/文本更改部分。

相关内容