关于python:带有列表和make的pgfplots在Windows上失败(mingw)

关于python:带有列表和make的pgfplots在Windows上失败(mingw)

系统规格:MiKTeX 2.9、Windows 8.1、-shell-escape已添加、已安装 MinGW。

梅威瑟:

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\usetikzlibrary{external}
\tikzexternalize[mode=list and make]
\tikzsetexternalprefix{tikz/}

\graphicspath{{./gfx/}}

\begin{document}
    \begin{figure}[htbp]
        \centering
        {
            \tikzsetnextfilename{figure-line}
            \begin{tikzpicture}
                \draw (0,0) -- (1,0);
            \end{tikzpicture}
        }
    \end{figure}
\end{document}

运行pdflatex文件test.makefile创建后。ALL_FIGURE_NAMES由于 Windowsmake上指出的问题,我将 更改为硬编码图形名称stackexchange

ALL_FIGURE_NAMES=tikz/figure-line
ALL_FIGURES=$(ALL_FIGURE_NAMES:%=%.pdf)

allimages: $(ALL_FIGURES)
    @echo All images exist now. Use make -B to re-generate them.

FORCEREMAKE:

include $(ALL_FIGURE_NAMES:%=%.dep)

%.dep:
    mkdir -p $(dir $@)
    touch $@ # will be filled later.

tikz/figure-line.pdf: 
    pdflatex -shell-escape -halt-on-error -interaction=batchmode -jobname "tikz/figure-line" "\def\tikzexternalrealjob{test}\input{test}"

tikz/figure-line.pdf: tikz/figure-line.md5

现在我运行mingw32-make -f .\test.makefile但失败了:

.\test.makefile:9: figure-line.dep: No such file or directory
mkdir -p ./
The syntax of the command is incorrect.
.\test.makefile:12: recipe for target 'figure-line.dep' failed
mingw32-make: *** [figure-line.dep] Error 1

知道原因吗?

答案1

看来问题(在 下使用 构建外部)pgfplots与包无关(也与 中的代码无关),而是与附带的工具有关。中的工具可以很好地构建所有内容,而无需对 中的代码进行任何更改。WindowsMinGWpgfplotsMWEmakeMinGWmakecygwinMWE

答案2

我遇到了同样的错误,结果发现只有当我启动 cygwin 的 bash 控制台并运行带有选项的 make 命令时它才起作用--login

所以我使用命令

C:\cygwin64\bin\bash.exe --login -c "cd /cygdrive/c/<path>; make -f <file>.makefile"

建造地块。

相关内容