本地编译Overleaf导出项目报错:Argument of "?" has an extra } \end{titlepage}
统一文件编码:Overleaf默认使用UTF-8编码,本地Windows环境若文件编码为GBK或其他格式,会导致特殊字符(如示例中的英文单引号
’)被解析为乱码,触发语法错误。将所有.tex文件转换为UTF-8编码(VSCode可通过右下角编码选项修改,TeXStudio在设置中指定默认编码为UTF-8)。清理编译缓存:本地编译生成的
.aux、.log、.toc等临时文件可能残留错误信息,导致编译逻辑混乱。手动删除项目目录下所有非源文件的临时文件,或使用TeXStudio的「清理辅助文件」功能后重新编译。检查宏包依赖与版本:
\RaggedRight需要加载ragged2e宏包,\setstretch依赖setspace宏包,确认主文件中是否正确引入\usepackage{ragged2e}和\usepackage{setspace}。此外,Overleaf的TeX版本可能与本地TeX Live 2022存在差异,若版本兼容问题突出,可尝试更新TeX Live到最新版本。修复条件编译语法:示例代码中
\ifdefined\school的嵌套结构缺少闭合的\fi——内层\ifdefined\department的\fi仅闭合了自身,外层\ifdefined\school未匹配对应的\fi,这会导致TeX解析时语法结构混乱,触发括号不匹配错误。需在条件编译块末尾添加额外的\fi。逐步简化代码排查:将titlepage部分代码分段注释,比如先注释Declaration段落,再注释条件编译块,每次编译观察错误是否消失,定位具体触发错误的代码段。例如,先替换
\section*{\RaggedRight Declaration}为普通文本,排查命令嵌套是否存在问题。
内容的提问来源于stack exchange,提问作者kolega28

