我想使用 TikZ 创建我在数组中定义的值的图表\draw
。我遇到了麻烦,包括由 -loop (forarray-package) 生成的绘制命令的一部分\ForEach
,它本身运行良好。
问题出在 l.16“!包 tikz 错误:放弃这条路径。您忘记了分号吗?”。
\documentclass[12pt,a4paper]{article}
\usepackage{forarray}
\usepackage{tikz}
\begin{document}
\DefineArrayVar{leist}{@}{,}{0,1,2,3,4,5,6,7,8,9,10}{,}{8,7,8,9,7,6,9,9,8,9,9}
\newcommand{\coord}[1]{ -- (#1,\csname leist@#1\endcsname)}
\ForEach{,}{\coord{\thislevelitem}}{1,2,3,4,5,6,7,8,9,10};
\begin{tikzpicture}
\draw (0,0) \ForEach{,}{\coord{\thislevelitem}}{1,2,3,4,5,6,7,8,9,10};
\end{tikzpicture}
\end{document}
答案1
\foreach
我将使用TikZ 提供的标准:
\documentclass[12pt,a4paper]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (0,0)
\foreach \x/\y in {1/7,2/8,3/9,4/7,5/6,6/9,7/9,8/8,9/9,10/9}
{ -- (\x,\y) } ;
\end{tikzpicture}
\end{document}
的问题在于\ForEach
它需要执行扩展和分配,而 TikZ 在执行时无法执行\draw
。它自己的\foreach
是专门为此目的而设计的(并且具有更友好的语法)。