Sphinx中的内联索引条目?

问题描述

我有时想添加一个索引条目,但是写法不同。例如:

.. index:: bitwise operator

Bitwise operators are ...

在这种情况下,我不能使用:index:,因为我不希望索引条目具有大写字母并采用复数形式。但是,由于 anchor 或页码(对于LaTeX输出)可能是错误的,因此移动段落开头的索引条目可能会很糟糕。

是否可以在文本中包含索引条目?

例如,对于链接,我还有其他问题:

Among all other animals,one can cite the `elephant <https://wikipedia...>`_

在这里我不能真正放置索引:

Among all other animals,one can cite the `:index:`elephant` <https://wikipedia...>`_

我在粗体文本或代码方面还有其他问题,希望在适当位置轻松索引:

This text is **:index:`bold`** and this :code:`:index:`code`` is indexed...

有任何解决方法的例子吗?

编辑Steve Piercy

在此示例中,在latex输出上,粗体字tristique在从第1页开始到第2页结束的段落上,索引条目指向错误的页面。因为这个词是粗体的。我不能做:index:'tristique'

Document
========

Lorem ipsum dolor sit amet,consectetur adipiscing elit. Quisque vehicula nulla auctor sem elementum,et ultricies dolor ultricies. Cras et tortor arcu. Phasellus auctor tortor elit,eget pretium dui tincidunt vitae. Sed et erat a ipsum mollis sodales id eget lorem. Aliquam non risus malesuada,vulputate lorem in,molestie dui. Vestibulum tincidunt,metus sit amet commodo fermentum,ligula eros posuere velit,ut consectetur elit tortor ut nulla.

Nullam hendrerit et tellus molestie pretium. Pellentesque a eros nulla. Nullam lacus libero,tristique eget pulvinar ut,vulputate sed dolor. Nulla porttitor nunc luctus,lobortis risus eu,cursus enim. Proin et laoreet risus. Donec in sodales orci. Praesent eleifend ipsum at dignissim sodales. Ut et mauris est. Donec vel efficitur nulla. Phasellus hendrerit sodales ullamcorper. Aliquam accumsan feugiat eros,quis luctus risus ullamcorper vel. In et urna id massa consectetur luctus. Nullam semper neque in dictum ornare.

Suspendisse potenti. Maecenas commodo neque ac erat suscipit,eget convallis sem viverra. In viverra tempus lobortis. Proin vel pulvinar mauris,at eleifend lectus. Ut est lacus,tempus vitae porttitor congue,fringilla nec massa. Curabitur sed arcu sit amet augue facilisis hendrerit. Nullam fringilla felis non imperdiet accumsan.

Etiam faucibus efficitur lacus,vitae commodo tellus imperdiet non. Phasellus feugiat odio libero,at pharetra ex maximus interdum. Etiam sed commodo ipsum. Nam eros elit,pharetra sit amet nisi suscipit,vehicula efficitur mi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse potenti. Vestibulum gravida nunc eget dictum luctus. Suspendisse eget ligula augue. Nunc ullamcorper commodo faucibus.

In fringilla bibendum quam eu laoreet. Donec finibus sem lacus,quis eleifend eros suscipit eget. In quis rhoncus felis,non porta tortor. Maecenas fermentum mi sit amet mauris condimentum,sed viverra justo fringilla. Nulla commodo id risus non fringilla. Nunc id velit id erat sodales bibendum. Proin dictum,mi id pellentesque ullamcorper,tellus elit consectetur ex,eget lobortis mauris quam eu elit. Suspendisse sagittis volutpat accumsan. Sed ut nulla nulla. Phasellus in ante felis.

Suspendisse potenti. Maecenas commodo neque ac erat suscipit,eget lobortis mauris quam eu elit. Suspendisse sagittis volutpat accumsan. Sed ut nulla nulla. Phasellus in ante felis.

.. index:: tristique

