是否可以使用带参数的宏来定义 TikZ `\foreach` 循环列表?

是否可以使用带参数的宏来定义 TikZ `\foreach` 循环列表?

这个问题类似于TikZ \foreach 循环与宏定义列表但这里我想要宏定义的列表提出论点

例如,在以下 MWE 中:

\documentclass{article}
\usepackage{pgffor}
\begin{document}
\begin{description}
\item[Macro without argument]
  \newcommand{\macrowithoutargument}{0,...,10}%
  \foreach \x in \macrowithoutargument {[\x]}
\item[Macro with argument]
  \newcommand{\macrowithargument}[1]{#1,...,10}%
%  \foreach \x in \macrowithargument{1} {[\x]}
\end{description}
\end{document}

循环\foreach如下:

  • 无参数宏定义列表(\macrowithoutargument)效果很好,
  • 带有参数定义列表的宏(\macrowithargument{1})失败。

请注意,我坚持使用TikZ循环\foreach:先前的 MWE 是我在图片中遇到的一个问题的最小化,TikZ在该图片中,我只想绘制保护器的一部分,并将起始角度和结束角度作为宏的参数给出。

因此我的问题是:是否可以使用带参数的宏来定义循环列表TikZ\foreach

答案1

我会做

\documentclass{article}
\usepackage{pgffor}
\begin{document}
\begin{description}
\item[Macro without argument]
  \newcommand{\macrowithoutargument}{0,...,10}%
  \foreach \x in \macrowithoutargument {[\x]}
\item[Macro with argument]
  \newcommand{\macrowithargument}[1]{\foreach \x in {#1,...,10}}%
  \macrowithargument{1} {[\x]}
\end{description}
\end{document}

相关内容