R bookdown多作者场景pdf_book编译出现LaTeX Counter too large错误
问题原因
! LaTeX Error: Counter too large. 报错的核心原因是:bookdown::pdf_book 默认使用LaTeX的符号命令 \fnsymbol 作为作者附属机构/注释的上标标记,该命令内置最多仅支持9种不同符号,你配置了12位作者,超出计数器上限就触发了报错,而HTML输出格式没有符号数量限制因此运行正常。
另外你当前YAML中bookdown::pdf_book下的toc_float: true是HTML格式专属参数,PDF输出不支持该配置,建议删除避免冗余警告。
解决方案
你可以任选以下两种方法之一修复问题:
方法1:将上标标记改为阿拉伯数字(最稳定,无数量限制)
在YAML的header-includes配置块中添加两行命令即可,修改后的header-includes示例如下:
header-includes: - \usepackage{booktabs} - \usepackage{longtable} - \usepackage{array} - \usepackage{multirow} - \usepackage{wrapfig} - \usepackage{float} - \usepackage{colortbl} - \usepackage{pdflscape} - \usepackage{tabu} - \usepackage{threeparttable} - \usepackage{threeparttablex} - \usepackage[normalem]{ulem} - \usepackage{makecell} - \usepackage{xcolor} - \usepackage{float} - \usepackage{chngcntr} - \counterwithin{figure}{section} # 新增以下两行 - \renewcommand{\thefootnote}{\arabic{footnote}} - \let\thanks\footnote
方法2:扩展符号标记的数量上限
如果你希望保留符号样式的上标,可以加载footmisc包扩展符号数量上限,最多支持16个符号,足够你当前12位作者的需求,新增的配置如下:
header-includes: # 在原有配置基础上新增以下一行 - \usepackage[morefootnoteSymbols]{footmisc}
同时修改bookdown::pdf_book的配置,删除不支持的toc_float参数:
bookdown::pdf_book: toc: true number_sections: true
修改完成后重新编译即可正常生成PDF文件。
内容的提问来源于stack exchange,提问作者Camchou
相关产品推荐
相关产品推荐

