Python 覆盖sphinx/docutils中的默认字段名限制

Python 覆盖sphinx/docutils中的默认字段名限制,python,python-sphinx,restructuredtext,docutils,Python,Python Sphinx,Restructuredtext,Docutils,我正在使用生成项目的html文档。我广泛使用 生成html时,如果标签长度最多为14个字符,则每个标签/值对将呈现为一个包含两个单元格的表行 如果一对的标签长度超过14个字符,则标签/值将呈现为两个表行 我希望将包装限制增加到更大的值(例如40)。我发现限制由docutils的--字段名限制选项控制。但是,我找不到如何通过sphinx设置此值 我在文档根目录中创建了一个docutils.conf文件,其中包含以下内容: [general] dump_settings: 1 dump_intern

我正在使用生成项目的html文档。我广泛使用

生成html时,如果标签长度最多为14个字符,则每个标签/值对将呈现为一个包含两个单元格的表行

如果一对的标签长度超过14个字符,则标签/值将呈现为两个表行

我希望将包装限制增加到更大的值(例如40)。我发现限制由docutils的
--字段名限制
选项控制。但是,我找不到如何通过sphinx设置此值

我在文档根目录中创建了一个
docutils.conf
文件,其中包含以下内容:

[general]
dump_settings: 1
dump_internals: 1

[html4css1 writer]
field_name_limit: 40
当我运行sphinx时,文件被读取。由于
[常规]
部分中的值,设置和内部构件被打印出来。在打印的值中,
字段\u name\u limit
打印为值
40
。尽管如此,我描述的包装仍然出现在html输出中


如何设置
field\u name\u limit
的值以获得所需的输出?

我认为您的方法不起作用,因为sphinx使用自己的html编写器

不过,我认为如果您调整
字段名称的样式,它应该会起作用。
我(曾经)使用自定义css文件

.field-name {
    white-space: nowrap;
}

或者将其设置为固定宽度。

如果没有异议,Sphinx-1.2将为html编写器支持docutils.conf。

一种方法是覆盖扩展原始html生成器的自定义sphinx builder类中的设置,并在
prepare\u writing(self,docnames)
函数中设置
self.settings.field\u name\u limit=0
。也就是说,这有点过分了,除非您已经有了自定义的生成器类…

FWIW,在Sphinx版本v 1.6.6中,遵循docutils.conf中的设置。在Sphinx 1.6.6中,由于编写器在两个不同的表行中呈现字段名和值,因此该方法不可行。这不起作用,因为包装是在docutils html编写器中实现的,它会生成不同的html元素,请参阅: