68

Sphinx 機能を使用してautodoc、Python ライブラリのドキュメント文字列に基づいてドキュメントを生成しています。

相互参照の構文はここにあります

ドキュメントの他の領域からセクションを参照できるようにするには、セクションの前にラベルを付ける必要があります。

私が持っているのは、私のクラスの 1 つの .rst (ReStructeredText) ファイルです。それは使用しています

.. autoclass:: classname
    :members:

クラスのドキュメントを生成します。

私の質問は、ドキュメント内の別の .rst ドキュメントからクラスの自動生成されたメソッドを参照するにはどうすればよいですか? メソッドの docstring 内にラベルを配置しようとすると、Sphinx が文句を言います。メソッドの見出しの前にラベルを付けようとしても、Sphinx はそれを認識しません。

これを行う簡単な方法はありますか、またはクラスファイルにメソッド名を明示的に記述し、その前にラベルを付ける必要がありますか?

[Python ドキュメント2内の参照の例を次に示します。必要なことを実行しています (確かなことはわかりませんが、autodoc 機能を使用していると想定しています)。

4

2 に答える 2

103

ラベルを追加する必要はありません。Python のクラス、メソッド、またはその他の文書化されたオブジェクトを参照するには、Python ドメインが提供するマークアップを使用します。

たとえば、次のコードはmymethodメソッドへの相互参照を定義しています。

:py:meth:`mymodule.MyClass.mymethod`

またはさらに単純です (Python ドメインがデフォルトであるため):

:meth:`mymodule.MyClass.mymethod`

質問でリンクしているドキュメントにはTextWrapper.wrap、この種の 2 つの相互参照が含まれています (reST マークアップを表示するには、[ソースを表示] をクリックしてください)。

于 2014-03-28T13:40:35.653 に答える