我正在尝试使用 TikZ 编写费曼图代码(我知道这是论坛上的一个常见主题)。我发现了一些非常有用的帖子。但是,我想画一条弯曲的波浪线
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,decorations.markings,snakes}
\begin{document}
\begin{tikzpicture}[thick]
\path [draw=blue]
(-4,0) -- (-2,0) -- (2,0) -- (4,0);
\draw[draw=blue,snake=coil, segment aspect=0] (2,0) arc (0:180:2cm);
\end{tikzpicture}
\end{document}
以上代码只是画了一条实线,没有波浪。
有人能帮我解决这个奇怪的行为吗?
答案1
实际上该图书馆snakes
已被取代decorations
,但对于您的需要,我认为您只是在寻找decorations.pathmorphing
。
因此,您的代码修改如下:
\documentclass{beamer}
\usepackage{lmodern}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
\tikzset{snake it/.style={decorate, decoration=snake}}
\begin{document}
\vspace*{2cm}
\begin{center}
\begin{tikzpicture}[thick]
\path [draw=blue,snake it]
(-4,0) -- (-2,0) -- (2,0) -- (4,0);
\draw[draw=blue, snake it] (2,0) arc (0:180:2cm);
\end{tikzpicture}
\end{center}
\end{document}
snake it
请注意,我将真正设置装饰的键decorate
和设置装饰类型的键分组为单一样式decoration=snake
。
有关详细信息,您可以查看以下部分72 装饰品更具体地说是第30.2 路径变形装饰在 pgfmanual 上。 (部分48.2在 pgfmanual 3.0 中)
答案2
以下只是展示其功能的示例。生成半圆的相关键是half left
。您必须使用 进行编译lualatex
才能利用顶点的自动定位。
\documentclass[tikz]{standalone}
\usepackage{tikz-feynman}
\begin{document}
\feynmandiagram [layered layout, horizontal=a to d] {
a -- [scalar,red] b -- [fermion,blue] c -- [gluon,orange] d,
b -- [photon, half left] c, % this produces the curved photon line
};
\end{document}