将 \input 命令的内容传递给宏

将 \input 命令的内容传递给宏

我对 LaTeX 的扩展有些困难。我想在将命令的内容\input传递给宏之前对其进行扩展,其模式类似于以下内容:

\outer{\inner}

本质上,我想要做的是\inner在运行宏()之前扩展宏(\outer)的内容,模式类似于以下:

\macro{\input{../path/to/file.tex}}

\input必须运行命令引用的文件\macro才能正常运行,但目前它返回的错误与未运行文件时相同\macro

我一直尝试应用多种扩展方法,但都没有成功。据我所知,将在之前\expandafter\a\b扩展。我想使用宏的内容实现类似的效果。\b\a

答案1

 \expandafter\outer\expandafter{\inner}

是(原文:-)标题中问题的字面答案,但我不确定它是否会做任何有用的事情,因为\input它(在其乳胶版本中)不能仅通过扩展来实现。

你的意思是将文件的所有内容传递给宏吗?

如果您确实想获取文件的内容,那么这会非常棘手,该catchfile软件包正好解决了这个问题。

相关内容