• I use Org-mode to manage a knowledge-base system.

  • I want to apply the dependency/requirement concept for learning any specific topic:

  • Let's say We have 4 nodes, each one represent a "Topic to learn" and have its's own headline entry:

     /  \
    (C)  (D)
  • Learning (A), requires learning (B)

  • Learning (B) , requires learning (C) and (D)

  • How to imply this concept of "requirement" in org-mode?

  • The implication must satisfy a request of showing the hierarchical requirement of any node, Example:

    • requirement(A)= B->(C),(D)

    • requirement(B)= (C),(D)

What I have tried:
Using headings to represent the different topics and subheadings to represent the sub-topics:

* Topic A
** Topic B
*** Topic D
*** Topic E

Can not work because (D) can belong to another subheading other than (A) as a parent.

I am still new to org-mode and emacs so maybe there is a package that can somehow apply the needed approach.
I don't know how to code with Elisp, but if a solution involves coding in Elisp and the code is maybe too long, I would appreciate any sort of hint or guidance on where to start.

  • Hi @cuore RT and welcome. Could you give us a simple use case ? I don't understand what you want to do or why. What are the rules you're trying to set up? Also, if you want to set up a knowledge base, there are some packages that can facilitate that. The two most popular are org-roam and denote. Personally I use denote.
    – crocefisso
    Commented Apr 20, 2023 at 4:18
  • Check out org-edna
    – nichijou
    Commented Apr 20, 2023 at 9:49
  • 1
    In the example you provided, a space is missing between the last * and Topic for topics B, D & E.
    – crocefisso
    Commented Apr 20, 2023 at 10:56
  • You might want to look into org-depend.el. It is available in the org-contrib package from the ELPA Non-GNU repository. The Org mode documentation says: If you need more complex dependency structures, for example dependencies between entries in different trees or files, check out the module ‘org-depend.el’ in the ‘org-contrib’ repository.
    – NickD
    Commented Apr 20, 2023 at 17:52

1 Answer 1


In org-mode, you can create links with C-c C-l (org-insert-link).

With these links you can link many things (files, web addresses, etc.). Do C-h k C-c C-l or C-h o org-insert-link RET to know more about this command.

If you do C-c C-l Topic E RET Topic B RET, it will create the following link : [[Topic E][Topic B]] (where the first bracket is the address of the link, and the second is the name of the link).

So when you will click on Topic B headline, the pointer will go to Topic E headline.

I don't understand what you mean by "implying the concept of requirement between org-mode headlines".

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.