11
1

Ich habe mit Interesse die LuaTeX-Beiträge im TeXwelt-Blog gelesen. Hintergrundlinks fand ich meist zu englischen Seiten, und das sah mir für den Anfang etwas kompliziert aus.

Was ist eigentlich LuaTeX? Hätte ich als LaTeX-Anwender Vorteile, wenn ich auf LuaLaTeX umsteigen würde?

gefragt 15 Jun '13, 13:57

Felix's gravatar image

Felix
1.3k525666
Akzeptiert-Rate: 47%


Zunächst aus der FAQ: LuaTeX ist eine relativ neue TeX-Implementierung (engine) – quasi ein Nachfolger von PDFTeX, dem heutzutage meist genutzten TeX-Programm. Wenn man sagt „Ich schreibe meine Texte mit LaTeX“ meint man meist, dass man das Programm PDFTeX mit dem Format LaTeX nutzt. Genau so gut kann man das Programm LuaTeX mit dem Format LaTeX benutzen.

Das besondere an LuaTeX ist die Integration der Skriptsprache Lua, daher der Name. Damit wird die Makrosprache um eine praktische Programmiersprache samt Bibliotheken ergänzt, was ganz neue Möglichkeiten für Paketautoren eröffnet, auch da TeX-Interna hierfür zugänglich werden.

Dem reinen Anwender komnen die Vorteile von LuaTeX indirekt zugute: es gibt eine ganze Reihe von Paketen, die nur für LuaTeX existieren, weil diese die besonderen Fähigkeiten von LuaTeX nutzen. Bekanntestes Beispiel dürfte fontspec sein, das es dem LaTeX-Benutzer erlaubt, beliebige OpenType-Schriftarten einzubinden.

Eine Besonderheit ist die direkte UTF-8-Unterstützung.

Permanenter link

beantwortet 16 Jun '13, 09:33

topskip's gravatar image

topskip
26614
Akzeptiert-Rate: 75%

bearbeitet 16 Jun '13, 21:34

stefan's gravatar image

stefan ♦♦
18.1k143048

3

fontspec ist eher ein schlechtes Beispiel, denn es funktioniert ja auch mit XeTeX, wo wir kein Lua haben. Es ist primär auf LaTeX3 aufgebaut. Der bessere Hinweis wäre hier luaotfload.

