Sphinx执行make html时撇号转双引号问题:ref引用异常求助
解决Sphinx中撇号被转换为双引号的问题
我之前也踩过Sphinx渲染时撇号被错误替换成双引号的坑,尤其是和:ref:交叉引用搭配使用时,给你几个实测有效的解决思路:
方法1:全局禁用Smart Quotes功能
Sphinx默认开启的smartquotes功能会自动把直引号转换成排版类引号,但在部分场景下会出现误转换。你可以在项目的conf.py配置文件中添加以下代码来禁用它:
smartquotes = False
修改完成后重新执行make html,撇号应该就能正常显示了。
方法2:局部使用HTML实体替代撇号
如果不想全局关闭smartquotes的排版优化,可以把需要保留的撇号替换成HTML实体',比如把你的输入改成:
l':ref:`action`
这样渲染后会准确输出l'action。
方法3:用反斜杠转义单个撇号
在需要保留的撇号前添加反斜杠,明确告诉Sphinx不要处理这个符号:
l\' :ref:`action`
注意转义后的撇号和:ref:之间可以留一个空格,渲染时这个空格会被自动忽略,最终得到l'action的正确效果。
优先推荐方法1,这是最彻底的解决方案;如果需要保留smartquotes的其他排版功能,再用方法2或3做局部处理就好。
内容的提问来源于stack exchange,提问作者C S.
相关产品推荐
相关产品推荐

