Paquet luadraw pour LuaLaTeX

Nouvelles versions - Rapports de bugs..

Paquet luadraw pour LuaLaTeX

Messagepar P.Fradin » 12 Mars 2025 11:09

Bonjour,

J'ai mis en ligne à cette adresse : https://github.com/pfradin/luadraw, un paquet appelé luadraw pour LuaLaTeX, dont voici un rapide descriptif :

Le paquet luadraw définit l'environnement du même nom, celui-ci permet de créer des graphiques mathématiques en utilisant le langage Lua. Ces graphiques sont dessinés au final par tikz (et automatiquement sauvegardés), alors pourquoi les faire en Lua ? Parce que celui-ci apporte toute la puissance d'un langage de programmation simple, efficace, capable de faire des calculs, tout en utilisant les possibilités graphiques de tikz. Pas besoin de logiciel de dessin externe puisque c'est Lua qui fait le travail.

C'est inspiré directement de TeXgraph bien sûr, et pour l'instant c'est limité à la 2d. Un exemple :
Code: Tout sélectionner
\begin{luadraw}{name=Dcontour}
local g = graph:new{window={-1,6.5,-1.5,11},size={7,7,0}}
local i, sin, cos = cpx.I, math.sin, math.cos
local f = function(x,y) return (x+y)/(2+cos(x)*sin(y)) end
local rainbow = {Purple,Indigo,Blue,Green,Yellow,Orange,Red}
local Lz = range(1,10) -- niveaux à tracer
local Colors = {} -- liste des couleurs une par niveau
for k = 1,10 do
    table.insert(Colors, palette(rainbow,k/10))
end
g:Dgradbox({0,5+10*i,1,1},{legend={"$x$","$y$"},grid=true,
  title="$z=\\frac{x+y}{2+\\cos(x)\\sin(y)}$"})
g:Linewidth(12)
g:Dcontour(f,Lz,{view={0,5,0,10}, colors=Colors})
for k = 1, 10 do
    local y = (2*k+4)/3*i
    g:Dseg({5.25+y,5.5+y},1,"color="..Colors[k])
    g:Labelcolor(Colors[k])
    g:Dlabel("$z="..k.."$",5.5+y,{pos="E"})
end
g:Show()
\end{luadraw}

Dcontour.png
Dcontour.png (36.53 Kio) Consulté 4710 fois


Il y a une doc en français avec le paquet (luadraw.pdf).
P.Fradin
Avatar de l’utilisateur
P.Fradin
Administrateur du site
 
Messages: 1903
Inscription: 29 Oct 2008 15:04

Revenir vers Annonces

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités

cron