Pdf-latex 和 tikz-feynman

Pdf-latex 和 tikz-feynman

最近我知道了如何使用 tikz-feynman 和 pdf-latex,但有一刻我误解了。我使用过:

\usetikzlibrary{external}             %% Load the `external` library
\immediate\write18{mkdir -p pgf-img}  %% Create `pgf-img` directory
\tikzexternalize[                     %% Activate externalization
  prefix=pgf-img/,                    %% Avoid cluttering the directory
  system call={                       %% Use lualatex in system call
    lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname="\image" "\texsource"
  },
]

但不幸的是,编译时会产生很多错误。据我所知,这些错误不会造成任何问题,但我想澄清一下。

例如,我将尝试提供一个可以运行但会产生错误的代码示例。

\documentclass[a4paper,11pt]{article}
\usepackage{tikz}
\usetikzlibrary{external}             %% Load the `external` library
\immediate\write18{mkdir -p pgf-img}  %% Create `pgf-img` directory
\tikzexternalize[                     %% Activate externalization
  prefix=pgf-img/,                    %% Avoid cluttering the directory
  system call={                       %% Use lualatex in system call
    lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname="\image" "\texsource"
  },
]
\usepackage[compat=1.1.0]{tikz-feynman}
\begin{document}
\begin{tikzpicture}[baseline=-\the\dimexpr\fontdimen22\textfont2\relax]
\begin{feynman}
    \vertex (v1);
    \vertex[right=0.7cm of v1] (v2);
    \vertex[above right=0.7cm of v2] (v3);
    \vertex[below right=0.7cm of v2] (v4);
    \diagram*{(v1)--[boson](v2),(v2)--[fermion](v3),(v4)--[fermion](v2)};
\end{feynman}
\end{tikzpicture}
\end{document}

第一个出现的错误是在此处输入图片描述

答案1

看来您正在使用 overleaf 我不知道,抱歉。

但错误信息对我来说非常清楚:这里的问题是您想要运行\immediate\write18{mkdir -p pgf-img}

使用我当前的 MiKTeX,我必须-shell-escape在调用中添加命令选项lualatex.exe以允许 LuaLaTeX 启动外部运行...

请询问 overleaf 的支持如何使用 overleaf 来实现这一点(如果可以的话)...

答案2

我的问题以一种非常奇怪的方式得到了解决。

我将编译器改为 LuaLaTeX,但仍然出错。然后我再次将编译器改为 pdf-LaTeX,现在它运行正常,没有错误。

相关内容