[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.

Re: [luatex] Des exemples ?

Messagepar MB » Dimanche 09 Janvier 2011, 13:08

projetmbc a écrit:
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.


Ah ok, je n'avais jamais utilisé cette syntaxe en Python.
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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: [luatex] Des exemples ?

Messagepar MB » Mardi 01 Juillet 2014, 22:00

Dans l'objectif de migrer vers luatex je me suis un peu repenché sur l'exemple du pgcd.
Voici une autre version du code :

Code: Tout sélectionner
\documentclass{article}
\usepackage{fontspec,luatextra,mathtools}

\begin{luacode}
   function euclide(a,b)
      if a < b then a,b = b,a end
      r = a-math.floor(a/b)*b
      tex.print(string.format("%i & %i & %i \\\\", a, b, r))
      while r > 0 do
         a,b = b,r
         r = a-math.floor(a/b)*b
         if r == 0 then
            tex.print(string.format("%i & \\boldsymbol{%i} & %i \\\\", a, b, r))
         else
            tex.print(string.format("%i & %i & %i \\\\", a, b, r))
         end
      end
   end
\end{luacode}

\newcommand{\euclide}[2]{%
\begin{displaymath}
\begin{array}{|c|c|c|}
\hline
a & b & r \\
\hline
\directlua{euclide(#1,#2)}
\hline
\end{array}
\end{displaymath}}

\begin{document}
\euclide{587}{389}
\end{document}


Si vous avez d'autres petits exemples d'applications de code lua vous pouvez les ajouter 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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Vendredi 04 Juillet 2014, 11:47

Une dernière version, récursive.

Code: Tout sélectionner
\documentclass{article}
\usepackage{fontspec,luatextra,mathtools}

\begin{luacode}
    function euclide(a,b)
        if a < b then a,b = b,a end
        r = a-math.floor(a/b)*b
        if r == 0
        then
            tex.print(string.format("%i & \\boldsymbol{%i} & %i \\\\", a, b, r))
        else
            tex.print(string.format("%i & %i & %i \\\\", a, b, r))
            euclide(b,r)
        end
    end
\end{luacode}
\newcommand{\euclide}[2]{%
\begin{displaymath}
\begin{array}{|c|c|c|}
\hline
a & b & r \\
\hline
\directlua{euclide(#1,#2)}
\hline
\end{array}
\end{displaymath}}

\begin{document}
\euclide{587}{389}
\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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Mercredi 27 Août 2014, 09:27

J'ajoute ici le code proposé dans ce sujet.

Code: Tout sélectionner
\documentclass{article}
\usepackage{fontspec,luatextra,unicode-math}

\newcommand{\randomint}[3][randomint]{\luaexec{#1=math.random(#2,#3);tex.print(#1)}}
\newcommand{\randomdec}[4][randomdec]{\luaexec{local k=math.pow(10,#4);#1=math.random(#2*k,#3*k)/k;tex.print(#1)}}
\newcommand{\print}[1]{\luaexec{tex.print(#1)}}

\begin{document}

\begin{itemize}
\item \randomint[a]{10}{50} est un entier au hasard entre 10 et 50 stocké dans la variable lua "a".
\item \randomdec[b]{20}{30}{2} est un décimal au hasard entre 20 et 30 avec 2 chiffres dans sa partie décimale stocké dans la variable lua "b".
\item Le produit de \print{a} par \print{b} est \print{a*b}.
\end{itemize}

\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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Dimanche 31 Août 2014, 18:25

Un exemple de code faisant appel à luamplib.

Code: Tout sélectionner
\documentclass{article}
\usepackage{fontspec,luatextra,unicode-math}
\usepackage{luamplib}

\begin{document}

\begin{center}\leavevmode
\begin{mplibcode}
input boxes;
beginfig(1)
  boxit.a1(btex $2 \times 5 =$ etex);
  boxit.b1();
  boxit.a2(btex $1 \times 5 =$ etex);
  boxit.b2();
  boxit.a3(btex $0 \times 5 =$ etex);
  boxit.b3();
  boxit.a4(btex $-1 \times 5 =$ etex);
  boxit.b4();
  boxit.a5(btex $-2 \times 5 =$ etex);
  boxit.b5();
  for i=1 upto 5:
    a[i].e = b[i].w;
    b[i].e+(6mm,0) = a[i+1].w;
    b[i].n-b[i].s = (0,6mm) ;
    b[i].e-b[i].w = (12mm,0);
  endfor;
  drawunboxed(a1,a2,a3,a4,a5);
  drawboxed(b1,b2,b3,b4,b5);
  for i=1 upto 4:
    path arrow;
    arrow = b[i].n+(1mm,1mm) {dir 40} .. b[i+1].n+(-1mm,1mm) {dir -40};
    drawarrow arrow;
    label.top(btex $-5$ etex, point 0.5 of arrow);
  endfor;
endfig;
\end{mplibcode}
\end{center}

\end{document}


Ce qui donne ...

mplib_1.png
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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar Tonn83 » Jeudi 11 Septembre 2014, 07:51

Aucune idée si le document suivant peut ou non vous intéresser. J'avoue (honteusement) ne pas avoir fait l'effort de le lire.

http://www.luatex.org/svn/trunk/manual/luatexref-t.pdf
----------------------------
Tonn83
Tonn83
Giga-utilisateur
 
Messages: 889
Inscription: Mercredi 05 Novembre 2008, 01:19
Localisation: Paris, France
Statut actuel: Actif et salarié | Enseignant

Re: [luatex] Des exemples ?

Messagepar MB » Jeudi 11 Septembre 2014, 17:59

@Tonn83 : Il s'agit du manuel de référence LuaTeX, il ne contient pas vraiment d'exemple d'utilisation mais c'est tout de même très intéressant et complet.
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: 6892
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Précédente

Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 10 invités