MePoTeX 〜 MetaPost in TeX 〜
MetaPost で楽々お絵かき ver 3.52
|
【ファイル名】mpt352.LZH 【解凍方法】 LHA(LHUT32)書庫 【種 別】フリーウェア
ソフト紹介
TeX の生みの親である Donald E. Knuth 氏が TeX と一緒に開発されたフォント作成言語 METAFONT は,
フォントの形状を記述するだけでなく,図形の記述という目で見ても,非常に優れたものであります。
これをフォントの生成ではなく,図版の生成に生かしたものが,
John D. Hobby 氏による MetaPost というシステムです。
MetaPost in TeX ( MePoTeX ) は,この MetaPost のソースを,
LaTeX ソースの中にシームレスに取り入れることを可能にします。
すなわち,LaTeX ソース中に埋め込んだ MetaPost ソースを自動的に「抽出・MetaPost起動・画像取り込み・座標調整」
まで行いますので,MePoTeX を使えば,LaTeX を使う感覚でごく自然に MetaPost を使えます。
サンプルその1 サンプルその2
上のサンプルは,MePoTeX + pLaTeX で処理した後,dvipdfm で .pdf ファイルにしたものです。
何らかの事情で .pdf ファイルが表示できない方は,以下に TeX ソースを置いておきますので,
MePoTeX をインストールした後でお楽しみ下さい。
ソースその1 ソースその2
ファイル構成
ダウンロードしたファイルを展開(解凍)すると,以下のファイルが得られます。
| MePoTeX.sty | このパッケージの本体です。 |
| mptAll.mp | すべての基本・補助マクロを読み込みます。 |
| mptUser.mp | 基本・補助マクロを読み込みます。
(ユーザーが読み込みたいファイルを指定するためのファイルです。) |
| MePoTeX.mp | MePoTeX.sty と連携させる MetaPost の基本的なマクロです。
|
| mptMath.mp | 補助マクロ(数学用,MetaPostマクロ) |
| mptPhys.mp | 補助マクロ(物理用,MetaPostマクロ) |
| mptChem.mp | 補助マクロ(化学用,MetaPostマクロ) |
| mpt3D.mp | 補助マクロ(空間図形用,MetaPostマクロ) |
| mptParts.mp | 補助マクロ(部品集,MetaPostマクロ) |
| mpt3Dex.mp | 補助マクロ(空間図形部品集,MetaPostマクロ) |
| elementary.mp | 補助マクロ(座標概念抜きで図を描くためのマクロ集)
|
| mptOld.mp | 旧版互換マクロ(MetaPostマクロ) |
| mptman.tex | コマンドマニュアルとサンプルです。 |
(注)
MePoTeX を構成するマクロファイル( .sty と .mp ) のファイル名は,上記の通り大文字小文字を混在させています。
大文字小文字を区別する OS をご使用の方は,上で正しいファイル名を確認の上ご使用下さい。
( 解凍ソフトによっては大文字または小文字に統一される可能性もあります。
その場合は上記の内容に合わせてリネームしてください。)
使い方
初めて導入される方は,まず mptinst.tex をタイプセットして御覧下さい。( 通常の (p)LaTeX でタイプセットできます。)
MePoTeX の概要とインストール方法が書いてあります。
mptinst.tex の内容にしたがって,インストールが完了したら,
mptman.tex --- マニュアル兼マクロサンプル集 --- をどこか適当なディレクトリに保存し,タイプセットしてお読み下さい。
( 相互参照のため最低3回はタイプセットしてください )。
最終的にたくさんのファイルができますので,mptman.tex を処理するディレクトリは,
新しく作った空っぽのディレクトリの方が便利でしょう。
なお,mptman.tex には多数のサンプルが載っていて,じつに 129 ページもありますので,
プリントアウトするときは覚悟 (笑) してからお願いします。
( 一部凝った図形を描いているところがありますので,タイプセット,プリントアウトとも,ちょっと時間がかかるかも知れません。
一番時間がかかるのは結晶格子の図が6つあるページ ( p.70, MetaPostでの図番号120 ) かな。
PentiumIV 2.53GHz でも5秒ぐらい画面が止まります。)
あと,新機能の「MetaPostを手動で起動」を使う場合は mptman.tex のタイプセット中に 2ヶ所エラーが出ます。
(「手動」では使えない \mptCalc を使っているところが2ヶ所あるせいです)。
この場合かまわず[Enter]キーを押してタイプセットを続行させてください。「続行」で何とかなるように作ってありますので。
マニュアルのタイプセットが面倒な方は,PDF 版のマニュアルも用意しましたので,よろしければどうぞ。
(注)以前導入したことがあるけどちょっとインストール方法をど忘れしたよ,という方には,
mptinst.tex をタイプセットするのは面倒でしょうから,以下,要点をかいつまんで説明しますと。
- .sty ファイルは ptex/share/texmf-local/tex/ の下に適当なディレクトリを作って保存。
- .mp ファイルは ptex/share/texmf-local/metapost/ の下に適当なディレクトリを作って保存。
なお,古い TeX の配布セットでは,texmf-local というディレクトリがありませんので,
その場合は上の texmf-local を texmf と読み替えてください。
タイプセットの仕方
- 最近(2009/02/28以降) TeX を導入した場合
デフォルトの状態で LaTeX を起動するだけで OK です。たとえば mptman.tex をタイプセットする場合,次のようになります。
platex mptman.tex
相互参照を反映させるため,これを二三度繰り返します。
(MetaPost は自動で起動しますので,ユーザーが起動する必要はありません。相互参照がない場合は1回だけで OK です。)
(補足)少し前までは,TeX から外部プログラムを「起動する」「起動しない」の選択肢しかなく,
「起動する」にした場合 ( MetaPost だけでなく ) あらゆるプログラムが起動可能になるため,
素性の怪しい TeX ソースをタイプセットすると危険であり,かといって,
「起動しない」にすると MetaPost も含めあらゆるプログラムが起動不可能になるため,
手動で必要なプログラムを起動するという手間をかけなければならず非常に面倒でした。
それに対し,最近の TeX のデフォルト設定では,
TeX から TeX 関連のプログラムのみ起動できるようになっています ( どのプログラムが起動「許可」されるかは texmf.cnf
の設定次第ですが,TeX 関連の有名どころはデフォルトで「許可」になっています )。
ちなみに上記のコマンド入力は,
platex -shell-restricted mptman.tex
に相当します ( ``restricted'' は「許可したものに限定して」起動可能という意味でしょう )。
- 少し前(2009/02/28より前)に導入した TeX で使うとき
- MetaPost を自動で起動したくない場合(手動モード)
LaTeX ソースのプリアンブルで \usepackage{MePoTeX} を書き込むときに,
パッケージオプション sefalse も書き込めば ( つまり \usepackage[sefalse]{MePoTeX} のように書き込めば ),
手動モードの動作になります。
毎回 sefalse を書くのが面倒な場合は MePoTeX.sty のデフォルトオプションを変更してください。
( やりかたは mptinst.tex に書いてあります。)
手動モードでのタイプセットの仕方は以下のようになります。(mptman.tex をタイプセットする場合で説明します。)
まず1回普通にタイプセットします
platex mptman.tex
これで同じディレクトリに @mptman.mp というファイルができますのでこれに対し MetaPost を作用させます。
mpost @mptman.mp
この後相互参照を反映させるため,一二度
platex mptman.tex
を繰り返します。(MetaPostの返す値を反映させるため,相互参照がなくても最低1回は platex を行ってください。)
- MetaPost を自動で起動したい場合(自動モード)
shell escape が true の状態で LaTeX を起動します。具体的には
platex -shell-escape mptman.tex
のように,-shell-escape というオプションをつけて起動するだけです。相互参照を反映させるため,これを二三度繰り返します。
(MetaPost は自動で起動しますので,ユーザーが起動する必要はありません。相互参照がない場合は1回だけで OK です。)
(注)この設定のときは MetaPost だけでなくあらゆるプログラムが TeX
から起動できるようになりますので,
素性の怪しいソースをタイプセットするのは危険です。
毎回 -shell-escape というオプションをつけるのが面倒なときは,バッチファイルを作るか,
TeX の設定ファイルを書き換えます。( やりかたは mptinst.tex に書いてあります。)
更新履歴
- 2000/03/11 ver 1.00 発表
- LaTeX のソース中に MetaPost の裸のソースを埋め込めるマクロを作成。
ちなみに,「MetaPost の裸のソースを埋め込む」書式は現バージョンで言うところの「オリジナルモード」。
- 2000/09/01 ver 2.00 のβ版発表
- 2000/12/21 ver 2.00 発表
- 簡単な図形なら MetaPost のコマンドを知らなくても,
LaTeX のコマンドで自動的に MetaPost ソースファイルを生成してくれるマクロを作成。
こちらは現バージョンで「MetaPost 隠蔽モード」と呼ばれている。
- 2001/01/20 ver 2.50 のβ版(ver 2.09)発表
- 2001/02/03 ver 2.50 発表
- 複数回タイプセットするときのために,既存の図を更新しないモードを用意。
- 2003/10/11 ver 3.00 のβ版(ver 2.99)発表
- 2004/03/30 ver 3.00 発表
- ver 2.50 の発表以降に習得したテクニックを踏まえ,マクロ定義を全面的に見直す。
また,電子回路用マクロ,3D 関連マクロ,座標概念抜きで図を書けるマクロなど,新たな系統のマクロも多数収録。
- 2005/01/28 ver 3.01 発表
- 細かいバグをひとつ修正。
- 2006/02/16 ver 3.02 発表
- WindowsXP で makesubdir オプションを使うとバッチファイルがうまく認識されないバグを修正。
あと,作るだけ作ってマニュアルを書く暇がなくて放置してあったマクロを「試作品」として収録。
(「試作品」ですので,無保証で今後無断で変更があるかもです。)
(注)
最近の TeX はファイルの書き出しを EUC ファイルで行うようです。
MetaPost や TeX はもちろんそういったファイルを読み込めるのですが,
Windows95系列の command.com の場合,改行コードの関係で,
TeX から書き出した複数行からなるバッチファイルがうまく機能しません。
そのため,ver 3.02 以前では,新しい TeX と Windows98 などの組合せで,
makesubdir オプションが使えません。
- 2006/02/17 ver 3.03 発表
- 上記「新しい TeX と Windows98 などの組合せ」に対処。(詳しくは同梱の 301to303.TXT を参照)
また,makesubdir 指定時の書き出しファイル名を,単純に jobname + 番号 にした。
(従来の 8+3 形式のファイル名で書き出したいときには,Makesubdir (先頭大文字) を指定)
- 2006/02/20 ver 3.04 発表
- MetaPost in TeX で挿入した図が,ある環境では「第1象限」しか表示されない(らしい)ということで修正。
- 2006/12/02 ver 3.50 のβ版(ver 3.45)発表
- 2007/02/03 ver 3.50 発表
- shell escape を true にしなくても使えるようなモード(手動モード)を新設。
また,「試作品」レベルだった「正多面体」「結晶格子」も完成させた。
- 2009/01/20 ver 3.51 発表
- sefalse モードなどで画像等が未生成の場合,No file 〜. のメッセージが出るようにした。
あと,特定のモードで prologues の値が間違って出力されていたのを修正。
- 2009/04/01 ver 3.52 発表
- 現在の最高バージョン。
- プログラム本体は ver3.51 と同じ。TeX の shell escape の仕様が変わったので,
それに応じてインストールマニュアルとマニュアルの対応部分を書き直した。
すでにインストールされている方は,
上記「タイプセットの仕方」の(補足)を読んで下されば十分かと。
戻る
トップへ
ダウンロード
PDF版 マニュアル