【问题标题】:Automatic generation of index from label and ref从标签和参考自动生成索引
【发布时间】:2020-09-25 10:19:28
【问题描述】:

是否可以让 Sphinx 根据现有标签和文本中的:ref: 生成索引?说如果你有标签:

.. _my_label:

My Section 

后来通过多个:ref:`my_label` 引用它,有没有办法获得相当于自动生成的:

.. index:: My Section

标签在哪里,和:ref:所在的段落前面一样吗?

官方文档没有将标签或:ref: 列为index-generating markup,我找不到任何扩展名。但也许有一个?

【问题讨论】:

  • 您是否尝试在 _my_label 上方堆叠索引指令?
  • 当然,手动添加索引指令就可以了。我对从标签和参考自动生成感兴趣。
  • 根据定义,这不是索引。目录就是您所描述的,由toctree 指令控制。我不知道有任何 Sphinx 扩展可以满足您的需求。

标签: python-sphinx restructuredtext


【解决方案1】:

有一个Sphinx extensions 的官方列表,Github 上有一些非官方扩展的列表,但它们都没有实现问题中指定的功能。

与问题中指定的问题最接近的方法是使用autosectionlabel 自动创建具有部分名称的目标标签,并在reST 部分旁边放置:index:.. index:: 以将其放置在指数。但是,这只会省去声明标签的麻烦,仍然需要声明索引条目。

您要求的功能(指令)除了编写更少的一行或一块 reST 代码(.. index:: 指令或:index: 角色)之外,几乎没有什么实际收益,无论是用于部分还是目标。

Sphinx 是开源的,将允许为此实现自定义指令,但是使用非标准指令仅旨在通过单个结构缩短标准语法,这会给源代码的读者带来更多的困难而不是收益。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多