连接命令

连接命令

我可以连接命令,以便一个命令在另一个命令之前自动调用吗?例如:

\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}%
}

对这个解决方案非常满意!

相关内容