NOEXPAND
is one of the ways in which text can be sent to the
final output file without being expanded by Yodl (the other methods are the
CHAR
macro, see section ??, and the NOTRANS
macro, see section
??). The macro NOEXPAND
takes one parameter list, the text in
question. Whatever occurs in the argument is not subject to parsing or
expansion by Yodl, but is simply copied to the output file (except for CHAR
macros in the argument, which are expanded). The contents of the parameter
list are subject to character table translations, using the currently
active table (see section ??).
E.g., let's assume that you need to write in your document the following text:
INCLUDEFILE(something or the other) IFDEF(onething) (..) (....) NOEXPAND(whatever)
The way to accomplish this is by prefixing the text by NOEXPAND
followed
by an open parenthesis, and by postfixing it by a closing parenthesis.
Otherwise, the text would be expanded by Yodl while processing it (and would
lead to syntax errors, since the text isn't correct in the sence of the Yodl
language).
For this macro, keep the following caveats in mind:
NOEXPAND
cannot protect from
expansion: an ARG
x in a macro definition. The argument specifier
is always expanded. E.g., after
DEFINEMACRO(thatsit)(1)(That is --> NOEXPAND(ARG1) <-- it!) thatsit(after all)
the ARG1
inside the NOEXPAND
statement is replaced with after
all
.
NOEXPAND
macro must, as all macros, be followed by a
parameter list. The parentheses of the list must therefore be `balanced'.
For unbalanced lists, use CHAR(40)
to set an open parenthesis,
or CHAR(41)
to typeset a closing parenthesis.
Please send Yodl questions and comments to yodl@icce.rug.nl.
Please send comments on these web pages to
(address unknown),
send other FSF & GNU inquiries and questions to
Copyright (c) 1998 Karel Kubat and Jan Nieuwenhuizen
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.