如何在Pygments突出显示的Sphinx代码段的HTML输出中设置标签宽度? 默认情况下这是烦人的8,但我想要4。 在Sphinx conf.py中找不到关于此设置的字词。
答案 0 :(得分:2)
将这样的内容添加到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 preprocessing文档。
答案 1 :(得分:0)
您需要编写Sphinx扩展程序。 Add your custom Lexer,并将其应用于VisibleWhitespaceFilter。
答案 2 :(得分:0)
我在sphinx-dev小组问了同样的问题,结果发现这是Sphinx使用的Docutils的一个问题。 Docutils用8个空格替换所有选项卡,目前无法从Sphinx更改该值。
http://groups.google.com/group/sphinx-dev/browse_thread/thread/35b8071ffe9a8feb
唯一可行的解决方案似乎是遵循S.Lott和John Paulett对我的问题的评论中的建议 - 使用空格而不是制表符。