Abbildung (aus Makro) mit Unterstrich in Dateinamen einbinden

Abbildung (aus Makro) mit Unterstrich in Dateinamen einbinden

Ich habe ein System, bei dem .texaus einem Programm eine generiert wird. Die endgültige .texDatei hat eine (vereinfachte) Struktur wie diese:

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



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

Nun - wenn ich das kompiliere, pdflatexbeschwert es sich bei \PlotFrame{File_n.png}Anweisungen; wegen des Unterstrichs. Leider habe ich keine Kontrolle über die Dateinamen. Irgendwelche Vorschläge, wie ich die aktuelle Struktur mit dem \PlotFrame{}Befehl beibehalten und ihn Argumente mit Unterstrich akzeptieren lassen könnte?

Ich würdestarkziehe es vor, nicht mit entkommen zu müssen \_.

Antwort1

Sie können ein zusätzliches Makro wie folgt definieren:

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

Dadurch wird der Catcode _im Argument vorübergehend geändert.

verwandte Informationen