LuaTeX

LuaTeX is a typesetting system that can be controlled via the embedded therein Lua scripting language. LuaTeX is a successor of pdfTeX whose development is largely completed. LuaTeX uses standard Unicode encoding as input and is able to text and use OpenType fonts for both for the mathematical typesetting. The system is still in development, so that the specifications for its use continue to change. It will combine the functionality of pdfTeX, eTeX, Omega and א ( ALEPH ) in itself.

Characteristics of LuaTeX

LuaTeX has been developed from a version of pdfTeX, which had been expanded to include an embedded Lua scripting engine. After some tests, it became the successor of pdfTeX ( a combination of TeX and eTeX, the PDF files generated directly ) determined. In a later stage of development, the main functionality of " א " ( ALEPH ), setting bidirectional writings, was integrated.

The main objective of the project is to provide a TeX version, in which all internals are accessible via Lua. In the development process is rewritten much of the internal TeX code. Instead of hard-coded in TeX macro properties of the users or developers can write their own extensions themselves. LuaTeX provides native support for OpenType fonts. Unlike XeTeX is not accessed by system functions on the writings, but on a library -based FontForge.

A problem associated with LuaTeX project is MPLib (extended MetaPost module) that provides a graphics engine available in TeX.

History

The project is supported by the ' Oriental TeX Project " Colorado State University, the " Nederlandstalige TeX Gebruikersgroep " ( Dutch-speaking TeX User Group, NTG ) and the" TeX Users Group " ( TUG ). The TeX Development Fund, established in 2003 by the TeX Users Group under the auspices of the TUG Technical Council for financial support for projects around TeX and its further development grants to the LuaTeX project as "long gehegtem desire for an embedded in TeX general purpose programming language " a large part of its means. This is the highest funding priority, the special importance of LuaTeX for the current TeX development.

The first public beta version 0.10 was released to the Conference of the TUG in San Diego on 18 July 2007. Another beta version 0:29 followed for TUG conference, to July 24, 2008 took place from 21 in Cork. The version was 0:40, held together with the new math extensions of LuaTeX, for BachoTeX 2009, the 29 April 3 May 2009, in the Polish Bachotek ( 8 km northeast of Brodnica ), officially presented. When EuroTeX meeting from August 31 to September 4, 2009 in The Hague, the version shown was 12:43. Currently, only ConTeXt and LaTeX mark IV used with additional packages (eg luaotfload, luamplib, luatexbase, luatextra ) the new LuaTeX functionality. A special support in TeX is still in development.

2008 LuaTeX was first included in the TeX Live distribution. Thus, the snapshot version is 0.25.4 part of TeX Live 2008. In other TeX Live versions of the respective current LuaTeX version 0.60.2 in TeX Live 2010, version 0.70 has been integrated ( version 0.40.6 in TeX Live 2009. 1 in TeX Live 2011, version 0.70.2 in TeX Live 2012 and version 0.76.0 in TeX Live 2013).

A plan for further development LuaTeX Hans Hagen presented in February 2009. The first stable beta version 0.50.0 was released for Christmas 2009, version 0.60.0 at Easter 2010. Version 1.00 should be released in 2012 originally exactly 30 years after the publication of TeX82 to TUG, but this was not successful. It is now scheduled for the TeX Live 2016. Since version 00:30 stable and productive usable versions get ( each provided for TeX Live) version numbers 0.X0, the other beta versions, however, are designated by numbers from 0.X5.

Structure of a document

On the left, an example is shown as source code that can be created with any text editor. The right is the output of this example shown, which is independent from the screen or printer type on which it is created.

% % This source code is stored in UTF -8 and with LuaLaTeX % % To compile.   \ documentclass [ a4paper ] { } scrartcl   \ usepackage { polyglossia } \ setdefaultlanguage [ spelling = new, babel shorthands = true ] { German }   \ usepackage { fontspec } \ usepackage { unicode -math } \ usepackage { luacode }   \ setromanfont { Cambria } \ setsansfont { Calibri } \ setmonofont { Consolas } \ { Cambria Math } setmathfont   \ title { A Sample Document } \ author { John Doe } \ date { 15 January 2014 }   \ begin { document}   \ maketitle \ tableofcontents   \ section { Fonts } With Lua \ TeX { } can use the native fonts in Windows, such as Cambria, for a large set of mathematical characters the formula display features, or \ texttt { Calibri } and \ texttt { Consolas }.   \ section { formulas } Lua \ TeX { } is very useful even without formulas and easy to use. graphics, Tables, cross-references of all kinds, bibliography, and index are no problem.   Formulas are a little more difficult, but here 's a simple example:   \ begin { displaymath }    E = \ frac { m_ { 0} c ^ { 2} } { \ sqrt {1 -v ^ {2 } / c ^ { 2} }} \ end { displaymath }   \ section { Lua code } Lua \ TeX { } but can also run Lua code. So you created, for example with \ texttt { } directlua the random number \ directlua { tex.print ( math.random ()) }. The circle number $ \ pi $ does not have to know by heart you, it has the value \ directlua { tex.print ( math.pi ) }.   Use the \ texttt { luacode } environment you can even count how here to Sixty: \ begin { luacode }    for x = 1.60 do      tex.print (x )    end \ end { luacode }   Here is the conclusion of the test document.   \ end {document } literature

  • Herbert Voß: Introduction to LuaTeX and LuaLaTeX. Lehmann Media, Berlin, 2013, ISBN 978-3-86541-530-1.
  • Manuel Pégourié - Gonnard: An Introduction to LuaLaTeX. May 12, 2013, accessed on 10 March 2014 ( PDF, 121 kB).
531962
de