问题中的部分布局存在几个问题:
相反,我得到的是:
用作self
目录树条目会使包含文件的最外层部分标题.rst
包含在目录树条目的该行中。该self
条目不会呈现子节或兄弟节,只会呈现最外层的节标题。这违背了目录树条目的通常属性。
在问题的示例中可以立即注意到上述两个结果:
title
并且development
被错误地呈现为在节层次结构中的同一级别。当一个.rst
文件包含在一个 toctree 中时,它的节被放置在节层次结构中声明 toctree 指令的节的下方。
title
.rst
如果包含放置在外部目录树中,将重复两次,因为在不同的级别。
对应title.rst:
=====
Title
=====
Subsection
----------
Some documentation.
Contents
--------
.. toctree::
:maxdepth: 2
self
development
对应的开发.rst:
development
===========
some text
Subsection inside development.rst
---------------------------------
对应的exterior.rst:
Exterior
========
.. toctree::
:maxdepth: 4
title
以与 toctree 指令的属性相抵触的节结构为目标并不是一个好的设计选择。根据问题中的规范,最简单且概念上最合理的解决方案是使用contents
指令列出给定.rst
文档中的部分。
我希望在 TOC 中看到的是:
最简单的选择是使用单独的文件title.rst
并将development.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>`
对应的开发.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 问题的位置,而不能完全解决它们。