GNU Info

Info Node: (texinfo)definfoenclose

(texinfo)definfoenclose


Prev: alias Up: Defining New Texinfo Commands
Enter node , (file) or (file)node

`definfoenclose': Customized Highlighting
=========================================

  A `@definfoenclose' command may be used to define a highlighting
command for Info, but not for TeX.  A command defined using
`@definfoenclose' marks text by enclosing it in strings that precede
and follow the text.  You can use this to get closer control of your
Info output.

  Presumably, if you define a command with `@definfoenclose' for Info,
you will create a corresponding command for TeX, either in
`texinfo.tex', `texinfo.cnf', or within an `@iftex' in your document.

  Write a `@definfoenclose' command on a line and follow it with three
arguments separated by commas.  The first argument to `@definfoenclose'
is the @-command name (without the `@'); the second argument is the
Info start delimiter string; and the third argument is the Info end
delimiter string.  The latter two arguments enclose the highlighted
text in the Info file.  A delimiter string may contain spaces.  Neither
the start nor end delimiter is required.  If you do not want a start
delimiter but do want an end delimiter, you must follow the command
name with two commas in a row; otherwise, the Info formatting commands
will naturally misinterpret the end delimiter string you intended as
the start delimiter string.

  If you do a `@definfoenclose' on the name of a pre-defined macro
(such as `@emph', `@strong', `@t', or `@i'), the enclosure definition
will override the built-in definition.

  An enclosure command defined this way takes one argument in braces;
this is intended for new markup commands (Note: Marking Text).

  For example, you can write:

     @definfoenclose phoo,//,\\

near the beginning of a Texinfo file to define `@phoo' as an Info
formatting command that inserts `//' before and `\\' after the argument
to `@phoo'.  You can then write `@phoo{bar}' wherever you want
`//bar\\' highlighted in Info.

  Also, for TeX formatting, you could write

     @iftex
     @global@let@phoo=@i
     @end iftex

to define `@phoo' as a command that causes TeX to typeset the argument
to `@phoo' in italics.

  Each definition applies to its own formatter: one for TeX, the other
for `texinfo-format-buffer' or `texinfo-format-region'.  The
`@definfoenclose' command need not be within `@ifinfo', but the raw TeX
commands do need to be in `@iftex'.

  Here is another example: write

     @definfoenclose headword, , :

near the beginning of the file, to define `@headword' as an Info
formatting command that inserts nothing before and a colon after the
argument to `@headword'.

  `@definfoenclose' definitions must not be recursive, directly or
indirectly.


automatically generated by info2www version 1.2.2.9