Jesteś w: Start / Dokumentacje / Pierwszy dokument w TeXu. / Pierwszy dokument w Metapost

Pierwszy dokument w Metapost

Przykład pochodzi od Czarka Obczyńskiego.

Wprowadzenie

METAPOST to język programowania służący do tworzenia rysunków wektorowych, posiadający rozbudowany zestaw poleceń i kompilator. Powstał on w sierpniu 1990 roku, a jego twórcą jest John Hobby. METAPOST to system o strukturze podobnej do systemu METAFONT, którego autorem jest Donald E. Knuth. Główną różnicą między tymi systemami jest rodzaj generowanego pliku wyjściowego. METAFONT tworzy mapę bitową, natomiast METAPOST generuje plik PostScript-owy, który w prosty sposób moż być dołączony do dokumentów LaTeX-owych.

METAPOST został ponadto poszerzony o nowe komendy służące do łączenia tekstu z grafiką, takie jak odcinanie, cieniowanie, czy rysowanie lini przerywanych. Posiada także wszystkie podstawowe możliwości METAFONTa, jak na przykład rysowanie krzywych i obrazków, przekształcenia afiniczne czy określanie kształtu piórka. Co więcej, ma zdolność rozwiązywania układów równań liniowych, które dane są w postaci niejawnej.

Głównym zadaniem METAPOSTa jest generowanie rysunków umieszczanych następnie w dokumentach TeX-owych. Rysunki te są łączone w całość z dokumentem TeX-owym za pomocą programu DVIPS. METAPOST doskonale współpracuje z TeX-em. W trakcie tworzenia napisów korzysta z plików TFM, może także wstawiać teksty przetworzone przez TeX-a, co daje możliwość składania np. opisów na wykresach dokładnie tymi samymi czcionkami, co w tekście.

Pierwszy rysunek

METAPOST nie jest narzędziem graficznym typu WYSIWYG. Jest to system przygotowujący dokument graficzny. Na początku kod źródłowy dokumentu zawierający odpowiednie komendy formatujące grafikę zapisujemy w pliku z rozszerzeniem .mp. Następnie METAPOST, kompilując ten plik, tworzy dokument PostScriptowy, który możemy oglądać i drukować.

Czas zatem na pierwszy plik o nazwie pierwszy.mp, zawierający następujące instrukcje:

beginfig(1);
draw (0,0)--(20,0)--(20,20)--(0,20)--(0,0);
endfig;

end;

Wygenerujmy teraz plik PostScriptowy (wynik kompilacji), używając do tego polecenia:

mpost pierwszy.mp

W efekcie dostaniemy oczekiwany plik pierwszy.1, którego zawartość jest nastepująca (kod PostScriptowy):

%!PS
%%BoundingBox: -1 -1 21 21
%%Creator: MetaPost
%%CreationDate: 2004.10.06:1401
%%Pages: 1
%%EndProlog
%%Page: 1 1
 0 0.5 dtransform truncate idtransform setlinewidth 
 pop [] 0 setdash
 1 setlinecap 1 setlinejoin 10 setmiterlimit
newpath 0 0 moveto
 20 0 lineto
 20 20 lineto
 0 20 lineto
 0 0 lineto stroke
showpage
%%EOF

Jak więc teraz zobaczyć na nasz rysunek? Wykonajmy następujące kroki:

  1. Tworzymy szkieletowy plik LaTeX-owy pierwszy.tex:

    \documentclass{article}
    \usepackage{graphicx}
    \DeclareGraphicsRule{*}{eps}{*}{}
    \begin{document}
    \includegraphics{pierwszy.1}
    \end{document}
    

    Widzimy, że w powyższym przykładowym pliku używamy rozszerzonego pakietu graficznego DeclareGraphicsRule sprawia, że wszystkie rozszerzenia plików, które nie są kojarzone z dobrze znanymi formatami graficznymi, traktowane będą jako pliki obrazów graficznych zapisanych w formacie języka PostScript.

  2. Kompilujemy plik LaTeX-owy

    latex pierwszy.tex
    

    Jeżeli kompilacja jest poprawna, powinniśmy otrzymać plik pierwszy.dvi.

  3. Przetwarzamy plik .dvi na plik PostScritowy .ps:

    dvips pierwszy.dvi
    

    i otrzymujemy plik wynikowy pierwszy.ps.

Więcej informacji o systemie Metapost (i nie tylko) znajdziesz w dziale Dokumentacje.