DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(texinfo) Invoking Macros

Info Catalog (texinfo) Defining Macros (texinfo) Defining New Texinfo Commands (texinfo) Macro Details
 
 Invoking Macros
 ===============
 
   After a macro is defined (see the previous section), you can use
 ("invoke") it in your document like this:
 
      @MACRONAME {ARG1, ARG2, ...}
 
 and the result will be just as if you typed the body of MACRONAME at
 that spot.  For example:
 
      @macro foo {p, q}
      Together: \p\ & \q\.
      @end macro
      @foo{a, b}
 
 produces:
 
      Together: a & b.
 
   Thus, the arguments and parameters are separated by commas and
 delimited by braces; any whitespace after (but not before) a comma is
 ignored.  The braces are required in the invocation (but not the
 definition), even when the macro takes no arguments, consistent with
 all other Texinfo commands.  For example:
 
      @macro argless {}
      No arguments here.
      @end macro
      @argless{}
 
 produces:
 
      No arguments here.
 
   To insert a comma, brace, or backslash in an argument, prepend a
 backslash, as in
 
      @MACNAME {\\\{\}\,}
 
 which will pass the (almost certainly error-producing) argument `\{},'
 to MACNAME.
 
   If the macro is defined to take a single argument, and is invoked
 without any braces, the entire rest of the line after the macro name is
 supplied as the argument.  For example:
 
      @macro bar {p}
      Twice: \p\ & \p\.
      @end macro
      @bar aah
 
 produces:
 
      Twice: aah & aah.
 
   If the macro is defined to take a single argument, and is invoked with
 braces, the braced text is passed as the argument, regardless of
 commas.  For example:
 
      @macro bar {p}
      Twice: \p\ & \p\.
      @end macro
      @bar{a,b}
 
 produces:
 
      Twice: a,b & a,b.
 
Info Catalog (texinfo) Defining Macros (texinfo) Defining New Texinfo Commands (texinfo) Macro Details
automatically generated byinfo2html