Next: , Up: Defining New Texinfo Commands   [Contents][Index]


18.1 ¥Þ¥¯¥í¤ÎÄêµÁ

¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¤¿¤á¡¤°Ê²¼¤Î¤è¤¦¤ËTexinfo¤Î@macro¥³¥Þ¥ó¥É¤ò»ÈÍÑ ¤·¤Þ¤¹¡¥

@macro macroname{param1, param2, …}
text … \param1\ …
@end macro

¥Ñ¥é¥á¡¼¥¿(parameters)¤Îparam1¡¤param2¡¤…¤Ï¡¤¸å ¤Ç¥Þ¥¯¥í¤ò¥É¥­¥å¥á¥ó¥È¤Ç»ÈÍѤ¹¤ë¤È¤­(¼¡¤Î¥»¥¯¥·¥ç¥ó¤Çµ­½Ò¤·¤Þ¤¹)¤Ë¶¡µë¤µ ¤ì¤ë°ú¿ô¤ËÂбþ¤·¤Þ¤¹¡¥

¥Þ¥¯¥í¤¬TeX¤Çưºî¤¹¤ë¤¿¤á¡¤macroname¤Ï´°Á´¤Ëʸ»ú¤«¤éÀ®¤êΩ¤Ã¤Æ ¤¤¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥¿ô»ú¡¤¥Ï¥¤¥Õ¥ó¡¤¥¢¥ó¥À¡¼¥¹¥³¥¢¡¤¤Þ¤¿¤Ï¾¤ÎÆÃÊ̤Êʸ»ú ¤ò´Þ¤á¤Æ¤Ï¤¤¤±¤Þ¤»¤ó¡¥

¥Þ¥¯¥í¤¬¥Ñ¥é¥á¡¼¥¿¤òɬÍפȤ·¤Ê¤¤¾ì¹ç¡¤¶õ¤Î¥ê¥¹¥È(‘@macro foo {}’)¡¤¤Þ¤¿¤Ï¥«¥Ã¥³Ìµ¤·(‘@macro foo’)¤ÇÄêµÁ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥

ÄêµÁ¤ä¥Þ¥¯¥í¤ÎËÜÂÎ(body)¤Ï¡¤Á°¤ËÄêµÁ¤µ¤ì¤¿¥Þ¥¯¥í¤ò´Þ¤á¡¤¤Û¤È¤ó¤É¤Î Texinfo¥³¥Þ¥ó¥É¤ò´Þ¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤Þ¤ÀÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¥Þ¥¯¥í¤Î¸Æ¤Ó ½Ð¤·¤Ï¤Ç¤­¤Þ¤»¤ó¡¥¤³¤Î¤¿¤á¡¤Áê¸ß¤Ë·«¤êÊÖ¤µ¤ì¤ëTexinfo¥Þ¥¯¥í¤ò»ý¤Ä¤³¤È¤Ï ÉÔ²Äǽ¤Ç¤¹¡¥¤Þ¤¿¡¤Â¾¤Î¥Þ¥¯¥í¤òÄêµÁ¤¹¤ë¥Þ¥¯¥íÄêµÁ¤Ï¡¤@macro¤ÎÀß·× ¤ÎÀ©¸Â¤Î¤¿¤á¡¤TeX¤Ç¤Ïưºî¤·¤Þ¤»¤ó¡¥

¥Þ¥¯¥í¤ÎËÜÂΤǤϡ¤¾åµ­¤ÎÎã¤Ç¤Ï‘\param1\’¤Î¤è¤¦¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã ¥·¥å¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¥Ñ¥é¥á¡¼¥¿Ì¾¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤Ï¡¤¥Þ¥¯¥í¸Æ¤Ó½Ð¤·¤Ç¤ÎÂбþ¤¹ ¤ë°ú¿ô¤ÇÃÖ´¹¤µ¤ì¤Þ¤¹¡¥¥Ñ¥é¥á¡¼¥¿Ì¾¤Ï¡¤¥¼¥í²ó¤ò´Þ¤á²¿Å٤ǤâËÜÂΤǻÈÍѲÄǽ ¤Ç¤¹¡¥

¥Þ¥¯¥í¼°¤Ç¤Îñ°ì¤Î‘\’¤òÆÀ¤ë¤¿¤á¡¤‘\\’¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡¥¤Û¤« ¤Î¤¢¤é¤æ¤ëËÜÂΤǤΑ\’¤Î»ÈÍѤϷٹ𤵤ì¤Þ¤¹¡¥

@macro¹Ô¤Î¸å¤È@end macro¹Ô¤ÎÁ°¤Î²þ¹Ô¤Ï̵»ë¤µ¤ì¤ë¤Î¤Ç¡¤¥Þ ¥¯¥íËÜÂΤ˴ޤޤì¤Þ¤»¤ó¡¥Á´¤Æ¤Î¾¤Î¶õÇò¤ÏÄ̾ï¤ÎTexinfo¤Îµ¬Â§¤Ë½¾¤Ã¤Æ°·¤ï ¤ì¤Þ¤¹¡¥

¥Þ¥¯¥í¤òºÆµ¢Åª¤Ë»ÈÍѲÄǽ¤Ë¤¹¤ë¤¿¤á¡¤¤¹¤Ê¤ï¤Á¡¤°ú¿ô¤È¤·¤Æ¤½¤ì¼«¿È¤ò¸Æ¤Ó½Ð ¤¹¤¿¤á¡¤°Ê²¼¤Î¤è¤¦¤Ë‘@rmacro’¤ÇÄêµÁ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡¥

@rmacro rmac {arg}
a\arg\b
@end rmacro
…
@rmac{1@rmac{text}2}

¤³¤ì¤Ï¡¤½ÐÎÏ‘a1atextb2b’¤òÀ¸À®¤·¤Þ¤¹¡¥‘@rmacro’¤ÎÂå¤ï¤ê¤Ë ‘@macro’¤òÍѤ¤¤¿¾ì¹ç¡¤¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤ë¤Ç¤·¤ç¤¦¡¥

@unmacro foo¤òÍѤ¤¤Æ¡¤¥Þ¥¯¥ífoo¤ò̤ÄêµÁ¤Ë¤¹¤ë¤³¤È¤¬ ²Äǽ¤Ç¤¹¡¥´û¤Ë̤ÄêµÁ¤Ë¤µ¤ì¤¿¥Þ¥¯¥í¤ò̤ÄêµÁ¤Ë¤¹¤ë¤³¤È¤Ï¥¨¥é¡¼¤Ç¤Ï¤¢¤ê¤Þ¤» ¤ó¡¥Î㤨¤Ð°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡¥

@unmacro foo