我有一个逗号分隔的对序列
\def\sequence{0/1, 1/3, 2/2, 3/2, 4/0, 5/3, 6/3, 7/3}
我想用pgffor
它转换成
{(0,1) (1,3) (2,2) (3,2) (4,0) (5,3) (6,3) (7,3)}
我计划使用它来\draw [smooth] plot coordinates
制作平滑的曲线。
有没有什么方法可以简单地做到这一点?
draw [smooth] plot coordinates
如果没有,是否有一种简单的方法可以仅使用 来模拟 的功能\foreach \i/\j in \sequence {...}
?
梅威瑟:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\def\sequence{ 0/1, 1/3, 2/2, 3/2, 4/0, 5/3, 6/3, 7/3}
\def\points{}
\foreach\x/\y in\sequence{%
\expandafter\xdef\expandafter\mycoords\expandafter{\points (\x,\y)}%
}%
\draw [thick] plot [smooth] coordinates \points;
\end{tikzpicture}
\end{document}
答案1
下面以坐标格式存储它们
\def\mycoords{}
\def\myseq{0/1,1/3,2/2,3/2,4/0,5/3,6/3,7/3}
\foreach\x/\y in\myseq{%
\expandafter\xdef\expandafter\mycoords\expandafter{\mycoords (\x,\y)}%
}%