![如何合并两个表并在偶数行插入括号](https://linux22.com/image/358726/%E5%A6%82%E4%BD%95%E5%90%88%E5%B9%B6%E4%B8%A4%E4%B8%AA%E8%A1%A8%E5%B9%B6%E5%9C%A8%E5%81%B6%E6%95%B0%E8%A1%8C%E6%8F%92%E5%85%A5%E6%8B%AC%E5%8F%B7.png)
我尝试使用该包合并两个表后在特定位置插入括号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}