Eu tenho um sistema onde a .tex
é gerado a partir de um programa. O arquivo final .tex
possui 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, pdflatex
ele 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.