====== Qu'est-ce que LuaTeX? ======
''LuaTeX'' consiste en un moteur de type \TeX avec un interpréteur [[wpfr>Lua]] intégré.
Lua est un langage de script libre, conçu de manière à pouvoir être embarqué au sein d'autres applications afin d'étendre celles-ci.
Cette aptitude est utilisée dans LuaTeX: l'interpréteur Lua a accès à de nombreuses structures de données internes que le moteur TeX
utilise pour la composition du document, de sorte que le programmeur peut insérer des morceaux de code Lua dans des commandes \TeX
ou \LaTeX, tout comme il peut placer des «rappels» (//call-backs//) pour modifier le comportement de \TeX
lors de certaines opérations. Ceci le rend particulièrement souple.
Voici un exemple dans lequel du code Lua très simple est intégré à un document LaTeX, en argument de la macro ''\directlua'':
\documentclass{article}
\begin{document}
On sait compter:
\directlua{
for x=1,12 do
tex.print(x)
end
}%
.
\end{document}
\documentclass{article}
\usepackage[width=8cm]{geometry}
\pagestyle{empty}
\begin{document}
On sait compter:
\directlua{
for x=1,12 do
tex.print(x)
end
}%
.
\end{document}
Le moteur standard [[1_generalites:glossaire:qu_est_ce_que_pdftex|pdfTeX]] est entièrement rétrocompatible avec \TeX.
En tant que tel, il reste un système 8(nbsp)bits utilisant des [[5_fichiers:fontes:que_sont_les_fichiers_tfm|métriques de polices dédiées]].
En revanche, le moteur ''LuaTeX'' est basé sur Unicode et capable de charger des polices système standards (OpenType).
Contrairement à ''[[1_generalites:glossaire:qu_est_ce_que_xetex|XeTeX]]'', la capacité à utiliser des polices système standards
n'est pas intégrée au moteur lui-même mais ajoutée en utilisant du code Lua. Malgré cette différence de conception, LuaTeX et XeTeX
arrivent à des résultats similaires en ce qui concerne la gestion des polices (avec des avantages différents à la clef).
Bien qu'il existe des différences voulues entre le comportement de ''LuaTeX'', de \TeX
ou ''[[1_generalites:glossaire:qu_est_ce_que_pdftex|pdfTeX]]'', pour la plupart des utilisateurs,
''LuaTeX'' peut être utilisé en remplacement des deux autres.
D'ailleurs, pour la plupart des utilisateurs finaux de \LaTeX, les subtilités sont transparentes,
le noyau \LaTeX et l'extension [[ctanpkg>fontspec|fontspec]] fournissant des interfaces.
Pour davantage de détails, voir le //[[https://github.com/jejust/lualatex-doc-fr|Guide touristique de LuaLaTeX]]//
(en français), de Manuel Pégourié-Gonnard.
[[1_generalites:glossaire:qu_est_ce_que_context|ConTeXt]] Mark 4 //nécessite// ''LuaTeX''
mais c'est maintenant transparent pour l'utilisateur.
-----
//Sources://
* [[faquk>FAQ-xetex-luatex|What are XeTeX and LuaTeX?]]
* [[wpfr>LuaTeX]] sur Wikipedia,
* [[http://wiki.luatex.org/|Wiki LuaTeX]] (en anglais).
{{htmlmetatags>metatag-keywords=(LaTeX,UTF8,Unicode,LuaTeX,LuaLaTeX,utiliser les polices systèmes,programmation en Lua,polices OpenType)
metatag-og:title=(Qu'est-ce que LuaTeX)
metatag-og:site_name=(FAQ LaTeX francophone)
}}