reST:带任意标题的内联链接?

3 投票
3 回答
548 浏览
提问于 2025-04-16 16:08

如果我已经定义了一个内部链接的目标,我该如何用任意文本作为链接标题来链接到它呢?

举个例子:

_`This is a very long internal link target`.

...

A `short reference`_ to the very long link target.

我怎么才能让“短引用”指向“非常长的内部目标”呢?

编辑:再举个例子:

Widgets
=======

...

Use a `widget`_.

我怎么才能让“widget”(单数)链接到“Widgets”(复数)的标题呢?

(当然,我知道可以用 `widget`_\s 来实现……但这并没有解决一般的问题)

3 个回答

0

一种纯粹的reStructuredText方法是为同一个目标定义多个目标名称:

.. _my widget:
.. _above:
My long title about widgets
===========================
…
See how to use  `my widget`_ in the section above_.

(这种方法的一个限制是,如果你想在两个不同的位置使用相同的文字(比如“上面”),那么这种方法就不适用了。)

2

很好,mzjn的回答同样适用于类:

:class:`MyClasses <mymodule.MyClass>` in plural is awesome.

太棒了!

4

我还没找到用“标准”的reST来做到这一点的方法。不过,使用Sphinx的话,下面的做法是可以的:

.. _`This is a very long internal link target`:

:ref:`Short reference <This is a very long internal link target>` to the very long link target.

撰写回答