我可以连接命令,以便一个命令在另一个命令之前自动调用吗?例如:
\newcommand{\convertsvg}[1]{%
\immediate\write18%
{inkscape -D -z --file=figs/#1.svg %
--export-eps=figs/#1.eps}%
}
现在,每次我想放置 svg 图片时我都会这样做:
\convertsvg{examplepicture}
\centering\includegraphics[width=\columnwidth]{examplepicture}
我怎样才能将这两者联系起来,以便每次在执行 /includegraphics 之前调用 \convertsvg?
我尝试过这样的:
\newcommand{\includegraphicssvg}[1]{%
\immediate\write18%
{inkscape -D -z --file=figs/#1.svg %
--export-eps=figs/#1.eps}%
\includegraphics{#1.eps}%
}
但是我在 \includegraphics 的可选参数方面遇到了问题。因此无法执行此操作:
\includegraphicssvg[width=\columnwidth]{examplepicture}
我怎样才能做到这一点?
答案1
我现在有:
\newcommand{\includegraphicssvg}[2][]{%
\immediate\write18%
{inkscape -D -z --file=figs/#2.svg %
--export-eps=figs/#2.eps}%
\includegraphics[#1]{#2.eps}%
}
对这个解决方案非常满意!