文件matrix.dat的内容为:
11 12 13 14
21 22 23 24
31 32 33 34
我想要的是在 LaTeX 中的渲染效果如下:
/ 11 12 13 14 \
| 21 22 23 24 |
\ 31 32 33 34 /
我可以用 pgfplotstable 加载文件并将其呈现为 pmatrix。
\pgfplotstableread{data/matrix.dat}\mytable
\pgfplotstabletypeset[
begin table=\begin{pmatrix},
end table=\end{pmatrix},
skip coltypes,
display columns/0/.style={string type},
write to macro=\mymatrix,
typeset=false
]{\mytable}
$\mymatrix$
但我得到的是:
/ 0 1 2 3 \
| 11 12 13 14 |
| 21 22 23 24 |
\ 31 32 33 34 /
我在 pgfplotstable 中找不到跳过头行(而不是数据行)的选项。在 pgfplots 中有一个选项
\addplot file[skip first] {datafile.dat};
我能做些什么?
有一篇相关的帖子,涉及 pgfplotstable 的多列标题,但缺乏解决方案:http://old.nabble.com/pgfplotstable%3A-multicolumn-header-td28329964.html
答案1
为此,您应该header=has colnames
在读取表格时使用该选项。这告诉 pgfplots 假设文件的第一行包含标题,即使它仅由数字组成。
\documentclass{article}
\usepackage{pgfplotstable}
\usepackage{amsmath}
\begin{filecontents}{matrix.dat}
11 12 13 14
21 22 23 24
31 32 33 34
\end{filecontents}
\begin{document}
\pgfplotstableread[header=has colnames]{matrix.dat}\mytable
\pgfplotstabletypeset[
begin table=\begin{pmatrix},
end table=\end{pmatrix},
skip coltypes,
write to macro=\mymatrix,
typeset=false
]{\mytable}
$\mymatrix$
\end{document}