The macro 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:

  • There is only one thing that a NOEXPAND cannot protect from expansion: an ARGx 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.

  • The 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.


  • Go back to index of Yodl.

    Please send Yodl questions and comments to yodl@icce.rug.nl.

    Please send comments on these web pages to (address unknown)

    Copyright (c) 1997, 1998, 1999 Karel Kubat and Jan Nieuwenhuizen.

    Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


    This page was built from Yodl-1.31.18 by

    Nicolas Lécureuil <(address unknown)>, Thu Jun 2 17:42:22 2005 CEST.