我若干年前遇到过类似问题,当时 bookdown 作者给出的解决方案是给所有中文标题 "手动"加上 id. 目前楼主的项目中,似乎只有 1 级标题有手动加 id.
另一个可能的解决方案:
config:
toc:
collapse: section
这个设置下,侧边栏默认只显示章节名,只有先点击进入章节,侧边栏才显示章节下对应的 section/subsection. 此时的跳转应该是正确的, 因为楼主的项目使用的应该是默认设置 split_by: chapter, 每个章节对应一个 html 文件, 章节内部可以通过在 URL 最后加上 #中文id 的方式实现跳转。