\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,...}
但这也引发了错误。
现在有以下几种解决方案:
更新你的系统 - 除非你正在使用 Ubuntu 10.04 Server,因为它仍然有一点支持
更新您的 Texlive 安装(
pgf
缺少许多功能)如果你无法更新系统,请避免
[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
循环。然后我们可以尝试为您的问题找到另一种解决方案。