인수를 취하는 매크로를 사용하여 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시작 각도와 끝 각도를 a의 인수로 제공하여 프로택터의 일부만 그리려는 그림에서 직면하는 문제를 최소화한 것입니다. 매크로.

그러므로 내 질문은: 인수를 취하는 매크로를 사용하여 의 루프 목록을 정의하는 것이 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}

관련 정보