获取 tikz foreach 中的最后一个值

获取 tikz foreach 中的最后一个值

我尝试了这个,但它没有按预期工作:

\foreach \x/\index in {4/0,5/1,19/2} {
  \ifnum \index > 0
     % use lastx
  \fi
  \pgfmathsetmacro\lastx{\x} 
}

我该如何\lastx正确设置?

答案1

foreach您也可以通过添加包来使用手册中提供的宏的附加功能pgfmath。出于某种原因,(initially 4)如果 TikZ 未完全加载,则选项不起作用,因此您可以在外部定义它。

\documentclass{article}  
\usepackage{pgffor,pgfmath}
\begin{document}
\def\lastx{4}
\foreach \x[count=\xi from 2,remember=\x as \lastx] in {5,19,20,25} {
This variable \x, the value before was \lastx\space  and it is the argument \xi\space in the list.\par
}

\end{document}

在此处输入图片描述

答案2

中的作业\foreach是本地的,因此您可以使用\xdef\lastx{\x}

在此处输入图片描述

代码:

\documentclass{article}
\usepackage{pgffor}

\newcommand*{\lastx}{}

\begin{document}
\foreach \x/\index in {4/0,5/1,19/2} {
  \ifnum \index > 0
     % use lastx
  \fi
  \xdef\lastx{\x} 
}

Last x was \lastx
\end{document}

相关内容