On 9/11/2021 1:19 PM, Hugh Fisher wrote:
On Fri, 10 Sept 2021 at 21:47, Hans Hagen
wrote: [ munch ]
in this area there is nothing in luametatex that luatex can't do
As in my earlier reply, I'm thinking about replacing Adobe Illustrator with Metapost, and LuaMetaTEX seems to have better integration?
indeed the interfaces in lmtx/luametatex are better than in mkiv/luatex and new things will only be done in lmtx anyway, context users most likely will move to lmtx (mkiv is not really frozen as it is also the test case for luatex, but there will be no fundamental new things added)
so, if your source uses a limited set of commands you can write a parser (in any language)
This parser would need to understand TeX source files and conventions such as % for comments, recognise commands starting with \ and with arguments/parameters bracketed by [] and {}, and look up command names that might be written in Lua, then call them.
Isn't that what LuaMetaTEX does? No, I haven't looked at the actual source code yet, but starting with something that already does most of what you want is always quicker than writing from scratch. sure, any tex engine is better at parsing tex input
the main differences between luatex and luametatex (much is disucussed in articles and manuals) is that luametatex has no backend built in and has some better interfaces in the front end; there are extension to the subsystems of the tex engine (fonts, language, math, inserts, marks, alignments, conditionals, macro definition, par handling) that are not in luatex (which is basically frozen in order to permit other macro packages to support it); lua helpers have been cleaned up and there are some more; luametatex has a smaller binary, is more efficient wrt memory and has better performance (if used well) than luatex Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------