Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
\def\foo{\futurelet\next\fooo} % 다음 토큰을 \next로 복사하고 \fooo 실행 \def\fooo{\ifx\next\bgroup\expandafter\foooo\fi} % \next가 '{'이면 \fi를 읽은 후 \foooo 실행 \def\foooo#1{\fbox{#1}\foo} % fbox 수행 후 \foo로 되돌아감.
\makeatletter \def\fooo{% \ifx\next\par\else % \next가 \par도 아니고 \ifx\next\@sptoken\else % 스페이스도 아니면 \expandafter\expandafter\expandafter\foooo % 아래 \fi 두 개를 읽은 후 \foooo 실행 \fi \fi } \makeatother
이렇게 하면 대체로 무난할 거 같네요. 이 코드의 장점(혹은 단점)은 \foo 123456 789 처럼 중괄호를 매번 입력하지 않아도 된다는 것입니다.
빈 칸(스페이스)이나 개행이 오면 인자 전달이 종료된다,는 주문사항을 존중한다면 두번째 매크로를
이렇게 하면 대체로 무난할 거 같네요. 이 코드의 장점(혹은 단점)은 \foo 123456 789 처럼 중괄호를 매번 입력하지 않아도 된다는 것입니다.
이번에도 루아를 이용한 코드, expl3를 이용한 코드를 볼 수 있기를 희망합니다.