使用 pgfplots 和 gnuplot 并使用输出目录进行编译

使用 pgfplots 和 gnuplot 并使用输出目录进行编译

我想将pgfplots包与一起使用gnuplot。但是,如果我使用选项进行编译,则无法使其工作-output-directory。例如,如果我有以下 MWE:

\documentclass{article}

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

\begin{document}

\begin{tikzpicture}
    \begin{axis}
        \addplot gnuplot{x};
    \end{axis}
\end{tikzpicture}

\end{document}

如果将其保存为test.tex并使用 进行编译lualatex -shell-escape test.tex,则它可以正常工作。但是,如果我尝试更改输出目录(例如使用 进行编译)lualatex -shell-escape -output-directory=.. test.tex,则无法找到包含输出的pgfplots文件。(输出目录只是为了使此示例尽可能简单。)test.pgf-plot.tablegnuplot..

有没有办法修补读取输出的命令gnuplot以在输出目录而不是当前工作目录中搜索文件?

答案1

在@anonymous 评论中提到的文件中寻找需要修补的内容时,我发现了以下 pgf-key。它可以简单地在文档的序言中覆盖。

\usepackage{pgfplots}
\pgfkeys{/pgf/plot/gnuplot call={cd build && gnuplot}}

此处的构建目录称为“build”,当然可以根据您的需要进行更改。命令连接&&应该适用于 Windows 和 Unix。虽然是 Unix 语法,但它在 Windows 中运行正常,不会出现任何问题(已测试)。

相关内容