运行 \tikzexternalize[mode=list and make] 时缺少 *.sty 文件

运行 \tikzexternalize[mode=list and make] 时缺少 *.sty 文件

最近发现了该库的用途tikzexternalize,我决定使用此线程中建议的方法对我的 tikz 图像进行多线程编译:1

microtype但是,我在加载某些其他包(例如、等)时遇到问题。algorithm2e查看 tikz 外部化过程中的日志文件表明*.sty缺少文件并且找不到所需的模块。

MWE如下:

\documentclass{article}

\usepackage{microtype}
\usepackage{todonotes}

\usepackage{pgfplots} %use tikz based pgfplots
  \usepgfplotslibrary{external}
  \tikzset{external/disable dependency files}
    \tikzexternalize[mode=list and make, prefix=tikz/]

    \tikzset{external/system call={lualatex \tikzexternalcheckshellescape
      -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"}
    } % to let pdflatex work
%% compile picture: pdflatex --shell-escape xxxxxxx.tex

\makeatletter
\renewcommand{\todo}[2][]{\tikzexternaldisable\@todo[#1]{#2}\tikzexternalenable}
\makeatother

\begin{document}
some text

\begin{tikzpicture}
\begin{axis}[ xlabel=$x$, ylabel={$f(x) = x^2 - x +4$} ] 
  \addplot {x^2 - x +4}; 
\end{axis} 
\end{tikzpicture}

\begin{tikzpicture}
\begin{loglogaxis}[xlabel=Cost,ylabel=Gain]
  \addplot[color=red,mark=x] coordinates 
  { (10,100) (20,150) (40,225) (80,340) (160,510) (320,765) (640,1150) };
\end{loglogaxis}
\end{tikzpicture}

\end{document}

设置是 Win 7 (x64) + TeXlive 2014 + Texmaker + Cygwin (make)

答案1

我猜测这是由于您的 Windows/cygwin 设置造成的:也许搜索路径设置不正确或者 latex 安装出现混乱。

事实上,丢失的.sty文件应该与 完全无关external。您仍然看到此类消息表明存在严重的项目设置问题。我敢打赌,即使您完全禁用,该文件也无法编译external

也许您已在 Windows TeX 安装中编译了主文件,并且 make 调用使用了linux/ cygwinTeX 安装?也许 cygwin TeX 安装没有microtype

由于这只是一个(希望)好的猜测,我的答案是验证您的设置;特别是关于“正在使用哪个 TeX 安装”这个问题。

如果这个答案最终成为一条死胡同,我想请您更详细地说明如何使用 cygwin 搜索路径环境进行最佳编译。

相关内容