• 検索結果がありません。

他のプログラムによる描画

第 8 章 図表の組版 141

8.4 他のプログラムによる描画

広く使われている描画ツールを紹介します.以下の描画ツールで作成した図などはそれ ぞれ指定された方法でデバイスドライバが適切に解釈できる状態になければなりません.

8.4.1 T による描画

Unix

OS

の描画ツールとして

Brian Kernighan

氏が開発した

PIC

があります.これ

Tim Morgan

氏が

TEX

に移植した

T

を使うと簡単な図形ならばすぐに描くことがで

きます.

Unix

OS

を持っているならば

PIC

というプログラム導入されているでしょう.

ただ

PIC

は日本語化されてかもしれないので注意してください.

T

はほとんどの機能

TEX

ではなくデバイスドライバに任せています.これらの命令は

\special

命令の中 に記述されています.

T

の出力する特有な命令を

T

スペシャルと言います.

T

ペシャルに対応しているドライバは

dvips

dviout

Dvipdfmx

などです.多くのドライ バが対応していますがデバイスドライバによる解釈の違いなどもありますので若干注意が 必要でしょう.

例題程度に紹介しておきます.例えば図

8.3

のような図を作成したいとしましょう.

PIC

の入力ファイル

hoge.pic

に以下のような記述をします.

PIC file pic

T file input

L

A

TEX file L

A

TEX

DVI special

Picture

8.3 Tの使用例

.PS

box "PIC file"

arrow "pic" above

box "\textsc{Tpic} file"

arrow "input" above dashed box "{\LaTeX} file"

arrow "{\LaTeX}" above box "DVI"

arrow "special" above dashed ellipse "Picture" fill .PE

この

hoge.pic

pic

TEX

用に出力するために

-t

オプションを付けて

pic -t hoge.pic > hoge.tex

とすることで

hoge.tex

中の

\graph

に図形が格納されます.これを

file.tex

で使用す るためには

好き好き

L

A

TEX 2ε 8.4

他のプログラムによる描画

8

\input{hoge}

\begin{center}

{\box\graph}

\end{center}

とするとその場所に中央揃えでグラフを挿入できます.適宜

figure

環境に入れるなどし ます.

8.4.2 メタな描画プログラム

Donald Knuth

氏がフォントデザイン用に開発したMETAFONTがあります.これに対

して

John Hobby

氏が描画に関するアルゴリズムを追加したり,出力形式を

EPS

にした

John Hobby (HPより) METAPOST という描画プログラムを開発しました.METAFONT

TEX

のフォント形

式ファイルhfilei

.gf

を出力するのに対してMETAPOST

EPS

形式ファイルhfilei

.n

を 出力するので今ではMETAPOSTが広く使われいます.METAPOSTに関する日本語情報 は少ないのが現状です.しかしMETAFONT から変更・追加された箇所があったとして も,

Donald Knuth

氏のMETAFONTbook

[48]

が参考になると思います.

METAFONTをちょっと触ってみましょう.端末から

mf

とすると

This is METAFONT, Version 2.7182 (Web2C 7.3.9)

**

のようにアスタリスク

‘*’

2

つ表示されてファイルの入力を促しています.ここでは実

験的に,

“\relax”

と入力して改行します.するとアスタリスクが

1

つなるはずです.

**

これで準備は万全です.とりあえず点を表示してみましょう.

* drawdot (0,0); showit; <ENTER>

今度は直線を描くために

* draw (0,0)..(100,0); showit;

としてみましょう.曲線などは

* draw (0,100)..(100,100)..(100,0); showit; <ENTER>

とすると雰囲気がつかめるでしょう.終了するときは

end.

と入力します.

今度はMETAPOSTを少し体験してみましょう.

‘mp’

‘mpost’

を端末から実行すれ ば良いはずです.今度はMETAPOSTのファイル

hoge.mp

を用意します.

beginfig(1) u=100;

draw (u,u)--(2u,u)--(2u,2u)..cycle;

draw (u,u)..(2u,u)..(2u,2u)..(u,2u)..cycle;

endfig;

end.

これを見ても何がなんだかわかりませんが,とりあえず保存しておきます.端末から

mpost hoge.mp

とします.そうすると

EPS

形式の

hoge.1

が作成されますのでご覧ください.

Ghostscript

