Illustration d’une boite TeX

Auteur ou autrice : Vincent Zoonekynd.

Mise en ligne le 6 novembre 2024

Image du résultat de l’exemple

En 1999, puis mis à jour en 2001, Vincent Zoonekynd a mis en ligne un fichier MetaPost illustrant différentes utilisations du programme avec plus de 300 exemples. Ces exemples sont disponibles sur le CTAN.

Code


u:=1cm;
beginfig(235)
picture _TEX_pic;

def largeur(expr p) =
  if picture p:
    xpart( lrcorner(p) - llcorner(p) )
  elseif string p:
    hide(_TEX_pic := TEX(p);)
    xpart( lrcorner(_TEX_pic) - llcorner(_TEX_pic) )
  else:
    hide( errmessage("largeur: wrong type"); 0)
  fi
enddef;

def hauteur(expr p) =
  if picture p:
    ypart(ulcorner(p))
  elseif string p:
    hide(_TEX_pic := TEX(p);)
    ypart(ulcorner(_TEX_pic))
  else:
    hide( errmessage("hauteur: wrong type"); 0)
  fi
enddef;

def profondeur (expr p) =
  if picture p:
    -ypart(llcorner(p))
  elseif string p:
    hide(_TEX_pic := TEX(p);)
    -ypart(llcorner(_TEX_pic))
  else:
    hide( errmessage("profondeur: wrong type"); 0)
  fi
enddef;

  picture p;
  string s;
  s := "\huge\LaTeX";
  p := TEX(s);
  drawarrow (0,0) -- (largeur(s),0) withcolor red;
  drawarrow (0,0) -- (0,hauteur(s)) withcolor green;
  drawarrow (0,0) -- (0,-profondeur(s)) withcolor blue;
  draw p;
  draw bbox p;
endfig;

end.

Mots clés : hideprofondeurlargeurhauteurdepthwidthheighboxboitezoonekynd

Cet exemple fait partie de la collection d’exemples Exemples de Vincent Zoonekynd.

Fichiers

Télécharger l’archive complète