LuaTeX

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
LuaTeX
LuaTeX-Logo
Entwickler LuaTeX-Team
(Taco Hoekwater,
Hartmut Henkel,
Hans Hagen)
Aktuelle Version stable beta 0.78.2[1]
(13. Januar 2014)
Betriebssystem Multiplattform
Kategorie Schriftsatz
Lizenz GNU General Public License
www.luatex.org

LuaTeX ist ein Textsatzsystem, das über die darin eingebettete Skriptsprache Lua gesteuert werden kann. LuaTeX ist ein Nachfolger von pdfTeX, dessen Entwicklung weitgehend abgeschlossen ist.[2][3] LuaTeX verwendet standardmäßig Unicode als Eingabekodierung und ist in der Lage, OpenType-Schriftarten sowohl für den Text- als auch für den Mathematiksatz einzusetzen. Das System befindet sich noch in Entwicklung, so dass sich die Spezifikationen für seinen Einsatz weiterhin ändern können. Es soll die Funktionalität von pdfTeX, eTeX, Omega und א (ALEPH) in sich vereinen.

Merkmale von LuaTeX[Bearbeiten]

LuaTeX ist aus einer Version von pdfTeX entwickelt worden, die um eine eingebettete Lua-Scripting-Engine erweitert worden war. Nach einigen Tests wurde es zum Nachfolger von pdfTeX (einer Kombination aus TeX und eTeX, die PDF-Dateien direkt erzeugt) bestimmt. In einem späteren Entwicklungsstadium wurde die Hauptfunktionalität von „א“ (ALEPH), das Setzen von bidirektionalen Schriften, integriert.

Das Hauptziel des Projektes ist, eine TeX-Version zur Verfügung zu stellen, in der alle Interna über Lua zugänglich sind. Im Entwicklungsprozess wird viel vom internen TeX-Code umgeschrieben. Statt in TeX fest codierter Eigenschaften können die Nutzer oder Makro-Entwickler ihre eigenen Erweiterungen selbst schreiben. LuaTeX bietet native Unterstützung für OpenType-Schriften an. Im Gegensatz zu XeTeX wird nicht durch System-Funktionen auf die Schriften zugegriffen, sondern über eine auf FontForge basierende Bibliothek.

Ein mit LuaTeX zusammenhängendes Projekt ist MPLib (ein erweitertes MetaPost-Modul), das in TeX eine Grafik-Engine zur Verfügung stellt.

Geschichte[Bearbeiten]

Das Projekt wird unterstützt durch das „Oriental TeX Project“ der Colorado State University, die „Nederlandstalige TeX Gebruikersgroep“ (niederländischsprachige TeX User Group, NTG) und die „TeX Users Group“ (TUG). Der 2003 von der TeX Users Group unter Schirmherrschaft des TUG Technical Council zur finanziellen Unterstützung von Projekten rund um TeX und dessen Fortentwicklung gegründete TeX Development Fund gewährt dem LuaTeX-Projekt als „lang gehegtem Wunsch nach einer in TeX eingebetteten Allzweck-Programmiersprache“[4] einen Großteil seiner Mittel. Diese höchste Förderpriorität[5] unterstreicht die besondere Bedeutung von LuaTeX für die aktuelle TeX-Entwicklung.

Die erste öffentliche Beta-Version 0.10 wurde zur Konferenz der TUG in San Diego am 18. Juli 2007 veröffentlicht. Eine weitere Beta-Version 0.29 folgte zur TUG-Konferenz, die vom 21. bis 24. Juli 2008 in Cork stattfand. Die Version 0.40 wurde, zusammen mit den neuen Mathematikerweiterungen von LuaTeX, zur BachoTeX 2009, die vom 29. April bis 3. Mai 2009 im polnischen Bachotek (8 km nordöstlich von Brodnica) stattfand, offiziell vorgestellt. Bei der EuroTeX-Tagung vom 31. August bis 4. September 2009 in Den Haag wurde die Version 0.43 gezeigt.[6] Zurzeit nutzten nur ConTeXt mark IV und LaTeX mit Zusatzpaketen (z. B. luaotfload, luamplib, luatexbase, luatextra) die neue LuaTeX-Funktionalität. Eine besondere Unterstützung in TeX ist noch in Entwicklung.

2008 wurde LuaTeX erstmals in die TeX-Live-Distribution aufgenommen. So ist die Snapshot-Version 0.25.4 Bestandteil von TeX Live 2008.[7][8] In weitere TeX-Live-Versionen wurde das jeweils aktuelle LuaTeX integriert (Version 0.40.6[9] in TeX Live 2009,[7][10] Version 0.60.2[11] in TeX Live 2010,[7][12] Version 0.70.1[13] in TeX Live 2011,[14] Version 0.70.2[7] in TeX Live 2012[7] sowie Version 0.76.0[15] in TeX Live 2013[7][16]).

Einen Plan zur weiteren LuaTeX-Entwicklung hat Hans Hagen im Februar 2009 vorgestellt.[17] Die erste stabile Beta-Version 0.50.0 war zu Weihnachten 2009 erschienen,[18] die Version 0.60.0 an Ostern 2010.[19] Version 1.00 sollte ursprünglich genau 30 Jahre nach dem Erscheinen von TeX82 zur TUG 2012 veröffentlicht werden, was aber nicht gelungen war. Sie ist nunmehr für TeX Live 2016 vorgesehen.[20] Seit Version 0.30 bekommen stabile und produktiv verwendbare Versionen (jeweils vorgesehen für TeX Live) die Versionsnummern 0.X0, die anderen Betaversionen hingegen werden mit Nummern ab 0.X5 bezeichnet.

