为什么 tikzexternalize 无法写入上面的目录

为什么 tikzexternalize 无法写入上面的目录

我使用命令

\tikzexternalize[prefix=../figures-tikz/]

我收到了错误信息 !我无法在文件“../figures-tikz/BQ-m-meca_0.md5”上写入。

另一方面,如果我写下命令

\tikzexternalize[prefix=figures-tikz/]

没问题。

如何强制 tikzexternalize 写入“../图形-tikz/“ 目录?

我使用 Xelatex 和 Shell-escape 进行编译

答案1

texlive 的默认安全策略(在 中设置texmf.cnf)是

% Do we allow TeX \input or \openin (openin_any), or \openout
% (openout_any) on filenames starting with `.' (e.g., .rhosts) or
% outside the current tree (e.g., /etc/passwd)?
% a (any)        : any file can be opened.
% r (restricted) : disallow opening dot files
% p (paranoid)   : as `r' and disallow going to parent directories, and
%                  restrict absolute paths to be under $TEXMFOUTPUT.
openin_any = a
openout_any = p

因此您无法打开父目录中的文件进行写入。

您可以更改它,或者在父目录中更简单地启动 tex。

相关内容