Go to the previous, next section.
This document describes the TIM documentation language that the documentation for ILU is written in. It is not necessary to be familiar with TIM to use ILU; you will only need to know TIM if you wish to use it to write or modify documentation.
TIM is essentially a superset of the GNU texinfo language, version 2. It adds several features to allow more precise discrimination of semantics when documenting software systems. You should be familiar with the basic texinfo system first. Documentation on texinfo is supplied with the ILU distribution; you should be able to find it in the files `ilu/doc/texinfo2.ps'.
TIM removes the need to begin every file with \input texinfo,
and to end every file with @bye. These lines are added automatically by
TIM as needed. This allows a file to define both a stand-alone
document, and to be included as a section in some larger document.
TIM redefines the following texinfo markup commands:
@var is now used to indicate a regular programming language variable. The term @metavar
is used to mark meta-variables.
TIM also extends texinfo by adding the following markup:
@C is used to mark artifacts of the C language, e.g., @C{#define}.
@C++ is used to mark artifacts of the C++ language, e.g., @C++{#define}.
@class is used to mark names of object classes.
@command is used to mark user input, such as a user-typed shell command, when it occurs
in the normal flow of text. The term @userinput is used when the user input occurs
within a @transcript section.
@codeexample is used to mark code that is excerpted in the style of a texinfo example.
The term @codeexample should appear on a line by itself, before the text of the code, and the
terms @end codeexample should appear on a line by itself, at the end of the text of the code.
@cl is used to mark artifacts of the Common Lisp language,
e.g., @cl{defmacro}.
@constant can be used to mark constant names and values that appear in the text.
@exception is used to mark names of exceptions.
@fn is used to mark function names that occur in the text.
@interface is used to mark interface names.
@isl is used to mark artifacts of the ILU ISL language, e.g. @isl{SIBLING}.
@kwd is used to mark keywords that occur in the text.
@language is used to mark names of computer or human languages.
@m3 is used to mark artifacts of the Modula-3 language, e.g. @m3{INTERFACE Foo;}.
@macro is used to mark names of macros that occur in the text.
@message is used to mark in-line text that is a message a program may write to its output.
@metavar is used to mark meta-variables.
@method is used to mark method names.
@module is used to denote module names for those languages
which support them, such as Common Lisp package names, or Modula-3
module names.
@parm is used to mark parameter names.
@picture is used to include a file containing encapsulated Postscript
of a diagram or picture. It should appear on a line, followed by the name of the file containing the picture, followed
by a newline. We find the InterViews tool idraw works well in creating
diagrams in the form of encapsulated Postscript.
@program is used to mark program names that occur in the text.
@protocol is used to mark names of ILU RPC protocols.
@symbol is used to mark names of symbols in Makefiles or object files.
@system is used to mark system names that occur in the text.
@switch is used to mark command-line switches or options to programs.
@transcript is used to mark an example that is a dialog between a user and a program.
The term @transcript should appear on a line by itself, before the text of the dialog, and the
terms @end transcript should appear on a line by itself, at the end of the dialog.
The term @userinput may be used within a transcript.
@transport is used to mark the names of ILU data transport systems.
@type is used to mark the names of programming language types.
@url is used to mark World Wide Web urls.
@userinput is used to mark text typed by the user in a transcript section.
tim to turn TIM files
into either PostScript or GNU Info files. It is
invoked either as
% tim -t INPUTFILE.tim >OUTPUTFILE.psto produce PostScript code from a .tim file, or as
% tim -i INPUTFILE.tim >OUTPUTFILE.infoto produce GNU Info code, or as
% tim -w INPUTFILE.tim >OUTPUTFILE.htmlto produce World Wide Web HTML, or as
% tim -x INPUTFILE.tim >OUTPUTFILE.texinfoto produce GNU texinfo code.
tim is a script written in the perl script language,
so you will need to have perl installed to use it. See the
ILU installation instructions for a location from which perl
can be FTP'ed.
Go to the previous, next section.