我怎样才能从中得到dataA.dat
a b c
1 2 3
4 5 6
7 8 9
和这个dataB.dat
A B C
1.1 2.1 3.1
4.1 5.1 6.1
7.1 8.1 9.1
(如 MWE 所示) 更改为:
a b c
1 2 3
4 5 6
7 8 9
1.1 2.1 3.1
4.1 5.1 6.1
7.1 8.1 9.1
应该在哪里一个空白行PDF 结果中的两个数据块之间。
%\documentclass[paper=a5]{scrartcl}
\documentclass[varwidth, border=2pt]{standalone}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\begin{document}
\begin{filecontents}{dataA.dat}
a b c
1 2 3
4 5 6
7 8 9
\end{filecontents}
\begin{filecontents}{dataB.dat}
1.1 2.1 3.1
4.1 5.1 6.1
7.1 8.1 9.1
\end{filecontents}
\pgfplotstableread{dataA.dat}\dataA
\pgfplotstableread{dataB.dat}\dataB
\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 0}] {A} {\dataA}
\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 1}] {B} {\dataA}
\pgfplotstablecreatecol[copy column from table={\dataB}{[index] 2}] {C} {\dataA}
\pgfplotstabletypeset[precision=4]{\dataA}
\end{document}
答案1
您可以在 中包含空行,\pgfplotstabletypeset
并使用 合并表格\pgfplotstablevertcat
。垂直连接要求列名称相同,因此我重新排序了它们。有点丑陋,但如果需要,可以将其嵌入通用样式以简化覆盖。
\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotstableread{
a b c A B C
1 2 3 1.1 2.1 3.1
4 5 6 4.1 5.1 6.1
7 8 9 7.1 8.1 9.1
}\mytable
\pgfplotstableset{
create on use/a/.style={copy column from table={\mytable}{[index] 0}},
create on use/b/.style={copy column from table={\mytable}{[index] 1}},
create on use/c/.style={copy column from table={\mytable}{[index] 2}},
}
\pgfplotstablenew[columns={a,b,c}]{3}{\dataA}
\pgfplotstableset{
create on use/a/.style={copy column from table={\mytable}{[index] 3}},
create on use/b/.style={copy column from table={\mytable}{[index] 4}},
create on use/c/.style={copy column from table={\mytable}{[index] 5}},
}
\pgfplotstablenew[columns={a,b,c}]{3}{\dataB}
\pgfplotstablevertcat{\dataA}{\dataB}
\begin{document}
\pgfplotstabletypeset[every row no 2/.append style={after row={&&\\ }}]{\dataA}};
\end{document}