如何在 LyX 中使用 feynmf?

如何在 LyX 中使用 feynmf?

莱克斯文档建议使用feyn包来绘制费曼图,它工作得很好,但不幸的是,对于我的需求来说太过限制和简单,我尝试使用feynmf包来代替,但它没有输出任何东西,我在互联网上搜索了一些可能的例子/解决方案,但没有找到,它们首先兼容吗?如果是,你能解释一下如何在 LyX 中使用它吗?

答案1

为了使用,您除了必须运行之外,还feynmf必须设置 LyX (Metafont)在环境生成的所有文件上运行(据我了解,我从未使用过该包)。mfpdflatexfeynmffile

我实际上不知道该怎么做,但另一个完全不需要额外步骤的选项是tikz-feynman使用包。添加

\usepackage[compat=1.1.0]{tikz-feynman}

到文档 --> 设置 --> LaTeX 前言,您可以编写如下代码

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

直接在 ERT 中,得到如下结果:

在此处输入图片描述

重要的提示

tikz-feynman使用 TikZ 的图形绘制库自动放置顶点,但这仅在使用 生成 PDF 时才有效luatex。使用pdflatexLyX 中的默认设置,上述代码将生成

pdflatex 输出

这不太好。

所以如果你想要这种自动布局,你必须PDF(LuaTeX)作为输出格式,例如在文档-->设置-->格式中。

但您也可以手动放置东西,这样就pdflatex不会出现问题。要生成如上图所示的图表,您可以在 ERT 中使用以下代码。

\begin{tikzpicture}
 \begin{feynman}
    \vertex (a);
    \vertex [above left=of a] (i1);
    \vertex [below left=of a] (i2);
    \vertex [right=of a] (b);
    \vertex [above right=of b] (f1);
    \vertex [below right=of b] (f2);

    \diagram*{
      (i1) --[fermion] (a) --[fermion] (i2),
      (a) --[photon] (b),
      (f1) --[fermion] (b) --[fermion] (f2)
    };
  \end{feynman}
\end{tikzpicture}

有关其功能的更多信息,请参阅包装手册。

示例.lyx文件:

#LyX 2.2 created this file. For more info see http://www.lyx.org/
\lyxformat 508
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass article
\begin_preamble
\usepackage[compat=1.1.0]{tikz-feynman}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman "default" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
feynmandiagram [horizontal=a to b] {
\end_layout

\begin_layout Plain Layout

  i1 -- [fermion] a -- [fermion] i2,
\end_layout

\begin_layout Plain Layout

  a -- [photon] b,
\end_layout

\begin_layout Plain Layout

  f1 -- [fermion] b -- [fermion] f2,
\end_layout

\begin_layout Plain Layout

};
\end_layout

\end_inset


\end_layout

\begin_layout Standard
\begin_inset ERT
status open

\begin_layout Plain Layout


\backslash
begin{tikzpicture}
\end_layout

\begin_layout Plain Layout


\backslash
begin{feynman}
\end_layout

\begin_layout Plain Layout


\backslash
vertex (a);
\end_layout

\begin_layout Plain Layout


\backslash
vertex [above left=of a] (i1);
\end_layout

\begin_layout Plain Layout


\backslash
vertex [below left=of a] (i2);
\end_layout

\begin_layout Plain Layout


\backslash
vertex [right=of a] (b);
\end_layout

\begin_layout Plain Layout


\backslash
vertex [above right=of b] (f1);
\end_layout

\begin_layout Plain Layout


\backslash
vertex [below right=of b] (f2);
\end_layout

\begin_layout Plain Layout

\end_layout

\begin_layout Plain Layout


\backslash
diagram*{
\end_layout

\begin_layout Plain Layout

      (i1) --[fermion] (a) --[fermion] (i2),
\end_layout

\begin_layout Plain Layout

      (a) --[photon] (b),
\end_layout

\begin_layout Plain Layout

      (f1) --[fermion] (b) --[fermion] (f2)
\end_layout

\begin_layout Plain Layout

    };
\end_layout

\begin_layout Plain Layout


\backslash
end{feynman}
\end_layout

\begin_layout Plain Layout


\backslash
end{tikzpicture}
\end_layout

\end_inset


\end_layout

\end_body
\end_document

相关内容