为了将文件中的数据输入到环境中,必须使用tabular
TeX 宏(参见\@@input
这个问题),因为\input
不可扩展。为什么不能更改包含在 beamer 框架中的表格中的 catcode,例如
\documentclass{beamer}
\begin{document}
\begin{frame}
\begin{tabular}{c}
\makeatletter \@@input file \makeatother
\end{tabular}
\end{frame}
\end{document}
虽然这不会产生任何错误,但它只输出@input file
。
为什么我必须使用\csname @@input\endcsname file
(见 David Carlisle 的回答这个问题)?
答案1
无论如何,我不建议@
在文档正文中使用-commands。
如果您打算使用\@@input
,请添加
\makeatletter
\newcommand{\tableinput}[1]{\@@input #1 }
\makeatother
到你的文档序言和使用
\tableinput{file}
在文档中。
请注意,这将在其他情况下创建虚假空间。