我尝试使用该包合并两个表后在特定位置插入括号pgfplotstable。
我有下表:
\begin{filecontents}{stats.csv}
Parameter,Stat
, 0.012
, 0.457
\end{filecontents}
\begin{filecontents}{data.csv}
Parameter,Value
alpha, 10.2
beta , 15.1
\end{filecontents}
我想要这个最终结果:
Parameter Value
___________________
alpha 10.2
(0.012)
beta 15.1
(0.457)
专栏价值应按小数点分隔符对齐。
谢谢您的任何建议!
马科斯
答案1
我已经用 阅读了这两个表并将\pgfplotstableread
它们称为\mydata
和\mystats
。
然后我使用了\pgfplotstabletypeset
,从\mydata
表开始,并使用after row
选项创建从\mystats
表中提取的新行。
通过包装实现了正确的对齐dcolumn
。
它适用于样本数据,我希望它也适用于实际数据。
\documentclass{article}
\usepackage{array}
\setlength\extrarowheight{4pt}
\usepackage{booktabs}
\usepackage{dcolumn}
\newcolumntype{d}{D{.}{.}{4}}
\newcounter{myrow}
\setcounter{myrow}{-1}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.15}
\usepackage{filecontents}
\begin{filecontents}{stats.csv}
Parameter,Stat
, 0.012
, 0.457
\end{filecontents}
\begin{filecontents}{data.csv}
Parameter,Value
alpha, 10.2
beta , 15.1
\end{filecontents}
\begin{document}
\pgfplotstableread[col sep=comma]{stats.csv}\mystats
\pgfplotstableread[col sep=comma]{data.csv}\mydata
\pgfplotstabletypeset[%
multicolumn names,
display columns/0/.style={string type},
display columns/1/.style={string type,column type={>{\arraybackslash}d}},
after row={%
\stepcounter{myrow}
& \pgfplotstablegetelem{\themyrow}{Stat}\of\mystats
(\pgfplotsretval)\\
},
every head row/.style={before row=\toprule,after row=\midrule},
every last row/.style={%
after row={%
\stepcounter{myrow}
& \pgfplotstablegetelem{\themyrow}{Stat}\of\mystats
(\pgfplotsretval)\\
\bottomrule
}
}
]{\mydata}
\end{document}