[luatex] Des exemples ?

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

[luatex] Des exemples ?

Messagepar projetmbc » Vendredi 07 Janvier 2011, 23:05

Bonsoir,
quelqu'un aurait-il des exemples "simples" montrant l'utilité de luatex ? Tout ce que j'ai vu m'a paru très compliqué.

Existe-t-il un "luatex pour les nuls" ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: luatex-Des exemples ?

Messagepar MB » Vendredi 07 Janvier 2011, 23:33

Il y a ce document (en anglais) qui est intéressant. Sinon, on trouve ici l'exemple assez simple suivant :

Code: Tout sélectionner
\documentclass{article}
\usepackage[utf8]{luainputenc}

\begin{document}
A random number:
\begin{luacode}
tex.print(math.random())
\end{luacode}
\end{document}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar pg » Samedi 08 Janvier 2011, 00:35

pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 01:51

On peut aussi consulter ce document pdf. Pour afficher un nombre aléatoire, je penche plutôt pour le code suivant :

Code: Tout sélectionner
\documentclass{minimal}
\usepackage[utf8]{luainputenc}
\begin{document}
A random number: \directlua{tex.print(math.random())}.
\end{document}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 11:56

Merci pour les exemples simples.

Côté lien, je trouve que celui-ci est une horreur car il propose tout de suite des méthodes techniques avant de proposer des choses basiques.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 12:19

projetmbc a écrit:Côté lien, je trouve que celui-ci est une horreur car il propose tout de suite des méthodes techniques avant de proposer des choses basiques.


Ce lien concerne d'ailleurs plutôt LuaTeX alors que les utilisateur de LaTeX vont probablement utiliser davantage LuaLaTeX.

Sinon, il serait intéressant de développer avec lualatex l'algorithme d'Euclide afin d'éviter de passer par Python comme je le faisais ici. Par contre, pour l'instant je ne m'en sors pas trop :

Code: Tout sélectionner
\documentclass{minimal}
\usepackage[utf8]{luainputenc}
\begin{document}

\newcommand{\euclide}[2]{%
\directlua{a = #1
b = #2
if a < b then a,b = b,a end}
Calcul du pgcd de \directlua{tex.print(a)} et de \directlua{tex.print(b)}.}

\euclide{240}{137}

\end{document}


Pour l'instant je rencontre les problèmes suivants :

  • je ne parviens pas à insérer un retour à la ligne (\\) dans une commande \directlua{} ce qui me serait utile pour faire des tableaux,
  • dans le même genre, la division euclidienne en lua s'effectue via le signe % ce qui doit poser également des problèmes ...

Pas facile de trouver de la documentation (même en anglais).
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 12:25

Ne pourrait-on pas à plusieurs demander au prêt de la communauté LuaTex de forunir des exemples classiques et basiques ?

Pour le moment, j'ai surtout l'impression que les exemples sont juste là pour montrer la puissance de LuaTex. Il se peut aussi que Google ne nous amène pas vers de bons exemples étant donnés sa façon de gérer les pages, cela ne m'étonnerait pas (dès que l'on cherche des choses techniques non populaires, Google est très mauvais).

