Я экспортирую из Origin и получаю Data.csv следующего вида:
Short_Name1; Short_Name2
Long_Name1; Long_Name2
Unit1; Unit2
Comment1; Comment2
1,1; 2,0
3,5; 4,3
Когда я пытаюсь распечатать это с помощью pgfplotstable, мне нужно сделать что-то вроде:
%!TEX TS-program = lualatex
\documentclass[]{scrartcl}
%\usepackage{pgfplots}
\usepackage{
pgfplotstable,
booktabs,
array,
colortbl,
}
\pgfplotsset{compat=1.12}
\begin{document}
\pgfplotstabletypeset[
col sep=semicolon,
read comma as period,
fixed,
zerofill,
% string type,
precision=2,
ignore chars={\_},
%dec sep align, %prints both strings in first column, aligned at the comma
%
every head row/.style={
before row={\toprule },
after row={\midrule },
},
every last row/.style={
after row=\bottomrule
},
every even row/.style={
before row={\rowcolor[gray]{0.985}}}, %also a problem
%
%every row 0/.style={string type}, %does not work
% \directlua{ for i = 0, 2 do %does also not work
% for j= 0,1 do
% tex.sprint( "every row ",i," column ",j,"\noexpand/.style={string type}, " )
% end
% end }
every row 0 column 0/.style={string type},
every row 0 column 1/.style={string type},
every row 1 column 0/.style={string type},
every row 1 column 1/.style={string type},
every row 2 column 0/.style={string type},
every row 2 column 1/.style={string type},
%
every row 2/.style={
after row={\midrule },
},
]
{Data.csv}
%looks like it should as workaround, but is not processed properly
\directlua{ for i = 0, 2 do
for j= 0,1 do
tex.sprint( "every row ",i," column ",j,"\noexpand/.style={string type}, " )
end
end }
\end{document}
Есть ли более удобный способ сделать это?
Я также был бы рад, если бы было возможно получить
Long_Name1 [Unit1]
как одну строку заголовка и игнорировать две оставшиеся строки. Не проблема экспортировать только две из них через Origin.
EDIT: Я уже пробовал every row no 0/.style={string type},
, выдает ошибку.
header=false
приведет к появлению именованных столбцов 0 1 2 3
, поэтому необходимо будет указать имя каждого столбца как
columns/<index>/.style={
string type,
column type=l,
column name={Long_Name [Unit]}
},
EDIT2: header=false
- «Проблема» уже решеназдесь
Итак, я попробую сделать обработку.
Long_Name1; Long_Name2
Unit1; Unit2
1,1; 2,0
3,5; 4,3
к
Long_Name1 [\si{Unit1}]; Long_Name2 [\si{Unit2}]
1,1; 2,0
3,5; 4,3
с lua (с python было бы проще…), но даже мой сгенерированный код не
every row 0 column 0/.style={string type},
сработал (и он определенно выводит эту строку, когда работает вне pgfplotstable).
Я думал, что это, должно быть, какой-то обычный рабочий процесс и должно быть простое решение…