つれづれなる備忘録

日々の発見をあるがままに綴る

Texによる文書作成23 ~TikZ-FeynHand 2

 ファインマンダイアグラムをLaTeXで表記するパッケージとしてTikz-Feynhandの使い方について前回に引き続き紹介する。

atatat.hatenablog.com

1. Vertexの変更

 まずVetexのオプションについて紹介する。コマンド\vertex[]で[]内にオプションを記述することで頂点の表示を変更することができる。 前回紹介したようにparticleを指定する場合は\vertex[particle] (a) at (0,0) {name of particle}として表示する粒子名を記述する。

%頂点を指定しない場合
\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{feynhand}
\vertex (a) at (0,0); \vertex (b) at (2,0);
\vertex (c1) at (4,0.5); \vertex (c2) at (4,-0.5);
\propag [plain] (a) to (b);
\propag [plain] (b) to (c1);
\propag [plain] (b) to (c2);
\end{feynhand}
\end{tikzpicture}
\caption{指定なし}
\end{figure}

%頂点のオプションを指定した場合
\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{feynhand}
\vertex[particle] (a) at (0,0) {e$^-$}; \vertex[dot] (b) at (2,0){};
\vertex[ringdot] (c1) at (4,0.5){}; \vertex[squaredot] (c2) at (4,-0.5){};
\propag [plain] (a) to (b);
\propag [plain] (b) to (c1);
\propag [plain] (b) to (c2);
\end{feynhand}
\end{tikzpicture}
\caption{paritcle,dot,ringdot,squaredot}
\end{figure} 

実行結果は以下のように頂点の表示がオプションにより変更されていることがわかる。

"vertexコマンドのオプション1"
vertexコマンドのオプション1

dot,ringdot,squaredotのほかにはcrossdotやblob系のオプションがある。

\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{feynhand}
\vertex[crossdot] (a) at (0,0); \vertex[blob] (b) at (2,0){};
\vertex[ringblob] (c1) at (4,0.5){}; \vertex[grayblob] (c2) at (4,-0.5){};
\vertex[NWblob] (d1) at (6,0.5){};\vertex[NEblob] (d2) at (6,-0.5){};
\propag [plain] (a) to (b);
\propag [plain] (b) to (c1);
\propag [plain] (b) to (c2);
\propag [plain] (c1) to (d1);
\propag [plain] (c2) to (d2);
\end{feynhand}
\end{tikzpicture}
\caption{crosssdpt,blob,ringblob,grayblob,NEblob}
\end{figure} 

実行結果は以下のようになる。

"vertexコマンドのオプション2"
vertexコマンドのオプション2

2. Propagatorの変更

 Vertexと同様にPropagatorのオプション設定をplain以外を指定することで表示を変更することができる。

\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{feynhand}
\vertex[particle] (a) at (0,0) {fer}; \vertex (b) at (2,0);
\vertex[particle] (a1) at (0,-1){antfer}; \vertex (b1) at (2,-1);
\vertex[particle] (a2) at (0,-2){fer,b2 to a2}; \vertex (b2) at (2,-2);
\propag[fer] (a) to (b);
\propag[antfer] (a1) to (b1);
\propag[fer] (b2) to (a2);
\end{feynhand}
\end{tikzpicture}
\caption{fer,antfer}
\end{figure} 

ferを指定すると矢印が追加される。矢印の方向を逆にするにはantferを指定するか、propagatorの頂点指定の順序を逆にしても同じ効果になる。(線の意味合いが異なるので、antferを指定した方がよさそう) 実行結果は以下のようになる。

"propagatorのオプション1"
propagatorのオプション1

フォトン・ボソン、グルーオンなどを表す線種に変更することもできる。

\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{feynhand}
\vertex[particle] (a) at (0,0) {pho}; \vertex (b) at (2,0);
\vertex[particle] (a1) at (0,-1){bos}; \vertex (b1) at (2,-1);
\vertex[particle] (a2) at (0,-2){glu}; \vertex (b2) at (2,-2);
\vertex[particle] (a3) at (0,-3){chabos}; \vertex (b3) at (2,-3);
\vertex[particle] (a4) at (0,-4){antbos}; \vertex (b4) at (2,-4);
\vertex[particle] (a5) at (0,-5){sca}; \vertex (b5) at (2,-5);
\vertex[particle] (a6) at (0,-6){chasca}; \vertex (b6) at (2,-6);
\vertex[particle] (a7) at (0,-7){antsca}; \vertex (b7) at (2,-7);
\vertex[particle] (a8) at (0,-8){gho}; \vertex (b8) at (2,-8);
\vertex[particle] (a9) at (0,-9){chagho}; \vertex (b9) at (2,-9);
\vertex[particle] (a10) at (0,-10){antgho}; \vertex (b10) at (2,-10);
\vertex[particle] (a11) at (0,-11){maj}; \vertex (b11) at (2,-11);
\vertex[particle] (a12) at (0,-12){antmaj}; \vertex (b12) at (2,-12);
\propag[pho] (a) to (b);
\propag[bos] (a1) to (b1);
\propag[glu] (a2) to (b2);
\propag[chabos] (a3) to (b3);
\propag[antbos] (a4) to (b4);
\propag[sca] (a5) to (b5);
\propag[chasca] (a6) to (b6);
\propag[antsca] (a7) to (b7);
\propag[gho] (a8) to (b8);
\propag[chagho] (a9) to (b9);
\propag[antgho] (a10) to (b10);
\propag[maj] (a11) to (b11);
\propag[antmaj] (a12) to (b12);
\end{feynhand}
\end{tikzpicture}
\caption{propagatorの種類}
\end{figure} 

"propagatorのオプション2"
propagatorのオプション2

3. まとめ

 今回はVertexとPropagatorのオプション指定と表示の変更について取り上げた。少しコード量が多くなってしまったので、Propagatorの変形、ラベルなどに関して次回としたい。