207ÂÊ: ¾Õ¿¡ \futureletÀ̶ó´Â Á¦¸ñÀ¸·Î ±ÛÀ» ¾´ ÀûÀÌ ÀÖ¾î¼, À̹ø¿¡ "\futurelet ´Ù½Ãº¸±â" ·Î
Á¦¸ñÀ» ºÙ¿´Áö¸¸, óÀ½ ±ÛÀº \futureletÀ» µµ´ëü ¾îµð¿¡ »ç¿ëÇØ¾ß ÇÏ´ÂÁö ÀÌÇØÇÏÁö
¸øÇÏ°Ú´Ù´Â ³ÌµÎ¸®¿´±â¶§¹®¿¡, »ç½ÇÀº Áö±ÝÀÌ ÁøÂ¥¶ó°í ÇÏ°Ú½À´Ï´Ù.
TeXbook¿¡ ³ª¿Í ÀÖ´Â \futureletÀÌ »ç¿ëµÈ ¿¹Á¦´Â ¾ÆÁ÷ ÀÛÀº³ª¹«¿¡°Ô´Â ¹«¸®°¡ ÀÖ¾î¼,
Á» ´õ ÀÚ¼¼È÷ ¼³¸íµÇ°í, »ó´ëÀûÀ¸·Î ½¬¿î TeXbyTopic¿¡¼ ¼³¸í°ú ±× ¿¹Á¦¸¦ °ñ¶óº¸¾Ò½À´Ï´Ù.
±×·¡¼ À̹ø¸¸Àº TeXbook ÀбⰡ ¾Æ´Ï¶ó TeXbyTopic Àбâ·Î Çؾ߰ڽÀ´Ï´Ù.
´ÙÀ½ÀÇ \letÀ» ÀÌ¿ëÇÑ ¹®ÀåÀº ÀÌ¹Ì ¾Æ½Ã´Ù½ÃÇÇ,
\let<control sequence><token1><token2><token3><token...><control sequence>°¡ <token1>ÀÇ Àǹ̸¦ °®°Ô µÇ°í, ³²Àº °ÍÀ» ´Ù½Ã ½áº¸¸é, ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
<token2><token3><token...>Áï, À§¿¡¼ <token1>ÀÌ »ç¶óÁø °ÍÀÌÁö¿ä.
ÇÏÁö¸¸ \futureletÀº Á» ´Ù¸¨´Ï´Ù. À§¿¡¼ \letÀ» \futureletÀ¸·Î ¹Ù²Ù¸é, ´ÙÀ½°ú °°ÀÌ µÇ´Âµ¥,
\futurelet<control sequence><token1><token2><token3><token...>ÀÌ´Â <control sequence>¿¡ <token1>ÀÌ ¾Æ´Ñ <token2>ÀÇ Àǹ̸¦ ºÎ¿©ÇÕ´Ï´Ù. (\expandafter ¿Í ¾à°£ ºñ½ÁÇÑ ¹º°¡°¡ ´À²¸Áý´Ï´Ù. ) ±×¸®°í³ª¼, \letÀÇ °æ¿ì´Â ±× Àǹ̻ó <token1>ÀÌ »ç¶óÁø ¹Ý¸é, \futurelet¿¡¼´Â <token2>°¡ »ç¶óÁöÁö ¾Ê½À´Ï´Ù. Áï, ¾Æ·¡¿Í °°ÀÌ µË´Ï´Ù.
<token1><token2><token3><token...>À§ »óÅ°¡ µÇ°í³ª¸é, <token1>Àº <token2>°¡ ¾î¶² ³à¼®ÀÎÁö ¾Ë°ÔµË´Ï´Ù. ±×·¡¼ <token1>Àº <token2>¿¡ µû¶ó¼ ÇൿÀ» ÃëÇÏ¸é µË´Ï´Ù. ÀÌÁ¦ \futureletÀÇ Àǹ̰¡ È®½ÇÈ÷ ÀÌÇØ°¡ µË´Ï´Ù. À̳ðÀ» ¾îµð´Ù ¾²´À³Ä°¡ ¹®Á¦Àε¥... \futureletÀÌ ¾²ÀÌ´Â ´ëÇ¥ÀûÀÎ ¿¹°¡ ¹Ù·Î ¸ÅÅ©·ÎÀÇ ÆĶó¹ÌÅÍ°¡ ¿É¼Å³ÎÇÑ °æ¿ì¶ø´Ï´Ù. ±×·¸´Ù°í Çϴϱî, ±×·² °Íµµ °°Àºµ¥, ¾ÆÁ÷ È® ¿Í´êÁö ¾Ê½À´Ï´Ù. Á» ´õ »ìÆ캸°Ú½À´Ï´Ù.
´ÙÀ½°ú °°Àº ¸ÅÅ©·Î \ComÀÌ ÀÖ´Ù°í ÇսôÙ.
\Com À̶ó´Â ¸í·É¾î¿¡ optional À̶ó´Â ÆĶó¹ÌÅÍ°¡ ÀÖÀ» ¼öµµ ÀÖ°í, ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù.
Áï ¸» ±×´ë·Î ÆĶó¹ÌÅÍ°¡ ¿É¼ÇÀ̶ó´Â ¶æÀÌÁÒ. À§¿Í °°Àº \Com ¸ÅÅ©·Î¸¦ ÇØ°áÇϱâ À§Çؼ
\futureletÀÌ ÁÖ·Î ¾²Àδٰí ÇÕ´Ï´Ù. ±×·³ \ComÀº ½ÇÁ¦·Î ¾î¶»°Ô Á¤ÀÇ µÉ±î¿ä?
(ÀÌÁ¦ ¾ó¸¶ ¾È³²¾Ò½À´Ï´Ù.)
\Com{argument}
¶Ç´Â
\Com[optional]{argument}
\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{ ... }
¸ðµç °ÍÀÌ ºÐ¸íÇØÁö´Â ¼ø°£ÀÔ´Ï´Ù. Á¤¸» ±â»Þ´Ï´Ù. (TeXbookµµ ¿ä·ÎÄÞ ¾Ë±â½±°Ô ¼³¸íÇØÁÖ¸é,
¾ó¸¶³ª ÁÁÀ»±î ÇÏ°í »ý°¢ÇØ º¾´Ï´Ù.)
°á±¹ ¾Æ·¡ÀÇ ¹®ÀåÀº
\Com[optional]{argument}À§ÀÇ \ComÀÇ Á¤ÀÇ´ë·Î¶ó¸é,
\futurelet\testchar\MaybeOptArgCom[optional]{argument}ÀÌ µÇ´Âµ¥, \futureletÀÇ Á¤ÀÇ¿¡ µû¶ó \testchar´Â '['¸¦ °®°Ô µË´Ï´Ù. ±×·¡¼ \MaybeOptArgComÀº ÀÌÁ¦ \testcharÀÌ ¾î¶² ³ðÀÎÁö ¾Ë°ÔµÇ¾î \testchar°¡ '['¶ó¸é \OptArgCom¸¦ ½ÇÇàÇϸéµÇ°í, ¾Æ´Ï¶ó¸é \NoOptArgCom ¸¦ Àü°³ÇÏ¸é ±×¸¸ÀÔ´Ï´Ù.
´ëÇѵ¶¸³¸¸¼¼! ÀÔ´Ï´Ù.