KTUGFaq

KTUG FAQ

"expandafter(2): ½Ã°£Â÷ °ø°Ý"¿¡ ´ñ±Û ´õÇϱâ

·Î±×ÀÎ:
ºñ¹Ð¹øÈ£:
°¡ÀÔ
You will have long and healthy life.
FrontPage › LittleTree/ReadingTeXbook/2006-03
Mar 25, 2006
expandafter(2): ½Ã°£Â÷ °ø°Ý
Submitted by ÀÛÀº³ª¹« @ 03-25 [03:14 pm]
213ÂÊ: ¸í·É¾î \expandafter´Â ±²ÀåÈ÷ Àç¹ÌÀÖÀ¸¸é¼­µµ º¸±âº¸´Ù´Â ±×´ÙÁö ¾î·Á¿î ¸í·É¾î°¡ ¾Æ´Ï¾ú½À´Ï´Ù. ¹°·Ð TeXbook¿¡ ³ª¿ÍÀÖ´Â ¿¹Á¦´Â ½±Áö¸¸Àº ¾Ê¾Æ¼­ ÀÌ ¸í·É¾îÀÇ Àǹ̸¦ ¾Ë¾ÆÂ÷¸®±â ±×´ÙÁö ½±Áö¸¸Àº ¾Ê¾Ò´Âµ¥, ´ÙÇàÀÌ ¾ÆÁÖ ½±°í ÀûÀýÇÑ ¿¹Á¦¸¦ ã¾Ò½À´Ï´Ù. ¿¹Á¦ÀÇ Ãâó´Â "Getting TeXnical: Insights into TeX Macro Writing Techniques", TUGboat, Volume 11 (1990), No.3 ÀÔ´Ï´Ù. TeX ¸ÅÅ©·Î ÀÛ¼ºÇÏ´Â ±â±³(?)¸¦ ¼³¸íÇÏ´Â paperÀε¥, ¾à°£ ¾î·Á¿î ¸éÀÌ ÀÖÁö¸¸, ¸Å¿ì Àç¹ÌÀÖ½À´Ï´Ù. °ü½ÉÀÖ´Â ºÐÀº Çѹø Àо±â¸¦ ²À ±ÇÇÕ´Ï´Ù.

ÀÌÇظ¦ µ½±âÀ§Çؼ­, ¹è±¸¿¡ ºñÀ¯¸¦ Çؼ­ ¸ÕÀú °³³äÀ» ¼³¸íÇϸé :) ¹è±¸¿¡ "½Ã°£Â÷ °ø°Ý" À̶ó´Â °ø°Ý ±â¼úÀÌ ÀÖÁÒ? ¼¼ÅÍ°¡ ¹è±¸ °øÀ» Å佺¸¦ ÇÏ¸é µÎ ¸íÀÇ °ø°Ý¼ö°¡ ±â´Ù¸®°í ÀÖ´Ù°¡, ù¹ø° °ø°Ý¼ö°¡ ¸¶Ä¡ ½ºÆÄÀÌÅ©¸¦ ÇÒ°Í Ã³·³ ÇÏ´Ù°¡ µÎ¹ø° °ø°Ý¼ö°¡ ½ÇÁ¦·Î ½ºÆÄÀÌÅ© °ø°ÝÀ» ÇÕ´Ï´Ù. \expandafter´Â ¹Ù·Î ÀÌ ¹è±¸ÀÇ "½Ã°£Â÷ Àü°³"¿¡ ÇØ´çÇÕ´Ï´Ù. \expandafter°¡ ¼¼ÅÍ¿¡ ÇØ´çÇÏ°í ±× µÚ¿¡ µû¶ó ³ª¿À´Â µÎ°³ÀÇ ¸í·É¾î(control sequence)°¡ µÎ ¸íÀÇ °ø°Ý¼ö¿¡ ÇØ´çÇÕ´Ï´Ù.

\expandafter´Â ù¹ø° ³ª¿À´Â ¸ÅÅ©·Î¸¦ Àü°³½ÃÅ°´Â °ÍÀÌ ¾Æ´Ï¶ó µÎ¹ø° ³ª¿À´Â ¸ÅÅ©·Î¸¦ Àü°³ ½ÃÅ°°í, ±× Àü°³µÈ °á°ú¸¦ ù¹ø° ¸ÅÅ©·Î°¡ ÀÌ¿ëÇÕ´Ï´Ù. ¸Å¿ì Àç¹ÌÀÖ½À´Ï´Ù.

±×·³, ¾à¼Ó´ë·Î °£´ÜÇϸ鼭µµ ÀÌÇØÇϱ⠽¬¿î ¿¹¸¦ µé¾îº¸°Ú½À´Ï´Ù.
\def\letters{xyz}
\def\lookatletters#1#2#3{First arg=#1, Second arg=#2, Third arg=#3 }
À§¿Í °°ÀÌ \lookatletter ¸ÅÅ©·Î°¡ Á¤ÀÇ µÇ¾î ÀÖÀ»¶§,
\lookatletters\letters ? !
´Â ¾î¶»°Ô Àü°³µÉ±î¿ä? \lookatletters ÀÇ Ã¹¹ø° ÀÎÀÚ°¡ \letterÀÌ°í µÎ¹ø° ÀÎÀÚ´Â ?, ¼¼¹ø° ÀÎÀÚ´Â ! Àε¥, \letter ¸ÅÅ©·Î´Â xyz·Î Àü°³ µÇ±â ¶§¹®¿¡
 First arg=xyz, Second arg=?, Third arg=!
°ú °°ÀÌ Àü°³µË´Ï´Ù. ÀÌ°ÍÀº ´©±¸³ª ¾Ë¼ö ÀÖ½À´Ï´Ù. ÀÌÁ¦ \expandafter¸¦ ÀÌ¿ëÇؼ­ ½Ã°£Â÷ °ø°Ý¿¡ µé¾î°©´Ï´Ù.
\expandafter\lookatletters\letters ? !
´Â ¾î¶»°Ô Àü°³µÉ±î¿ä? ¸ÕÀú \expandafter´Â \letters¸¦ ¸ÕÀú Àü°³ ½Ãŵ´Ï´Ù. ±×·¡¼­ À§ÀÇ ¹®ÀåÀº °á±¹ ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
\lookatletters xyz ? !
±×·¡¼­ ÃÖÁ¾ °á°ú´Â
 First arg=x, Second arg=y, Third arg=z ? !
ÀÔ´Ï´Ù. Àç¹ÌÀÖÁÒ? ±×¸®°í ½±½À´Ï´Ù.
À̸§:

¼­¸íÇÏÁö ¾Ê±â