Aufbau eines Dokuments[Bearbeiten]

Auf der linken Seite ist ein Beispiel als Quelltext dargestellt, das mit einem beliebigen Texteditor erstellt werden kann. Rechts ist die Ausgabe dieses Beispiels dargestellt, die unabhängig vom Bildschirm- oder Druckertyp ist, auf dem sie erzeugt wird.

Quelltext eines LuaTeX-Dokuments Ausgabe des kompilierten Dokuments
%% Dieser Sourcecode ist in der Kodierung UTF-8 zu speichern und mit LuaLaTeX
%% zu kompilieren.
 
\documentclass[a4paper]{scrartcl}
 
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new, babelshorthands=true]{german}
 
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{luacode}
 
\setromanfont{Cambria}
\setsansfont{Calibri}
\setmonofont{Consolas}
\setmathfont{Cambria Math}
 
\title{Ein Testdokument}
\author{Otto Normalverbraucher}
\date{15. Januar 2014}
 
\begin{document}
 
\maketitle
\tableofcontents
 
\section{Schriftarten}
Mit Lua\TeX{} lassen sich in Windows die systemeigenen Schriftarten verwenden,
wie zum Beispiel Cambria, die über einen großen Satz mathematischer Zeichen für
die Formeldarstellung verfügt, oder auch \textsf{Calibri} und \texttt{Consolas}.
 
\section{Formeln}
Lua\TeX{} ist auch ohne Formeln sehr nützlich und einfach zu verwenden. Grafiken,
Tabellen, Querverweise aller Art, Literatur- und Stichwortverzeichnis sind
kein Problem.
 
Formeln sind etwas schwieriger, dennoch hier ein einfaches Beispiel:
 
\begin{displaymath}
  E = \frac{m_{0} c^{2}}{\sqrt{1-v^{2}/c^{2}}}
\end{displaymath}
 
\section{Lua-Code}
Lua\TeX{} kann aber auch Lua-Programmcode ausführen. So erzeugt man zum Beispiel
mit \texttt{directlua} die Zufallszahl \directlua{tex.print(math.random())}.
Auch die Kreiszahl $\pi$ muss man nicht mehr auswendig wissen, sie hat den Wert
\directlua{tex.print(math.pi)}.
 
Mithilfe der \texttt{luacode}-Umgebung kann man sogar zählen, wie hier bis Sechzig:
\begin{luacode}
  for x=1,60 do
    tex.print(x)
  end
\end{luacode}
 
Hier ist der Schluss des Testdokuments.
 
\end{document}
LuaTeX Output DE.svg

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Taco Hoekwater: Luatex 0.78.2 announcement vom 13. Januar 2014.
  2. Robin Fairbairns: PDFTeX and LuaTeX. In: UK List of TeX Frequently Asked Questions on the Web (UK TeX FAQ). Version 3.25. 29. März 2012. Abgerufen am 30. Dezember 2012.
  3. Ein anderes Nachfolgesystem von pdfTeX ist XeTeX.
  4. TUG’s TeX Development Fund committee: A roadmap for TEX development (PDF-Datei; 84 kB). In: TUGboat, Volume 28 (2007), No. 3, S. 375 f., ISSN 0896-3207.
  5. TeX Development Fund committee: TEX Development Fund 2009 report (PDF-Datei; 59 kB). In: TUGboat, Volume 30 (2009), No. 1, S. 148, ISSN 0896-3207.
  6. LuaTeX Project Filelist.
  7. a b c d e f Vgl. die ausführbare LuaTeX-Datei in TeX Live; Download vom TUG-Server.
  8. Jürgen Fenn: TeX-Distribution TeX Live 2008 veröffentlicht. heise.de vom 3. September 2008.
  9. Taco Hoekwater: Luatex beta 0.40.6. vom 15. Juni 2009.
  10. Jürgen Fenn: TeX-Distribution TeX Live 2009 veröffentlicht. heise.de vom 9. November 2009.
  11. Taco Hoekwater: Luatex 0.60.2 announcement. vom 1. Juli 2010.
  12. Jürgen Fenn: TeX Live 2010 veröffentlicht. heise.de vom 10. September 2010.
  13. Taco Hoekwater: Luatex 0.70.1 announcement. vom 19. Mai 2011.
  14. Jürgen Fenn: TeX Live 2011 im Anmarsch. heise.de vom 21. Juli 2011.
  15. Taco Hoekwater: Luatex 0.76.0 announcement vom 5. April 2013.
  16. Moritz Förster: Jährliches Update für TeX Live. heise.de vom 22. Juni 2013.
  17. Hans Hagen: The State of LuaTeX., Dante 2009 (PDF, 58 KB).
  18. Taco Hoekwater: Luatex 0.50.0 announcement. vom 24. Dezember 2009.
  19. Taco Hoekwater: Luatex 0.60.0 announcement. vom 4. April 2010.
  20. Roadmap. In: luatex.org. Abgerufen am 25. Dezember 2013.