tikz-feynman で運動量ラベルや頂点ラベルのフォント サイズ、スタイル、向きを変更する

tikz-feynman で運動量ラベルや頂点ラベルのフォント サイズ、スタイル、向きを変更する

運動量ラベルを小さくし、運動量矢印に沿って配置したいと思います (例: $k_1+k_2$)。また、頂点ラベルを太字で大きくすることは可能ですか (z...)? (\mathbf で可能ですが、サイズ変更と組み合わせることができませんでした)。これが私のコードです:

\documentclass[tikz, border=10pt]{standalone}
\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\begin{tikzpicture}
\begin{feynman}

\vertex (a1)[blob,label=180:\(J\)] {};
\vertex(a2)[right=1.8cm of a1,dot, label=90:\(z_1\)]{} ;
\vertex(a3)[right=1.5cm of a2, dot,label=90:\(z_2\)]{} ;
\vertex(a4)[right=1cm of a3, dot,label=90:\(z\)]{} ;
\vertex[right=2cm of a4](a5){};
\vertex(a6)[below=1.5cm of a2, crossed dot]{};
\vertex(a7)[below=1.5cm of a3, crossed dot]{};
\vertex(a8)[above right=3cm of a4]{};
\node[text width=3cm] at (1.8,0.25) {$z_0$} ; 

\diagram* {
(a1) -- [gluon, momentum={[arrow shorten=0.3] \( p+k_1+k_2-q_1-q_2\)}] (a2) -- [gluon,  momentum={[arrow shorten=0.3] \(p+k_1+k_2-q_2\)}] (a3) -- [gluon,  momentum={[arrow shorten=0.3] \(p+k_1+k_2\)}] (a4)--[gluon, momentum= {[arrow shorten=0.3]\(p\)}](a5) ,
(a4)--[gluon, momentum= {[arrow shorten=0.3]\(k_1+k_2\)}](a8),
(a6) -- [gluon,  momentum={[arrow shorten=0.3] \(\vec{\bf{q_1}}\)}](a2) ,
(a7) -- [gluon,  momentum={[arrow shorten=0.3] \(\vec{\bf{q_2}}\)}](a3) ,
};
\end{feynman}
\end{tikzpicture}
\end{document}

そして、これが私が得たものです: ここに画像の説明を入力してください

答え1

素敵な使い方ティZ-ファインマンCTAN)!

確かに、すべての運動量矢印とすべてのラベルは小さくしたいと思うでしょう。最も簡単な方法は、運動量ラベル内にフォント サイズ コマンドの 1 つを追加することです。

momentum={\tiny\(p + k\)}

ただし、あなたの場合、結果のラベルがまだ幅が広すぎるため、それでも機能しません。結果として、唯一のオプションは、モメンタム ラベルを積み重ねることのようです。これは、積み重ねて小さいフォントを使用する環境で実現できます(たとえば、{subarray}オプションを下に積み重ねるように設計されています)。\sum

私がやったことは次のとおりです:

\RequirePackage{luatex85}
\documentclass[tikz, border=10pt]{standalone}

\usepackage{amsmath}
\usepackage[compat=1.1.0]{tikz-feynman}

\begin{document}
\begin{tikzpicture}
  \begin{feynman}
    %% Convenience command to allow stacks in momentum labels
    \def\stack#1{\begin{subarray}{c}#1\end{subarray}}

    %% Main sequence of gluons
    \vertex[blob, label=180:\(J\), label=-15:\(z_{0}\)] (a1) {};
    \vertex[dot, right=1.8cm of a1, label=-45:\(z_1\)] (a2) {} ;
    \vertex[dot, right=of a2, label=-45:\(z_2\)] (a3) {} ;
    \vertex[dot, right=of a3, label=-90:\(z\)] (a4) {} ;

    %% Final gluons to the right
    \vertex[right=2cm of a4] (a5);
    \vertex[above right=2cm and 2cm of a4] (a8) {};

    %% Incoming gluons
    \vertex[crossed dot, below=of a2] (a6) {};
    \vertex[crossed dot, below=of a3] (a7) {};

    \diagram* [edges={gluon}] {
      (a1)
        -- [momentum={\(\stack{p+k_1+k_2 \\ -q_1-q_2}\)}] (a2)
        -- [momentum={\(\stack{p+k_1+k_2 \\ -q_2}\)}] (a3)
        -- [momentum={\(\stack{p \\ + k_1 +k_2}\)}] (a4)
        -- [momentum'={\(p\)}] (a5),

      (a4) -- [momentum={\(k_1+k_2\)}] (a8),
      (a6) -- [momentum={\(q_1\)}] (a2),
      (a7) -- [momentum={\(q_2\)}] (a3),
    };
  \end{feynman}
\end{tikzpicture}
\end{document}

出力

ご覧のとおり、環境\stackを作成するコマンドを定義しました{subarray}。毎回環境を記述することもできます{subarray}が、それは非常に面倒なので、関数を定義しました。

また、Ti以来、明示的な距離の多くを削除しました。Z-Feynman は、最初からかなり健全なデフォルトを設定しようとします。ブロブの場合、ブロブのサイズが大きいとエッジがかなり小さく見えるため、距離はそのまま残ります。

最後に、図の上部は運動量のラベルが多く、テキストが多すぎるため、「' 頂点のラベルは下部にあります。

関連情報