在Python Sphinx中使用toctree时,防止子节嵌套。

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

我在构建Sphinx用户指南时遇到了一个问题。我想通过一个主页面(index.rst)来形成一个章节,其中包含章节标题和概述,然后在不同的文件(part1.rst, part2.rst)中包含单独的子部分。我试图使用 "toctree "来插入单独的子部分,但我遇到了一个嵌套问题,我的toctree被吸进了我的概述部分。(注意:我没有使用 "toctree "来插入单独的子节,但我遇到了嵌套问题,我的toctree被吸进了我的概览部分。..include:: 指令,因为我希望在不同的网页上按顺序链接显示子节。我也希望结构正确,这样它们在pdf渲染版的UG中就会有很好的布局)。)

索引.rst

Chapter 3                                                
===============================                                                 

Overview                                                                        
--------                                                                        

Yadda yadda yadda.

.. toctree::                                                                    
   :hidden:                                                                     

   part1                                                                        
   part2

part1.rst

Part 1
------

This part is all about yadda.

part2.rst

Part 2
------

More yadda.

我希望得到的结构是。

Chapter 3
  - overview
  - part 1
  - part 2

但我得到的是

Chapter 3
  - overview
    - part 1
    - part 2

我在文件底部包含的toctree似乎属于 "概述 "部分,而不是在主章上下文下运行。我试着把toctree插入到文件的顶部,但是我得到了这样的排序。

Chapter 3
  - part 1
  - part 2
  - overview

似乎一定有办法可以正确地做到这一点 但我在Sphinx网站上和SO上都没有找到任何方法。感谢任何帮助。

python python-sphinx restructuredtext toctree
1个回答
4
投票

我也遇到了同样的问题,但找不到一个好的解决方案。 唯一的选择似乎是要么删除小标题(上面例子中的 "概述"),要么将其标记为rubric,例如:"概述"。

.. rubric:: Overview

这意味着它不会被包含在TOC中。 应该可以对擦边球进行样式设计,使它看起来像一个小标题,但这样做感觉有点像黑客。

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