使用Pandoc转Markdown为PDF时,带前置数字标题的交叉引用失效问题
Pandoc带前置数字标题的交叉引用修复方案
问题核心:Pandoc转PDF时会自动规范化标题锚点,前置数字开头的标题,其生成的锚点和手动写的
#1-paragraph不匹配,导致跳转失效。推荐解决方案:自定义锚点标签(最可靠)
在标题后添加{#自定义标签}属性,引用时直接使用该标签:Take me to the [first paragraph][para1] ## 1 Paragraph {#para1}转换命令无需额外配置(Pandoc默认支持
link_attributes扩展):pandoc input.md -o output.pdf这种方式不受标题内容影响,锚点完全由你控制,后续修改标题也不用调整引用链接。
备选方案:匹配Pandoc自动生成的锚点
Pandoc对## 1 Paragraph生成的锚点是#paragraph(移除开头数字和空格),直接使用该锚点即可:Take me to the [first paragraph](#paragraph) ## 1 Paragraph缺点是锚点依赖Pandoc的生成规则,标题内容变动后可能需要同步修改引用。
提示:如果是基于LaTeX引擎生成PDF,自定义锚点的方式兼容性最好,不会出现锚点冲突或失效问题。
内容的提问来源于stack exchange,提问作者krebbl
相关产品推荐
相关产品推荐

