Comprehensive TeX Archive Network

Direc­tory support/mnu

     *                                                               *
     *                          Program MNU                          *
     *                                                               *
     *    A configurable menu for starting applications under DOS    *
     *                                                               *
     *                    ( A brief description )                    *
     *                                                               *

The program MNU allows, together with its control batch (".bat"),
repeated starting of various application programs. It has been developed
for the TeX packages, nonetheless, it can be utilized elsewhere.

The batch "demo.bat" starts a simple exhibition of possibilities of the
program MNU itself. The second batch "demotex.bat" shows a more complicated
example of configuration of emTeX used in CSTeX package. This example
exhibits possibilities of MNU program itself on the one hand, and of its
suggested configuration "cfg.mnu" suitable for the emTeX packages with DOS
on the other hand. These examples are documented in EXAMPLES.DOC file.
The documentation of program MNU is writen in MNU.DOC file or MNU.TEX
file (plain TeX format).

The documentation is intended for the users, who wish to change the
existing configuration of the system, where the program is applied, or who
wish to develop a new one. Therefore some deeper knowledge of DOS is
assumed, esp. some advanced skills in batch (".bat") programming.

The program keeps up appearances of an integrated environment for starting
of various processes. This environment is fully configurable, including
window colours and shapes, names and ways of application of individual menu
items, context help, etc. The process is controlled by the batch. In a
definite moment, the batch starts the MNU program with a single parameter --
the configuration file name (e.g. "texcfg.mnu"). The program MNU reads
a full description of menu structure from this file and displays menu items on
the screen. Now the user can choose the particular item comfortably. When
the item is chosen, the program MNU terminates and the control batch
evaluates the error code corresponding to the respective item. In the
batch, the chosen item number is determined using a set of "if errorlevel"
commands, and the batch branches to separate application processes. When
the application ends, the batch calls the MNU program again, and the user
can choose a new item, and so on.

The batch can also communicate with the MNU program by means of DOS
``environment variables'', and of input and/or output files. The program can
display and edit the content of these variables (if this is given in the
configuration file). Moreover, there exists a special environment variable
called ``MNU'' influencing the start of the program -- the item specified
in this variable is offered as active when the program starts. Seeing that,
the user does not need to choose tediously the next item, provided his
activity proceeds in the ``normal'' sequence. For example, after the
TeX\ program run it is possible for the batch to examine (using the "if
errorlevel" command) whether the translation ended without errors. If so,
then the variable ``MNU'' can be set in such a way that the item "View" is
active in the next call of the menu. In the menu environment, the user can
do nothing but "Enter" pressing.

The advantage of this ``batch'' philosophy is that the MNU program does not
occupy the memory during the application run. Furthermore, concerning the
system configuration, there are practically no limitations on variability
in setting the behaviour of particular processes. The only limitations are
due to the DOS itself. Only a batch allows to express all configuration
possibilities of separate application programs.

The list of files contained in the MNU program package is given in the
following table:

  readme.txt              Basic information about the program -- this text
  mnu.doc                 Detailed documentation of the program
  examples.doc            Description of some tricks used in the demo batches
  mnu.tex                 Contents of three previous files in plain TeX
  mnu.exe                 The MNU program itself
  demo.bat, demo.mnu      A simple example of program MNU possibilities
  demotex.bat, cfg.mnu,
  sorry.mnu, *.bat        A more complicated example of emTeX configuration
  totext.exe, totext.c    Switches the screen to the text mode 80x25
  dupcent.exe, dupcent.c  Duplicates "%" (utility program)
  kalk.exe, kalk.hlp      The calculator -- an illustration of an
                          application program

The software contained in the files listed above is in the public domain.
The author transfers it to the CSTUG association (Czechoslovak TeX Users
Group) and expects that they will care about its popularization and further
distribution. It is not allowed to utilize these programs and/or their
modifications for commercial purposes. That means, it is not allowed to
sell this software (with the exception of a diskette copying fee), nor to
include it in systems designed merely for commercial purposes.

Since of the first public distribution of this product (Euro-TeX 92)
some unimportant improvements were made. This changes keep full
compatibility with the old configuration files and offers some new
possibilities (see the end of the documentation MNU.DOC).

The author will not more change or improve this software, esp. its basic
conception. However, he welcomes all suggestions leading to elimination of
errors, which can, unfortunately, appear in any software.

The source code of the MNU program (written in C language) is not public.

address:   Petr Olsak
           Department of Mathematics
           Faculty of Electrical Engineering
           Czech Technical University

           166 27  PRAGUE

email:     olsak@csearn.bitnet

Guest Book Sitemap Contact Contact Author