Incluir figura (da macro) com sublinhado no nome do arquivo

Incluir figura (da macro) com sublinhado no nome do arquivo

Eu tenho um sistema onde a .texé gerado a partir de um programa. O arquivo final .texpossui uma estrutura (simplificada) como esta:

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



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

Agora - ao compilar isso, pdflatexele reclama das \PlotFrame{File_n.png}declarações; por causa do sublinhado. Infelizmente não tenho controle sobre os nomes dos arquivos. Alguma sugestão de como eu poderia manter a estrutura atual com o \PlotFrame{}comando - e deixá-la aceitar argumentos com sublinhado?

Eu poderiafortementeprefiro não ter que escapar com \_.

Responder1

Você pode definir uma macro adicional como esta:

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

Isso alterará temporariamente o código de gato _no argumento.

informação relacionada