对于动态生成的表格,使用粗体和星号将表格单元格围绕小数点居中

对于动态生成的表格,使用粗体和星号将表格单元格围绕小数点居中

我正在使用通过 R-Brew 调用的 PdfLaTeX (MiKTeX) 来动态填充和生成 LaTeX 表。使用 R 表不支持所有统计数据,并且对于我需要的表来说不够灵活,因此使用了 R>Brew>Sweave>LaTeX 程序。一切都运行良好,只是我希望数字以小数点为中心。

这个问题变得复杂了:

  1. 显著的 p 值 (<0.05) 需要加粗,后面加星号,
  2. 显著的 p 值(<0.01)需要在前面包含一个小于号“<”,数字加粗,后面跟一个星号,并且
  3. 编译后(动态填充)p 值才是未知的。

此示例表是我现在正在处理的,不包括将数字居中在小数点附近。我在此表中包含了 p 值,但请记住,p 值实际上直到编译时才存在。有太多表格需要手动筛选,而且它们比下面的示例大得多。

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{booktabs}
\usepackage[labelfont=bf]{caption}
\captionsetup[table]{labelsep=space,
         justification=raggedright, singlelinecheck=off}
\usepackage{chngpage}
\usepackage{amsmath}
\usepackage{fp}
\begin{document}
\newcommand\pval[1]{
    \FPifgt{#1}{0.009}
        \FPiflt{#1}{0.05}
            \textbf{#1}\text{*}%
        \else
            \FPiflt{#1}{0.01}
                \textless\textbf{0.01}\text{*}%
            \else
                #1%
        \fi
}
\begin{table}[tbp]
\centering
\caption{Table: Example table.}
\label{tab:my-table}
\begin{tabular}{@{}crccc@{}}
\toprule
\multicolumn{1}{c}{Case} & \multicolumn{1}{c}{Statistic} & \multicolumn{1}{c}{Run\_1} & \multicolumn{1}{c}{Run\_2} & \multicolumn{1}{c}{Run\_3} \\ \midrule
A    & Mean                          & 4.53   & 5.67   & 2.46   \\
B    & Mean                          & 5.38   & 5.83   & 3.94   \\
A-B  & p-value                       & \pval{0.01}   & \pval{0.09}   & \pval{0.01}   \\ \bottomrule
\end{tabular}
\end{table}
\end{document}

注入值和编译之前上面表格的一个示例。

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{booktabs}
\usepackage[labelfont=bf]{caption}
\captionsetup[table]{labelsep=space,
         justification=raggedright, singlelinecheck=off}
\usepackage{chngpage}
\usepackage{amsmath}
\usepackage{fp}
\begin{document}
\newcommand\pval[1]{
    \FPifgt{#1}{0.009}
        \FPiflt{#1}{0.05}
            \textbf{#1}\text{*}%
        \else
            \FPiflt{#1}{0.01}
                \textless\textbf{0.01}\text{*}%
            \else
                #1%
        \fi
}
\begin{table}[tbp]
\centering
\caption{Table: Example table.}
\label{tab:my-table}
\begin{tabular}{@{}crccc@{}}
\toprule
\multicolumn{1}{c}{Case} & \multicolumn{1}{c}{Statistic} & \multicolumn{1}{c}{Run\_1} & \multicolumn{1}{c}{Run\_2} & \multicolumn{1}{c}{Run\_3} \\ \midrule
A    & Mean                          & <%= stat1$A %>   & <%= stat1$B %>   & <%= stat1$C %>   \\
B    & Mean                          & <%= stat2$A %>   & <%= stat2$B %>   & <%= stat2$C %>   \\
A-B  & p-value                       & \pval{<%= stat3$A %>}   & \pval{<%= stat3$B %>}   & \pval{<%= stat3$C %>}   \\ \bottomrule
\end{tabular}
\end{table}
\end{document}

dcolumn到目前为止,使用似乎效果最好 - 但它不能正确地将显著的 p 值置于中心。siunitx每次我尝试使用它时,都会在日志文件中抛出错误。

相关内容