物理関係の方はファインマンダイアグラムを良く使うでしょう。Texパッケージとしては、Thorsten Ohl の FeynMF、Mathematica パッケージのFeynarts、JOs Vermaseren の axodraw などがありますが、線などを描くのにいちいちコマンドを書き下ろさないと使えません。JaxoDraw は名が示すように axodraw をGUI化して、ほとんどマウスのクリック・ドラッグだけの操作で手軽に書けるようにしたツールです。下図のようなダイアグラムがいとも簡単に書けます。Texと共に使うことを想定していますが、スタンドアロンの図形ファイル作成ソフトとしても機能します。ここではウィンドウズ上で使うことを想定して説明しますが、名の示すようにJava言語で書かれており、リナックスやマックでも全く同様の操作で使えます。
(製作:070602 last updated 080208)(*
*)
JaxoDraw の作業画面と、プレビューワーで表示した出力画面
目 次
1.JaxoDraw のインストール
2 初期設定
2.1 Tex(LaTeX)の設定。
2.2 JaxoDrawの設定
3. 使い方 (とりあえず図形を描き出力する)
3.1 まずやること
3.2 矢印やループなどの書き方
3.3 その他の挿入ボタン
3.4 出力
4.その他の使用
5.参考サイト
本家ホームページからバイナリーソース jaxodraw-xxx_bin.tar.gz をダウンロードします。2007年6月現在でxxx=1.3-2 です。Java 環境で動作しますので、Java (JRE=Java Runtime Environment )がインストールされてあることが前提条件です。
★ Java JREのインストール方法
本家 http://www.java.com/ja/download/manual.jsp からウィンドウズオフライン用ファイル(ファイル名jre-6u3-windows-i586-p-s.exe (080208現在))をダウンロードして、ダブルクリックするだけです。
Javaがインストールされていない状態であれば、JRE (Java Runtime Environment) 付きのバイナリー jaxodraw-xxx_win-jre.tar.gz をダウンロードします。ファイルはどこに置いてもかまいませんが、空白のあるフォルダーの下は避けないといけません。JaxoDrawが誤動作します。したがって Program Files を避けて c:ドライブ直下に JaxoDraw フォルダーを作り、そこに収納することにします。ダウンロードしたら次は展開ですが、操作は
まずコマンドプロンプト窓を開き、
>cd /d c:\JaxoDraw
によってダウンロードしたバイナリーのあるフォルダーに移ります。次に
>tar -xzf jaxodraw-xxx_bin.tar.gz
を実行すれば、JaxoDraw フォルダー内に JaxoDraw-xxx というフォルダーが作られ、そこがJaxoDraw のホームディレクトリーとなります。プログラムを立ち上げるには
>cd JaxoDraw-xxx
でホームディレクトリー内に入ってから
>java -jar jaxodraw-xxx.jar
と打ち込みます。
ウィンドウズ・エクスプローラーから立ち上げるには、 jaxodraw-xxx.jar ファイルをダブルクリックします。
なお、本家の"Quick Start"も参考にしてください。
2 初期設定
2.1 Tex(LaTeX)の設定。JaxoDraw はTexなしでも働きますが、挿入できる文字に大きな制限が付きます。通常はTexと連動して動作させるのが便利ですので、必要なTex設定を述べます。axodraw.styというスタイルファイルをTexに認識させるだけです。axodraw.sty は JaxoDrawに同梱されるものを使うのが便利でしょう。CTANからも持ってこられます。ホームディレクトリーの etcディレクトリー内の axodraw.sty をTEXMF/tex/latex/misc に収納します(latex以下のディレクトリーならどこでも良い)。その後でコマンドプロンプト窓から
>mktexlsr
を実行して終わりです。
なお、"Installing axodraw.sty" も参考にしてください。
プログラムを立ち上げると次の様な画面が立ち上がります。最初はタブは1枚のみです。キャンバス画面に種々のボタンなどを使って描画します。
まず、メニューバーの 「Options」-「Preferences」を選択すると次の画面が表示されます。
ここで JaxoDraw が使う外部プログラムのパスを指定してやります。
「Preferred HTML viewer」: これは 「Help」-「Use guide」を見るのに必要です。ここは空白のままにしておきます。ウィンドウズのIEエクスプローラーやマックのSafariは使えません。Mozillaは使えるそうです。空白にしておけばJavaの内部ブラウザーが使えます。なお、直接ユーザーガイドが閲覧できるように pdf ファイルをここに置きましたので、参考にしてください。
「Preferred text editor」: 常用のLaTeX編集用テキストエディターを指定します。これはファインマン・ダイアグラムをTeXファイルとして表示(または出力)するとき使います。
「Preferred Postscript viewer」: ポストスクリプトファイル表示用。通常はGhostview を指定します。私の場合は、"c:\Program Files\Ghostgum\gsview\gsview32.exe"です。ディレクトリー名に空白がありますから全体を"・・・"で括ります(重要)。
「LaTeX path」: latexコマンドのパスを指定します。私の場合は
c:\usr\local\bin\platex です。
「dvips path」: dvips(k)コマンドのパスを指定します。私の場合はc:\usr\local\bin\dvipsk です。
次に、文字や数式をファイマン・ダイヤグラムに書き込むための、自分が常用している LaTexパッケージを指定します。メニューバーから「Options」-「Add LaTeX package」を選択すると、次の画面が立ち上がりますので
必要なパッケージを追加します。左下空白欄に打ち込んで「Add」を押します。axodraw, pstricks, color の3つはデフォルトで入っています。
これで必要最小限の初期設定を終わりました。
メニューバーにはいろいろなコマンドが入っていますが、ほとんどは画面左のボタンでまかなえます。
3.1 まずやること: 左下の「グリッドへスナップ」ボタンをクリックしてスナップオン状態にします。粒子線の端点がグリッドに吸着して長さや方向が揃うのできれいなダイアグラムが書けます。微調整が必要な時だけはずしてください。
グリッドの幅は
「Options」-「Preferences」-「Behavior」-「Grid」-「Grid size」
で変更できます。
![]()
粒子線ボタン群からフェルミオン線などを選択します。
a) 矢印の書き方: 左ボタンをクリックして、キャンバス上で、「左クリック」「ドラッグ」します。
b) ループの書き方: 中ボタンをクリックして、「左クリック」「ドラッグ」します。左クリックがループの中心、ドラッグでサイズを大きくします。
c) 弧(アーク)の書き方: 3点クリックで3点を結ぶスムーズな曲線となります。
d) ヴァーテックス: ヴァーテックスボタンを右クリックすると、ヴァーテックスの形が選べます。
通常は黒丸(Dot)で良いでしょう。ヴァーテックスボタンを押した後、キャンバス上で左クリックするとヴァーテックスが書き込まれます。次の図(以下A図と呼ぶ)は粒子線にヴァーッテクスを入れるなどして得た図の一例です。
★ 四角、円、ジグザグ線: 必要に応じて適宜挿入します。
★ 文字ボタン: 二つのモードがあります。
◆
ボタン :ポストスクリプト文字直接挿入: 画面に直接文字を張り込みます。TT文字ボタンを押した後、キャンバス上でクリックすると次の画面が現れるので、文字を書き入れます。
こうして出力した文字はA図にあるように直接キャンバス上に表示されます。
使える文字は通常のアルファベット・数字の他に、ギリシャ文字(\gamma のようにTeX形式で書き込む)、上付き下付き(ただし1文字でも中括弧{・・・}で囲む) が使えます。例えば
は A^{\mu}_{\nu} と打ち込みます。
この場合$・・・$で囲む必要はありません。いったん文字を挿入した後の変更には、編集(後述)で、次のようにフォント、色、太字などができますが、文字サイズは変えられないなど、あまり自由は利きません。
◆
ボタン: Tex文として文字を挿入します。
を挿入するためには
\Gamma^{\mu}_{\nu}=eA^{\mu\sigma}B_{\sigma\nu}
と入力します。この場合キャンバスには"TeX"というロゴが現れるだけです。マウスをこのロゴの上に持ってくることにより挿入した文字列をみることができます。先に掲げたA図では、こうして挿入した文字がキャンバス画面上方に表示されています。なお、出力は全て$・・・$で挟まれて数式モードで出力されるので、テキストモードの文字出力が欲しいときは、{\rm ・・・}で囲みます。
仕上がりがどのようになるかをみるには、ツールボタンの「LaTeX Preview」ボタン
をクリックすると、Ghostview が立ち上がって表示されます。A図の場合は
"TeX"ロゴがちゃんとした文字列になって表示されているのが判ります。しかし、
ボタンで直接書き込んだ文字は表示されません。
3.4 出力: メニューバーから「File」-「Export」を選ぶと、下のような選択肢が示されます。
どの出力形式を選んでも、右側の「Previes」ボタンをクリックすれば、出力がどのように表示されるのかを確認できます。
★ 「LaTeX ->EPS」: LaTeX-->dvipsで編集したepsファイルがホームディレクトリーに出力されます。
このサイトの冒頭に掲げたヒッグス粒子生成のファインマン・ダイアグラムは、Export を「LaTeX ->EPS」に選んだ後、Previewをクリックして表示したものです。
★ 「LaTeX」: LaTeXの axodraw を使って描いた tex ファイルがホームディレクトリーに出力されます。LaTeX (latex-->dvips) で別途実行すれば、PSファイルを出力できます(注)。それは上の eps ファイル、また先にGhostview を使って表示したものと同じ出力です。ただし、この場合、
ボタンで直接書き込んだ文字は出力されません。
次の文章は上図を出力する tex ファイルです。axodraw パッケージで定義したコマンドを使って図を描いています。TeXを実行することにより外部操作の LaTeX-->dvips で、「LaTeX ->EPS」(Java 内部操作で作る)と同じ図形を出します。
注:latex-dvips の組み合わせで動きます。dvioutでの表示や、latex-dvipdfmxの組み合わせはうまく行きません。どこでもそうなのか、私のシステムが悪いのか調査中です。
\documentclass[a4paper]{article}
\usepackage{axodraw}
\usepackage{pstricks}
\usepackage{color}
\setlength{\oddsidemargin}{0pt}
\setlength{\evensidemargin}{0pt}
\setlength{\topmargin}{0pt}
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\topskip}{0pt}
\setlength{\footskip}{0pt}
\setlength{\textwidth}{\paperwidth}
\addtolength{\textwidth}{-2in}
\setlength{\textheight}{\paperheight}
\addtolength{\textheight}{-2in}
\pagestyle{empty}
\begin{document}
%%JaxoComment
%%%%JaxoScale{1.0}
%%
\begin{center}\fcolorbox{white}{white}{
\begin{picture}(465,178) (165,-77)
\SetWidth{1.0}
\SetColor{Black}
\ArrowLine(165,-32)(300,-32)
\SetWidth{0.5}
\Vertex(300,-32){5.66}
\SetWidth{1.0}
\ArrowLine(300,-32)(465,-32)
\SetWidth{0.5}
\Vertex(465,-32){5.66}
\SetWidth{1.0}
\ArrowLine(465,-32)(630,-32)
\PhotonArc(382.5,-39.5)(82.84,5.19,174.81){-7.5}{12.5}
%
\SetColor{Emerald}
% There is a postscript text here!
\Text(315,-77)[lb]{\Large{\Black{$\Gamma^{\mu}_{\nu}
=eA^{\mu\sigma}B_{\sigma\nu}$}}}\end{picture}
}
\end{center}
\end{document}
★ 「PS Portrait」「PS Landscape(横配置)」「EPS」「JPG」「PNG」:
ボタンで直接書き込んだ文字と図形のみホームディレクトリーに出力されます。
ボタンで書き込んだ文字は出力されません。
すなわち、Export でどれを選んでも図形は出力されますが、文字は出力形式によりどちらかのみが現れるということです。いったんLaTeXを通す方がはるかに豊富な出力が可能であり、サイズや形も自由に変えられるので通常はこちらを選びます。
ちなみに、JaxoDrawの作成者はTTモードの文字ボタンを作ったのは過ちだった、TeXモードで統一すべきであったと自戒しています。しかし、
ボタンを使って直接出力する型式は、使える文字は限られてはいますが、WYSWYGで画面にそのまま見えること、TeXパッケージを必要とせず単独でイメージファイルを出力できるなど、それなりの有用性はあると思います。
4.その他の使用
4.1 動作ボタン (取り消し、画面クリア、リフレッシュ):
★ 取り消し、画面消去、リフレッシュ: 説明の必要もないでしょう。取り消しは1回だけ可能です。 2回押すと元に戻ります。リフレッシュは、オブジェクト数が多く、またアンチエイリァス(「Option」-「Antialias on」)を施すときは頻繁に行うよう推奨されています。4.2 編集モード:
編集ボタン群の任意のボタンを押すと編集モードに入ります。現在のモードは主画面下端の「状態表示」に示されます。編集モードでは各オブジェクト(矢印、ループ、ヴァーテックスなど)に赤い四角のハンドルが表示されます(下図参照)。
★ 移動/リサイズ: 移動/リサイズボタンを押して、望みのハンドルをドラッグします。
★ コピー: コピーボタンを押してハンドルをドラッグすればコピーできます。
★ 消去: 消去ボタンを押してハンドルをクリックすれば消去できます。
4.2.2 編集ボタン(粒子線とヴァーテックス、矢印のサイズ)
編集ボタンを押した後、望みのオブジェクトのハンドルをクリックすると、編集画面が現れます。
フェルミオン線の場合、以下のように座標変更による線の端点の移動、矢印を付けるか、またその方向と位置、線幅、色、2重線などが選べます。
○矢印のサイズ: 矢印の大きさを変えるオプションはありません。こそくな手段ですが次のようにします。非常に短い矢印付きの線を書いた後、線幅を大きくすると矢印が大きくなり、線が隠れますので、このオブジェクトを移動してサイズを変えたい矢印の上に置きます。
ヴァーテックスの場合は次のように、位置変更、大きさ、色が選べます。
ヴァーテックスのハンドルは線の端点のハンドルと重なることが多く、ヴァーテックスを選んだつもりが、しばしば粒子線が選ばれてしないます。その時は後述の前面・後面配置ボタンを使ってみてください。
★ カラー: ボタンを押して色を付けたいオブジェクトのハンドルをクリックすると次の画面が現れ、84色の好きな色を選べます。なお、各オブジェクトの編集画面でも変えられます。
LaTeX 使用に際してこの色を参照するときの参考: この色は、LaTeXのcolordvi ( /usr/local/share/texmf/tex/plain/dvips/colordvi.tex ) で定義された68色と16階級の灰色です。 LaTeX で使うときは、
\usepackage[names]{color}
をプリアンブルで宣言しておけば、各色に固有の色の名前をつかえます。
★ 後面・前面配置: オブジェクトが重なった場合に配置換えをするボタンです。
編集などによりオブジェクトの性質を変更すると(move, reesize, edit,...)自動的に前面に配置されます。
★ グループ化/グループ解除: 幾つかのオブジェクトをまとめて編集したいときに使います。グループ化するには、グループボタンを押した後、グルーピングしたいオブジェクトのハンドルをクリックすれば、赤い四角が灰色に塗り潰されます。灰色のハンドルを再度クリックするとグループ化されません。(注:グループ化したオブジェクトをマウスでドラッグしたりコピーしたりはできないようです。編集画面で数値を入力することにより、グループ全体を制御するだけのようです。)
4.3 複数のタブ (画面)
「File」-「New」-「New tab」により、複数の画面(tab)を表示できます。タブ間でコピーや張り付けが可能です。一つのタブで「コピー」ボタンを押した後、「右クリック」-「ドラッグ」コピーしたいオブジェクトを囲み選択します。別のタブに行きツールバーの「貼り付け」ボタンを押せば、同じ位置にコピーされます。4.4 画面設定
「Option」-「Preferences」-「Appearance」(もしくは「Behavior」)で、画面の体裁、画面の大きさ、オブジェクトの線幅、文字サイズ等の初期設定を変えることができます。画面体裁は、「Option」-「Look and Feel」を選択して現れるポップアップ画面でも選択できます。画面体裁は、Metal, CDE/Motif Windows, Windows Classic の5種類から選べます。
5. 関連参考サイト
JaxoDraw本家 ユーザーガイドダウンロード JaxoDrawFAQ
<Last updated 070602>