python-sphinx - 如何在 Sphinx 中确保正确的智能报价?
问题描述
我正在尝试使用 Sphinx 从重组文本中生成一些 HTML。如果我的源代码包含直单引号之间的内容,Sphinx 几乎总是会给我对齐的引号,但有一些例外。例如,如果输入是'X'
我预期的“X”,但如果是'-'
,我会看到“-”。
有没有办法让 Sphinx 正确地做到这一点,即 '-' ?
我尝试转义引号和/或连字符但没有成功。
使用 Sphinx 2.2.1、Debian 10。
index.rst的内容
Smart Quotes
============
* 'X'
* '_'
* '-'
* 'K'.
conf.py的内容
# -- Project information -----------------------------------------------------
project = 'Smart Quotes'
copyright = '2019, '
author = 'P'
# The full version, including alpha/beta/rc tags
release = '1'
构建命令:
sphinx-build . _build/html
它会是什么样子:
请注意,破折号上的第二个引号看起来与其他示例不同。
解决方案
我建议在 Sphinx 中提交问题报告。这对我来说似乎是一个错误,尽管它可能是底层docutils 库的实用程序 smartquotes中的一个错误。
也就是说,有一种解决方法。使用下面的 reStructuredText 示例。
Smart Quotes On
===============
* '-'
* ‘-’
* "-"
* “-”
如果您必须启用智能引号,那么您可以使用文字智能引号来获得正确的印刷解释。
conf.py
我更喜欢在我的 with中禁用智能引号,smartquotes = False
并在需要时使用文字印刷字符。
最后,尽管您可以使用 em-dash、en-dash 或其他破折号字符而不是连字符来使未经训练的人在视觉上看起来是正确的,但这会将一个印刷错误替换为另一个。
推荐阅读
- visual-studio-2017 - 在我的解决方案资源管理器中,这些黄色感叹号是什么意思?
- django - 来自json数据的django模型中的意外关键字参数
- powershell - “无法转换 'Microsoft.UpdateServices.Commands.WsusUpdate'”是什么意思?
- c# - 如何在 Asp.Net Core 2.2 中将 [FromHeader] 属性与自定义模型绑定一起使用
- php - 我可以在 wordpress 中删除空白用户元吗?
- r - glmer 结果中的因子水平下降
- html - 添加变换/动画元素会导致工具提示被其他元素重叠
- r - 从矩阵绘制 3D 条形图
- react-native - TypeError:TypeError:未定义不是对象(评估'theme.label')错误
- sql - 为什么第一个 sql 查询比第二个运行得快很多?