Ich habe ein System, bei dem .tex
aus einem Programm eine generiert wird. Die endgültige .tex
Datei 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, pdflatex
beschwert 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.