M-Tx Preprocessor Source Code
=============================

This repository contains the development code of `prepmx`, the M-Tx 
Preprocessor. Points in the development thought to be stable enough
to be called "releases" have been tagged. Distributors that include
M-Tx in the TeXLive and MikTeX distributions of TeX are asked not
to package any other states of the repository. 

It contains the file `mtx.tex` and all the sources for generating the
binary executable file (`prepmx`, `prepmx.exe`, etc., depending on your 
operating system).  

The development files for the documentation and examples are in the `doc`
subdirectory. 

You probably got it from <https://github.com/dlaurie/M-Tx>. If not,
you probably should; that may well contain newer code by now.

The development version is provided for people who need more recent features
than the most recent stable release has, in the hope that they will be
willing to report bugs and maybe even suggest how those can be fixed.
Use the GitHub `Issue` mechanism and for good measure also send e-mail 
to the Werner Icking Music Archive mailing list <tex-music@tug.org> 
and directly to Dirk Laurie <dirk.laurie@gmail.com>.

You need the Free Pascal compiler. Any version from 1.0.10 onwards 
should work; 2.4.4 certainly did on 2014-02-01 and 2.6.2 on 2015-04-24. 
You may get away with other Pascal compilers, including Borland Pascal 7.0 
and the Pascal-to-C translator `p2c`, but no effort has been made to retain 
compliance. Older versions of this README included details, all probably 
obsolete by now.

"GNU System" means any system on which standard GNU utilities such as "bash"
and "make" is available.  Typical GNU systems are 

- Linux 
- Windows with the Cygwin package installed 

You do not need a GNU system to use M-Tx, but it is easier to make the 
executable on a GNU system.
 
If your system has GNU Make, simply type

    make

Otherwise, find the line in the Makefile starting with `fpc` and type
that into your terminal.

For experts only
----------------

You can modify the source code as you wish -- this is open source software
and the license is MIT.  If you wish to redistribute your modified version,
please augment the name so that there is no risk of confusion: e.g. if you 
are Johannes Brahms and you have made changes to mtxC054f.zip, call it 
mtxC054f-brahms.zip.

Even better, use the GitHub "Pull Request" mechanism or send me an e-mail 
with your changes so that I can insert them into the current development 
version.

Or fork the repository.

The Makefile can make various other things. I don't want to document
those, since then I would be constrained to maintain them. Use at your
peril.
