fbpx
Wikipedia

MetaPost

MetaPost constituye un lenguaje de programación y el único intérprete del lenguaje de programación MetaPost. Ambos han sido derivados a partir del lenguaje y del intérprete de Metafont, creados por Donald Knuth. MetaPost produce diagramas utilizando el lenguaje de programación PostScript a partir de una descripción geométrico-algebraica. MetaPost comparte la sintaxis declarativa de Metafont para manipular líneas, curvas, puntos y transformaciones geométricas. Sin embargo,

  • Metafont ha sido creado para producir fuentes 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 de PostScript encapsulado.
  • La salida de Metafont consiste en fuentes a una determinada resolución en un formato rasterizado, mientras que la salida de MetaPost es un gráfico postscript vectorizado (líneas, curvas de Bézier).
  • La salida de Metafont es monocroma, mientras que MetaPost utiliza una especificación RGB.
  • 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 utilizando TeX.
  • El intérprete de Metafont fue escrito por Donald Knuth bajo una licencia de código libre, permitiendo a John D. Hobby (y, más tarde, a Ulrik Vieth) la adaptación del intérprete a sus propios fines, obteniendo MetaPost.
  • MetaPost no tiene un logotipo destacado y, aunque lo tuviera, posiblemente tendría que basarse en TeX para renderizarlo.
MetaPost
Información general
Tipo de programa lenguaje de programación
Desarrollador Taco Hoekwater (Autor: John D. Hobby)
Lanzamiento inicial 1994
Licencia Public Domain
Información técnica
Programado en C
Versiones
Última versión estable 1.001 14 de noviembre de 2007
Enlaces
Sitio web oficial

Disponibilidad y utilización

MetaPost se distribuye incluido en muchas de las distribuciones de TeX y Mefafont. Aparece, por ejemplo, en la distribución teTeX, común en plataformas Linux y Unix (incluyendo Mac OS X).

El postscript encapsulado producido por MetaPost se puede incluir fácilmente en documentos TeX, ConTeXt y LaTeX a través de órdenes estándar de inclusión de eps. Es particularmente útil la habilidad de incluir esta salida en PdfTeX, 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 macro supp-pdf.tex. ConTeXt también permite la creación de archivos MetaPost sin la necesidad de crear un archivo TeX.

Ejemplos

A continuación aparece el contenido del archivo example.mp. Cuando es procesado por el intérprete de MetaPost (utilizando la orden mpost en Linux), se producen tres archivos de imagen eps: example.1, example.2 y example.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; endfor endfig; bye 

Los tres archivos eps resultantes se pueden incluir en LaTeX usando la orden \includegraphics, en ConTeXt \externalfigure y en simple TeX utilizando \epsfbox o en simple pdfTeX \convertMPtoPDF contenido en supp-pdf.tex. Para ver o imprimir el tercer diagrama, es necesario incluir el macro supp-pdf.tex ya que las fuentes de TeX no se incluyen en los archivos eps generados por MetaPost.

Véase también

Referencias y enlaces externos

  • En la página web del grupo de usuarios de TEX (TUG) http://www.tug.org/, aparece una página dedicada íntegramente a MetaPost. (en inglés)
  • John D. Hobby tiene una página web en y otras páginas sobre MetaPost:
    • Página web de MetaPost: (en inglés)
    • A User's Manual for MetaPost John D. Hobby. Disponible como un archivo mpman.ps distribuido junto con MetaPost, o desde . También disponible en formato pdf a través de CTAN. (en inglés)
  • MetaFun (módulos para Metapost) por Hans Hagen, [1] (en inglés)
  • Donald Knuth: The Metafont BOOK, (Computers and Typesetting Volumen C) Addison-Wesley 1986. ISBN 0-201-13444-6.
  •   Datos: Q1265836
  •   Multimedia: MetaPost

