我可以在同一文件页面中引用另一个第一个文档中的 header 并保持 header 吗?
Can I reference a header from another rst document and maintain the header while staying in the same file page?
我正在使用 sphinx 并创建了多个第一个文件来组织我的文档。我使用 .. include:: <filepath/filename.rst>
将多个第一个文件包含到一个配置文件中,但是当使用 :ref:`<reference>`
时,这会保留文件名 header 标签,但是当我单击 link 时,它会隔离页面但是我希望它滚动到同一页中的参考。当我使用 <reference>_
时,这将滚动到同一文档中的区域,但不再保留 header 标签。有没有一种方法可以保留参考 header 标签并在同一页面内滚动,同时仍将文档保留在不同的文件中?
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
正如您在下面看到的,第一个 link(:ref:) 保留给定的 header,但如果您单击它,它将转到一个单独的页面。第二个 link 不保留 header 给出但使用实际参考,但如果单击它,它将保留在同一页面上并在文档中移动。
下面是两张图片,当使用 :ref:
时,它会将页面加载为单独的第一个文件。
我希望 link 像在文档中一样向下滚动。
如果我明白你想要什么,你可以将目标及其 header 从包含文件移动到主文件中。
.. 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 错误。
我在此处的另一个堆栈溢出问题上找到了我想要的答案。如果它在同一个文件中,我不必使用 include 创建引用,我可以引用标题本身。请参阅 link 并查看@Baleb 的回答。
我正在使用 sphinx 并创建了多个第一个文件来组织我的文档。我使用 .. include:: <filepath/filename.rst>
将多个第一个文件包含到一个配置文件中,但是当使用 :ref:`<reference>`
时,这会保留文件名 header 标签,但是当我单击 link 时,它会隔离页面但是我希望它滚动到同一页中的参考。当我使用 <reference>_
时,这将滚动到同一文档中的区域,但不再保留 header 标签。有没有一种方法可以保留参考 header 标签并在同一页面内滚动,同时仍将文档保留在不同的文件中?
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
正如您在下面看到的,第一个 link(:ref:) 保留给定的 header,但如果您单击它,它将转到一个单独的页面。第二个 link 不保留 header 给出但使用实际参考,但如果单击它,它将保留在同一页面上并在文档中移动。
下面是两张图片,当使用 :ref:
时,它会将页面加载为单独的第一个文件。
我希望 link 像在文档中一样向下滚动。
如果我明白你想要什么,你可以将目标及其 header 从包含文件移动到主文件中。
.. 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 错误。
我在此处的另一个堆栈溢出问题上找到了我想要的答案。如果它在同一个文件中,我不必使用 include 创建引用,我可以引用标题本身。请参阅 link 并查看@Baleb 的回答。