假设我有实验数据,我想从文件头中读取带有参数的文件。读取参数并使其作为 tex 宏可用的标准方法是什么。请考虑以下示例(mydata.dat
如果有更适合 tex 的方法,语法可能会有所不同)。
\documentclass{article}
\usepackage{pgfplots,filecontents}
\begin{filecontents*}{mydata.dat}
paramA = 1 #Comment: Parameter A
paramB = 20 #Parameter B
## Data begins ###
x y
1 1
2 4
3 9
4 16
5 25
\end{filecontents*}
\begin{document}
\pgfmathsetmacro{\calculated}{\paramA + \paramB}
\begin{tikzpicture}
\begin{axis}[ymax=\paramB]
\addplot table {mydata.dat} node[above]{\paramB}; %should automatically skip the header lines without saying of how much lines to skip
\end{axis}
\end{tikzpicture}
\end{document}
答案1
简单的解决方案是在文件中使用 LaTeX 命令并使用\input
。
\documentclass{article}
\usepackage{pgfplots,filecontents,pgfplotstable}
\begin{filecontents}{mydata.tex}
\def\paramA{1} %Comment: Parameter A
\def\paramB{20} %Parameter B
\pgfplotstableread{
x y
1 1
2 4
3 9
4 16
5 25
}\mydata
\end{filecontents}
\begin{document}
\input{mydata}
\pgfmathsetmacro{\calculated}{\paramA + \paramB}
\begin{tikzpicture}
\begin{axis}[ymax=\paramB]
\addplot table {\mydata} node[above]{\paramB}; %should automatically skip the header lines without saying of how much lines to skip
\end{axis}
\end{tikzpicture}
\end{document}