我正在使用sphinx,并创建了多个rst文件来整理我的文档。我使用.. include:: <filepath/filename.rst>
将多个rst文件包含到一个配置文件中,但是当使用:ref:`<reference>`
时,这会保留文件名标头标签,但是当我单击链接时,它会将页面隔离开,但是我希望它滚动到同一页面中的引用。当我使用<reference>_
时,它将滚动到同一文档中的区域,但不再保留标题标签。有没有办法让参考标头标签保持不变并在同一页面内滚动,同时仍将文档保留在不同文件中?
index.rst
Welcome to testing's documentation!
===================================
.. toctree::
:maxdepth: 2
:caption: Contents:
test/config
test / config.rst
.. title:
Hello moto
==========
Using ref maintains header
* :ref:`ref-nested`
Using underscore doesn't maintain header
- nested_
.. include:: nested_test/file.rst
.. include:: nested_test/anotherfile.rst
test / anotherdir / file.rst
.. _nested:
I'm a nested header
-------------------
Hi I'm the created nested header
test / anotherdir / anotherfile.rst
.. _ref-nested:
I'm the ref nested header
-------------------------
I'm the ref nested header
正如您在下面的第一个链接(:ref :)中看到的那样,保留给定的标题,但是如果单击它,它将进入隔离页面。第二个链接不保留标题给定的标题,而是使用实际的引用,但是如果单击它,它将保留在同一页面上并在文档中移动。
下面是两个图像,当使用:ref:
时,它将页面作为独立的第一个文件加载。
如果我了解您想要的内容,则可以将目标及其标头从包含的文件移动到主文件中。
.. title:
Hello moto
==========
Using ref maintains header
* :ref:`ref-nested`
Using underscore doesn't maintain header
- nested_
.. _nested:
I'm a nested header
-------------------
.. include:: nested_test/file.rst
.. _ref-nested:
I'm the ref nested header
-------------------------
.. include:: nested_test/anotherfile.rst
这还有一个额外的好处,如果您将包含的文件包含在多个文件中,那么您可以指定唯一的目标并避免Sphinx错误。