使用 TikZ 绘制弯曲波浪线

使用 TikZ 绘制弯曲波浪线

我正在尝试使用 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}

在此处输入图片描述

相关内容