MetaPost

MetaPost
作者 John D. Hobby
開発元 Taco Hoekwater
最新版
対応OS マルチプラットフォーム
サポート状況 開発中
種別 Typesetting
ライセンス パブリックドメイン
公式サイト tug.org/metapost
テンプレートを表示
ポータル FLOSS

MetaPostプログラミング言語、およびそのインタプリタの両方を意味する。ドナルド・クヌースが作ったMETAFONTに由来する。PostScript内における図形の描写に優れる。METAFONTの優れた宣言構文を共有している。

MetaPostインタプリタ (Linux上でmpostコマンドを経由) にて生成された、example.mpという単一のファイルは、3つのepsファイルexample.1, example.2, example.3を生成する。右のそれらが描画されたものである。

これら3つのepsファイルの結果は以下で使うことが出来る。

  • LaTeX経由のTeXにて\includegraphicsコマンド
  • ConTeXtにて\externalfigure
  • plain TeX\epsfboxコマンド
  • supp-pdf.texからの(Plain pdftexにて)\convertMPtoPDFコマンド
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

関連項目

脚注・出典

  • MetaFun (modules for Metapost) by Hans Hagen, [1]
  • Donald Knuth: The METAFONTbook, (Computers and Typesetting Volume C) Addison-Wesley 1986. ISBN 0-201-13444-6
  • Comprehensive TEX Archive Network (CTAN): http://www.ctan.org/. Repository of the TEX source and hundreds of add-ons and style files.
  • (La)TeX Navigator provides 305 simple MetaPost examples: http://tex.loria.fr/prod-graph/zoonekynd/metapost/metapost.html
  • Taco Hoekwater: MetaPost developments—autumn 2006. TUGboat 27:1 (2006).

外部リンク

  • MetaPost TeX Wiki - TeX Wiki内のMetaPostの解説ページ
  • METAPOST - 鈴木秀幸のページ。松山道夫より引き継いで日本語MetaPostのソース管理・配布を行なっている。
  • 表示
  • 編集
TeX
処理系
  • e-upTeX
    • eTeX
    • pTeX
  • LuaTeX
    • Omega|Aleph
  • pdfTeX
  • XǝTeX
マクロパッケージ
マクロ体系
分野特化
ディストリビューション
  • MacTeX
  • MiKTeX
  • teTeX
  • TeX Live
  • W32TeX
エディタ
ユーティリティ
TeX 関連
コミュニティ
  • CTAN
  • TeXConf
    • TeXユーザの集い
  • TUG (TeX Users Group)
    • TUGboat(英語版)
    • TPJ(英語版)
  • DANTE(英語版)
人物
  • ポータルコンピュータ
  • カテゴリカテゴリ
  • 一覧記事拡張機能の一覧
  • TeX エディタの比較(英語版)
  • ウィキブックスTeX/LaTeX入門
  • TeX Wiki
OS書体
他の書体
日本語対応
数学
ソフトウェア
ライセンス
組織 / 人物
  • オープンソースの書体一覧
  • フリーソフトウェアのユニコード書体一覧
  • ポータルFLOSS
  • カテゴリ書体