Praesent sodales leo semper,gravida ligula at,varius metus. Nullam cursus porta venenatis. Sed non dictum risus. Morbi eget elit vel metus vulputate consequat vel a nibh. Etiam felis nisl,mollis a hendrerit eu,accumsan non felis. Nullam lacinia libero sed leo iaculis lacinia. Pellentesque sit amet vestibulum felis. In id blandit leo,eget consectetur massa. Quisque ante orci,interdum ac placerat nec,aliquet at leo. Vestibulum fermentum egestas pellentesque. Morbi non felis a lorem convallis efficitur. Integer risus sem,porta vehicula neque nec,consequat euismod erat. Morbi eget rutrum lorem. Curabitur velit metus,interdum id facilisis sed,ornare vel nisi. Fusce vehicula risus nibh,nec porta magna volutpat quis. Phasellus molestie arcu purus,quis facilisis leo volutpat non. Ut nec euismod metus,eu rutrum lectus. Duis consectetur neque mi,a ornare nulla pulvinar a. Pellentesque id mattis felis. Quisque felis orci,finibus id odio id,feugiat scelerisque velit. Sed vehicula rhoncus condimentum. Integer eget nibh facilisis,lobortis urna ac,lobortis libero. Sed posuere eget enim tristique eleifend. Ut elementum mattis turpis eu cursus. Curabitur ac leo ornare,laoreet mauris quis,feugiat dolor. In laoreet posuere nunc,nec tristique lacus vulputate sed. Vestibulum egestas felis sagittis,hendrerit est et,tincidunt tortor. Donec et lobortis turpis. Ut venenatis congue tincidunt. Sed egestas a ex nec tempor. Sed lectus tellus,faucibus sit amet gravida nec,varius non enim. Mauris facilisis dui est,sed molestie augue faucibus nec. Curabitur id magna eleifend,placerat ligula eget,sagittis leo. Quisque tincidunt ligula ac dolor vehicula volutpat. Mauris porta odio congue,fringilla justo id,sodales nisl. Nam finibus mi metus,sed sollicitudin mi convallis semper. Nunc risus metus,placerat scelerisque lacinia in,rhoncus a sapien. Aliquam erat volutpat. Duis tincidunt massa in orci tristique vestibulum. Nunc placerat ex et purus lobortis bibendum. Proin pellentesque dui id mattis vehicula. In hac habitasse platea dictumst. Donec eget tellus eu tortor vulputate vulputate. Morbi maximus lacus eu pretium tempus. Pellentesque blandit lacinia mauris,vitae accumsan urna vehicula eget. In commodo posuere odio sit amet porttitor. Sed enim ipsum,molestie sit amet viverra in,tincidunt a purus. Nullam molestie erat vitae arcu volutpat,ut tempor libero porta. Aliquam ullamcorper rutrum nisi sed **tristique**. Mauris ut fermentum enim. Nam eu diam vel orci fermentum dignissim id nec lorem. Mauris metus mi,porta id feugiat non,dignissim et lorem. Nulla sit amet nisi in sapien iaculis vestibulum. Aliquam fermentum metus quis congue cursus. Nunc massa augue,pharetra id lorem in,sodales mollis dui. In vehicula,tortor vitae vehicula dignissim,turpis felis luctus lectus,sit amet facilisis felis ipsum quis sapien. In viverra interdum cursus. Nulla enim nunc,sagittis quis varius vel,hendrerit sed erat. Donec ultrices erat a commodo lacinia.

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`

解决方法

documentation for index指出:

 YearHist[hist_pos,0] = Hist[k,vartype]

此伪指令包含五个条目,这些条目将转换为所生成索引中的条目,这些条目链接到索引语句的确切位置(如果是脱机媒体,则指向相应的页码)。

您是否按照文档中的说明实际试用了.. index:: single: execution; context module: __main__ module: sys triple: module; search; path The execution context --------------------- ,并验证了文档不正确,换句话说,不是“链接到索引语句的确切位置”吗?例如,在渲染的HTML中,我得到一个index,其锚点紧接<span>之前,这很好。

更新

以某种方式,我想念您想要进行内联索引编制,而不是 block 索引编制。无论如何,用于索引的术语是相似的。内联索引角色:index:在我之前链接到的页面的下方。

角色的内容可以是一个简单的短语,然后保留在文本中并用作索引条目。它也可以是文本和索引条目的组合,其样式类似于具有交叉引用的显式目标。在这种情况下,“目标”部分可以是完整的条目,如上面针对指令的描述。例如:

<h2>

这是两种语法。您可以使用第二种语法来获取所需的索引条目。

This is a normal reST :index:`paragraph` that contains several
:index:`index entries <pair: index; entry>`.

关于您的其他问题,reStructuredText不支持角色或指令的嵌套。这意味着您不能使用标记来格式化链接或索引条目,但是可以在其结果的HTML选择器上使用CSS对其进行格式化。这也意味着您无法索引链接。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...