我正在使用通过 R-Brew 调用的 PdfLaTeX (MiKTeX) 来动态填充和生成 LaTeX 表。使用 R 表不支持所有统计数据,并且对于我需要的表来说不够灵活,因此使用了 R>Brew>Sweave>LaTeX 程序。一切都运行良好,只是我希望数字以小数点为中心。
这个问题变得复杂了:
- 显著的 p 值 (<0.05) 需要加粗,后面加星号,
- 显著的 p 值(<0.01)需要在前面包含一个小于号“<”,数字加粗,后面跟一个星号,并且
- 编译后(动态填充)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
每次我尝试使用它时,都会在日志文件中抛出错误。