LaTeX中\input命令在\footnote可用但在\thanks中报错求助
解决LaTeX中
\title里\thanks调用\input报错的问题 问题根源
LaTeX的\title命令属于**移动参数(moving argument)**范畴,其内容会被存入辅助文件(.aux),用于后续生成页眉、目录等场景。直接在\thanks内部使用\input{acknowledgements.tex}时,\input的展开逻辑与移动参数的安全处理机制冲突——即使添加\protect或使用footmisc包的stable选项,也无法完全规避展开时机引发的错误(这类方法仅对章节标题等移动参数场景有效)。
解决方案:提前定义受保护宏存储致谢内容
把\input的调用提前封装到一个受保护的宏中,再在\thanks里调用这个宏,就能绕开移动参数的展开限制。
示例代码
主文件(paper1.tex)
\documentclass{article} % 用受保护的宏封装致谢内容的输入 \protected\def\acknowledgementtext{% \input{acknowledgements.tex}% } \begin{document} \title{My Title\thanks{\acknowledgementtext}} \author{Your Name} \maketitle 正文内容示例... % 正文中也可复用该宏 \footnote{\acknowledgementtext} \end{document}
共享致谢文件(acknowledgements.tex)
感谢XYZ基金会的资金支持,以及匿名审稿人的宝贵建议。
原理说明
\protected修饰的宏会被LaTeX视为“安全的移动内容”,在存入辅助文件时不会被强制展开,避免了\input直接在移动参数中引发的错误。- 封装后的宏可以在正文
\footnote、章节标题等场景复用,完美实现致谢内容的统一维护。
内容的提问来源于stack exchange,提问作者Moritz Poll
相关产品推荐
相关产品推荐

