以下小示例在\pgfmathparse{\myvalue+1}\pgfmathresult
添加 而不是 之前一直有效1
。我没有收到任何错误消息,只是编译过程没有结束。这是尝试将我的实际文档压缩为这个小示例。在我的文档中,我收到错误
Illegal parameter number in definition of \pgfplots@stored@current@data. \end{tikzpicture}
怎么了?
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=2,
ymin=0,
ymax=2
]
\newcommand{\myvalue}{1}
\draw (1,\pgfmathparse{\myvalue+1}\pgfmathresult) -- (0, 0);
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
答案1
\pgfmathparse
使用 tex 分配,它不会简单地扩展到结果,因此您需要提前完成,例如
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\newcommand{\myvalue}{1}
\begin{axis}[
xmin=0,
xmax=2,
ymin=0,
ymax=2
]
\pgfmathparse{\myvalue+1}
\draw (1,\pgfmathresult) -- (0, 0);
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}