The macro tt(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
tt(CHAR) macro, see section ref(char), and the tt(NOTRANS) macro, see section 
ref(notrans)). The macro tt(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 tt(CHAR) 
macros in the argument, which are expanded). The contents of the parameter 
list bf(are) subject to character table translations, using the currently 
active table (see section ref(chartables)).

E.g., let's assume that you need to write in your document the following text:

verb(INCLUDEFILE(something or the other)
IFDEF(onething) (..) (....)
NOEXPAND(whatever))

The way to accomplish this is by prefixing the text by tt(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:

itemize(
        
    it() There is only one thing that a tt(NOEXPAND) cannot protect from 
    expansion: an tt(ARG)em(x) in a macro definition. The argument specifier 
    is always expanded. E.g., after

verb(\
DEFINEMACRO(thatsit)(1)(That is --> NOEXPAND(ARG1) <-- it!)

thatsit(after all))

    the tt(ARG1) inside the tt(NOEXPAND) statement is replaced with tt(after)
    tt(all).

    it() The tt(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 tt(CHAR(C)HAR(40)) to set an open parenthesis, 
    or tt(CHAR(C)HAR(41)) to typeset a closing parenthesis.
    
)
