LaTeX reloaded: Lua(La)TeX is coming up

June 11, 2009 by Daniel Stender · 2 comments · Printer friendly version
Filed under: TeX 

LuaTeX is an ambitious TeX project which combines the TeX engine with the highly versatile scripting language Lua through embedding a Lua interpreter into it. Like its somewhat cognate XeTeX it is a replacement for pdfTeX and produces Pdf documents from the TeX source directly. LuaTeX is natively Unicode capable and makes use of up-to-date OpenType font technology. But the most advantage this TeX engine is getting from embedding Lua. It’s not only working as extension to the typesetting engine but also as extension to the macro language itself. So LuaTeX packages could consist of only one line calling a Lua source code file to the document and it’s also possible to run Lua code directly from the document. In the not so far away future this could mean to have dream LaTeX applications like a postprocessor-free Sanskrit sorting order index module or other very fancy things like this. It’s definitely a development to watch!

The first beta (0.10) was released at the TUG 2007 conference, currently 0.25.4 is included in TeX Live 2008, 0.40 came out recently (BachoTeX 2009 release) and is going to be part of Tex Live 2009, 0.50 and 0.60 are announced still for this year (see the roadmap on the project homepage). It is sponsored by the Oriental TeX project at the Colorado State University (cf. I.S. Hamid: OrientalTeX. A new direction in scholarly complex-script typesetting {TUGboat 28,1 (2007), 11). Developing it means also to make more and more of the TeX internals available to the Lua interpreter. Currently LuaTeX is primarily working as an engine for TeX and TeX formats like ConTeXt, but recently there are the first basic LuaLaTeX packages available.

A set of rudimentary LuaLaTeX packages providedby Manuel Pégourié-Gonnard are now available at his GitHub account (Git is a version control system – you can download them manually but the best way is to use a Git client software). The packets are also to be found on CTAN, directory macros/luatex.The packet luatextra includes low-level macros and an inputenc. And there is also a fontspec module. That’s enough to get a LuaLaTeX document rolling but unfortunately it came out that it is not so easy to get a running LuaLaTeX distribution right now. My Linux (Debian Squeeze/Testing) employs an independent LuaTeX 0.40 (here), which is really up-to-date but comes without compiled LuaLaTeX format files, which are no that easy to hand-make. I don’t know how the situation is going to be on other OSs. Anyway, I’ve been told that TeX Live 2009 is going to include the format files and so that is going to be the next big toy.

Further readings/watchings:

Towards LuaTeX: H. Hagen: Introduction to the LuaTeX project {talk at TUG 2007 conference}; Where does TeX end, Lua start and vice-versa {talk at TUG 2008 conference}; LuaTeX. Howling to the moon {TUGboat 26,2 (2006), 152-57}; The TeX-Lua mix {TUGboat 29,3 (2008), 383-91}; T. Hoekwater: LuaTeX: what has been done, and what will be done {talk at TUG 2008 conference}, LuaTeX {TUGboat 28,3 (2007), 312-13}; OpenType fonts in LuaTeX {TUGboat 29,1 (2008), 34-35}

Towards Lua: R. Ierusalimschy: About Lua {talk TUG 2007}; K. Jung / A. Brown: Beginning Lua programming. Wiley 2007. ISBN 978-0-470-06917-2; Lua 5.1 Reference Manual; bookshelf at the project page

Comments

2 responses to “LaTeX reloaded: Lua(La)TeX is coming up”
  1. Roberto ierusalimschy says:

    Please do not ignore my book: Programming in Lua (Lua.org 2006, ISBN 978-8590379829)

  2. danstender says:

    The TUG 2009 lectures are online, towards LuaTeX there is
    A. Reutenauer: LuaTeX for the LaTeX user (http://river-valley.tv/luatex-for-the-latex-user/),
    A. Mahajan: LuaTex – A user’s perspective (http://river-valley.tv/luatex-a-users-perspective/) and H. Hagen: LuaTeX project – halfway to version 1 (http://river-valley.tv/the-luatex-project-halfway-to-version-1/)

Speak your mind:

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">