Je trouve cela dommage car je pense que LuaLatex devrait permettre énormément de choses (même si cela ne m'empêchera pas de continuer mon projet qui lui sera dans le même esprit mais en utilisant Python).
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 12:41

projetmbc a écrit:Ne pourrait-on pas à plusieurs demander au prêt de la communauté LuaTex de forunir des exemples classiques et basiques ?


Je me suis inscrit sur la mailing-list histoire de voir si c'est actif ou pas mais pour l'instant il n'existe pas grand chose permettant l'accès à une 'communauté luatex'. En tous cas, en ce qui me concerne, je vais essayer de faire fonctionner cet exemple avec Euclide.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 12:46

Pourquoi pas passer par l'association Gutenberg ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 14:25

projetmbc a écrit:Pourquoi pas passer par l'association Gutenberg ?


Je ne connais pas spécialement.

Sinon, j'ai résolu le problème du % (division euclidienne lua) en utilisant math.floor. Par contre, je n'arrive toujours pas à aller à la ligne (et donc à faire des tableaux).

Code: Tout sélectionner
\documentclass{minimal}
\usepackage[utf8]{luainputenc}
\begin{document}

\newcommand{\euclide}[2]{%
\directlua{a = #1
b = #2
if a < b then a,b = b,a end
r = a-math.floor(a/b)*b
line = a .. ' tab ' .. b .. ' tab ' .. r .. ' endline.'
lines = {line}
while r >0 do
   a,b,r = b,r,a-math.floor(a/b)*b
   line = a .. ' tab ' .. b .. ' tab ' .. r .. ' endline.'
   table.insert(lines,line)
end}
\directlua{tex.sprint(lines)}}

\euclide{240}{137}

\end{document}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 17:53

J'ai essayé et j'ai eu droit au message suivant où pgcdNotFinished est le nom de mon fichier tex qui reprend ton code :

Code: Tout sélectionner
Runaway argument?
{\directlua {a = ##1 b = ##2 if a < b then a,b = b,a end r = a-math.f\ETC.
! File ended while scanning use of \@argdef.
<inserted text>
                \par
<*> pgcdNotFinished
                   
?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 18:00

Tu peux essayer ce code (qui permet des retours à la ligne) :

Code: Tout sélectionner
\documentclass{minimal}
\usepackage[utf8]{luainputenc}
\parindent = 0pt
\begin{document}

\newcommand{\euclide}[2]{%
\directlua{a = #1
b = #2
if a < b then a,b = b,a end
r = a-math.floor(a/b)*b
tex.sprint(a .. ' tab ' .. b .. ' tab ' .. r .. [[\noexpand\newline]])
while r > 0 do
   a,b,r = b,r, a-math.floor(a/b)*b
   tex.sprint(a .. ' tab ' .. b .. ' tab ' .. r .. [[\noexpand\newline]])
end}}

\euclide{240}{137}

\end{document}


C'est à compiler avec lualatex.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 18:16

Ce code marche sans souci. Ce LuaLatex commence à m'intéresser.

Sont-ce les doubles crochets qui permettent l'insertion de commande LaTex ?
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 18:19

projetmbc a écrit:Sont-ce les doubles crochets qui permettent l'insertion de commande LaTex ?


Voir ici.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 18:41

Après avoir reçu de l'aide sur fctt (merci Arnaud et Paul), j'arrive enfin à faire mon tableau :

Code: Tout sélectionner
\documentclass[12pt]{minimal}
\usepackage[utf8]{luainputenc}
\parindent = 0pt
\begin{document}

\newcommand{\euclide}[2]{%
\begin{center}
\begin{tabular}{c@{\quad}c@{\quad}c}
\directlua{%
a = #1
b = #2
if a < b then a,b = b,a end
r = a-math.floor(a/b)*b
tex.sprint(a .. "&" .. b .. "&" .. r .. [[\noexpand\\]])
while r > 0 do
   a,b,r = b,r,a-math.floor(a/b)*b
   tex.sprint(a .. "&" .. b .. "&" .. r .. [[\noexpand\\]])
end}
\end{tabular}
\end{center}}

\euclide{240}{137}

\end{document}


Par contre, je n'arrive pas encore à lui ajouter des lignes pour faire un quadrillage ... je ne sais pas pourquoi ! :roll:
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Samedi 08 Janvier 2011, 19:05

Il faut donc se placer dans l'environnement souhaité et y écrire le code LaTeX nécessaire via tex.sprint.

N'hésites pas à mettre à jour ici ton code, cela m'intéresse beaucoup.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar pg » Samedi 08 Janvier 2011, 19:15

MB a écrit:Par contre, je n'arrive pas encore à lui ajouter des lignes pour faire un quadrillage ... je ne sais pas pourquoi ! :roll

\hline ne fonctionne pas avec la classe minimal, il faut utiliser au moins article.
pg
Modérateur
 
Messages: 2592
Inscription: Jeudi 14 Juin 2007, 23:31

Re: [luatex] Des exemples ?

Messagepar MB » Samedi 08 Janvier 2011, 19:55

pg a écrit:\hline ne fonctionne pas avec la classe minimal, il faut utiliser au moins article.


Ah oui, en effet. :| (je pensais trop à un problème lié à luatex)
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Dimanche 09 Janvier 2011, 11:25

Voilà donc un code qui me semble à peu près finalisé et fonctionnel :

Code: Tout sélectionner
\documentclass[12pt]{article}
\usepackage[utf8]{luainputenc}
\parindent = 0pt
\begin{document}

\newcommand{\euclide}[2]{%
\begin{center}
\begin{tabular}{|c|c|c|}
\hline
\directlua{a,b = #1,#2
if a < b then a,b = b,a end
r = a-math.floor(a/b)*b
tex.sprint(a .. "&" .. b .. "&" .. r .. [[\noexpand\\]])
while r > 0 do
   a,b = b,r
   r = a-math.floor(a/b)*b
   tex.sprint(a .. "&" .. b .. "&" .. r .. [[\noexpand\\]])
end}
\hline
\end{tabular}
\end{center}}

\euclide{587}{389}

\end{document}


Dans la version précédente, j'avais utilisé le code suivant :

Code: Tout sélectionner
   a,b,r = b,r,a-math.floor(a/b)*b


Or, ce code n'est pas équivalent à :

Code: Tout sélectionner
   a,b = b,r
   r = a-math.floor(a/b)*b


En effet, dans le premier cas, les affectations sont réellement simultanées (ce qui semble être une spécificité intéressante du langage lua).
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6890
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar projetmbc » Dimanche 09 Janvier 2011, 12:49

Bonjour.
Cela marche chez moi sans souci.

MB a écrit:En effet, dans le premier cas, les affectations sont réellement simultanées (ce qui semble être une spécificité intéressante du langage lua).

Pour info, cela marche aussi comme cela sous Python.
projetmbc
Péta-utilisateur
 
Messages: 1895
Inscription: Samedi 29 Décembre 2007, 00:58
Statut actuel: Actif et salarié | Enseignant

Suivante

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 5 invités