我可以引用另一个rst文档的标头并在保留在同一文件页面的同时保留该标头吗?

问题描述 投票:0回答:1

我正在使用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

enter image description here

正如您在下面的第一个链接(:ref :)中看到的那样,保留给定的标题,但是如果单击它,它将进入隔离页面。第二个链接不保留标题给定的标题,而是使用实际的引用,但是如果单击它,它将保留在同一页面上并在文档中移动。

下面是两个图像,当使用:ref:时,它将页面作为独立的第一个文件加载。

enter image description here

我希望链接向下滚动,就像在文档中一样。enter image description here

python-sphinx restructuredtext
1个回答
0
投票

如果我了解您想要的内容,则可以将目标及其标头从包含的文件移动到主文件中。

.. 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错误。

© www.soinside.com 2019 - 2024. All rights reserved.