Prochaine révision | Révision précédente |
1_generalites:glossaire:qu_est_ce_que_luatex [2021/03/20 13:05] – Page créée pour mieux séparer les définitions. yannick.tanguy | 1_generalites:glossaire:qu_est_ce_que_luatex [2021/12/21 00:11] (Version actuelle) – Mention de la traduction du "Guide touristique de LuaLaTeX". jejust |
---|
====== Qu'est ce que LuaTeX? ====== | ====== Qu'est-ce que LuaTeX? ====== |
| |
Le moteur standard [[1_generalites:glossaire:qu_est_ce_que_pdftex|pdfTeX]] est entièrement rétrocompatible avec <latex>\TeX</latex>. En tant que tel, il reste un système 8 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 standard (OpenType). En interne, il se distingue de ''[[1_generalites:glossaire:qu_est_ce_que_xetex|XeTeX]]'' : des résultats similaires sont atteints en utilisant des philosophies très différentes (avec des avantages différents à la clé). | ''LuaTeX'' consiste en un moteur de type <latex>\TeX</latex> avec un interpréteur [[wpfr>Lua]] intégré. |
| |
''LuaTeX'' consiste en un moteur de type <latex>\TeX</latex> avec un interpréteur Lua intégré. Cet interpréteur a accès à de nombreuses structures de données utilisées pour la composition, de sorte que le programmeur peut insérer des morceaux de code Lua dans des commandes <latex>\TeX</latex> ou <latex>\LaTeX</latex>, tout comme il peut placer des « rappels » (//call-backs//) pour modifier le comportement de <latex>\TeX</latex> lors de certaines opérations. Ceci le rend particulièrement performant. | 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 <latex>\TeX</latex> |
| ou <latex>\LaTeX</latex>, tout comme il peut placer des «rappels» (//call-backs//) pour modifier le comportement de <latex>\TeX</latex> |
| lors de certaines opérations. Ceci le rend particulièrement souple. |
| |
Contrairement à ''[[1_generalites:glossaire:qu_est_ce_que_xetex|XeTeX]]'', la capacitéi à utiliser des polices système standard n'est pas intégrée au moteur lui-même mais ajoutée en utilisant le code Lua. | Voici un exemple dans lequel du code Lua très simple est intégré à un document LaTeX, en argument de la macro ''\directlua'': |
| |
Bien qu'il existe des différences voulues entre le comportement de ''LuaTeX'', de <latex>\TeX</latex> 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>\LaTeX</latex>, les subtilités sont transparentes, le noyau <latex>\LaTeX</latex> et l'extension [[ctanpkg>fontspec|fontspec]] fournissant des interfaces. | <WRAP column 40ex> |
| <code latex> |
| \documentclass{article} |
| |
Enfin, [[1_generalites:glossaire:qu_est_ce_que_context|ConTeXt]] Mark 4 //nécessite// ''LuaTeX'' et c'est à nouveau transparent pour les utilisateurs. | \begin{document} |
| On sait compter: |
| \directlua{ |
| for x=1,12 do |
| tex.print(x) |
| end |
| }% |
| . |
| \end{document} |
| </code> |
| </WRAP> |
| <WRAP column 30ex> |
| <latexdoc> |
| \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} |
| </latexdoc> |
| </WRAP> |
| <WRAP clear /> |
| |
//Source:// [[faquk>FAQ-xetex-luatex|What are XeTeX and LuaTeX?]] | Le moteur standard [[1_generalites:glossaire:qu_est_ce_que_pdftex|pdfTeX]] est entièrement rétrocompatible avec <latex>\TeX</latex>. |
| 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 <latex>\TeX</latex> |
| 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>\LaTeX</latex>, les subtilités sont transparentes, |
| le noyau <latex>\LaTeX</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. |
| |
| |
| <note> |
| [[1_generalites:glossaire:qu_est_ce_que_context|ConTeXt]] Mark 4 //nécessite// ''LuaTeX'' |
| mais c'est maintenant transparent pour l'utilisateur. |
| </note> |
| |
| ----- |
| //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,XeTeX) | {{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 XeTeX) | metatag-og:title=(Qu'est-ce que LuaTeX) |
metatag-og:site_name=(FAQ LaTeX francophone) | metatag-og:site_name=(FAQ LaTeX francophone) |
}} | }} |