Sphinx for Python中函数或类的交叉引用文档

Sphinx for Python中函数或类的交叉引用文档,python,python-sphinx,autodoc,cross-reference,Python,Python Sphinx,Autodoc,Cross Reference,我想在一个解释性文档中,引用一个Python类的文档,稍后再引用它的构造函数。假设有一个文件 #MyLib/MyClass.py 类别MyClass: “课堂介绍” 定义初始化(参数): “:param paramX:Xes输出内容” 还有我的rst文件 #MyLib/docs/source/MyDoc.rst 一些文本,其中:ref:`here`是我对“课堂介绍”的引用 and:ref:`there`跟随我对_init__方法文档的引用 如何使引用正常工作:Sphinx文件中需要如何和在何

我想在一个解释性文档中,引用一个Python类的文档,稍后再引用它的构造函数。假设有一个文件

#MyLib/MyClass.py
类别MyClass:
“课堂介绍”
定义初始化(参数):
“:param paramX:Xes输出内容”
还有我的rst文件

#MyLib/docs/source/MyDoc.rst
一些文本,其中:ref:`here`是我对“课堂介绍”的引用
and:ref:`there`跟随我对_init__方法文档的引用
如何使引用正常工作:Sphinx文件中需要如何和在何处包含Python文件,以及如何定义(在Python文件中)和解析(在rst文件中)引用?预期输出如下所示:

Some text where <link to documentation of class _MyClass_>...
 and 
    'class MyClass
        def __init__(paramX):
           paramX: Xes out things'
一些文本,其中。。。
及
“我的班级”
定义初始化(参数):
paramX:Xes把事情弄清楚了

如前所述,括号中包含指向文档的链接,文档本身出现在rst文件中分别由
:ref:`here`
:ref:`there`
引用的“and”之后。

来自问题中的示例模块
ref\u constructor.py

class-MyClass:
“课堂介绍。”
定义初始化(参数):
“”构造函数的文档字符串。
:param paramX:Xes输出内容。
:type paramX:str
"""
使用reST文件
ref\u constructor.rst
注意选择适当的角色,在这种情况下
:class:
:meth:

对类构造函数的引用
------------------------------
.. automodule::ref\u构造函数
.. 这里开始反文档。
其中的一些文本:class:`ref_constructor.MyClass`是我对“类简介”的引用
和:meth:`ref\u constructor.MyClass.\uuu init\uuuuuu`遵循我对uuu init\uuuu方法文档的引用。
其中:class:`MyClass`是我对“课堂介绍”的引用
和:meth:`MyClass.\uuuu init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。
您可以根据上下文使用完全限定名或缩写形式编写交叉引用

此标记中包含的名称可以包括模块名和/或类名。例如,
:py:func:`filter`
可以引用当前模块中名为filter的函数,也可以引用该名称的内置函数。相比之下,
:py:func:`foo.filter`
显然是指foo模块中的filter函数

结果


See已经尝试过了,但是id只显示方法的名称,没有显示文档,也没有提供任何类型的链接。我提供了一个示例,但经过编辑,希望能让事情变得更清楚。如果这还不够的话,我明天可以抽出一些时间建立一个完整的工作示例,其中包含所有需要的文件。我希望在没有这些的情况下它会很清楚,如果不是这样的话,请原谅。我想您可能正在寻找autosummary或autodoc来生成一个包含有关您的类的信息的页面:。要引用它,请使用
:py:class:
进行交叉引用(请注意,您通常可以将其设置为
py
是隐式的,您只需使用
:class:
这就是我要找的,谢谢!现在我知道了,我很快在sphinx文档中找到了它。不知道为什么我以前不能。非常感谢。如果您将其重新编写为答复,我可以将其标记为“已解决”.我现在也知道为什么上面的链接没有变成参考。