5

ドキュメントのフロント ページのサブセクションを表示するための目次 (TOC) の取得に問題があります。

フロント ページにいくつかのセクションがあり、それらを TOC に表示したいと考えています。サブセクションの表示は、TOC に含まれる他のすべてのページでは正常に機能しますが、それ自体では機能しません。

私のindex.rstコード:

=====
Title
=====

Subsection
----------

Some documentation.

Contents
--------

.. toctree::
   :maxdepth: 2

   self
   development

TOC で期待するのは次のようなものです。

  • 題名
    • サブセクション
    • コンテンツ
  • 発達
    • サブセクション

代わりに私が得るのはこれです:

  • 題名
  • 発達
    • サブセクション

これまでに 1 つの解決策を見つけましたが、満足できるものではありません。すべてのコンテンツを別のページに配置し、ディレクティブindex.rstを使用してコンテンツを含め、別のページを TOC に配置できます。.. include:これにより目次は正しく表示されますが、重複したページが作成され、ナビゲーション (前/次のページ) に含まれるようになりました。

4

2 に答える 2

1

質問のセクション レイアウトにはいくつかの問題があります。

代わりに私が得るのはこれです:

  • 題名
  • 発達
    • サブセクション

selftoctree エントリとして使用すると、含まれているファイルの最も外側のセクション タイトル.rsttoctree エントリのその行に含まれます。エントリは、selfサブセクションまたは兄弟セクションをレンダリングせず、最も外側のセクション タイトルのみをレンダリングします。これは、toctree エントリの通常のプロパティに反します。

上記の結果として生じる 2 つの結果は、質問の例ですぐにわかります。

  • titledevelopmentセクション階層の同じレベルにあると誤ってレンダリングされます。ファイルが toctree に含まれている場合.rst、そのセクションは、セクション階層内で toctree ディレクティブが宣言されているセクションの下に配置されます。

ここに画像の説明を入力

  • title.rst包含が外部 toctree に配置されている場合、異なるレベルにあるため、2 回繰り返されます。

ここに画像の説明を入力

対応する title.rst:

=====
Title
=====

Subsection
----------

Some documentation.

Contents
--------

.. toctree::
   :maxdepth: 2

   self
   development

対応する development.rst:

development
===========

some text

Subsection inside development.rst
---------------------------------

対応するexterior.rst:

Exterior
========

.. toctree::
    :maxdepth: 4

    title


toctree ディレクティブのプロパティに反するセクション構造を目指すのは、良い設計上の選択ではありません。質問の仕様から、最も単純で概念的に健全な解決策は、contentsディレクティブ.rstを使用して、特定のドキュメント内のセクションをリストすることです。

TOC で期待するのは次のようなものです。

  • 題名
    • サブセクション
    • コンテンツ
  • 発達
    • サブセクション

最も簡単な選択は、別々のファイルを使用しtitle.rstて、 toctreedevelopment.rstの同じレベルに配置することです。index.rst

対応する index.rst:

Exterior
========

.. toctree::

    title
    development


.rst特定のファイルの内部と外部の両方の参照ツリーを作成するには、ハイパーリンク ターゲットの単純な箇条書きリストを使用するのが最善の解決策です。

ここに画像の説明を入力

対応する title.rst:

.. _target_title:

=====
Title
=====

.. _target_subsection_title:

Subsection inside title.rst
---------------------------

Some documentation.

.. _target_contents:

Contents
--------

text

- :ref:`Title <target_title>`

 - :ref:`Subsection <target_subsection_title>`

 - :ref:`Contents <target_contents>`

- :ref:`Development <target_development>`

 - :ref:`Subsection <target_subsection_development>`

対応する development.rst:

.. _target_development:

development
===========

some text

.. _target_subsection_development:

Subsection inside development.rst
---------------------------------

対応するexterior.rst:

Exterior
========

.. toctree::
    :maxdepth: 4

    title
    development


次に、.. include: ディレクティブを使用して index.rst にコンテンツを含めます。

ディレクティブを使用すると.. include::、toctree の問題が完全に解決されるわけではなく、問題の場所が変わるだけです。

于 2020-09-09T01:06:55.850 に答える