使用 forarray 包的 \foreach 在 TikZ 中绘制路径

使用 forarray 包的 \foreach 在 TikZ 中绘制路径

我想使用 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是专门为此目的而设计的(并且具有更友好的语法)。

相关内容