Info Node: (texinfo)@definfoenclose

texinfo: @definfoenclose
Defining New Texinfo Commands
External Macro Processors
@alias
Back to Software Index
19.5 '@definfoenclose': Customized Highlighting
===============================================
An '@definfoenclose' command may be used to define a highlighting
command for all the non-TeX output formats. 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 output.
Presumably, if you define a command with '@definfoenclose', you will
create a corresponding command for TeX, either in 'texinfo.tex',
'texinfo.cnf', or within an '@iftex' of '@tex' in your document.
Write an '@definfoenclose' command at the beginning of a line followed
by three comma-separated arguments. The first argument to
'@definfoenclose' is the @-command name (without the '@'); the second
argument is the start delimiter string; and the third argument is the
end delimiter string. The latter two arguments enclose the highlighted
text in the output.
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 end delimiter string you intended will naturally be
(mis)interpreted as the start delimiter string.
If you do an '@definfoenclose' on the name of a predefined command
(such as '@emph', '@strong', '@t', or '@i'), the enclosure definition
will override the built-in definition. We don't recommend this.
An enclosure command defined this way takes one argument in braces,
since it 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.
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 everything else. The raw TeX commands need to be in '@iftex'.
'@definfoenclose' command need not be within '@ifinfo', unless you want
to use different definitions for different output formats.
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