Sphinx 中的内联索引条目?

Inline index entry in 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 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.

.. 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 状态:

.. index::
   single: execution; context
   module: __main__
   module: sys
   triple: module; search; path

The execution context
---------------------

This directive contains five entries, which will be converted to entries in the generated index which link to the exact location of the index statement (or, in case of offline media, the corresponding page number).

您是否真的按照文档中的描述尝试过 index,并验证文档不正确,换句话说,不是“link 到索引语句的确切位置“?例如,在呈现的 HTML 中,我得到一个 <span>,在 <h2> 之前有一个锚点,这很好。

更新

不知何故我错过了你想要 inline 索引,而不是 block 索引。无论如何,用于索引的术语是相似的。在我之前 link 访问的页面下方,是内联索引角色 :index:.

The content of the role can be a simple phrase, which is then kept in the text and used as an index entry. It can also be a combination of text and index entry, styled like with explicit targets of cross-references. In that case, the “target” part can be a full entry as described for the directive above. For example:

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

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

:index:`Bitwise operators <single: bitwise operators>` are ...

关于您的其他问题,reStructuredText 不支持角色或指令的嵌套。这意味着你不能用标记格式化 links 或索引条目,但你可以在它们的结果 HTML 选择器上用 CSS 格式化它们。这也意味着你不能索引 links.