Python sphinx 未知自定义解释文本角色警告

Python sphinx 未知自定义解释文本角色警告,python-sphinx,restructuredtext,Python Sphinx,Restructuredtext,在我的Sphinx文档实例中,我有: 在我的conf.py文件的末尾: 在某些.rst文件中: 但这不起作用,因为make html返回: 警告:未知的解释文本角色LaTeXLogo 我遗漏了什么吗?你必须区分4个方面:角色、指令、域和选项 标点符号以简短的语法区分它们:角色:和。。指令::。完整语法,不省略域:域:角色:和。。域:指令::。最后,选项在指令下使用,在角色下使用频率较低: 或 那么什么是域呢?大多数情况下,它指的是编程语言的上下文,该上下文具有特定于它的指令。请注意,的文档中的侧

在我的Sphinx文档实例中,我有:

在我的conf.py文件的末尾:

在某些.rst文件中:

但这不起作用,因为make html返回:

警告:未知的解释文本角色LaTeXLogo


我遗漏了什么吗?

你必须区分4个方面:角色、指令、域和选项

标点符号以简短的语法区分它们:角色:和。。指令::。完整语法,不省略域:域:角色:和。。域:指令::。最后,选项在指令下使用,在角色下使用频率较低:

那么什么是域呢?大多数情况下,它指的是编程语言的上下文,该上下文具有特定于它的指令。请注意,的文档中的侧栏分为多个域

话虽如此,让我们看看所述问题:

在我的conf.py文件的末尾:

rst_序言= .. 角色::LaTeXLogo 我们立即注意到三件事:

使用的标点符号用于指令,而不是角色。 如果您检查or和的列表,则没有名为LaTeXLogo的指令。。。 ... 你也不会写:role:因为每个角色都有一个名字,所以:role:这个词只用于一般的例子。 接下来我们来看第二个示例:

在某些.rst文件中:

现在我们注意到:

使用的语法用于角色。 在前面的示例中,LaTexLogo是。。。 ... 它现在扮演收割者的角色。 总之,使用上述内容的唯一情况是自定义解释文本角色,这些角色在中具有简短的语法描述。如果我们深入研究,将在中给出一般说明,并在中给出更具体的定义,其中存在使用小写的限制:

为角色在docutils/parsers/rst/languages/en.py中的角色字典中添加一个条目,将英文名称映射到规范名称(小写)。 大多数StructuredText的用户可能不需要这种复杂性。它已经远远超过了初学者的水平,接近docutils解析器的DTD定义。如果您最后查看自定义属性类型,则进一步的规范将解释您遇到的错误:

在StructuredText中,可以使用。。。自定义解释文本角色。Docutils通过标识符规范化将它们规范化,以符合HTML4.1和CSS1.0名称要求以及正则表达式a-z*


你必须区分4件事:角色、指令、域和选项

标点符号以简短的语法区分它们:角色:和。。指令::。完整语法,不省略域:域:角色:和。。域:指令::。最后,选项在指令下使用,在角色下使用频率较低:

那么什么是域呢?大多数情况下,它指的是编程语言的上下文,该上下文具有特定于它的指令。请注意,的文档中的侧栏分为多个域

话虽如此,让我们看看所述问题:

在我的conf.py文件的末尾:

rst_序言= .. 角色::LaTeXLogo 我们立即注意到三件事:

使用的标点符号用于指令,而不是角色。 如果您检查or和的列表,则没有名为LaTeXLogo的指令。。。 ... 你也不会写:role:因为每个角色都有一个名字,所以:role:这个词只用于一般的例子。 接下来我们来看第二个示例:

在某些.rst文件中:

现在我们注意到:

使用的语法用于角色。 在前面的示例中,LaTexLogo是。。。 ... 它现在扮演收割者的角色。 总之,使用上述内容的唯一情况是自定义解释文本角色,这些角色在中具有简短的语法描述。如果我们深入研究,将在中给出一般说明,并在中给出更具体的定义,其中存在使用小写的限制:

为角色在docutils/parsers/rst/languages/en.py中的角色字典中添加一个条目,将英文名称映射到规范名称(小写)。 大多数StructuredText的用户可能不需要这种复杂性。它已经远远超过了初学者的水平,接近docutils解析器的DTD定义。如果您最后查看自定义属性类型,则进一步的规范将解释您遇到的错误:

在StructuredText中,可以使用。。。自定义解释文本角色。Docutils通过标识符规范化将它们规范化,以符合HTML4.1和CSS1.0名称要求以及正则表达式a-z*


如果角色名称全部小写:latexlogo,则此选项有效。如果角色名称全部小写:latexlogo,则此选项有效。
rst_prolog = """
.. role:: LaTeXLogo
"""
:LaTeXLogo:`LaTeX`
.. domain:directive::
    :option:
:domain:role:
:LaTeXLogo:`LaTeX`