我想一次性设置一系列列(下面 MWE 中的 1、2、3),但不覆盖第一列的格式。因此,我认为“所有”列解决方案不适用。
\documentclass[12pt]{standalone}
\usepackage{filecontents}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{filecontents}{data.csv}
hi,0.563725,0.819520,0.713402
guys,0.563725,0.819520,0.713402
\end{filecontents}
\sisetup{
round-mode = places,
round-precision = 2,
}
\pgfplotstabletypeset[
col sep=comma,
display columns/0/.style={string type},
display columns/1/.style={column type={S},string type},
display columns/2/.style={column type={S},string type},
display columns/3/.style={column type={S},string type}
]{data.csv}
\end{document}
答案1
您可以构建自己的多重设置器
\documentclass[12pt]{standalone}
\usepackage{filecontents}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepackage{siunitx}
\begin{document}
\begin{filecontents}{data.csv}
hi,0.563725,0.819520,0.713402
guys,0.563725,0.819520,0.713402
\end{filecontents}
\sisetup{
round-mode = places,
round-precision = 2,
}
\pgfplotstableset{
my multistyler/.style 2 args={
@my multistyler/.style={display columns/##1/.append style={#2}},
@my multistyler/.list={#1}
}
}
\pgfplotstabletypeset[
col sep=comma,
my multistyler={0,...,3}{string type},
my multistyler={1,2,3}{column type={S}}
]{data.csv}
\end{document}