위 expl3 코드가 하는 일을 풀어보면 대체로 아래처럼 될 거 같습니다.
\def\mynumformat#1{% \def\mytmpa{}% 문자열을 역순으로 넣을 곳 \mynumformati#1\end}\def\mynumformati#1{% \ifx#1\end \expandafter\mynumformatii \else \edef\mytmpa{#1\mytmpa}% 문자열 역순으로 넣기 \expandafter\mynumformati \fi}\def\mynumformatii{% \count255=0 \def\mytmpb{}% 쉼표 추가하여 재역순으로 넣을 곳 \expandafter\mynumformatiii\mytmpa\end}\def\mynumformatiii#1{% \ifx#1\end \expandafter\mynumformativ\mytmpb\end \else \edef\mytmpb{#1\mytmpb}% 재역순으로 넣기 \advance\count255 by 1 \ifnum\count255=3 \edef\mytmpb{,\mytmpb}% 세자리마다 쉼표 추가 \count255=0 \fi \expandafter\mynumformatiii \fi }\def\mynumformativ#1#2\end{\ifx#1,\else#1\fi #2} % 첫머리 쉼표 제거
\def\mynumformat#1{% \def\mytmpa{}% 문자열을 역순으로 넣을 곳 \mynumformati#1\end}\def\mynumformati#1{% \ifx#1\end \expandafter\mynumformatii \else \edef\mytmpa{#1\mytmpa}% 문자열 역순으로 넣기 \expandafter\mynumformati \fi}\def\mynumformatii{% \count255=0 \def\mytmpb{}% 쉼표 추가하여 재역순으로 넣을 곳 \expandafter\mynumformatiii\mytmpa\end}\def\mynumformatiii#1{% \ifx#1\end \expandafter\mynumformativ\mytmpb\end \else \edef\mytmpb{#1\mytmpb}% 재역순으로 넣기 \advance\count255 by 1 \ifnum\count255=3 \edef\mytmpb{,\mytmpb}% 세자리마다 쉼표 추가 \count255=0 \fi \expandafter\mynumformatiii \fi
}\def\mynumformativ#1#2\end{\ifx#1,\else#1\fi #2} % 첫머리 쉼표 제거
KTUG 한국 텍 사용자 그룹
위 expl3 코드가 하는 일을 풀어보면 대체로 아래처럼 될 거 같습니다.