如何证明表格中科学值的左右对齐

如何证明表格中科学值的左右对齐

如下图所示,由于使用了 + 和 - 符号,一些科学数值的长度比其他数值短。+ 符号比 - 符号占用更多空间。默认情况下,值左对齐。如何左对齐和右对齐(对齐)?

\begin{table*}[htbp]
\centering
\caption{}
\begin{adjustbox}{max width=\textwidth}
{\renewcommand{\arraystretch}{1.3}%
\begin{tabular}{rrrrrrrrrrr}
\hline
\multicolumn{2}{c}{\multirow{2}[2]{*}{Functions}} & \multicolumn{2}{c}{FCDE} &         \multicolumn{2}{c}{POBL-ADE} & \multicolumn{2}{c}{FWA-DE} & \multicolumn{2}{c}{FERDE} & \multicolumn{1}{c}{CDEOA} \\
\multicolumn{2}{c}{} & \multicolumn{2}{c}{Mean Error±Std Dev} & \multicolumn{2}{c}{Mean Error±Std Dev} & \multicolumn{2}{c}{Mean Error±Std Dev} & \multicolumn{2}{c}{Mean Error±Std Dev} & \multicolumn{1}{c}{Mean Error±Std Dev} \\ \hline
\multicolumn{1}{c}{\multirow{3}[5]{*}{\parbox{1.4cm}{\textit{Unimodal Functions}}}} & \multicolumn{1}{c}{$F_1$} & \multicolumn{1}{l}{6.54E+04±4.90E+04} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{1.60E+04±1.22E+04} & \multicolumn{1}{l}{+} & \multicolumn{1}{l}{2.76E+05±1.82E+05} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{5.41E+02±5.41E+02} & \multicolumn{1}{l}{+} & \multicolumn{1}{l}{4.64E+04±4.26E+04} \\
\multicolumn{1}{c}{} & \multicolumn{1}{c}{$F_2$} & \multicolumn{1}{l}{0.00E+00±0.00E+00} & \multicolumn{1}{l}{$\approx$} & \multicolumn{1}{l}{3.14E+02±7.52E+02} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{0.00E+00±1.87E-16} & \multicolumn{1}{l}{$\approx$} & \multicolumn{1}{l}{2.39E-03±2.39E-03} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{0.00E+00±8.01E-13} \\
\multicolumn{1}{c}{} & \multicolumn{1}{c}{$F_3$} & \multicolumn{1}{l}{3.51E+01±1.26E+02} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{0.00E+00±4.59E-09} & \multicolumn{1}{l}{$\approx$} & \multicolumn{1}{l}{0.00E+00±4.74E-16} & \multicolumn{1}{l}{+} & \multicolumn{1}{l}{1.13E-03±1.13E-03} & \multicolumn{1}{l}{-} & \multicolumn{1}{l}{1.05E-05±6.68E-05} \\
%\bottomrule
\end{tabular}}%
\end{adjustbox}
\label{tab:table3}%
\end{table*}%

在此处输入图片描述

答案1

我建议使用 siunitx 及其非常强大的S表格说明符。

然后,您只需稍微调整编号并给出正确的table-format选项。这是1.2(3)e-2因为小数点前有 1 位数字,小数点后有 2 位数字,标准差有 3 位数字,指数有 2 位数字加一个符号。

有关详细信息,请参阅文档: http://mirrors.ibiblio.org/CTAN/macros/latex/contrib/siunitx/siunitx.pdf

以下是我对您的表格所做的操作(我没有包括所有内容):

\documentclass{scrartcl}

\usepackage{fontspec}

\usepackage[separate-uncertainty=true]{siunitx}
\usepackage{booktabs}

\begin{document}

\begin{table}
  \tiny
  \centering
  \caption{Set with booktabs and siunitx}
  \label{tab:table3}%
  \begin{tabular}{c *{5}{S[table-format=1.2(3)e-2]}}
  \toprule
  {Functions} & {FCDE} & {POBL-ADE} &  {FWA-DE} & {FERDE} & {CDEOA} \\
  \midrule
  $F_1$ & 6.54+-4.90e+04 & 1.60+-1.22e+04 & 2.76+-1.82e+05 & 5.41+-5.41e+02 &  4.64+-4.26e+04 \\
  $F_2$ & 0.00+-0.00e+00 & 3.14+-7.52e+02 & 0.00+-1.87e-16 & 2.39+-2.39e-03 & 0.00+-8.01e-13 \\
  $F_3$ & 0.35+-1.26e+02 & 0.00+-4.59e-09 & 0.00+-4.74e-16 & 1.13+-1.13e-03 & 1.05+-6.68e-05 \\
  \bottomrule
  \end{tabular}%
\end{table}%

\end{document}

结果如下:

结果

我觉得这个表中的大多数数字都有点可疑。主要是因为误差比值大一个数量级,或者因为 0±1e-16 看起来像是数值问题,应该正好是 0。

还要保持表格简洁。那些符号和冗余信息使得表格难以阅读。

答案2

一种选择是找到科学记数法包,其中 + 和 - 的大小相同。但是,在 LaTeX 表中对齐内容的最方便方法是为其创建单独的列。来自...

& \multicolumn{1}{l}{0.00E+00±0.00E+00} &

做一些类似...的事情

& 0.00 & E+00 & ±0.00 & E+00 &

当然,您必须重新定义表头的列,并更改前两行成员中的多列数。

我也不明白为什么到处都有多列。

相关内容