Sphinx用numref引用表格执行make latexpdf报undefined label错误怎么解决
解决步骤
- 第一步清理编译缓存:执行
make clean删除历史编译产物,再重新运行make latexpdf,绝大多数缓存导致的标签识别异常都可以通过该方法解决。 - 补全conf.py的numfig配置:你当前注释了
numfig_format参数,该参数不是布尔值,需要明确指定各类元素的编号格式,修改配置如下:
numfig = True numfig_format = { 'table': '表 %s', 'figure': '图 %s', 'code-block': '代码块 %s' } numfig_secnum_depth = 1
如果需要英文编号前缀,把表改为Table即可。
- 检查标签与引用的位置关系:部分低版本Sphinx不支持前置引用,如果你把引用语句写在了对应标签
.. _tab-wave-breaking:的前面,可以将引用移动到表格定义的下方。 - 手动编译LaTeX文件排查:如果上述操作都无效,可以进入
_build/latex目录,连续执行3次xelatex 你的项目文件名.tex,交叉引用需要多次编译才能正确生成,执行后查看生成的PDF中引用是否正常,同时确认是否有其他LaTeX编译错误导致标签生成失败。
内容的提问来源于stack exchange,提问作者H__H
相关产品推荐
相关产品推荐

