如何使用独立类生成具有不同名称的位图文件?

如何使用独立类生成具有不同名称的位图文件?

我的文档中有一些使用standalone类(带有)的 TikZ 图片-shell-escape,并且我希望生成的位图具有比等更人性化的名称file-0.pngfile-1.png我认为这会有所帮助:

\documentclass[tikz,convert]{standalone}

\begin{document}

% spam
\standaloneconfig{convert={outname=spam}}
\begin{tikzpicture}
  \node at (0,0) {spam};
\end{tikzpicture}

% Eggs
\standaloneconfig{convert={outname=eggs}}
\begin{tikzpicture}
  \node at (0,0) {eggs};
\end{tikzpicture}

\end{document}

outfile但事实并非如此。使用和\def\outfile{spam.png}第一张图片之前都没有。有什么想法吗?

答案1

以下过程在 Windows 上对我有用。首先,以下代码将创建您的PNG文件和一个名为的文件tempRename.bat,该文件包含用于将这些文件重命名为所需名称的DOS命令(该选项对于该功能是必需的)。PNG-shell-escape\write18

\documentclass[tikz,convert]{standalone}

\begin{document}

\newcounter{num}
\write18{echo REM > tempRename.bat}

% spam
\begin{tikzpicture}
  \node at (0,0) {spam};
\end{tikzpicture}
\immediate\write18{echo ren \jobname-\thenum.png spam.png >> tempRename.bat}
\stepcounter{num}

% Eggs
\begin{tikzpicture}
  \node at (0,0) {eggs};
\end{tikzpicture}
\immediate\write18{echo ren \jobname-\thenum.png eggs.png >> tempRename.bat}
\stepcounter{num}

\end{document}

第二步,运行tempRename.bat文件进行重命名。如果你将 LaTeX 命令和 tempRename 命令放在一个批处理文件中,那么你只需运行一个批处理文件就可以创建和重命名图片。

pdflatex -shell-escape filename.tex
tempRename
pause

编辑: Latex 代码已更新,因此图像文件名编号不再是硬编码的。

相关内容