使用 externalize 时,pdflatex' 未被识别为内部或外部命令

使用 externalize 时,pdflatex' 未被识别为内部或外部命令

一段时间以来,我一直在使用 externalize 来生成图片,最近我尝试使用 和 来生成图片,lualatex以便gnuplot生成轮廓图。在我按照不同的步骤操作后,我开始在编译时遇到问题,虽然没有使用 lualatex 或 gnuplot,更具体地说,当我启用 时externalize

我收到的信息是:

'pdflatex' is not recognized as an internal or external command, operable program or batch file.

只是一点背景知识,在设置 gnuplot 时,我在 PATH 中添加了环境变量,但没有修改其他任何内容。

截至目前,从一开始,我的 pdflatex 编译器命令就是:

"C:/Users/Augusto/AppData/Local/Programs/MiKTeX/miktex/bin/x64/pdflatex.exe" -synctex=1 -interaction=nonstopmode -extra-mem-top=1000000000 -extra-mem-bot=1000000000 -shell-escape "testtt".tex

在使用 externalize 时,请确保启用它,-enable-write18如下面的代码所示。

\usetikzlibrary{external}
\tikzexternalize[
prefix=tikz/,
shell escape=-enable-write18
]

仅当我启用了 externalize 时才会收到此消息,而当我使用\tikzexternaldisable中的命令禁用它时,该消息就会消失preamble

每当我编译 tex 文件时,我都会收到错误消息,然后

! Package tikz Error: Sorry, the system call 'pdflatex -enable-write18 -halt-on
-error -interaction=batchmode -jobname "tikz/test" "\def\tikzexternalrealjob{te
sttt}\input{testtt}"' did NOT result in a usable output file 'tikz/test' (expec
ted one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system c
alls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also name
d 'write 18' or something like that. Or maybe the command simply failed? Error 
messages can be found in 'tikz/test.log'. If you continue now, I'll try to type
set the picture.

我猜测,我尝试为 MWE 创建一个虚拟 tex 文件,但问题仍然存在。我尝试查找它,并发现了一些有关 externalize 和此无法识别的问题的问题,例如[1][2]

我已经检查了我的环境变量,与 miktex 相关的变量如下(我以前从未修改过)。

与 miktex 相关的路径

在添加以下代码时2,PATH 实际上是空的,这对我来说似乎很奇怪。

\tikzset{external/system call={echo $PATH > test.log}}

从 echo $PATH test.log 生成的 PATH

最后,我的平均能量损失如下所示。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\usetikzlibrary{external}
\tikzexternalize[
prefix=tikz/,
shell escape=-enable-write18
]
%\tikzexternaldisable
\tikzexternalenable



\begin{document}
    
    \tikzsetnextfilename{test}
    
    \begin{tikzpicture}
        
        \begin{axis}[xmin=0,xmax=50]
            
            \addplot[domain=0:50, samples=100] {x};
                
        \end{axis}      
    \end{tikzpicture}
\end{document}

希望有人能帮助我!

相关内容