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.
