Включить рисунок (из макроса) с подчеркиванием в имя файла

Включить рисунок (из макроса) с подчеркиванием в имя файла

У меня есть система, где a .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}

Это временно изменит код _в аргументе.

Связанный контент