I wonder how could I add the equivalent of side-notes (cues, thinking points indications, references) to a text in org mode?

Tags work fine, but they seem to be limited to headlines.

I could also divide the whole text in two fixed-size columns, (with a |<140>|<20>| table). However, in this last case, the text would not flow adequately.

Footnotes also are a way of adding extra information, but they won't be side-notes anymore. That's why they call them footnotes, I suppose.

What other options do I have? Could I for example open two buffers and somehow "tie" the scrolling of both so that line n of buffer a, always appears at the side of line n of buffer b?

  • 1
    Does the annotate package (also available on Mepla) serve the purpose? Sep 21, 2015 at 18:14
  • @kaushalmodi annotate didn't work quite well for me. So far, the best I found is the scroll-all-mode. I just open two parallel buffers. This has the drawback that both texts are not tied to each other though. Sep 21, 2015 at 23:43
  • 1
    This is not what the original poster wants to hear, but I recommend just writing the notes underneath the heading, and forget about side-notes entirely. Each note can begin with the standard -. I like to use a dash followed by two spaces for each note underneath the main heading. I have no blank lines between notes that relate to the heading directly above. This way, there is no fiddling around with important stuff located somewhere else.
    – lawlist
    Sep 22, 2015 at 2:50
  • Here is the link to the manual regarding what I call notes, and which org-mode calls plain-lists: orgmode.org/manual/Plain-Lists.html#Plain-Lists
    – lawlist
    Sep 22, 2015 at 2:56

4 Answers 4


One thing you can do is bookmark locations, and add annotations to the bookmarks.

If you use Bookmark+ then the bookmark annotations can themselves use Org Mode. They can also be separate documents (which can even have their own bookmarks & annotations).


You might find comment lines useful. They will be set apart from the rest of the content and not exported.

Lines starting with zero or more whitespace characters followed by one ‘#’ and a whitespace are treated as comments and, as such, are not exported.

Likewise, regions surrounded by ‘#+BEGIN_COMMENT’ ... ‘#+END_COMMENT’ are not exported.

Finally, a ‘COMMENT’ keyword at the beginning of an entry, but after any other keyword or priority cookie, comments out the entire subtree. In this case, the subtree is not exported and no code block within it is executed either1. The command below helps changing the comment status of a headline.

C-c ; Toggle the ‘COMMENT’ keyword at the beginning of an entry.


I like Drew's answer. For the sake of completeness, I should mention notes.

If you want notes for each headline, but not be limited to one word tags, try writing timestamped notes stored in a property drawer next to the headline. They can be anything in Org syntax. You can conveniently enter them with C-c C-z on the headline. You also have the option to export them by setting org-export-with-drawers. However, if you want notes at any random point in the document, Drew's answer seems like what you want.


How about using inlinetasks?

If you set org-export-with-inlinetasks to nil then they serve exclusively as side notes to the document author.

  • Can you please expand your answer? I jump through the link in your current answer but that requires me to jump to few other links to try to get a complete picture of what org-inlinetask is. It would be better if you can provide an example of how to use org-inlinetask and how it answers the OP's question. And then you can provide useful links to the original documentation instead of having the user jump via multiple links. Sep 28, 2015 at 13:21

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.