这是一个直接的后续问题:将单位添加到 pgfplotstable 标题
修复输出后,我尝试外包table
。在弄清楚standalone
无法使用longtable
(感谢@Jake)后,我删除了它,但即便如此,每次我尝试编译时pdfLaTeX
都会出现此错误:
!包 pgfplots 错误:无法读取表格文件“t3.dat”。如果您打算提供内联数据:也许 TeX 搞砸了您的行尾?试试
row se p=crcr' and terminate your lines with \\
(有关pgfplotstable
详细信息,请参阅手册)。
t3.csv
存储所有数据的文件在哪里。
我的文件目前如下所示:
\documentclass{standalone}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage[allowlitunits]{siunitx}
\begin{document}
\pgfplotsinvokeforeach{100,90,...,10}{
\pgfmathsetmacro\concentration{#1/100*0.25}
\pgfplotstableset{
columns/#1/.estyle={
fixed,fixed zerofill,precision=3,
column type=p{4.5em},
column name={\SI[round-mode=places,round-precision=3]{\concentration}{\mol\per\liter} (\SI{#1}{\percent})}}
}
}
\pgfplotstabletypeset[col sep=semicolon,
header=true,
columns/Zeit/.style={fixed,fixed ,column type=r},
every head row/.style={
before row=\toprule,
after row=\midrule\endhead
},
every last row/.style={
after row=\bottomrule
}
]{t3.dat}
\end{document}
总结一下,我尝试了两种方法来包含该表:
- 使用该类
standalone
并包含文件\includestandalone{subdir/filename}
- 使用没有任何前言的文件并
\documentclass
使用该\input{subdir/filename}
方法。
我仍然无法确定导致此错误的原因。运行 Windows 7 和 TeXStudio
编辑
看起来我无法将文件写入任何目录。所以问题应该是,为什么我不能写入文件?
答案1
好吧,我修好了,但并没有我想象的那么壮观
\documentclass{standalone}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage[allowlitunits]{siunitx}
\begin{document}
\sisetup{per-mode=symbol}
\pgfplotsinvokeforeach{100,90,...,10}{
\pgfmathsetmacro\concentration{#1/100*0.25}
\pgfplotstableset{
columns/#1/.estyle={
fixed,fixed zerofill,precision=3,
column type=p{4.5em},
column name={\SI[round-mode=places,round-precision=3]{\concentration}{\mol\per\liter} (\SI{#1}{\percent})}}
}
}
\pgfplotstabletypeset[col sep=semicolon,
header=true,
columns/Zeit/.style={fixed,fixed ,column type=r},
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
}
]{t3.dat}
\end{document}
看起来几乎相同,但由于standalone
不起作用,longtable
我删除了此部分:
\pgfplotstableset{
begin table=\begin{longtable},
end table=\end{longtable},
}
我忘记删除\endhead
其中的命令after row
(参见第一个问题)
我把所有文件都移到了同一个目录,不确定这是否重要。虽然不太美观,但对我来说还是有用的。