LuaLaTeX est une variante de LaTeX utilisant le langage de script Lua. LuaTeX a été choisi comme successeur de pdfTeX. La structure générale et la majeure partie des commandes sont semblables à celles de LaTeX.
L’encodage de caractères utilisé par LuaTex est l’Unicode qui est donc géré nativement. Il est également possible d’utiliser les polices de caractère du système, avec le paquet fontspec. Le paquet inputenc est ainsi inutile.
lualatex document.tex
dvilualatex document.tex
Exemple d’un document en français, utilisant la police Linux Libertine :
\documentclass{article} \usepackage{luatextra} \usepackage[french]{babel} \setmainfont[Mapping=tex-text,Ligatures=Common]{Linux Libertine} \begin{document} \LuaLaTeX c’est super. \end{document}
Le paquet luatextra charge l’essentiel des paquets LuaLaTeX (fontspec, luacode, metalogo, etc.). Metalogo permet d’utiliser les logos, dont \LuaTeX et \LuaLaTeX.
LuaLaTeX permet d’inclure du code Lua dans le document. Il permet alors de faire des calculs directement dans la source du document. Lua est appelé avec la commande \directlua :
\documentclass{article} \begin{document} Racine carrée de 42 : \directlua{tex.sprint(math.sqrt(42))} \end{document}
L’environnement luacode permet également d’inclure du lua (notamment quand il s’étend sur plusieurs lignes). Le paquet luacode doit être chargé dans le préambule :
\documentclass{article} \usepackage{luacode} \begin{document} Un nombre aléatoire: \begin{luacode} tex.print(math.random()) \end{luacode} \end{document}
Enfin, le code lua peut être placé dans un fichier externe.