summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/luatex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-09 20:42:29 +0000
committerKarl Berry <karl@freefriends.org>2021-06-09 20:42:29 +0000
commitfe2fd0b57fd8beacca4baa657b2955686ce8c0d4 (patch)
tree81218ccf95f3f2a1258ea08bb031d37edffade37 /Master/texmf-dist/doc/luatex
parent0b17ff1e693fb0338c0175b21437d0fb5d445b40 (diff)
minim-mp (9jun21)
git-svn-id: svn://tug.org/texlive/trunk@59538 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/luatex')
-rw-r--r--Master/texmf-dist/doc/luatex/minim-mp/EUPL-1.2-EN.txt287
-rw-r--r--Master/texmf-dist/doc/luatex/minim-mp/README28
-rw-r--r--Master/texmf-dist/doc/luatex/minim-mp/minim-mp.doc329
-rw-r--r--Master/texmf-dist/doc/luatex/minim-mp/minim-mp.pdfbin0 -> 82287 bytes
4 files changed, 644 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/minim-mp/EUPL-1.2-EN.txt b/Master/texmf-dist/doc/luatex/minim-mp/EUPL-1.2-EN.txt
new file mode 100644
index 00000000000..4153cd37753
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/minim-mp/EUPL-1.2-EN.txt
@@ -0,0 +1,287 @@
+ EUROPEAN UNION PUBLIC LICENCE v. 1.2
+ EUPL © the European Union 2007, 2016
+
+This European Union Public Licence (the ‘EUPL’) applies to the Work (as defined
+below) which is provided under the terms of this Licence. Any use of the Work,
+other than as authorised under this Licence is prohibited (to the extent such
+use is covered by a right of the copyright holder of the Work).
+
+The Work is provided under the terms of this Licence when the Licensor (as
+defined below) has placed the following notice immediately following the
+copyright notice for the Work:
+
+ Licensed under the EUPL
+
+or has expressed by any other means his willingness to license under the EUPL.
+
+1. Definitions
+
+In this Licence, the following terms have the following meaning:
+
+- ‘The Licence’: this Licence.
+
+- ‘The Original Work’: the work or software distributed or communicated by the
+ Licensor under this Licence, available as Source Code and also as Executable
+ Code as the case may be.
+
+- ‘Derivative Works’: the works or software that could be created by the
+ Licensee, based upon the Original Work or modifications thereof. This Licence
+ does not define the extent of modification or dependence on the Original Work
+ required in order to classify a work as a Derivative Work; this extent is
+ determined by copyright law applicable in the country mentioned in Article 15.
+
+- ‘The Work’: the Original Work or its Derivative Works.
+
+- ‘The Source Code’: the human-readable form of the Work which is the most
+ convenient for people to study and modify.
+
+- ‘The Executable Code’: any code which has generally been compiled and which is
+ meant to be interpreted by a computer as a program.
+
+- ‘The Licensor’: the natural or legal person that distributes or communicates
+ the Work under the Licence.
+
+- ‘Contributor(s)’: any natural or legal person who modifies the Work under the
+ Licence, or otherwise contributes to the creation of a Derivative Work.
+
+- ‘The Licensee’ or ‘You’: any natural or legal person who makes any usage of
+ the Work under the terms of the Licence.
+
+- ‘Distribution’ or ‘Communication’: any act of selling, giving, lending,
+ renting, distributing, communicating, transmitting, or otherwise making
+ available, online or offline, copies of the Work or providing access to its
+ essential functionalities at the disposal of any other natural or legal
+ person.
+
+2. Scope of the rights granted by the Licence
+
+The Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
+sublicensable licence to do the following, for the duration of copyright vested
+in the Original Work:
+
+- use the Work in any circumstance and for all usage,
+- reproduce the Work,
+- modify the Work, and make Derivative Works based upon the Work,
+- communicate to the public, including the right to make available or display
+ the Work or copies thereof to the public and perform publicly, as the case may
+ be, the Work,
+- distribute the Work or copies thereof,
+- lend and rent the Work or copies thereof,
+- sublicense rights in the Work or copies thereof.
+
+Those rights can be exercised on any media, supports and formats, whether now
+known or later invented, as far as the applicable law permits so.
+
+In the countries where moral rights apply, the Licensor waives his right to
+exercise his moral right to the extent allowed by law in order to make effective
+the licence of the economic rights here above listed.
+
+The Licensor grants to the Licensee royalty-free, non-exclusive usage rights to
+any patents held by the Licensor, to the extent necessary to make use of the
+rights granted on the Work under this Licence.
+
+3. Communication of the Source Code
+
+The Licensor may provide the Work either in its Source Code form, or as
+Executable Code. If the Work is provided as Executable Code, the Licensor
+provides in addition a machine-readable copy of the Source Code of the Work
+along with each copy of the Work that the Licensor distributes or indicates, in
+a notice following the copyright notice attached to the Work, a repository where
+the Source Code is easily and freely accessible for as long as the Licensor
+continues to distribute or communicate the Work.
+
+4. Limitations on copyright
+
+Nothing in this Licence is intended to deprive the Licensee of the benefits from
+any exception or limitation to the exclusive rights of the rights owners in the
+Work, of the exhaustion of those rights or of other applicable limitations
+thereto.
+
+5. Obligations of the Licensee
+
+The grant of the rights mentioned above is subject to some restrictions and
+obligations imposed on the Licensee. Those obligations are the following:
+
+Attribution right: The Licensee shall keep intact all copyright, patent or
+trademarks notices and all notices that refer to the Licence and to the
+disclaimer of warranties. The Licensee must include a copy of such notices and a
+copy of the Licence with every copy of the Work he/she distributes or
+communicates. The Licensee must cause any Derivative Work to carry prominent
+notices stating that the Work has been modified and the date of modification.
+
+Copyleft clause: If the Licensee distributes or communicates copies of the
+Original Works or Derivative Works, this Distribution or Communication will be
+done under the terms of this Licence or of a later version of this Licence
+unless the Original Work is expressly distributed only under this version of the
+Licence — for example by communicating ‘EUPL v. 1.2 only’. The Licensee
+(becoming Licensor) cannot offer or impose any additional terms or conditions on
+the Work or Derivative Work that alter or restrict the terms of the Licence.
+
+Compatibility clause: If the Licensee Distributes or Communicates Derivative
+Works or copies thereof based upon both the Work and another work licensed under
+a Compatible Licence, this Distribution or Communication can be done under the
+terms of this Compatible Licence. For the sake of this clause, ‘Compatible
+Licence’ refers to the licences listed in the appendix attached to this Licence.
+Should the Licensee's obligations under the Compatible Licence conflict with
+his/her obligations under this Licence, the obligations of the Compatible
+Licence shall prevail.
+
+Provision of Source Code: When distributing or communicating copies of the Work,
+the Licensee will provide a machine-readable copy of the Source Code or indicate
+a repository where this Source will be easily and freely available for as long
+as the Licensee continues to distribute or communicate the Work.
+
+Legal Protection: This Licence does not grant permission to use the trade names,
+trademarks, service marks, or names of the Licensor, except as required for
+reasonable and customary use in describing the origin of the Work and
+reproducing the content of the copyright notice.
+
+6. Chain of Authorship
+
+The original Licensor warrants that the copyright in the Original Work granted
+hereunder is owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each Contributor warrants that the copyright in the modifications he/she brings
+to the Work are owned by him/her or licensed to him/her and that he/she has the
+power and authority to grant the Licence.
+
+Each time You accept the Licence, the original Licensor and subsequent
+Contributors grant You a licence to their contributions to the Work, under the
+terms of this Licence.
+
+7. Disclaimer of Warranty
+
+The Work is a work in progress, which is continuously improved by numerous
+Contributors. It is not a finished work and may therefore contain defects or
+‘bugs’ inherent to this type of development.
+
+For the above reason, the Work is provided under the Licence on an ‘as is’ basis
+and without warranties of any kind concerning the Work, including without
+limitation merchantability, fitness for a particular purpose, absence of defects
+or errors, accuracy, non-infringement of intellectual property rights other than
+copyright as stated in Article 6 of this Licence.
+
+This disclaimer of warranty is an essential part of the Licence and a condition
+for the grant of any rights to the Work.
+
+8. Disclaimer of Liability
+
+Except in the cases of wilful misconduct or damages directly caused to natural
+persons, the Licensor will in no event be liable for any direct or indirect,
+material or moral, damages of any kind, arising out of the Licence or of the use
+of the Work, including without limitation, damages for loss of goodwill, work
+stoppage, computer failure or malfunction, loss of data or any commercial
+damage, even if the Licensor has been advised of the possibility of such damage.
+However, the Licensor will be liable under statutory product liability laws as
+far such laws apply to the Work.
+
+9. Additional agreements
+
+While distributing the Work, You may choose to conclude an additional agreement,
+defining obligations or services consistent with this Licence. However, if
+accepting obligations, You may act only on your own behalf and on your sole
+responsibility, not on behalf of the original Licensor or any other Contributor,
+and only if You agree to indemnify, defend, and hold each Contributor harmless
+for any liability incurred by, or claims asserted against such Contributor by
+the fact You have accepted any warranty or additional liability.
+
+10. Acceptance of the Licence
+
+The provisions of this Licence can be accepted by clicking on an icon ‘I agree’
+placed under the bottom of a window displaying the text of this Licence or by
+affirming consent in any other similar way, in accordance with the rules of
+applicable law. Clicking on that icon indicates your clear and irrevocable
+acceptance of this Licence and all of its terms and conditions.
+
+Similarly, you irrevocably accept this Licence and all of its terms and
+conditions by exercising any rights granted to You by Article 2 of this Licence,
+such as the use of the Work, the creation by You of a Derivative Work or the
+Distribution or Communication by You of the Work or copies thereof.
+
+11. Information to the public
+
+In case of any Distribution or Communication of the Work by means of electronic
+communication by You (for example, by offering to download the Work from a
+remote location) the distribution channel or media (for example, a website) must
+at least provide to the public the information requested by the applicable law
+regarding the Licensor, the Licence and the way it may be accessible, concluded,
+stored and reproduced by the Licensee.
+
+12. Termination of the Licence
+
+The Licence and the rights granted hereunder will terminate automatically upon
+any breach by the Licensee of the terms of the Licence.
+
+Such a termination will not terminate the licences of any person who has
+received the Work from the Licensee under the Licence, provided such persons
+remain in full compliance with the Licence.
+
+13. Miscellaneous
+
+Without prejudice of Article 9 above, the Licence represents the complete
+agreement between the Parties as to the Work.
+
+If any provision of the Licence is invalid or unenforceable under applicable
+law, this will not affect the validity or enforceability of the Licence as a
+whole. Such provision will be construed or reformed so as necessary to make it
+valid and enforceable.
+
+The European Commission may publish other linguistic versions or new versions of
+this Licence or updated versions of the Appendix, so far this is required and
+reasonable, without reducing the scope of the rights granted by the Licence. New
+versions of the Licence will be published with a unique version number.
+
+All linguistic versions of this Licence, approved by the European Commission,
+have identical value. Parties can take advantage of the linguistic version of
+their choice.
+
+14. Jurisdiction
+
+Without prejudice to specific agreement between parties,
+
+- any litigation resulting from the interpretation of this License, arising
+ between the European Union institutions, bodies, offices or agencies, as a
+ Licensor, and any Licensee, will be subject to the jurisdiction of the Court
+ of Justice of the European Union, as laid down in article 272 of the Treaty on
+ the Functioning of the European Union,
+
+- any litigation arising between other parties and resulting from the
+ interpretation of this License, will be subject to the exclusive jurisdiction
+ of the competent court where the Licensor resides or conducts its primary
+ business.
+
+15. Applicable Law
+
+Without prejudice to specific agreement between parties,
+
+- this Licence shall be governed by the law of the European Union Member State
+ where the Licensor has his seat, resides or has his registered office,
+
+- this licence shall be governed by Belgian law if the Licensor has no seat,
+ residence or registered office inside a European Union Member State.
+
+Appendix
+
+‘Compatible Licences’ according to Article 5 EUPL are:
+
+- GNU General Public License (GPL) v. 2, v. 3
+- GNU Affero General Public License (AGPL) v. 3
+- Open Software License (OSL) v. 2.1, v. 3.0
+- Eclipse Public License (EPL) v. 1.0
+- CeCILL v. 2.0, v. 2.1
+- Mozilla Public Licence (MPL) v. 2
+- GNU Lesser General Public Licence (LGPL) v. 2.1, v. 3
+- Creative Commons Attribution-ShareAlike v. 3.0 Unported (CC BY-SA 3.0) for
+ works other than software
+- European Union Public Licence (EUPL) v. 1.1, v. 1.2
+- Québec Free and Open-Source Licence — Reciprocity (LiLiQ-R) or Strong
+ Reciprocity (LiLiQ-R+).
+
+The European Commission may update this Appendix to later versions of the above
+licences without producing a new version of the EUPL, as long as they provide
+the rights granted in Article 2 of this Licence and protect the covered Source
+Code from exclusive appropriation.
+
+All other changes or additions to this Appendix require the production of a new
+EUPL version.
diff --git a/Master/texmf-dist/doc/luatex/minim-mp/README b/Master/texmf-dist/doc/luatex/minim-mp/README
new file mode 100644
index 00000000000..dee13d1bfe3
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/minim-mp/README
@@ -0,0 +1,28 @@
+Version: 2021/1.0
+
+SUMMARY
+
+This package offers low-level mplib integration for plain LuaTeX and 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
+
+
+COPYING
+
+(c) 2021 Esger Renkema
+
+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
+
diff --git a/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.doc b/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.doc
new file mode 100644
index 00000000000..788d26b6a0e
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.doc
@@ -0,0 +1,329 @@
+
+\input minim-doc.sty
+
+\manual{minim-mp}
+
+\ifchapter \chapter Metapost
+
+\else \startmetadata
+ author {Esger Renkema}
+ title {minim-mp}
+ date {2021-06-01}
+ version {2021/1.0}
+ keywords {LuaTeX; Plain TeX; MetaPost; mplib}
+ stopmetadata
+\maketitle \fi
+
+This package offers low-level mplib integration for plain luatex.
+The use of multiple simultaneous metapost instances is supported, as well as
+running tex or lua code from within metapost.
+In order to use it, simply say ⟦\input minim-mp.tex⟧.
+
+After this, ⟦*\directmetapost [ options ] { mp code }⟧ will result in a series
+of images corresponding to the ⟦beginfig ... endfig⟧ statements in your
+⟦mp code⟧. Every image will be in a box of its own.
+
+Every call to ⟦\directmetapost⟧ opens and closes a separate metapost instance.
+If you want your second call to remember the first, you will have to define
+a persistent metapost instance. This will also give you more control over image
+extraction. See below under „Metapost instances”. The ⟦options⟧ will also be
+explained there (for simple cases, you will not need them).
+
+The logging of the metapost run will be included in the regular log file. If an
+error occurs, the logging will also be shown on the terminal.
+
+This package can also be used as a stand-alone metapost compiler. Saying
+\stopformulatagging$$\hbox{⟦luatex --fmt=minim-mp your_file.mp⟧}$$\startformulatagging
+will create a pdf file of all images in ⟦your_file.mp⟧, in order, with page
+sizes adjusted to image dimensions.
+
+\section Metapost instances % 1
+
+For more complicated uses, you can define your own instances by saying
+⟦*\newmetapostinstance [ options ] \id⟧.
+An instance can be closed with ⟦*\closemetapostinstance \id⟧.
+These are the options you can use:
+
+\smallskip\smallskip\automarktable
+\halign{#\quad\hfil&#\quad\hfil&#\hfil\cr
+Option&Default&Description\cr
+⟦jobname⟧&⟦':metapost:'⟧&Used in error messages.\cr
+⟦format⟧&⟦'plain.mp'⟧&Format to initialise the instance with.\cr
+⟦math⟧&⟦'scaled'⟧&One of ⟦scaled⟧, ⟦decimal⟧ or ⟦double⟧.\cr
+⟦seed⟧&⟦nil⟧&Random seed for this instance.\cr
+⟦catcodes⟧&⟦0⟧&Catcode table for ⟦btex ... etex⟧.\cr
+⟦env⟧&copy of ⟦_G⟧&Lua environment; see below.\cr
+}\smallskip
+
+Now that you have your own instance, you can run chunks of metapost code in it
+with ⟦*\runmetapost \id { code }⟧. Any images that your code may have contained
+will have to be extracted explicitly. This is possible in a number of ways,
+although each image can be retrieved only once.
+
+⟦*\getnextmpimage \id⟧
+– Writes the first unretrieved image to the current node list.
+There, the image will be contained in a single box node.
+
+⟦*\getnamedmpimage \id {name}⟧
+– Retrieves an image by name
+regardless of its position,
+and writes it to the current node list.
+
+⟦*\boxnextmpimage \id box-nr⟧
+– Puts the next unretrieved image in box ⟦box-nr⟧. The number may be anything
+tex can parse as a number.
+
+⟦*\boxnamedmpimage \id box-nr {name}⟧
+– Puts the image named ⟦name⟧ in box ⟦box-nr⟧.
+
+Say ⟦*\remainingmpimages \id⟧ for the number of images not yet retrieved.
+Finally, as a shorthand, ⟦*\runmetapostimage \id { code }⟧ will add
+⟦beginfig ... endfig⟧ to your ⟦code⟧ and write the resulting image immediately
+to the current list.
+
+
+\section Running tex from within metapost % 1
+
+You can include tex snippets with either ⟦*maketext "tex text"⟧ or
+⟦*btex ... etex⟧ statements. The tex code will be executed in the current
+environment without an extra grouping level. The result of either statement at
+the place where it is invoked is an image object of the proper dimensions that
+can be moved, scaled, rotated and mirrored. You can even specify a colour. Its
+contents, however, will only be added afterwards and are invisible to metapost.
+
+Arbitrary tex statements may be included in ⟦*verbatimtex ... etex⟧, which may
+occur anywhere. These ⟦btex⟧ and ⟦verbatimtex⟧ statements are executed in the
+order they are given.
+
+You can also use metapost’s ⟦*infont⟧ operator, which restricts the text
+to-be-typeset to a single font, but returns an ⟦picture⟧ containing a ⟦picture⟧
+for each character. The right-hand argument of ⟦infont⟧ should either be
+a (numerical) font id or the (cs)name of a font.
+
+One possible use of the ⟦infont⟧ operator is setting text along curves:
+
+⟦beginfig(1)
+ save t, w, r, a; picture t;
+ t = "Running TeX from within MetaPost" infont "tenrm";
+ w = xpart lrcorner t = 3.141593 r;
+ for c within t :
+ x := xpart (llcorner c + lrcorner c)/2;
+ a := 90 - 180 x/w;
+ draw c rotatedaround((x,0), a)
+ shifted (-r*sind(a)-x, r*cosd(a));
+ endfor
+endfig;⟧
+\vskip-2\parskip plus 2\parskip
+\quitvmode\hfil
+\startelement alt {The text ‘Running TeX from within MetaPost’ set along a half-circle.} {Figure}%
+\stoptagging\directmetapost{%
+beginfig(1)
+ save t, w, r, a; picture t;
+ t = "Running TeX from within MetaPost" infont "tenrm";
+ w = xpart lrcorner t = 3.141593 r;
+ for c within t :
+ x := xpart (llcorner c + lrcorner c)/2;
+ a := 90 - 180 x/w;
+ draw c rotatedaround((x,0), a)
+ shifted (-r*sind(a)-x, r*cosd(a));
+ endfor
+endfig;}\starttagging \stopelement{Figure}
+
+\section Running lua from within metapost % 1
+
+You can call out to lua with ⟦*runscript "lua code"⟧. For this purpose, each
+metapost instance carries around its own lua environment so that assignments
+you make are local to the instance. (You can of course order the global
+environment to be used by giving ⟦env = _G⟧ as option to
+⟦\newmetapostinstance⟧.)
+
+If your lua snippet returns nothing, the ⟦runscript⟧ call will be invisible to
+metapost. If on the other hand it does return a value, that value will have to
+be translated to metapost. Numbers and strings will be returned as they are
+(so make sure the string is surrounded by quotes if you want to return
+a metapost string). You can return a point or colour by returning an array of
+two to four elements. For other return values, ⟦tostring()⟧ will be called.
+
+Do keep in mind that metapost and lua represent numbers in different ways and
+that rounding errors may occur. For instance, metapost’s ⟦decimal epsilon⟧
+returns ⟦0.00002⟧, which metapost understands as ⟦1/65536⟧, but lua as
+⟦1/50000⟧. Use the metapost macro ⟦*hexadecimal⟧ instead of ⟦decimal⟧ for
+passing unambiguous numbers to lua.
+
+Additionally, you should be aware that metapost uses slightly bigger points
+than tex, so that ⟦epsilon⟧ when taken as a dimension is not quite equal to
+⟦1sp⟧. Use the metapost macro ⟦*scaledpoints⟧ for passing to lua a metapost
+dimension as an integral number of scaled points.
+
+
+\section Tiling patterns % 1
+
+The ⟦*withpattern(<name>)⟧ added to a ⟦fill⟧ statement will fill the path with
+a pattern instead of a solid colour. If the patterns contains no colour
+information of itself, it will have the colour given by ⟦withcolor⟧.
+Stroking operations (the ⟦draw⟧ part) will not be affected.
+Patterns will always look the same, irrespective of any transformations you
+apply to the picture.
+
+To define a pattern, sketch it between
+⟦*beginpattern(<name>) ... endpattern(xstep, ystep);⟧
+where ⟦<name>⟧ is a suffix and ⟦(xstep, ystep)⟧ are the horizontal and vertical
+distances between applications of the pattern.
+Inside the definition, you can draw the pattern using whatever coordinates you
+like; assign a value to the ⟦*matrix⟧ transformation to specify how the pattern
+should be projected onto the page. This ⟦matrix⟧ will also be applied to
+⟦xstep⟧ and ⟦ystep⟧.
+
+You can also change the internal variable ⟦*tilingtype⟧ and the normal variable
+⟦*painttype⟧, although the latter will be set to~1 automatically if you use any
+colour inside the pattern definition. Consult the pdf specification for more
+information on these parameters.
+
+You can use text inside patterns, as in this example:
+\hfill \vbox to 0pt{
+\startelement alt{A circle filled with red As in a rectangular pattern.}{Figure}
+\directmetapost{
+% define the pattern
+picture letter; letter = maketext("a");
+beginpattern(a)
+ draw letter rotated 45;
+ matrix = identity rotated 45;
+endpattern(12pt,12pt);
+% use the pattern
+beginfig(1)
+ fill fullcircle scaled 3cm withpattern(a) withcolor 3/4red;
+ draw fullcircle scaled 3cm withpen pencircle scaled 1;
+endfig;}\stopelement{Figure}\vss}\hskip10pt\strut
+
+⟦% define the pattern
+picture letter; letter = maketext("a");
+beginpattern(a)
+ draw letter rotated 45;
+ matrix = identity rotated 45;
+endpattern(12pt,12pt);
+% use the pattern
+beginfig(1)
+ fill fullcircle scaled 3cm withpattern(a) withcolor 3/4red;
+ draw fullcircle scaled 3cm withpen pencircle scaled 1;
+endfig;⟧
+
+A small pattern library is available in the ⟦*minim-hatching.mp⟧ file; see the
+accompanying documentation sheet for an overview of patterns.
+Tiling patterns cannot be used together with tikz/pgf; see below under
+‘Resource management’.
+
+
+\section Other metapost extensions % 1
+
+There is currently no support for the ⟦*glyph of⟧ operator.
+
+You can set the baseline of an image with ⟦*baseline(p)⟧. There, ⟦p⟧ must
+either be a point through which the baseline should pass, or a number (where an
+x~coordinate of zero will be added). Transformations will be taken into
+account, hence the specification of two coordinates. The last given baseline
+will be used.
+
+Previously-defined box resources can be included with ⟦*boxresource(nr)⟧. The
+result will be an image object with the proper dimensions. This image can be
+transformed in any way you like, but you cannot inspect the contents of the
+resource within metapost.
+
+You can write to tex’s log directly with ⟦*texmessage "hello"⟧.
+
+You can write direct pdf statements with ⟦*special "pdf: statements"⟧ and you
+can add comments to the pdf file with ⟦*special "pdfcomment: comments"⟧.
+Say ⟦*special "latelua: lua code"⟧ to insert a ⟦late_lua⟧ whatsit.
+All three specials can also be given as pre- or postscripts to another object.
+In that case, they will be added before or after the object they are attached to.
+
+
+\section Lua interface % 1
+
+In what follows, you should assume ⟦M⟧ to be the result of
+\stopformulatagging$$\hbox{⟦M = require('minim-mp')⟧}$$\startformulatagging
+as this package does not claim a table in the global environment for itself.
+
+You can open a new instance with ⟦*nr = M.open {options}⟧.
+This returns an index in the ⟦*M.instances⟧ table.
+Run code with ⟦*M.run (nr, code)⟧ and close the instance with ⟦*M.close (nr)⟧.
+Images can be retrieved only with ⟦*box_node = M.get_image(nr, [name])⟧; omit
+the ⟦name⟧ to select the first image.
+Say ⟦*nr_remaining = M.left(nr)⟧ for the number of remaining images.
+
+Each metapost instance is a table containing the following entries:
+
+\smallskip\smallskip
+\marktableaslist \halign{\qquad#\quad\hfil&#\hfil\cr
+⟦jobname⟧&The jobname.\cr
+⟦instance⟧&The primitive metapost instance.\cr
+⟦results⟧&A linked list of unretrieved images.\cr
+⟦status⟧&The last exit status (will never decrease).\cr
+⟦catcodes⟧&Number of the catcode table used with ⟦btex ... etex⟧.\cr
+⟦env⟧&The lua environment for ⟦runscript⟧.\cr}
+
+
+\section PDF resource management % 1
+
+This package can add ⟦/Pattern⟧ and ⟦/ColorSpace⟧ entries to all page and xform
+resource dictionaries.
+Both refer to a single, global dictionary shared by all pages.
+Support for other keys may be added in the future.
+
+At the moment, this implementation only serves tiling pattern support;
+the mechanism will be enabled automatically at the first use of a tiling
+pattern (merely defining a pattern will not enable it) and is of little use for
+anything else.
+The relevant tables, should you want to expand on it yourself, are
+⟦M.colourspaces⟧ and ⟦M.patterns⟧; see the source file for additional
+instructions.
+
+Since pdf resource management must be done exactly once, this package may clash
+with other graphics packages doing the same.
+In particular, minim’s resource management will cause double (and thus invalid)
+entries in pages’ attribute dictionaries when used together with \red{tikz} or
+\red{pgf}.
+They can be used together, however, if you do not use minim’s tiling patterns.
+
+
+\section Debugging % 1
+
+You can enable (global) debugging by saying ⟦*debug_pdf⟧ to metapost or
+⟦*M.enable_debugging()⟧ to lua. This will write out a summary of metapost
+object information to the pdf file, just above the pdf instructions that object
+was translated into. For this purpose, the pdf will be generated uncompressed.
+Additionally, a small summary of every generated image will be written to log
+and terminal.
+
+
+\section Extending metapost % 1
+
+You can extend this package by adding new metapost specials. Specials should
+have the form ⟦"identifier: instructions"⟧ and can be added as pre- or
+postscript to metapost objects. A single object can carry multiple specials and a
+⟦*special "..."⟧ statement is equivalent to an empty object with a single
+prefix.
+
+Handling of specials is specified in three lua tables: ⟦*M.specials⟧,
+⟦*M.prescripts⟧ and ⟦*M.postscripts⟧.
+The ⟦identifier⟧ above should equal the key of an entry in the relevant table,
+while the value of an entry in one of these tables should be a function with
+three parameters: the internal image processor state, the ⟦instructions⟧ from
+above and the metapost object itself.
+
+If the ⟦identifier⟧ of a prescript is present in the first table, the
+corresponding function will replace normal object processing.
+Only one prescript may match with this table.
+Functions in the the other two tables will run before or after normal
+processing.
+
+Specials can store information in the ⟦user⟧ table of the picture that is being
+processed; this information is still available inside the ⟦*finish_mpfigure⟧
+callback that is executed just before the processed image is surrounded by
+properly-dimensioned boxes.
+
+The ⟦*M.init_files⟧ table contains the list of metapost files that new instances
+are initialised with.
+The actual format will be loaded after the files in this table.
+
+\endmanual %
+
diff --git a/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.pdf b/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.pdf
new file mode 100644
index 00000000000..b511de32976
--- /dev/null
+++ b/Master/texmf-dist/doc/luatex/minim-mp/minim-mp.pdf
Binary files differ