KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당

위 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} % 첫머리 쉼표 제거


KTUG 한국 텍 사용자 그룹