关于 pgfplots externalize 的问题

关于 pgfplots externalize 的问题

为了速度和潜在的文件大小错误,我一直在尝试为pgfplots/tikz我的数字设置包括/排除的外部化luatex

我有以下不清楚的问题:

  • 外部化之后,您是否应该从中调用图形pdf,或者是否tikz/pgf自动确定是否应该运行.tex文件或者是否应该加载pdf

这给了我一些问题:

  • 使用 进行外部化时pdflatex,出现内存超出错误。关闭外部化后不会出现此错误。
  • 如果一直使用 进行外化lualatex,之后使用 进行编译时仍然会崩溃pdflatex

我不确定这是否是正确的 MWE:

使用以下任一方式进行编译:

pdflatex.exe -synctex=1 -shell-escape -interaction=nonstopmode %.tex

lualatex.exe -synctex=1 -shell-escape -interaction=nonstopmode %.tex

在主文档中:

\documentclass{book}

\usepackage{pgf}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{external}
\tikzexternalize
\tikzsetexternalprefix{figures/}
\tikzset{external/force remake}

\begin{figure}[h!]
{\input{Figure1.tex}}
\end{figure}

\end{document}

一个随机的 tikz 图形文档(实际上包含数千个数据点):

Figure1.tex:
\begin{tikzpicture}
\begin{axis}[%
\addplot [color=black, forget plot]
table[row_sep=crcr][%
0 0 \\
0.1 20\\
}
\end{axis}
\end{tikzpicture}%

答案1

我不确定它是否会遇到问题。但你可以尝试使用以下命令进行编译pdflatex

pdflatex-shell-escape%


编辑:或者lualatex

lualatex -shell-escape%

笔记:对于 lualatex 你需要包\usepackage{shellesc}参考。 @UlrikeFischer


文件夹结构和结果:

enter image description here

梅威瑟:

主要.tex:

\documentclass{book}
\usepackage{shellesc}% to compile with lualatex
\usepackage{tikz}
\usepackage{pgfplots}
\usetikzlibrary{external}

\tikzexternalize
\tikzsetexternalprefix{figures/}
\tikzset{external/force remake} %up-to-date checks of all following figures (see: 50.4.3 Remaking Figures or Skipping Figures in pgf manual)

%\pgfplotstableread[row sep=crcr]{
%0 0 \\
%5 20\\
%}\mytable

\begin{document}

\tikzsetnextfilename{SaveNameFigureOne}%image name
\input{Figure1.tex}

%\tikzsetnextfilename{TestImageTwo}%image name
%\input{Figure2.tex}

\end{document}

图1.tex

\begin{tikzpicture}
\begin{axis}
\addplot [color=black, forget plot]table[row sep=crcr]{0 0 \\
0.1 20\\};
\end{axis}
\end{tikzpicture}%

相关内容