TikZ 括号中未定义的控制序列

TikZ 括号中未定义的控制序列
\documentclass[12pt]{article}

\usepackage{tikz}

\begin{document}

\begin{figure}
\begin{center}
\begin{tikzpicture}[scale=1]
  \foreach \i[count=\t from 0] in {16,...,23}
  {
    \path (\t+0.25,1) coordinate (P\i);
    \fill (P\i) circle (2pt);
  }

\end{tikzpicture}
\end{center}
\end{figure}

\end{document}

编译结果如下

! Undefined control sequence.
\UseTextAccent ...up \@firstofone \let \@curr@enc 
                                              \cf@encoding \@use@text@en...
l.14   }

为什么 TeX 在第 14 行的右括号方面有问题?它只是用来关闭foreach

答案1

从你的评论中我得知你正在使用 pgf 运行 TexLive 20092.0- 根据软件包信息,这是 Ubuntu 10.04(不再支持客户端)。为了进行测试,我安装了服务器版本并运行了一些测试。

看起来这个安装已经过时了(还没有看过更改日志),没有对循环[count=...]中的功能进行适当的支持\foreach

我也再次尝试使用它,\foreach \i\t in {16/0,17/1,...}但这也引发了错误。

现在有以下几种解决方案:

  1. 更新你的系统 - 除非你正在使用 Ubuntu 10.04 Server,因为它仍然有一点支持

  2. 更新您的 Texlive 安装(pgf缺少许多功能)

  3. 如果你无法更新系统,请避免[count=...]

如果问题中的代码就是您想要绘制的所有内容,那么您可以简化它:

\documentclass[12pt]{article}
\usepackage{tikz}

\begin{document}
 \begin{tikzpicture}
  \foreach \i in {16,...,23} {
   \fill (\i+0.25,1) circle (2pt);
  }
 \end{tikzpicture}
\end{document} 

总而言之。帮你一个忙,更新你的操作系统/Latex 安装。

如果没有办法升级,您可以解释为什么需要count\foreach循环。然后我们可以尝试为您的问题找到另一种解决方案。

相关内容