我有以下代码,改编自这里。
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstabletypeset[col sep=comma,
every head row/.style={
typeset cell/.code={
\ifnum\pgfplotstablecol=0
\pgfkeyssetvalue{/pgfplots/table/@cell content}{&}%
\else
\ifnum\pgfplotstablecol=\pgfplotstablecols
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\rotatebox{90}{##1}\\}%
\else
\pgfkeyssetvalue{/pgfplots/table/@cell content}{\rotatebox{90}{##1}&}%
\fi
\fi
}
},
%display columns/1/.style={dec sep align={r}}
]{
one,two,three
1,2.34,3
2,1.45,4
4,23.56,6
5,2.45,9
}
\end{document}
如果我取消注释注释行以尝试按小数点对齐第二列,则会收到以下错误:
! Misplaced \omit.
\multispan ->\omit
\@multispan
l.26 }
?
有人能提供解决方案吗?
答案1
使用
column name=\rotatebox{90}{two}
第二列assign column name/.style={ /pgfplots/table/column name={\rotatebox{90}{#1}}}
对于其他列
%
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
\pgfplotstabletypeset[col sep=comma,
display columns/1/.style={
column name=\rotatebox{90}{two}, % <---------
dec sep align,
},
assign column name/.style={
/pgfplots/table/column name={\rotatebox{90}{#1}} % <-----------
},
]{
one,,three % <------
1,2.34,3
2,1.45,4
4,23.56,6
5,2.45,9
}
\end{document}