在文件名中包含带有下划线的图形(来自宏)

在文件名中包含带有下划线的图形(来自宏)

.tex我有一个从程序中生成的系统。最终.tex文件具有如下(简化)结构:

\newcommand{\PlotFrame}[1]{%
\begin{frame}
\frametitle{...}
...
...
\includegraphics{#1}
\end{frame}}



\PlotFrame{File_1.png}
\PlotFrame{File_2.png}
...
\PlotFrame{File_n.png}

现在 - 用它编译时,由于下划线,语句pdflatex会报错\PlotFrame{File_n.png}。不幸的是,我无法控制文件名。有什么建议可以让我保留命令的当前结构\PlotFrame{}- 并让它接受带有下划线的参数吗?

我会强烈宁愿不必用 来逃避它\_

答案1

您可以像这样定义一个附加宏:

\documentclass{article}

\usepackage{graphicx}

\newcommand{\PlotFrameB}[1]{%
\includegraphics{#1}\endgroup}

\def\PlotFrame{\begingroup 
\catcode`\_=12
\PlotFrameB}

\begin{document}


\PlotFrame{File_1.png}
\PlotFrame{File_2.png}
...
\PlotFrame{File_n.png}

\[ a_b \]

\end{document}

_这将暂时改变参数中的catcode 。

相关内容