Tengo un sistema de donde .tex
se genera a partir de un programa. El archivo final .tex
tiene una estructura (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}
Ahora, al compilar esto, pdflatex
se queja de \PlotFrame{File_n.png}
las declaraciones; debido al guión bajo. Lamentablemente no tengo control sobre los nombres de los archivos. ¿Alguna sugerencia sobre cómo podría mantener la estructura actual con el \PlotFrame{}
comando y dejar que acepte argumentos con guiones bajos?
me gustaríafuertementePrefiero no tener que escapar con \_
.
Respuesta1
Puede definir una 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}
Esto cambiará temporalmente el código cat _
en el argumento.