@comment +-------------------------------------------------------------------+
@comment | MACRO: anchoridx{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds "xxxxx" to the concept index and also creates a "xxxxx"      |
@comment | @anchor.                                                          |
@comment +-------------------------------------------------------------------+
@macro anchoridx {term}
@idx{\term\}
@anchor{\term\}
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: define{xxxxx}                                              |
@comment |                                                                   |
@comment | Adds "xxxxx" to the concept index and also puts "'xxxxx'"         |
@comment | into the document.  Must occur at start of line.                  |
@comment +-------------------------------------------------------------------+
@macro define {term}
@idx{\term\}
@dfn{\term\}
@end macro
@comment For use after @item, must occur at end of line
@macro itemdfn {term}
@dfn{\term\}
@idx{\term\}
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: diagram{title,fileinfo,filetex,note                        |
@comment |                                                                   |
@comment | Insert a syntax diagram.  Arguments are as follows:               |
@comment | title     Title of Diagram                                        |
@comment | fileinfo  "INFO" Format filename : SYN-<fileinfo>.texi            |
@comment | filetex   "TeX" Format filename  : SYN-<filetex>.texi             |
@comment | note      Notes filename         : NOTE-<note>.texi               |
@comment +-------------------------------------------------------------------+
@macro diagram{title,fileinfo,filetex,note}
@ifnottex
@ifset SKELETON
@sp 1
@center =======================================================================
@end ifset
@center \title\ Syntax
@center =======================================================================
@sp 1
@verbatiminclude SYN-\fileinfo\.texi
@include NOTE-\note\.texi
@end ifnottex
@iftex
@cartouche
@smallformat
@center @b{\title\ Syntax}
@end smallformat
@end cartouche
@verbatiminclude SYN-\filetex\.texi
@include NOTE-\note\.texi
@end iftex
@ifnottex
@ifclear SKELETON
@sp 1
@center =======================================================================
@end ifclear
@end ifnottex
@iftex
@ifclear SKELETON
@sp 1
@center ------------------------------------------------------------------------------------------------------------------------
@end ifclear
@end iftex
@end macro
@comment +-------------------------------------------------------------------+
@comment | Begin HTML dictionary list (@table) with a division, for CSS.
@comment | Use is similar to @table: 
@comment |     @dictionary @code, classname
@comment |     @item term-1
@comment |     a definition
@comment | 
@comment |     @item term-2
@comment |     another defintion
@comment |     @enddict
@comment +-------------------------------------------------------------------+
@ifhtml
@macro dictionary {code, class}
@html
<div class=\class\>
@end html
@table \code\
@end macro
@end ifhtml

@ifnothtml
@macro dictionary {code, class}
@table \code\
@end macro
@end ifnothtml
@comment +-------------------------------------------------------------------+
@comment | End HTML dictionary list (@table) and close the division, for CSS. 
@comment +-------------------------------------------------------------------+
@ifhtml
@macro enddict
@end table
@html
</div>
@end html
@end macro
@end ifhtml

@ifnothtml
@macro enddict
@end table
@end macro
@end ifnothtml
@comment +-------------------------------------------------------------------+
@comment | MACRO: directive{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds language syntax '"xxxxx" CDF directive' (with quotations) to |
@comment | the document.                                                     |
@comment +-------------------------------------------------------------------+
@macro directive {text}
@code{\text\} CDF directive
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: directiveref{xxxxx}                                        |
@comment |                                                                   |
@comment | Adds '"xxxxxx" CDF directive' to the document along with a        |
@comment | following parenthetic reference to that directive's documentation.|
@comment +-------------------------------------------------------------------+
@macro directiveref {text}
@directive{\text\} (@pxref{\text\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: envvarcompile{xxxxx}                                       |
@comment |                                                                   |
@comment | Adds "xxxxx Environment Variable" and "Environment Variables,     |
@comment | xxxxx" to the concept index and also puts "xxxxx " into the       |
@comment | document along with a reference to the "Compilation Time Environ- |
@comment | ment Variables" topic.                                            |
@comment +-------------------------------------------------------------------+
@macro envvarcompile {v}
@code{\v\} compilation-time environment variable
@idx{\v\ Environment Variable}
@idx{Environment Variables, \v\}
(@pxref{Compilation Time Environment Variables})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: envvarruntime{xxxxx}                                       |
@comment |                                                                   |
@comment | Adds "xxxxx Environment Variable" and "Environment Variables,     |
@comment | xxxxx" to the concept index and also puts "xxxxx " into the       |
@comment | document.                                                         |
@comment +-------------------------------------------------------------------+
@macro envvarruntime {v}
@idx{\v\ Environment Variable}
@idx{Environment Variables, \v\}
@code{\v\} run-time environment variable
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: envvarruntimeref{xxxxx}                                    |
@comment |                                                                   |
@comment | Adds "xxxxx Environment Variable" and "Environment Variables,     |
@comment | xxxxx" to the concept index and also puts "xxxxx " into the       |
@comment | document along with a reference to the "Run Time Environment      |
@comment | Variables" topic.                                                 |
@comment +-------------------------------------------------------------------+
@macro envvarruntimeref {v}
@envvarruntime{\v\} (@pxref{Run Time Environment Variables})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: envvarruntimerefs{xxxxx}                                   |
@comment |                                                                   |
@comment | Adds "xxxxx Environment Variable" and "Environment Variables,     |
@comment | xxxxx" to the concept index and also puts "xxxxx " into the       |
@comment | document along with a reference to the "Run Time Environment      |
@comment | Variables" topic.                                                 |
@comment +-------------------------------------------------------------------+
@macro envvarruntimerefs {v}
@envvarruntime{\v\} run-time environment variables (@pxref{Run Time Environment Variables})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: idx{xxxxx}                                                 |
@comment |                                                                   |
@comment | Adds "xxxxx" to the concept index.                                |
@comment |                                                                   |
@comment | NOTE: an additional line break before @cindex is necessary to     |
@comment |       fix warnings from makeinfo - but this leads to unwanted     |
@comment |       line breaks for example at "specification defines over "    |
@comment +-------------------------------------------------------------------+
@macro idx {text}
@cindex \text\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: intrinsic{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds '"xxxxxx" intrinsic function' to the document as a @code{} |
@comment | element.                                                          |
@comment +-------------------------------------------------------------------+
@macro intrinsic {function}
@code{\function\} intrinsic function
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: intrinsicref{xxxxx}                                        |
@comment |                                                                   |
@comment | Adds '"xxxxxx" intrinsic function' to the document as a @code{} |
@comment | element with a following parenthetic reference to that function's |
@comment | documentation.                                                    |
@comment +-------------------------------------------------------------------+
@macro intrinsicref {function}
@intrinsic{\function\} (@pxref{\function\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newappendix{letter,nodename}                               |
@comment |                                                                   |
@comment | Start a new appendix.  The appendix will be given the specified   |
@comment | "nodename" as a title and will have a node named "nodename"       |
@comment | created for it.  In addition, "nodename" will be added to the     |
@comment | concept index and page headings and footings will be updated to   |
@comment | reflect the new appendix.                                         |
@comment +-------------------------------------------------------------------+
@macro newappendix {name}
@sp 1
@set NEWSYNTAX On
@node \name\
@appendix \name\
@idx{\name\}
@set CHAPNAME Appendix \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newappsec{nodename}                                        |
@comment |                                                                   |
@comment | Start a new section within an appendix.  The section will be      |
@comment | given the specified "nodename" as its title and will have a node  |
@comment | named "nodename" created for it.                                  |
@comment +-------------------------------------------------------------------+
@macro newappsec {name}
@sp 1
@idx{\name\}
@set NEWSYNTAX On
@node \name\
@appendixsec \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newchapter{nodename}                                       |
@comment |                                                                   |
@comment | Start a new chapter.  The chapter will be given the specified     |
@comment | "nodename" as a title and will have a node named "nodename"       |
@comment | created for it.  In  addition, "title" will be added to the       |
@comment | concept index and page headings and footings will be updated to   |
@comment | reflect the new chapter.                                          |
@comment +-------------------------------------------------------------------+
@macro newchapter {name}
@sp 1
@set NEWSYNTAX On
@node \name\
@chapter \name\
@idx{\name\}
@set CHAPNAME Chapter \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newsection{nodename}                                       |
@comment |                                                                   |
@comment | Start a new section.  The section will be given the specified     |
@comment | "nodename" as its title and will have a node named "nodename"     |
@comment | created for it.                                                   |
@comment +-------------------------------------------------------------------+
@macro newsection {name}
@sp 1
@idx{\name\}
@set NEWSYNTAX On
@node \name\
@section \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newsubsection{nodename}                                    |
@comment |                                                                   |
@comment | Start a new subsection.  The subsection will be given the         |
@comment | specified "nodename" as its title and will have a node named      |
@comment | "nodename" created for it.                                        |
@comment +-------------------------------------------------------------------+
@macro newsubsection {name}
@sp 1
@idx{\name\}
@set NEWSYNTAX On
@node \name\
@subsection \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: newsubsubsection{nodename}                                 |
@comment |                                                                   |
@comment | Start a new subsubsection.  The subsubsection will be given the   |
@comment | specified "nodename" as its title and will have a node named      |
@comment | "nodename" created for it.                                        |
@comment +-------------------------------------------------------------------+
@macro newsubsubsection {name}
@sp 1
@idx{\name\}
@set NEWSYNTAX On
@node \name\
@subsubsection \name\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: registertext{xxxxx}                                        |
@comment |                                                                   |
@comment | Puts "xxxxx" into the document via a @code macro, adds          |
@comment | " special register" text.                                         |
@comment +-------------------------------------------------------------------+
@macro registertext {v}
@code{\v\} special register
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: register{xxxxx}                                            |
@comment |                                                                   |
@comment | Adds "xxxxx Special register" and "Special Registers, xxxxx" to   |
@comment | the concept index and also puts "xxxxx" into the via a @code    |
@comment | macro.                                                            |
@comment |                                                                   |
@comment | NOTE: the additional line break before @end macro is necessary!!! |
@comment +-------------------------------------------------------------------+
@macro register {v}
@idx{\v\ Special Register}
@idx{Special Registers, \v\}
@registertext{\v\}
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: registerref{xxxxx}                                         |
@comment |                                                                   |
@comment | Adds "xxxxx Special register" and "Special Registers, xxxxx" to   |
@comment | the concept index, puts "xxxxx" into the via a @code macro and  |
@comment | adds a cross-reference to "Special Registers".                    |
@comment +-------------------------------------------------------------------+
@macro registerref {v}
@register{\v\} (@pxref{Special Registers})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: registerrefalt{xxxxx,ref}                                  |
@comment |                                                                   |
@comment | Adds "xxxxx Special register" and "Special Registers, xxxxx" to   |
@comment | the concept index, puts "xxxxx" into the via a @code macro and  |
@comment | adds a cross-reference to ref.                                    |
@comment +-------------------------------------------------------------------+
@macro registerrefalt {v,ref}
@register{\v\} (@pxref{\ref\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: statement{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds language syntax '"xxxxx" statement' (with quotations) to the |
@comment | document.                                                         |
@comment +-------------------------------------------------------------------+
@macro statement {text}
@code{\text\} statement
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: statementref{xxxxx}                                        |
@comment |                                                                   |
@comment | Adds '"xxxxxx" statement' to the document along with a following  |
@comment | parenthetic reference to that statement's documentation.          |
@comment +-------------------------------------------------------------------+
@macro statementref {text}
@statement{\text\} (@pxref{\text\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: statementrefalt{xxxxx,ref}                                 |
@comment |                                                                   |
@comment | Adds '"xxxxxx" statement' to the document along with a following  |
@comment | parenthetic reference to ref's documentation.                     |
@comment +-------------------------------------------------------------------+
@macro statementrefalt {text,ref}
@statement{\text\} (@pxref{\ref\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: subpgm{xxxxx}                                              |
@comment |                                                                   |
@comment | Adds '"xxxxxx" built-in system subroutine' to the document as a   |
@comment | @code{} element.                                                |
@comment +-------------------------------------------------------------------+
@macro subpgm {name}
@code{\name\} built-in system subroutine
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: subpgmref{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds '"xxxxxx" built-in system subroutine' to the document as a   |
@comment | @code{} element with a following parenthetic reference to that  |
@comment | subroutine's documentation.                                       |
@comment +-------------------------------------------------------------------+
@macro subpgmref {name}
@subpgm{\name\} (@pxref{\name\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: switch{xxxxx}                                              |
@comment |                                                                   |
@comment | Puts "xxxxx switch" into the document.                            |
@comment +-------------------------------------------------------------------+
@macro switch {text}
@option{\text\} switch
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: switchidx{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds "xxxxx Compiler Switch" and "Compiler Switches, xxxxx" to    |
@comment | the concept index and also puts "xxxxx switch" into the document. |
@comment +-------------------------------------------------------------------+
@macro switchidx {text}
@idx{Compiler Switches, \text\}
@idx{\text\ Compiler Switch}
@switch{\text\}
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: syntaxidx{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds language syntax "xxxxx" to the document                      |
@comment | and to the concept index. Must occur at start of line.            |
@comment +-------------------------------------------------------------------+
@macro syntaxidx {text}
@idx{\text\}
@code{\text\}
@end macro
@comment +-------------------------------------------------------------------+
@comment | Capture text in the index, and pass it through. 
@comment | Note: This macro *must* occur at end of line.  
@comment |       Otherwise, anything after it will be included in the
@comment |       index term.  
@comment +-------------------------------------------------------------------+
@macro plainidx {text}
\text\
@cindex \text\
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: syntaxref{xxxxx}                                           |
@comment |                                                                   |
@comment | Adds "xxxxxx" to the document along with a following parenthetic  |
@comment | reference to that statement's documentation.                      |
@comment +-------------------------------------------------------------------+
@macro syntaxref {text}
@code{\text\} (@pxref{\text\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: syntaxrefalt{xxxxx,ref}                                    |
@comment |                                                                   |
@comment | Adds "xxxxxx" to the document along with a following parenthetic  |
@comment | reference to ref's documentation.                                 |
@comment +-------------------------------------------------------------------+
@macro syntaxrefalt {text,ref}
@code{\text\} (@pxref{\ref\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: termrefalt{xxxxx,topic}                                    |
@comment |                                                                   |
@comment | Adds an italicized term to the document along with a parenthetic  |
@comment | cross-reference to its topic.                                     |
@comment +-------------------------------------------------------------------+
@macro termrefalt {arg,topic}
@i{\arg\} (@pxref{\topic\})
@end macro
@comment +-------------------------------------------------------------------+
@comment | MACRO: topic{text}                                                |
@comment |                                                                   |
@comment | Adds "text" to the document along with a following parenthetic    |
@comment | reference to text's documentation.                                |
@comment +-------------------------------------------------------------------+
@macro topic {text}
\text\ (@pxref{\text\})
@end macro
@comment *********************************************************************
@comment ** END OF MACRO DECLARATIONS                                       **
@comment *********************************************************************
