
답변1
그러한 다이어그램이 많다면 채워진 원을 그리고 다이어그램의 기준선을 적절하게 설정하는 등의 작업을 수행하는 환경을 정의하는 것이 더 나을 수 있습니다. 이 답변은 반복을 피하는 두 가지 방법을 보여 준다는 점에서 과잉입니다.
- 새로운 환경을 정의합니다.
- 사용
execute at begin tikzpicture
.
실제로는 둘 중 하나를 사용하지만 이는 이러한 옵션을 설명하기 위한 것입니다. 그런데 AFAIK Witten은 차동 장치 d
를 똑바로 조판합니다.
\documentclass{article}
\usepackage{tikz}
\tikzset{Witten diagram/.style={execute at begin picture={%
\draw[blue,fill=blue!20] circle[radius=\pgfkeysvalueof{/tikz/Witten/radius}];
\path node (X){\phantom{X}};
},baseline={(X.base)}},vertex/.style={circle,fill,inner sep=1.5pt,node
contents={}},
Witten/.cd,radius/.initial=1.5cm}
\newenvironment{wittendiagram}[1][]{\begin{tikzpicture}[Witten diagram,#1]}{\end{tikzpicture}}
\begin{document}
\[\begin{wittendiagram}
\draw (-1,0) node[vertex] -- (1,0) node[vertex];
\end{wittendiagram}=\int\!\mathrm{d}\nu\,g(\nu)\,
\begin{wittendiagram}
\draw[dashed] (-1,0) node[vertex] -- (90:\pgfkeysvalueof{/tikz/Witten/radius})
node [midway,left]{$K$} node[vertex] -- (1,0) node [midway,right]{$K$}
node[vertex];
\end{wittendiagram}\]
\end{document}
그리고 여기에 environ
패키지를 사용하고 누락된 부분을 포함하는 두 번째 버전이 있습니다 G
(mille grazie @Sebastiano). 여기서 다이어그램은 세로 중앙에 있습니다.
\documentclass{article}
\usepackage{environ}
\usepackage{tikz}
\tikzset{Witten diagram/.style={execute at begin picture={%
\draw[blue,fill=blue!20] circle[radius=\pgfkeysvalueof{/tikz/Witten/radius}];
}},vertex/.style={circle,fill,inner sep=1.5pt,node
contents={}},
Witten/.cd,radius/.initial=1.5cm}
\NewEnviron{wittendiagram}[1][]{\vcenter{\hbox{\begin{tikzpicture}[Witten diagram,#1]%
\BODY
\end{tikzpicture}}}}
\begin{document}
\[\begin{wittendiagram}
\draw (-1,0) node[vertex] -- (1,0) node[midway,above]{$G$} node[vertex];
\end{wittendiagram}=\int\!\mathrm{d}\nu\,g(\nu)\,
\begin{wittendiagram}
\draw[dashed] (-1,0) node[vertex] -- (90:\pgfkeysvalueof{/tikz/Witten/radius})
node [midway,left]{$K$} node[vertex] -- (1,0) node [midway,right]{$K$}
node[vertex];
\end{wittendiagram}\]
\end{document}
tikz-feynman
표준 Feynman 다이어그램 요소를 추가하려는 경우 이를 패키지와 결합할 수 있습니다 .
답변2
덜 정교한 솔루션:
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{
mybluenode/.style={
draw=blue,fill=blue!30, circle, minimum width=2cm, inner sep=0pt
},
myblacknode/.style={
circle, inner sep=1pt, fill=black
},
}
\begin{document}
\begin{tikzpicture}
\node[mybluenode] (first) {};
\draw ([xshift=-.5cm]first.center) node [myblacknode] {} -- node[above] {$G$} ([xshift=.5cm]first.center) node [myblacknode] {};
\node[right =4pt of first.east] (second) {$= \displaystyle\int \mathrm{d}\,\nu g(\nu)$};
\node[mybluenode, right =4pt of second.east] (third) {};
\draw[dashed] ([xshift=-.5cm]third.center) node [myblacknode] {} -- node[left] {$K$} (third.north) node [myblacknode] {} -- node[right] {$K$} ([xshift=.5cm]third.center) node [myblacknode] {};
\end{tikzpicture}
\end{document}