ConTeXt and Lua programming/ConTeXt Development/LuaTeX
LuaTeX is an extended version of PdfTeX - Old Content using Lua, as an embedded scripting language. The LuaTeX project's main objective is to provide an open and configurable variant of TeX while at the same time offering downward compatibility.
The project started in the summer of 2005, and has since progressed into a first official early beta that was released during the TUG2007 conference in San Diego. Development is supported by a grant from Colorado State University and the TeX User groups.
TODO: what do we want to do of this page? Cleanup probably required (See: To-Do List) |
The official website offers some more information.
Contents
Links
- other Lua topics
- how LuaTeX callbacks work in Context
- Programming in LuaTeX
- LuaTeX homepage
- Lua Manual (Reference)
- Lua-Users Wiki (Tutorials etc.)
- Patrick’s German LuaTeX Blog
Programming
- Lua website;
- Lua-Users Wiki (Tutorials etc.)
Fonts
ConTeXt Lua Extensions
Context MkIV extends the vanilla Lua libraries by some very useful functionality. This pertains mostly to stuff people tend to implement over and over again because it is provided by default with other scripting languages. Thus, before you reimplement, say, a string stripping function for the thousandth time – have a look at these files:
File | Content |
---|---|
l-boolean.lua | toboolean() – equivalent of tonumber() and tostring(); |
util-dim.lua | Tex dimensions (accessible as number.* namespace); |
l-dir.lua | directory handling (globbing &c., namespace: dir.*); |
l-file.lua | filesystem related functions (namespace: file.*); |
l-io.lua | file/stream handling; |
l-lpeg.lua | pattern helpers; |
l-math.lua | extra functions for the Lua math library; |
l-md5.lua | checksum comparison, loading and saving; |
l-number.lua | additions to the number.* namespace – bitset handling; |
l-os.lua | additions to the os.* library, platform initialization; |
l-pdfview.lua | --autopdf handling of mtxrun; |
l-set.lua | set handling (set.* namespace); |
l-string.lua | string manipulation; |
l-table.lua | ConTeXt and Lua programming/Extensions to the Lua IO library/Table manipulation; |
l-unicode.lua | extensions to the sln-unicode lib, converters for character encodings; |
l-url.lua | URI matching (namespace: url.*; also a nice tutorial on lpeg). |
Further Links
General
- http://www.luatex.org – the Luatex homepage;
- http://www.lua.org – the Lua homepage;
- http://www.ntg.nl/pipermail/ntg-context/ – the Context list archives;
- http://lua-users.org/lists/lua-l – lua-l, the Lua list;
- http://tex.stackexchange.com – some Questions might be answered here;
- [DE] http://www.luatex.de – Patrick’s blog.
Luatex Libs
- http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html – Roberto’s lpeg-page;
- http://www.keplerproject.org/luazip/ – Luazip;
- http://keplerproject.github.com/luafilesystem/ – Luafs;
- http://www.keplerproject.org/md5/ – Lua-md5;
- http://w3.impa.br/~diego/software/luasocket/ – LuaSocket;
- http://web.archive.org/web/20200228121818/http://luaforge.net/projects/sln/ – Slnunicode;
- http://luaforge.net/projects/lzlib/ – Lua-Zlib.
Miscellanea
- Context may please everyone, but still it can’t hurt to occasionally visit the lualatex mailing list.