Movatterモバイル変換


[0]ホーム

URL:


Ir al contenido
WikipediaLa enciclopedia libre
Buscar

MetaPost

De Wikipedia, la enciclopedia libre
MetaPost
Información general
DesarrolladorTaco Hoekwater (Autor: John D. Hobby)
Lanzamiento inicial1994
LicenciaPublic Domain
Versiones
Última versión estable1.001( 14 de noviembre de 2007)
Enlaces

MetaPost constituye unlenguaje de programación y el únicointérprete del lenguaje de programación MetaPost. Ambos han sido derivados a partir del lenguaje y del intérprete deMetafont, creados porDonald Knuth. MetaPost produce diagramas utilizando el lenguaje de programaciónPostScript a partir de una descripción geométrico-algebraica. MetaPost comparte la sintaxis declarativa de Metafont para manipularlíneas,curvas,puntos ytransformaciones geométricas. Sin embargo,

  • Metafont ha sido creado para producirfuentes tipográficas, en forma de archivos de imagen (en formato .gf) junto con archivos de medición asociados (en formato .tfm), mientras que MetaPost produce archivos dePostScript encapsulado.
  • La salida de Metafont consiste en fuentes a una determinada resolución en un formatorasterizado, mientras que la salida de MetaPost es un gráfico postscriptvectorizado (líneas,curvas de Bézier).
  • La salida deMetafont esmonocroma, mientras que MetaPost utiliza una especificaciónRGB.
  • El lenguaje MetaPost puede incluir etiquetas de texto en los diagramas, así como cadenas de texto de una fuente específica, o prácticamente todo lo que pueda ser tipografiado utilizandoTeX.
  • El intérprete de Metafont fue escrito por Donald Knuth bajo una licencia decódigo libre, permitiendo aJohn D. Hobby (y, más tarde, aUlrik Vieth) la adaptación del intérprete a sus propios fines, obteniendo MetaPost.
  • MetaPost no tiene unlogotipo destacado y, aunque lo tuviera, posiblemente tendría que basarse en TeX pararenderizarlo.

Disponibilidad y utilización

[editar]

MetaPost se distribuye incluido en muchas de las distribuciones deTeX yMefafont. Aparece, por ejemplo, en la distribuciónteTeX, común en plataformasLinux yUnix (incluyendoMac OS X).

Elpostscript encapsulado producido por MetaPost se puede incluir fácilmente en documentosTeX,ConTeXt yLaTeX a través de órdenes estándar de inclusión de eps. Es particularmente útil la habilidad de incluir esta salida enPdfTeX, dialecto de TeX, de manera que se obtiene un formato de documento multiplataforma desde TeX en un único paso. Esta habilidad aparece implementada en ConTeXt y en el paquete de gráficos de LaTeX y puede ser utilizada desde TeX gracias a la macrosupp-pdf.tex. ConTeXt también permite la creación de archivos MetaPost sin la necesidad de crear un archivo TeX.

Ejemplos

[editar]

A continuación aparece el contenido del archivoexample.mp. Cuando es procesado por el intérprete de MetaPost (utilizando la ordenmpost enLinux), se producen tres archivos de imagen eps:example.1,example.2 yexample.3, que aparecen a la derecha.

transform pagecoords;pagecoords:=identity scaled 10mm shifted (100mm,150mm);beginfig (1)    fill ((0,0)--(2,0)--(2,1)--(1,1)--(1,2)--(0,2)--cycle)        transformed pagecoords withcolor green;    draw ((2,0)..(2,1)..(1,1)..(1,2)..(0,2))        transformed pagecoords;    drawarrow ((0,0)--(2,2)) transformed pagecoords;endfig;beginfig (2)    draw (for i=0 upto 7: dir (135i)-- endfor cycle)        transformed pagecoords;endfig;        pagecoords:=identity scaled 15mm shifted (100mm,150mm);beginfig (3);    % declare paths to be used    path p[], p[]t;    % set up points by defining relationships    z1=(0,0);   z2=z1+2up;    z3=z1+whatever*dir (60)=z2+whatever*dir (-50);    z4=z3+(-1.5,-.5);    z5=z1+dir (135);    z0=whatever[z1,z2]=whatever[z3,z4];    % set up paths    p0=fullcircle yscaled .5 rotated 45 shifted z0 ;    p1=z2--z4..z0..z3---z1;    p2=p1 cutbefore p0 cutafter p0;    p3=p0 cutbefore p1 cutafter p1;    p4=p2--p3--cycle;    % define transformed versions of paths and points    for i=0 upto 4: p[i]t=p[i] transformed pagecoords; endfor    for i=0 upto 5: z[i]t=z[i] transformed pagecoords; endfor    % do some drawing    fill p4t withcolor (1,1,0.2);    draw z1t--z2t withcolor .5white;    draw z3t--z4t withcolor .5white;    pickup pencircle;    draw p0t dashed withdots scaled .3;    draw p1t dashed evenly;    draw p2t withcolor blue;    draw p3t withcolor red;    label.lrt (btex $z_0$ etex, z0t);    label.llft (btex $z_1$ etex, z1t);    label.top (btex $z_2$ etex, z2t);    label.rt (btex $z_3$ etex, z3t);    label.llft (btex $z_4$ etex, z4t);    for i=0 upto 4:        drawdot z[i]t withpen pencircle scaled 2;    endforendfig;bye

Los tres archivos eps resultantes se pueden incluir enLaTeX usando la orden\includegraphics, enConTeXt\externalfigure y en simpleTeX utilizando\epsfbox o en simplepdfTeX\convertMPtoPDF contenido ensupp-pdf.tex. Para ver o imprimir el tercer diagrama, es necesario incluir el macrosupp-pdf.tex ya que las fuentes de TeX no se incluyen en los archivoseps generados por MetaPost.

Véase también

[editar]

Referencias y enlaces externos

[editar]
Control de autoridades

Obtenido de «https://es.wikipedia.org/w/index.php?title=MetaPost&oldid=157663182»
Categorías:
Categoría oculta:

[8]ページ先頭

©2009-2025 Movatter.jp