title: MetaPost
text: # MetaPost
  
  MetaPost si riferisce tanto al nome del linguaggio di programmazione per la generazione di diagrammi quanto all'interprete del linguaggio stesso. L'output generato è in PostScript.
  
  MetaPost condivide la sintassi per la manipolazione di rette, curve, punti e trasformazioni geometriche con l'interprete Metafont; tuttavia vi sono alcune differenze con il programma di Donald Knuth:
  
  * Metafont viene utilizzato per produrre font, con file di immagine (di estensione .gf) e file metrici (file .tfm), mentre MetaPost genera file eps.
  * Metafont come output produce immagini a risoluzione fissata mentre MetaPost produce grafica vettoriale (curve, linee di Bézier).
  * L'output di Metafont è monocromatico mentre l'output di MetaPost utilizza l'RGB.
  
  Molte delle limitazioni di Metapost derivano dalle caratteristiche di Metafont. Ad esempio la bassa precisione con cui vengono rappresentati i numeri, sufficiente per rappresentare le coordinate in un grafico piccolo ma potrebbe creare problemi per un sistema di coordinate sufficientemente esteso. Inoltre Metapost non supporta tutte le caratteristiche di PostScript (ad esempio PostScript 3 supporta il Gouraud shading). Per risolvere questi problemi è stato sviluppato Asymptote.
  
  ## Esempi
  
  Il seguente file example.mp produce una volta interpretato con MetaPost (tramite il comando mpost sotto Linux) produce tre file eps example.1, example.2, example.3. I grafici sono riportati a destra.
  
  I file così generati possono essere utilizzati in TeX attraverso i comandi LaTeX \includegraphics , ConTeXt \externalfigure, Plain TeX \epsfbox, o (in Plain pdftex) tramite il comando \convertMPtoPDF da supp-pdf.tex. Per vedere o stampare il terzo grafico l'inclusione è necessaria, dal momento che i font di Metafont non son inclusi nei file eps generati da MetaPost.
  
  