
Gostaria que meus rótulos de momento fossem menores e colocados ao longo das setas de momento (por exemplo, $k_1+k_2$). Além disso, é possível deixar os rótulos dos vértices em negrito e maiores (z...)? (\mathbf faz o trabalho, mas não consegui combiná-lo com o redimensionamento). Aqui está o meu código:
\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}
Responder1
Bom uso deTikZ-Feynman(CTAN)!
Na verdade, com todas as setas de impulso e todos os rótulos, você definitivamente quer que tudo seja pequeno. O mais simples é apenas adicionar um dos comandos de tamanho de fonte ao rótulo do momentum:
momentum={\tiny\(p + k\)}
Porém, no seu caso, mesmo isso não funciona porque o rótulo resultante ainda é muito largo. Como resultado, a única opção parece ser empilhar os rótulos de momentum. Isso pode ser conseguido com o {subarray}
ambiente que empilhará e usará uma fonte menor (ele foi projetado para empilhar opções, \sum
por exemplo).
Aqui está o que eu fiz:
\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}
Como você pode ver, defini um \stack
comando que cria um {subarray}
ambiente. Você poderia simplesmente escrever o {subarray}
ambiente todas as vezes, mas isso é bastante complicado, por isso defini a função.
Também removi muitas distâncias explícitas desde TikZ-Feynman tenta ter padrões bastante sensatos para começar. No caso do blob, a distância é deixada, pois o tamanho maior do blob faz com que a borda pareça muito menor.
Por último, como a parte superior do diagrama contém bastante texto com todos os rótulos de momentum, coloquei o 'z'rótulos dos vértices na parte inferior.