MetaPost - MetaPost
Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Paradigma | rozkazovací způsob, sazba |
---|---|
Navrhl | John D. Hobby |
Vývojář | Taco Hoekwater, Luigi Scarso |
Poprvé se objevil | 1994 |
Stabilní uvolnění | 1.8 / 17. června 2013 |
Náhled verze | 2.0rc2 / 19. února 2018 |
Psací disciplína | kachna, dynamický, silný |
OS | Cross-platform |
Licence | LGPL |
webová stránka | remorkér |
Ovlivněno | |
Metafont |
MetaPost označuje jak a programovací jazyk a tlumočník programovacího jazyka MetaPost. Oba jsou odvozeny z Donald Knuth je Metafont jazyk a tlumočník. MetaPost vytváří vektorové grafické diagramy z geometrického / algebraického popisu. Sdílení jazyka Metafont Deklarativní syntax pro manipulaci s úsečkami, křivkami, body a geometrickými transformacemi. Nicméně,
- Metafont je nastaven na produkci písem ve formě obrazových souborů (ve formátu .gf) s přidruženými metrickými soubory písem (ve formátu .tfm), zatímco MetaPost vytváří EPS, SVG nebo PNG soubory
- Výstup z Metafont skládá se z písem s pevným rozlišením ve formátu založeném na rastru, zatímco výstupem MetaPostu je vektorová grafika (řádky, Bézierovy křivky )
- Metafont výstup je černobílý, zatímco MetaPost používá RGB nebo CMYK barvy.
- Jazyk MetaPost může zahrnovat textové popisky na diagramech, buď řetězce ze zadaného písma, nebo cokoli jiného, co lze sázet pomocí TeX.
- Počínaje verzí 1.8 umožňuje Metapost aritmetiku s plovoucí desetinnou čárkou se 64 bity (výchozí: 32bitová aritmetika s pevnou řádovou čárkou)
Mnoho z omezení MetaPost pochází z funkcí Metafont. Například MetaPost nepodporuje všechny funkce PostScript. Cesty mohou mít zejména pouze jeden segment (takže regiony jsou jednoduše připojeno ) a oblasti lze vyplnit pouze jednotnými barvami. PostScript úrovně 1 podporuje dlážděné vzory a PostScript 3 podporuje Gouraudovo stínování.
Dostupnost a použití
MetaPost je distribuován s mnoha distribucemi TeX a Metafont rámec je například zahrnut do MiKTeX a TeX Live distribuce.
Zapouzdřený postscript vytvořený Metapostem lze zahrnout do Latex, Kontext, a TeX dokumenty pomocí standardních příkazů pro zahrnutí grafiky. Zapouzdřený výstup postscript lze také použít s PDFTeX motor, tedy přímo dávat PDF. Tato schopnost je implementována v Kontext a v Latex grafický balíček a lze jej použít z obyčejného TeXu prostřednictvím makra souboru supp-pdf.tex.
ConTeXt a LuaTeX podporuje zahrnutí kódu MetaPost do vstupního souboru. Zahrnutí kódu MetaPost do LaTeXu je také možné například pomocí balíčků LaTeX gmp nebo mpgraphics.
Příklady
Toto je jeden soubor example.mp které při zpracování tlumočníkem MetaPost (pomocí příkazu mpost
na Linux ) vytvoří tři soubory eps příklad 1, příklad 2, příklad 3.. Ty jsou zobrazeny vpravo.
přeměnit pagecoords;pagecoords:=identita zmenšen 10mm posunul (100mm,150mm);začátek (1) vyplnit ((0,0)--(2,0)--(2,1)--(1,1)--(1,2)--(0,2)--cyklus) transformovaný pagecoords s barvou zelená; kreslit ((2,0)..(2,1)..(1,1)..(1,2)..(0,2)) transformovaný pagecoords; drawarrow ((0,0)--(2,2)) transformovaný pagecoords;konec;začátek (2) kreslit (pro i=0 až do 7: dir (135i)-- konec cyklus) transformovaný pagecoords;konec;pagecoords:=identita zmenšen 15mm posunul (100mm,150mm);začátek (3); % deklaruje cesty, které mají být použity cesta p[],p[]t; % nastavení bodů definováním vztahů z1=(0,0); z2=z1+2nahoru; z3=z1+To je jedno*dir (60)=z2+To je jedno*dir (-50); z4=z3+(-1.5,-.5); z5=z1+dir (135); z0=To je jedno[z1,z2]=To je jedno[z3,z4]; % nastavených cest p0=úplný kruh yscaled .5 otočeno 45 posunul z0 ; p1=z2---z4..z0..z3---z1; p2=p1 střih před p0 cutafter p0; p3=p0 střih před p1 cutafter p1; p4=p2---p3---cyklus; % definuje transformované verze cest a bodů pro i=0 až do 4: p[i]t=p[i] transformovaný pagecoords; konec pro i=0 až do 5: z[i]t=z[i] transformovaný pagecoords; konec % udělat nějaké kreslení vyplnit p4t s barvou (1,1,0.2); kreslit z1t---z2t s barvou .5bílý; kreslit z3t---z4t s barvou .5bílý; vyzvednout pencircle; kreslit p0t přerušovaný stáhne zmenšen .3; kreslit p1t přerušovaný rovnoměrně; kreslit p2t s barvou modrý; kreslit p3t s barvou Červené; označení.lrt (btex $z_0$ etex, z0t); označení.llft (btex $z_1$ etex, z1t); označení.horní (btex $z_2$ etex, z2t); označení.rt (btex $z_3$ etex, z3t); označení.llft (btex $z_4$ etex, z4t); pro i=0 až do 4: drawdot z[i]t s perem pencircle zmenšen 2; koneckonec;sbohem
Výsledné tři soubory eps lze použít v TeX přes Latex je includegraphics
příkaz, Kontext je externí obrázek
Plain TeX epsfbox
příkaz, nebo (v prostém pdftex) convertMPtoPDF
příkaz od supp-pdf.tex. Pro zobrazení nebo tisk třetího diagramu je toto zahrnutí nezbytné, protože písma TeX (Počítač moderní ) nejsou ve výchozím nastavení zahrnuty v souborech eps produkovaných MetaPost.
Viz také
Reference
- Hagen, Hans. „MetaFun“ (moduly pro Metapost).
- Knuth, Donald (1986). The METAFONTbook. Počítače a sazba. C. Addison-Wesley. ISBN 0-201-13444-6.
- „Komplexní TEX Archive Network " (CTAN ). Úložiště TEZdroj X a stovky doplňků a souborů stylů.
- „(La) TeX Navigator poskytuje 305 jednoduchých příkladů MetaPostu“. Archivovány od originál dne 2013-07-27. Citováno 2006-11-17.
- Hoekwater, Taco (2006). „Vývoj MetaPost - podzim 2006“ (PDF). Remorkér. 27 (1).
externí odkazy
- Skupina uživatelů TeXu (TUG ) http://www.tug.org/ má stránku věnovanou MetaPostu: http://www.tug.org/metapost.html
- Aktivní vývoj MetaPost pokračuje v https://web.archive.org/web/20070929092912/http://foundry.supelec.fr/projects/metapost/
- Funkční MetaPost umožňuje použití MetaPost z funkčního programovacího jazyka Haskell
- John D. Hobby má domovskou stránku na https://web.archive.org/web/20131003040005/http://ect.bell-labs.com/who/hobby/index.shtml a některé další stránky a publikace věnované MetaPostu, ačkoli ty jsou nyní trochu zastaralé
- Domovská stránka historické stránky MetaPost: https://web.archive.org/web/20081212090123/http://ect.bell-labs.com/who/hobby/MetaPost.shtml
- Uživatelská příručka pro MetaPost John D. Hobby. K dispozici jako soubor mpman.ps distribuovaný pomocí MetaPost nebo z Web Bell Labs. K dispozici také v Formát PDF z CTAN.
- Troy Henderson Online náhled MetaPost