아래 작나 님의 글에 보면
\picture width 3cm height 2cm {test.png}
와 같은 형식의 명령을 작성하는 기법이 소개되어 있습니다.
TeX by Topic p.115, 11.5.6 Brace delimiting에
\def\every#1#{\csname every#1\endcsname}
이라는 정말 깔끔한 예제가 있더군요.
각설하고, xparse라면 이런 형식의 명령을 어떻게 정의할까요? 간단히 \test I love you{red}라고 하면 red로 I love you를 식자해주는 명령을 작성하려 합니다.
\NewDocumentCommand \test { l m }
{
\textcolor{#2}{#1}
}
\test I love you{red}
\test You are my sunshine.{blue}
정말 쉽네요. :) LaTeX 매크로 작성을 위해서라면 expl3까지는 몰라도 xparse는 꼭 익혀두면 좋을 것 같습니다.
KTUG 한국 텍 사용자 그룹