などで見ると図

8.4

のような円とその円に内接する直角二等辺三角形が表示されます.環

8.4 METAPOSTの出力例

境によって日本語化されたMETAPOSTを使うためには

mpost

ではなく

jmpost

を使うこ とになるかもしれません.角藤亮氏の

pTEX

を使っている

Windows

の方は

jmpost

のはず です.

8.4.3 PSTricks

Timothy Zandt

氏らによるPSTricksは

\special

命令中に

PostScript

命令を記述する ことによって

PostScript

の描画機能を

TEX

/LA

TEX

で使えるようにするパッケージです.

PostScript

命令を多用することからデバイスドライバとして

dvips

などを想定していたり

PostScript

対応プリンタでの使用が推奨されます.PSTricksの詳しい使い方は日本語訳で

70

ページ分の『

L

A

TEX

グラフィックスコンパニオン』

[30]

の第

4

章を参照してくださ い.基本的なマクロを読み込むためにはpstricksパッケージを読み込みます.特定のパッ

好き好き

L

A

TEX 2ε 8.4

他のプログラムによる描画

8

ケージを個別に読み込むこともできます.色を使うためにはgrahicsパッケージに含まれ

るcolorパッケージではなくpst-colパッケージを読み込みます.全ての機能を使うとき

はpst-allを読み込ます.標準的に以下のようにするとうまく行くと思います.

\usepackage[dvips]{graphicx}

\usepackage[dvips,usenames]{pst-col}

\usepackage{pst-all}

具体的に

3

次元射影,画像の

EPS

変換,グラデーション,木構造,回路図,プロットなど さまざまなことができます.口絵

II

に状態遷移図の例を示します.

PSTricksを

Dvipdfmx

で使うにはまず面倒な方法としてpstricksを使って描いた図形 を

1

1

EPS

ファイルに変換する方法です.これは

\documentclass{jsarticle}

\usepackage[dvips]{graphicx}

\usepackage[dvips,usenames]{pst-col}

\usepackage{pst-all}

\pagestyle{empty}

\begin{document}

\begin{pspicture}(100,100) 描画内容

\end{pspicture}

\end{document}

のようなファイル

fig1.tex

を作成し,これを端末などから

platex fig1

dvipsk -Pdl -E -o fig1.eps fig1 epstopdf fig1.eps

egrep "ˆ

ということを図形の数だけこなし,図形を使用したい

L

A

TEX

の原稿に

PDF

ファイル

fig1.pdf

としてgraphicxの

\includegraphics

で張り込みます.

%\usepackage[dvipdfm]{graphicx}

\includegrpahics[bb={0 0 100 100}]{fig1.pdf}

CV Radhakrishnan

氏と

CV Rajagopal

氏らによるpdftricksを使うと少しは楽になりま す.これはもともと

pdfTEX

PSTricksを使うためのものですが,

pL

A

TEX

にも流用でき そうです.まずはpdftricksに付属の

pst2pdf

というシェルスクリプトを少し変更します.

for f in $FIGURES ; do latex $fig

dvips -Ppdf -E -o $fig.eps $fig epstopdf $fig.eps

done

という部分で

‘latex’

はもちろん

‘platex’

にしますし.

‘dvips’

もご自分のシステムに 合うように変更してください.

epstopdf

で変換した

PDF

のバウンディングボックスは結 構まともななんですが

egrep "^%%BoundingBox:" $FILE >> $fig.bb

1

行も追加しておくと良いでしょう.

8.4.4 Xy-pic

ダイアグラムなどを描くには

Kristoffer Rose

氏と

Ross Moore

氏による

XY-pic

パッケー ジを使うと良いでしょう.状態遷移図やオートマトン,回路図などを描くことができ非 常に洗練されたシステムになっています.詳細は『

L

A

TEX

グラフィックスコンパニオン』

[30]

の第

5

章を参照してください.

8.4.5 化学式・化学構造式

化学式や化学構造式を描くための藤田眞作氏による

X

き ゅ む て ふΥ

MTEX

パッケージを使うと良い でしょう.これは

L

A

TEX

picture

環境とepicを使ってベンゼン環やその他多くの化 学式を描くことができます.

X

Υ

MTEX

について詳しく知りたい方は藤田眞作氏の書いた XΥMTEX

[43]

を参照してください.