基本上,我有一个仅包含数值的表(来自文件)。我想将其导入到 latex 中,但必须以特定方式格式化,如图所示。
... 应该替换为表格内容。例如,我用来自表格的一些值填充了“第 1 行”字段。
我知道 pgfplotstable 也非常强大,但我不知道如何正确导入它。
代码 :
\documentclass{standalone}
\usepackage{filecontents,pgfplots}
\begin{filecontents}{example.dat}
1.23 2.34 %first line
2.45 6.54 %first line
4.56 4.43 %first line
%Also numeric values for the Line 2 and Line 3
\end{filecontents}
\begin{document}
\begin{tabular}{|c|p{3cm}|p{3cm}|}
\hline
& Column 1& Column 2\\\hline
Line 1 & 1.23\newline 2.45\newline4.56 &2.34\newline 6.54\newline4.43 \\\hline
Line 2 & ...\newline ...\newline... &...\newline ...\newline...\\\hline
Line 3 & ...\newline ...\newline... &...\newline ...\newline...\\\hline
\end{tabular}
\end{document}
答案1
如果我理解正确的话,这是一种可行的方法。我假设类列表在某个地方给出,要么是额外的表列,要么是如下所示定义并按pgfmath
函数索引的列表。我希望每个部分都有相等(这里是三)的行数。
\documentclass{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread[header=false]{
1.23 2.34
2.45 6.54
4.56 4.43
1.23 2.34
2.45 6.54
4.56 4.43
1.23 2.34
2.45 6.54
4.56 4.43
}\mytable
\newcounter{mycounter}
\setcounter{mycounter}{0}
\def\myclasslist{{"Class A","Class C","Class DDD"}}
\begin{document}
\pgfplotstabletypeset[
create on use/class/.style ={create col/set={}},
columns={class,[index]0,[index]1},
display columns/1/.style={column name=Column 1},
display columns/2/.style={column name=Column 2},
columns/class/.style={string type,
column name={},
assign cell content/.code={%
\pgfmathtruncatemacro\temp{Mod(\pgfplotstablerow,3)}%
\ifnum\temp=0\relax\pgfmathparse{\myclasslist[\value{mycounter}]}%
\edef\temp{\pgfmathresult}\stepcounter{mycounter}
\pgfkeys{/pgfplots/table/@cell content/.expanded=\temp}%
\fi%
}}]\mytable
\end{document}