我如何在选项中使用命令\addplot
?我猜我必须找到正确的扩展顺序。
下面的例子说明了这个问题。我不是寻找一种解决方法(我自己可以做),但寻找一种使用正确组合\expandafter
和类似命令的方法。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\foreach \L/\C in {-8/Red,-4/Magenta,-2/Pink,0/Black,2/Beige,4/LightGreen,8/Green}
\addplot[smooth,domain=0:1,color=\C]{ \L*x) };
\end{axis}
\end{tikzpicture}
\end{document}
答案1
对于评论来说太长了,而且可能偏离主题,但很好。使用另一种循环,您将不必执行任何\expandafter
或\edef
操作(前者并不总是可行的,或者需要几十个\expandafter
)。
\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage{pgfplots}
\usepackage{xinttools}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\xintForpair #1#2 in {(-8, Red), (-4, Magenta), (-2, Pink), (0, Black), (2,
Beige), (4, LightGreen), (8, Green)}
\do {\addplot[smooth,domain=0:1,color=#2]{#1*x) };}
\end{axis}
\end{tikzpicture}
\end{document}
该语法不像's,并且不支持 \foreach
特定类型的语法,但它确实有更繁琐的数字等效项,但没有字母等效项(我认为接受)。1, 3, ..., 10
\foreach
a, b, ..., f