.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}
_
这将暂时改变参数中的catcode 。