为了速度和潜在的文件大小错误,我一直在尝试为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)
文件夹结构和结果:
梅威瑟:
主要.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}%