Page 1 sur 1

Asymptote et formules

MessagePosté: Samedi 06 Décembre 2008, 22:09
par projetmbc
Bonjour,
peut-on avec Asymptote récupérer des infos sur une formule qu'il génère : sa taille en pixel, la position de la ligne principale de la formule par rapport à la hauteur de l'image ?

S'il le faut, je préciserais ma question.

Re: Asymptote et formules

MessagePosté: Samedi 06 Décembre 2008, 22:56
par Ph. Ivaldi
projetmbc a écrit:peut-on avec Asymptote récupérer des infos sur une formule qu'il génère : sa taille en pixel,


En pixel ça ne veut rien dire puisque cela dépend de l'écran.
En revanche on peut la récupérer en bp (point PostScript)

projetmbc a écrit:la position de la ligne principale de la formule par rapport à la hauteur de l'image ?
S'il le faut, je préciserais ma question.


C'est pourquoi faire ?
Voici ma solution, à la hache (il faudrait voir le fonctionnement exact de la routine baseline):

Code: Tout sélectionner
real[] xyb(string s)
{
  picture pic;
  real[] xyb;
  label(pic,s);
  pair sz=size(pic);
  xyb.push(sz.x);
  xyb.push(sz.y);

  erase(pic);
  draw(pic,baseline("."),(0,0)--E, align=S);
  pair s1=size(pic);
  erase(pic);
  draw(pic,baseline(s),(0,0)--E, align=S);
  xyb.push(xyb[1]-abs(s1.y-size(pic).y));
  return xyb;
}


write(xyb("$\displaystyle\int_{-\infty}^{+\infty}e^{-\alpha x^2}\,dx=
\sqrt{\frac{\pi}{\alpha}}$"));


Le résultat:

0: 106.524104607721 // largeur
1: 27.1222316313823 // hauteur
2: 9.96937484433375 // ligne principale

Re: Asymptote et formules

MessagePosté: Mardi 09 Décembre 2008, 22:40
par projetmbc
Merci beaucoup et désolé pour le retard.

Pensez-vous qu'il soit possible de récupérer ces infos via Python ? En fait, je souhaite créer des images de formules pour des doc. HTML. Il faut alors les placer bien alignées avec le texte contrairement à ce qu'il se passe avec la formule suivante $a^{4^5}$ .

Re: Asymptote et formules

MessagePosté: Mardi 09 Décembre 2008, 23:26
par Ph. Ivaldi
projetmbc a écrit:Pensez-vous qu'il soit possible de récupérer ces infos via Python ?

Bien sûr, il suffit de récupérer la sortie standard de la commande asy et de la parser. Je ne connais pas Python mais je suis à peu près sûr que ça marche comme ça.
projetmbc a écrit:En fait, je souhaite créer des images de formules pour des doc. HTML. Il faut alors les placer bien alignées avec le texte contrairement à ce qu'il se passe avec la formule suivante $a^{4^5}$ .

Je ne veux pas te décourager d'utiliser Asymptote mais je pense qu'il doit y avoir une méthode pour faire ça directement en LaTeX.

Re: Asymptote et formules

MessagePosté: Mardi 09 Décembre 2008, 23:44
par projetmbc
Ph. Ivaldi a écrit:..il suffit de récupérer la sortie standard de la commande asy et de la parser...

Ok je regarderais cela le moment venu.

Ph. Ivaldi a écrit:Je ne veux pas te décourager d'utiliser Asymptote mais je pense qu'il doit y avoir une méthode pour faire ça directement en LaTeX.

J'ai déjà vu les sorties Latex vers HTML et j'avoue que cela ne m'a pas convaincu du tout. Ceci étant dit, je n'ai pas encore fixé réellement la méthode que je vais utiliser. Il y a AscIIMath qui est facile à utiliser mais qui entre en conflit avec les applets Java. De toute façon, comme est fait mon prog. Python, il ne sera pas trop dur de tester telle ou telle méthode.

Merci pour ces infos.

Re: Asymptote et formules

MessagePosté: Vendredi 26 Décembre 2008, 10:37
par projetmbc
Ph. Ivaldi a écrit:Je ne veux pas te décourager d'utiliser Asymptote mais je pense qu'il doit y avoir une méthode pour faire ça directement en LaTeX.

Tu as raison : dvipng utilisé en ligne de commande permet cela. Grâce à pg, j'ai un moyen rapide de créer des images transparentes PNG tout en ayant leur profondeur directement avec dvipng : voir ce post.