(19 Jun '13, 16:48) Herbert
2

Derzeit gilt übrigens bei den meisten TeX-Distributionen:

Programmaufruf TeX-Engine voreingestelltes Ausgabeformat
latexpdfeTeX (mit \pdfoutput=0)DVI
pdflatexpdfeTeX (mit \pdfoutput=1)PDF
xelatexXeTeXPDF
lualatexluaTeXPDF
(14 Okt '13, 10:52) saputello
2

Übrigens funktioniert das sehr nützliche Paket selnolig von @Mico nur mit LuaTeX. Gleiches gilt für meines Wissens für die graphdrawing library aus dem neuen TikZ 3.0.

(24 Mär '14, 22:40) Johannes

Ergänzende Frage: Kann ich bei LuaTex auch die KOMA-Klassen verwenden? Welche Vorgaben muß ich beachten, wenn ich "alte" Vorlagen verwende und nun unter LuaTex laufen lassen möchte? Bsp.: Das Paket usepackage{fontawesome} läuft nur unter LuaTex, kann ich einfach meine bisherige Datei unter LuaTeX verwenden?

(15 Aug '14, 10:17) Tischa

Bis auf die Besonderheit mit fontencund inputenc gibt es nichts weiter zu beachten.

(15 Aug '14, 10:31) Johannes

Leider funktioniert das nicht. Auf die Schnelle, meine Präambel ist recht umfangreich, daher ohne richtiges Minimalbsp, vllt. habe ich etwas schon übersehen. documentclass[fontsize=11pt,paper=a4,twoside]{scrbook} usepackage{fontspec} usepackage[main=ngerman,icelandic,danish]{babel} Ich erhalte die Fehlermeldung ! String contains an invalid utf-8 sequence. l.144 DeclareTextCommand{ooob}{T1}{sob { ó}{.85}{0}{.04}{0}} A funny symbol that I can't read has just been (re)read.

! String contains an invalid utf-8 sequence.

(15 Aug '14, 11:58) Tischa
1

@Tischa Im Kommentarfeld lässt sich das nicht optimal bearbeiten, kannst Du das vielleicht als neue Frage posten? Betrifft ja auch nicht "Was ist LuaTeX". Ergänzende Fragen kannst Du stets gern als neue Frage posten, gern mit Link auf die motivierende Frage oder Antwort. So lässt es sich besser beantworten und archivieren. Es ist genug Platz für Fragen da :-) und sonst es übersichtlicher als lange Threads.

(15 Aug '14, 12:07) stefan ♦♦

@Tischa: Unabhängig davon, dass ich @stefan natürlich zustimme, funktioniert fontawesome auch mit XeLaTeX und bezüglich KOMA-Script mit LuaLaTeX oder XeLaTeX muss man nichts weiter beachten, als man bei Verwendung von LuaLaTeX oder XeLaTeX immer beachten muss. Siehe dazu auch den von mir bereits im Kommentar zur Frage angegebenen Link.

(15 Aug '14, 12:35) gast3
Ergebnis 5 von 8 show 3 more comments

Neben den in der von @topskip bereits genannten Unterschieden gibt es noch einen sehr wesentlichen weiteren Unterschied:

TeX ist in der Sprache Web geschrieben, wobei der eigentliche Code letztlich ein Pascal-Dialekt ist. Pascal kennt ursprünglich keine Funktionen zur dynamischen Speicheranforderung. Deshalb sind alle von TeX intern verwendeten Daten in statischen Arrays abgelegt. Die Größe dieser Arrays war ursprünglich nur im Quellcode zu ändern. Inzwischen kann man sie bei der Formaterzeugung wählen. Implementierungsabhängig gibt es für einige der Arrays auch die Möglichkeit, sozusagen einen Zusatzarray anzulegen, der notfalls verwendet wird. All dies ist jedoch für den Anwender sehr umständlich und führt beispielsweise bei großen Plots mit pgfplots schon einmal zu einer »TeX capacity exceeded«-Fehlermeldung. Dies ist eine der wenigen fatalen Fehlermeldungen, das heißt, dass die Ausgabe abgebrochen wird und ggf. auch eine beschädigte PDF-Datei erzeugt wird.

Sowohl PDFTeX als auch XeTeX haben diesen Nachteil von TeX geerbt, da sie letztlich noch immer die (automatisch nach C gewandelten) Web-Quellen verwenden. Bei LuaTeX ist das anders. Hier wurde einmal eine C-Quellcode erzeugt und alle Änderungen fließen direkt in diesen ein. Schon sehr früh, wurden dabei auch die statischen Arrays durch dynamische Speicherstrukturen ersetzt. Damit sind die Grenze für intern verwendeten Speicher nicht mehr durch Festlegungen bestimmt, die bei der Erzeugung des Formats, beispielsweise des LaTeX-Formats, getroffen werden. Letztlich ist bei LuaTeX der vom Rechner/OS zur Verfügung gestellte Speicher die Grenze. Das führt auch dazu, dass »TeX capacity exceeded«-Fehlermeldungen bei Verwendung von LuaTeX normalerweise nicht mehr auftreten.

Für nähere Informationen zu LuaTeX sei vor allem auf das LuaTeX Reference Manual hingewiesen. Für fortgeschrittene LaTeX-Anwender außerdem empfehlenswert ist das Paket luacode.

Permanenter link

beantwortet 18 Sep '15, 11:17

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 14 Mai '18, 09:32

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×27

gestellte Frage: 15 Jun '13, 13:57

Frage wurde gesehen: 20,315 Mal

zuletzt geändert: 14 Mai '18, 09:32