%20%D1%81%20%D0%BF%D0%BE%D0%B4%D1%87%D0%B5%D1%80%D0%BA%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%D0%BC%20%D0%B2%20%D0%B8%D0%BC%D1%8F%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0.png)
У меня есть система, где a .tex
генерируется из программы. Окончательный .tex
файл имеет (упрощенную) структуру, подобную этой:
\newcommand{\PlotFrame}[1]{%
\begin{frame}
\frametitle{...}
...
...
\includegraphics{#1}
\end{frame}}
\PlotFrame{File_1.png}
\PlotFrame{File_2.png}
...
\PlotFrame{File_n.png}
Теперь - при компиляции этого с pdflatex
ним жалуется на \PlotFrame{File_n.png}
операторы; из-за подчеркивания. К сожалению, у меня нет контроля над именами файлов. Есть предложения, как я могу сохранить текущую структуру с командой \PlotFrame{}
- и позволить ей принимать аргументы с подчеркиванием?
Я бысильнопредпочитаю не избегать этого \_
.
решение1
Вы можете определить дополнительный макрос следующим образом:
\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}
Это временно изменит код _
в аргументе.