今回は素粒子物理学などに使われるファインマンダイアグラムをLaTeXで表記するパッケージとしてTikz-Feynhandについて紹介したい。
1. Tikz-Feynhand
ファインマンダイアグラムを描画するパッケージとしてTikz-Feynhandを利用するが、Cloud-LaTexを使用する場合はそのままロードすることができる。 インストールが必要な環境の場合は、以下に設定方法(+使用方法)が記載されている。
公式マニュアルは以下にある。
[1802.00689] TikZ-FeynHand: Basic User Guide
2. Tikz-Feynhandロードと仕組み
まず Tikz-Feynhandをロードするにはプリアンブル領域で
\usepackage[compat=1.1.0]{tikz-feynhand}
\usepackage {tikz-feynhand}
でもよいがCloud-LaTeXでロードする場合は、オプション[compat=1.1.0]
とすると警告メッセージを回避できる。
tikz-feynhandのコマンドは以下のようにtikzpicture環境下にfeynhand環境を用意した上でコマンドを記述する。
\begin{tikzpicture} \begin{feynhand} % feynhandのコマンド \end{feynhand} \end{tikzpicture}
図としてキャプションやラベルを付ける場合は、一番上層にfigure環境を用意することで\caption
や\label
を使用できる。
\begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} % feynhandのコマンド \end{feynhand} \end{tikzpicture} \caption{test} \end{figure}
3. ファインマンダイアグラムの描画
基本的には\vertex
コマンドで頂点の座標を定義して、\propag
コマンドで2つの頂点に線を引くという流れになる。
まず\vertex (a) at (0,0);
とすると座標(0,0)にaというラベルの頂点を定義する。頂点の定義のみでこの状態では何も表示されない。
同様に\vertex (b) at (0,0);
として座標(2,0)にbというラベルの頂点を定義する。次に\propag [plain] (a) to (b);
とすると直線plainをラベルaからラベルbに向かって引くというコマンドになる。
以下頂点bの座標を変えて、横、縦、斜めに線を描画する例を示す。
\begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} \vertex (a) at (0,0); \vertex (b) at (2,0); \propag [plain] (a) to (b); \end{feynhand} \end{tikzpicture} \caption{横向き} \end{figure} \begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} \vertex (a) at (0,0); \vertex (b) at (0,-1); \propag [plain] (a) to (b); \end{feynhand} \end{tikzpicture} \caption{下向き} \end{figure} \begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} \vertex (a) at (0,0); \vertex (b) at (1,-1); \propag [plain] (a) to (b); \end{feynhand} \end{tikzpicture} \caption{斜め下} \end{figure}
実行すると以下のようになる。
\vertex
コマンドにオプションを指定することで、粒子名やドットなどを描画することができる。また\propag
コマンドのオプションにplainを変更すると線の種類も変わる。
例えば粒子名は\vertex[particle] (a) at (0,0) {$gamma$}
とするとγが頂点aの横に表示される。\vertex[dot]
とすると頂点aに点が打たれる。
\begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} \vertex[particle] (a) at (0,0) {$\gamma$}; \vertex[dot] (b) at (1,-1){}; \propag [plain] (a) to (b); \end{feynhand} \end{tikzpicture} \caption{斜め下} \end{figure} \begin{figure}[htpb] \centering \begin{tikzpicture} \begin{feynhand} \vertex (a) at (0,0); \vertex (b) at (1,-1); \propag [photon] (a) to (b); \end{feynhand} \end{tikzpicture} \caption{斜め下} \end{figure}
実行すると以下のようになる。
4. まとめ
今回はTikZ-FeynHandによるファインマンダイアグラムの描画方法について紹介した。