metapost, constituye, lenguaje, programación, único, intérprete, lenguaje, programación, ambos, sido, derivados, partir, lenguaje, intérprete, metafont, creados, donald, knuth, produce, diagramas, utilizando, lenguaje, programación, postscript, partir, descrip. MetaPost constituye un lenguaje de programacion y el unico interprete del lenguaje de programacion MetaPost Ambos han sido derivados a partir del lenguaje y del interprete de Metafont creados por Donald Knuth MetaPost produce diagramas utilizando el lenguaje de programacion PostScript a partir de una descripcion geometrico algebraica MetaPost comparte la sintaxis declarativa de Metafont para manipular lineas curvas puntos y transformaciones geometricas Sin embargo Metafont ha sido creado para producir fuentes tipograficas en forma de archivos de imagen en formato gf junto con archivos de medicion asociados en formato tfm mientras que MetaPost produce archivos de PostScript encapsulado La salida de Metafont consiste en fuentes a una determinada resolucion en un formato rasterizado mientras que la salida de MetaPost es un grafico postscript vectorizado lineas curvas de Bezier La salida de Metafont es monocroma mientras que MetaPost utiliza una especificacion RGB El lenguaje MetaPost puede incluir etiquetas de texto en los diagramas asi como cadenas de texto de una fuente especifica o practicamente todo lo que pueda ser tipografiado utilizando TeX El interprete de Metafont fue escrito por Donald Knuth bajo una licencia de codigo libre permitiendo a John D Hobby y mas tarde a Ulrik Vieth la adaptacion del interprete a sus propios fines obteniendo MetaPost MetaPost no tiene un logotipo destacado y aunque lo tuviera posiblemente tendria que basarse en TeX para renderizarlo MetaPostInformacion generalTipo de programalenguaje de programacionDesarrolladorTaco Hoekwater Autor John D Hobby Lanzamiento inicial1994LicenciaPublic DomainInformacion tecnicaProgramado enCVersionesUltima version estable1 001 14 de noviembre de 2007EnlacesSitio web oficial editar datos en Wikidata Indice 1 Disponibilidad y utilizacion 2 Ejemplos 3 Vease tambien 4 Referencias y enlaces externosDisponibilidad y utilizacion EditarMetaPost se distribuye incluido en muchas de las distribuciones de TeX y Mefafont Aparece por ejemplo en la distribucion teTeX comun en plataformas Linux y Unix incluyendo Mac OS X El postscript encapsulado producido por MetaPost se puede incluir facilmente en documentos TeX ConTeXt y LaTeX a traves de ordenes estandar de inclusion de eps Es particularmente util la habilidad de incluir esta salida en PdfTeX dialecto de TeX de manera que se obtiene un formato de documento multiplataforma desde TeX en un unico paso Esta habilidad aparece implementada en ConTeXt y en el paquete de graficos de LaTeX y puede ser utilizada desde TeX gracias a la macro supp pdf tex ConTeXt tambien permite la creacion de archivos MetaPost sin la necesidad de crear un archivo TeX Ejemplos EditarA continuacion aparece el contenido del archivo example mp Cuando es procesado por el interprete de MetaPost utilizando la orden mpost en Linux se producen tres archivos de imagen eps example 1 example 2 y example 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 endfor endfig bye Los tres archivos eps resultantes se pueden incluir en LaTeX usando la orden includegraphics en ConTeXt externalfigure y en simple TeX utilizando epsfbox o en simple pdfTeX convertMPtoPDF contenido en supp pdf tex Para ver o imprimir el tercer diagrama es necesario incluir el macro supp pdf tex ya que las fuentes de TeX no se incluyen en los archivos eps generados por MetaPost Vease tambien EditarMETAFONT o Metafont TeX Donald KnuthReferencias y enlaces externos EditarEn la pagina web del grupo de usuarios de TEX TUG http www tug org aparece una pagina dedicada integramente a MetaPost en ingles John D Hobby tiene una pagina web en https web archive org web 20060206164643 http cm bell labs com who hobby index html y otras paginas sobre MetaPost Pagina web de MetaPost https web archive org web 20041124024610 http cm bell labs com who hobby MetaPost html en ingles A User s Manual for MetaPost John D Hobby Disponible como un archivo mpman ps distribuido junto con MetaPost o desde Bell Labs web site Tambien disponible en formato pdf a traves de CTAN en ingles MetaFun modulos para Metapost por Hans Hagen 1 en ingles Donald Knuth The Metafont BOOK Computers and Typesetting Volumen C Addison Wesley 1986 ISBN 0 201 13444 6 Datos Q1265836 Multimedia MetaPostObtenido de https es wikipedia org w index php title MetaPost amp oldid 125557755, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos