为什么我的代码没有画出费曼图?

为什么我的代码没有画出费曼图?
\documentclass{report}
\usepackage[english,russian]{babel}
\usepackage[utf8]{inputenc}

\begin{document}

\usepackage{tikz}

\begin{tikzpicture}

\feynmandiagram [horizontal=a to b] {
  i1 -- [fermion] a -- [fermion] i2,
  a -- [photon] b,
  f1 -- [fermion] b -- [fermion] f2,
}

\end{tikzpicture}

\end{document}

以上是我的代码。程序在 处停止\usepackage{tikz}。这里有什么问题?

答案1

软件包只能在前言中加载,IE所有\usepackage带有 \begin{document}

在你的情况下,\usepackage{tikz}应该与其他\usepackages 一起。此外,由于你想绘制费曼图,你应该加载包tikz-feynman而不是普通的tikz,因为否则\feynmandiagram命令未定义。此外,需要在 后添加分号\feynmandiagram

改变这三点后,你的代码将变成:

\documentclass{report}
\usepackage[english,russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz-feynman}

\begin{document}

\begin{tikzpicture}

\feynmandiagram [horizontal=a to b] {
  i1 -- [fermion] a -- [fermion] i2,
  a -- [photon] b,
  f1 -- [fermion] b -- [fermion] f2,
};

\end{tikzpicture}

\end{document}

相关内容