Version: 2025/1.7

SUMMARY

This package offers low-level mplib integration for both plain LuaTeX and 
LuaLaTeX. It is designed with the purpose of being easy to extend.

The use of multiple simultaneous MetaPost instances is supported, as well as 
running TeX or lua code from within MetaPost. With the included minim-mp 
format file, you can even use LuaTeX as a stand-alone MetaPost compiler.


DOCUMENTATION

In order to obtain the typeset manual of this package, simply say:

    luatex minim-mp.doc


INSTALLATION

In order to use minim-mp as a stand-alone metapost compiler, you will have to 
generate the appropriate format files. For metapost with plain tex, say

    luatex --ini minim-mp.ini

For metapost with latex, say

    luatex --ini minim-lamp.ini

The resulting format (.fmt) files will be found if they are either in the same 
directory as your metapost source file, or in ${TEXMFHOME}/web2c/luatex (the 
latter is of course recommended).

Useful shell aliases are

    alias mpost='luatex --fmt=minim-mp'
    alias lampost='luatex --fmt=minim-lamp'


HISTORY

2025/1.7 (12/2/2025)

  This version contains a re-organised and improved manual.

2024/1.6 (25/3/2024)

  New features:

    * Add per-instance \everymp token lists.
    * Provide \mpdim to the latex package.
    * Also accept (postscript) font names instead of ids as arguments to the 
      infont and glyph of operators.
    * Reduce the number of metapost error messages echoed to the terminal.
    * Add the missing tex.skip macro (read-only).
    * Provide more information in debugging mode; standardise its lay-out and 
      only write debugging info to the log, not to the terminal.

  Bug fixes:

    * Re-work the scanning of metapost code: preserve not only %s but also 
      newlines; neutralise all other special characters. Only spaces and 
      csnames are pre-treated on the tex side.
    * This means comments are now passed to metapost and handled there.
    * Apply the same metapost code scanning method to both plain macros and 
      latex environments.
    * Remove the grouping around metapost code execution in the latex 
      environments.

2024/1.5 (25/2/2024)

  New features:

    * Add a luamplib compatibility mode to the latex package.
    * Make default format and math mode configurable.

  Bug fixes:

    * Make metafun not crash immediately.

2024/1.4 (5/1/2024)

    * Support the extended graphics state (extgstate).
    * Allow box resource (xform) creation directly from metapost.
    * Support transparency and transparency groups.

2023/1.3 (20/10/2023)

    * Various runscript improvements:
       - Supplement runscript environment with runscript-specific functions.
       - Provide an escape hatch for passing raw strings to lua.
       - Add helper macros and functions for safely passing values between 
         metapost and lua.
    * File i/o from metapost code is now included in the --recorder output.
    * Improve font handling in minim-lamp.ini, and provide \begin{document}.
    * Add a minim-mp.sty package file for LaTeX users.

2023/1.2 (3/3/2023)

    * Add a few more metapost macros.
    * Various small bug fixes.

2022/1.1 (3/3/2022)

  New features:

    * Made instance initialisation more flexible; this replaces M.init_files 
      with M.init_code (see manual).
    * Add support for the glyph of operator.
    * Add support for the even-odd rule of filling and noncontinuous paths.
    * Add experimental latex support (the minim-lamp format).
    * Make minim-mp compatible with tikz/pgf.
    * Expand the plain macro set slightly.

  Minor changes:

    * Improved display of metapost logs.
    * Redefine units to fit other numerical engines better.
    * Fixed a bug in pattern generation that prevented simplifying patterns 
      into raw pdf code.
    * No longer write out superfluous line widths.

2021/1.0 (1/6/2021)

  This was the original release.


COPYING

(c) 2022 Esger Renkema, Michal Vlasák

These files may be distributed under the terms of the European Union Public 
Licence (EUPL) version 1.2 or later. A copy can be obtained at:

https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12

