将费曼图文件保存在子文件夹中

将费曼图文件保存在子文件夹中

假设有一个简单的费曼图,例如下面的MWE(必须用 运行-shell-escape,我猜这是为了允许编译“逃离shell”来运行metapost)。

\documentclass{article}
\usepackage{amsmath,amssymb,braket,feynmp-auto}
\newenvironment{feynman}[1]{\begin{center}\begin{fmffile}{#1}\vspace*{\baselineskip}}{\vspace*{\baselineskip}\end{fmffile}\end{center}}
\begin{document}
\begin{feynman}{01}
    \begin{fmfgraph*}(110,65)
        \fmfleftn{i}{2}
        \fmfrightn{o}{1}
        \fmf{fermion}{i1,v1,i2}
        \fmf{dashes,label=$\braket{\lambda_2|T|\lambda_1}$}{v1,o1}
        \fmfdotn{v}{1}
        \fmfv{decoration.shape=cross,decoration.filled=empty,decoration.size=0.1w}{o1}
        \fmflabel{$\lambda_2$}{i1}
        \fmflabel{$\lambda_1$}{i2}
    \end{fmfgraph*}
\end{feynman}
\end{document}

MWE 的输出。

对于大型项目,人们不希望将所有.1.log和文件都放在主文件夹中,而是放在子文件夹中。当图表的名称更改为 例如 时,通过.mp将第 5 行更改为.t1diagrams/01

\begin{feynman}{diagrams/01}

只有文件01.mp出现在子文件夹图表中,其他文件未创建(似乎创建图表的第二步无法识别路径),因此 pdf 中没有输出。

问题:我们如何让正在运行的任何脚本/程序识别文件路径.mp?或者更一般地说,我们如何才能将图表文件存储在子文件夹中?

相关内容