NewEnviron에서 자체 정의 필드 사용

NewEnviron에서 자체 정의 필드 사용

자체 정의 환경 내에서 자체 정의 함수를 사용하고 싶습니다. 함수가 환경 외부에서는 완벽하게 작동하지만 환경 내부에서는 비어 있는 myenv것처럼 보이는 예를 추가합니다. myarr정말 이유를 모르겠습니다.

\documentclass{article}
\usepackage{pgfmath,pgffor}
\usepackage{environ}

\newcounter{lines}%
\def\endlr{\stepcounter{lines}\\}

\newcommand*\myarr{}%
\newcommand{\mtadd}{%
\ifx\myarr\empty
\edef\myarr{\arabic{lines}}
\else\edef\myarr{\myarr,\arabic{lines}}
\fi}

\NewEnviron{myenv}[1][]{%
\myarr\empty%
\setcounter{lines}{1}%
}

\def\names{{"Katie","Frank","Laura","Joe","Peter","Jens","Carolin","Anna","Steph","Stef"}}
\begin{document}
\setcounter{lines}{3}
\mtadd
\foreach \i in \myarr {%
  Name \i: \pgfmathparse{\names[\i]}\pgfmathresult, }
\begin{myenv}
   \mtadd
   \endlr\endlr
   \mtadd
   \foreach \i in \myarr {%
     Name \i: \pgfmathparse{\names[\i]}\pgfmathresult, }
\end{myenv}

\end{document}

관련 정보