KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
Preserve the old, but know the new.
FrontPage › 디폴트파라미터
LaTeX 의 함수에서 인수를 사용하는 경우 디폴트파라미터 를 사용해야 하는 경우가 있다.

방법1

\newcommand\hello[2][\@empty]{%
  \ifx#1\@empty%1 No option
    \def\temp@val{1 : }%
  \else% Option
     \def\temp@val{#1 : }%
  \fi%
}

방법2

\@ifnextchar 를 이용해서 두개의 함수를 분리해서 사용하는 방식
\makeatletter
\def\PicTure{\@ifnextchar[\@pic@ture\@@pic@@ture}
\def\@pic@ture[#1]#2{\includegraphics[width=#1cm]{#2}}
\def\@@pic@@ture#1{\includegraphics{#1}}
\makeatother

DeleteMe \@ifnextchar의 쓰임새를 보아하니 플레인텍에서 많이(?) 사용하는 \futurelet 과 \ifx를 결합해 놓은 것과 같아보입니다. 레이텍이 편하긴 편하네요. :)
\def\Com{\futurelet\testchar\MaybeOptArgCom}
\def\MaybeOptArgCom{\ifx[\testchar \let\next\OptArgCom
  \else \let\next\NoOptArgCom \fi \next}
\def\OptArgCom[#1]#2{ ... }
\def\NoOptArgCom#1{ ... }

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2007-02-06 18:55:34
Processing time 0.0291 sec