我有一个包含 2 列的文本文件。第一列是主要值,第二列是不确定性。如何使用 pgfplotstable 读取它们并将其一起显示在表格中的一列中?
我现在拥有的:
\documentclass[varwidth,border=1pt]{standalone}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[h!]
\begin{center}
\caption{Table caption}
\label{table1}
\pgfplotstabletypeset[
display columns/0/.style={
column name=Voltage (\si{\volt}), % name of first column
},
every head row/.style={
before row={\toprule}, % have a rule at top
after row={\midrule} % rule under units
},
every last row/.style={after row=\bottomrule}, % rule at bottom
]{table1.txt} % filename/path to file
\end{center}
\end{table}
\end{document}
table1.txt 包含
1.0000000e+01 3.4916800e-01
2.0000000e+01 3.6918400e-01
3.0000000e+01 3.8920000e-01
4.0000000e+01 4.0921600e-01
5.0000000e+01 4.2923200e-01
这将产生:
我想要的是:
答案1
您可以使用 Datatool 代替 pgfplotstable。
\documentclass[varwidth,border=1pt]{standalone}
\usepackage{pgf}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{datatool}
\DTLsetseparator{ }
\DTLloaddb[noheader,keys={Voltage,Error}]{voltages}{test.dat}
\begin{document}
\begin{table}[h!]
\begin{center}
\caption{Table caption}
\label{table1}
\begin{tabular}{c}
\toprule Voltage [\si{\volt}]
\DTLforeach{voltages}{\voltage=Voltage,\error=Error}
{\DTLiffirstrow{\\ \midrule}{\\}\pgfmathprintnumber\voltage~$\pm$~\pgfmathprintnumber\error}
\\\bottomrule
\end{tabular}
\end{center}
\end{table}
\end{document}