October 1, 1979 FORMATTING FORMAT MACROS
4.5 FORMAT MACRO CODES ______________________
Format Macros are user defined codes which are abbreviations
for arbitrary combinations of text and/or format codes. A macro
definition must be of the form:


!.<macroname>=<anystring>.


<macroname>...the name of the format macro. This will be
replaced during FULLPRINT with <anystring>.
<anystring>...the string (often containing format codes) for
which <macroname> is an abbreviation. It
replaces <macroname> during FULLPRINT.
NOTES _____
Unless the macro definition is SCROLLED over during the FRESS
session, any occurrence of the macro code will not be defined.
Online this will cause the "UNDEFINED MACRO" message to be
typed. If FULLPRINT does not process the appropriate macro
definition, any undefined macro will be translated to the null
string and will be flagged on the far right with "****."
Macros may be redefined at any time. Each definition is in
effect until another definition is encountered. The effect of
a macro can be eliminated by defining it to be the null string
as follows: "!.<macroname>=.".
Macros may contain other macros. Simply imbed a macro code
within the macro definition, e.g., "!.mac2=<text>!.mac1..". If
a macro definition contains an undefined macro code, any
occurrence of the higher level macro will be flagged as
undefined.
Macros have the same effect online as any format codes imbedded
in them. For example, the macro "!.in3=!-i3-.!", causes an
indentation of three spaces wherever the code "!.in3." appears
in the text.
character case is important Unlike format codes, ___________________________ in identifying
macro names, "!.in3." is not equivalent to "!.IN3.". To avoid
confusion and to make text input easier, it is wise to use only
lower case characters when defining macro code names.
92 -- Section 4. Release 9.1 FRESS Resource Manual
October 1, 1979 FORMATTING FORMAT MACROS
SPECIAL CONTROL MACROS ______________________
When the "Macros" option of FULLPRINT is specified, the heading
appearance and margins for each Decimal Block encountered are
controlled by a series of macro definition pairs, which must be
by the user inserted into the file ___________ (see FULLPRINT).
headings The ________ of decimal level <n> are determined by the
macros: "!.h<n>.". If the heading definition for level
one is "!.h1=!-h1-.", its appearance will be the same as
if the Macros option was not used.
margins The _______ for blocks of decimal level <n> are defined
by the macros: ".dm<m>.", where <m>=<n>-1. To reproduce
the margin definition for level one under a non-Macros
FULLPRINT, "!.dm0=!+margin0,0+" should be included in the
file.
Heading appearances (whether a particular heading level
is capitalized, etc.) can be redefined using the !+HEAD+
-- define Heading alter code.
RESTRICTIONS ____________
The macro definition must be less than 100 characters long.
The length of a macro definition is determined by expanding
imbedded macros, as well as considering the delimiters ("!" and
".") and the macroname.
The special character code for the period (!75) must be used if
a literal period (".") is to be included in a macro definition.
Any format codes within a macro must be specified in full
not part (i.e., it is ___ possible to include ____ of the format code
inside the macro, and then concatenate the rest as normal text.
Macros may not be imbedded within edit or alter codes. This is
illegal illustrated in the following examples of _______ codes:
!.s=!-s1;.
!.s.i5-This text would be indented five.
!.s.i10-and this indented ten if these codes worked.
!.t=!+titleT=5c+.
!.t.would be the title's text if this code worked+
invalid These macros are _______ because format codes are indivisible.
FRESS Resource Manual Release 9.1 FRESS ReSection 4.5 -- 93
Previous Page Next Page