如何在 Pygments 突出显示的 Sphinx 代码片段的 HTML 输出中设置选项卡宽度?默认情况下它是烦人的 8,但我想要 4。在 Sphinx conf.py 中没有找到有关此设置的信息。
问问题
2173 次
3 回答
3
在您的 conf.py 中添加类似这样的内容:
import re
def process_docstring(app, what, name, obj, options, lines):
spaces_pat = re.compile(r"( {8})")
ll = []
for l in lines:
ll.append(spaces_pat.sub(" ",l))
lines[:] = ll
def setup(app):
app.connect('autodoc-process-docstring', process_docstring)
另请参阅 Sphinx Docstring 预处理文档。
于 2012-10-02T23:02:08.577 回答
0
您将需要编写一个 Sphinx 扩展。添加您的自定义 Lexer,并使用VisibleWhitespaceFilter应用它。
于 2009-11-08T15:49:49.090 回答
0
我在 sphinx-dev 组上问了同样的问题,结果发现这是 Sphinx 使用的 Docutils 的问题。Docutils 用 8 个空格替换所有制表符,目前无法从 Sphinx 更改该值。
http://groups.google.com/group/sphinx-dev/browse_thread/thread/35b8071ffe9a8feb
唯一可行的解决方案似乎是在对我的问题的评论中遵循 S.Lott 和 John Paulett 的建议——使用空格而不是制表符。
于 2009-11-30T09:51:16.580 回答