I search for a solution to reference (preferably automatically) radio targets, which are used in plural form in text blocks.

For example, given the radio target <<<message>>>, uses of message in the text are automatically linked to the radio target. However, the plural form messages will not be linked. I tried to use internal links [[message]]s with no success (the link can resolved, but why is this so?).

The only workaround I can think of is explicitly addin a link target <<messages>>. However, I still have to insert the link manually. What makes thins worse is, that the link works in org-mode, but after html export the link references to a random footnote. Exports to odt are better, however the text is replaced by a number. So i would have to insert [[messages][messages]]. That looks ugly.

Any suggestions?

I would dream of haveing the ability to note plural version in radio target, e.g. <<<message|messages>>> with only message being inserted visually.

3 Answers 3


I just came across the same task and tried inserting a ZERO WIDTH SPACE and that seems to so what I want.

Between the singular stem and the plural 's' type Ctrl-x 8 RET then type ZERO WIDTH SPACE.

  • I love this hack. Thanks for bringing it to my attention.
    – Kostas
    Dec 13, 2021 at 15:51

There are two challenges to address to get what you want.

  1. org uses regexp-quote to construct the radio-target regexp for fontification, which means you can't use something like "messages?" as a regexp to match message or messages. I am not sure what the consequences of not quoting these are.

  2. When you click on a link that points to a radio target, org builds a regexp to search for <<>> which it won't find if you defined it with a regexp. This is harder to fix.

The exports are a whole different issue.


I came up with a creative way to handle plurals. :)


(add-to-list 'org-entities-user
             '("s" "s" nil "s" "s" "s" "s"))
(add-to-list 'org-entities-user
             '("es" "es" nil "es" "es" "es" "es"))



Some message\s have little content.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.