Frequently Asked Questions
Why not use language X instead of Lua?
We needed a language that matched all of the following criteria:
- Freely available
- Embeddable integrate within pdfTeX
- Very small footprint
- Easy to extend with pdfTeX-specific functionality
- Fun to work with
Lua was the first language to match all the criteria. The
scripting languages tend to be much too large for our use. Specifically, we have
rejected Java, Perl, Python, Ruby, Scheme on one or more of those criteria.
Can I use LuaTeX today?
Sure, you can download the sources and compile a binary whenever you want.
But there is a list of caveats:
- You are on your own. The compilation infrastructure is complex because we integrate with TeXLive. But normally it should work out ok.
- Just about everything outside trunk is experimental and don't expect any support on that. We push code as backup and that can include experiments. Notr everything that is visible should be used as it can be kicked out at a next push in the repository. Only rely on releases in trunk!
- Most of the API is stable but you should only rely on what is documented in the manual. We might still change some API's so just keep an eye on those changes. The manual is the reference, not the code.
Can I make requests or contributions at this moment?
Of course you can. But we don't have a user-driven development model and will never have. This is not how it works in the TeX world. Engines and their functionality are used by macro packages. So best check with the developers of the mainstream macro packages first. If something is really needed (which is unlikely as there are many ways to solve a problem) then their leverage might result in add-ons. So, it is quite likely your request or contribution is placed on a pile of to-be-considered items and more or less ignored for some months (and even years) to come. Eventually the number of additions will become zero.
To following quote from Hans expresses our sentiments clearly:
We came up with this idea and we are going to finish it in our way and speed. PdfTeX tought us that a small group is more effective (and discussions on tex-implementors demonstrate that too wide discussions seldom lead to implementations).
We have a clear picture of where we want to arrive and will do our best to come up with robust binaries and up-to-date documentation on a regular basis.
But surely you want user feedback?
At this stage, it would not really help. Large parts of the integration are very technical in nature (like setting up a build system and integrating utf-8 and socket support). We will focus on ironing out the problems in those areas first. The code is tested in mission critical situations and we do our best to make the code as efficient as possible.
Keep in mind that we do development in our spare time. We do our best to fix bugs as fast as possible. Of course you can pay us to get things fixed fast or done better but you cannot bribe us into personal extensions.
Is there a mailing list?
Because support for LuaTeX is rather macro package bound, we suggest to direct questions related to usage in and within macro packages to lists that focus on the specific macro package.
For more information, see support.
So, will my LuaTeX work with my macropackage?
Since LuaTeX defaults to pdfTeX behaviour, you should be able to process
documents. However, since it assumes utf-8 input, you may need to enable support
for that (if present). We will
When will LuaTeX be ready?
We went beta on schedule at TUG 2007 in San Diego and we a first formal release with mplib support will be launched at TUG in 2008 in Cork. At EuroTeX 2009 in Amsterdam (Delft) we hoped to present a stable version, which means: no fundamental changes to the TeX-Lua interfaces, but as we became more ambitious that was too optimistic. Because opening up TeX involved lots of changes to the original code base, it will take a while before the LuaTeX code will reach its final shape. The schedule is now more long term. Version 1.00 was considered stable, version 1.10 is a next step. If there will be a version 2.00 then it will be a lightweight version. We have some ideas but they're just that: ideas.