我的文档中有一些使用standalone
类(带有)的 TikZ 图片-shell-escape
,并且我希望生成的位图具有比等更人性化的名称file-0.png
。file-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 代码已更新,因此图像文件名编号不再是硬编码的。