andersch.dev

<2024-01-01 Mon>

Org-mode

Org-mode describes a markup language and an associated ecosystem that lives inside of emacs.

Use cases

Markup Language

  • Bold, underlined, cursive, etc. and hyperlinks
  • [1/2] Checklists
    • [X] do 1
    • [ ] do 2
  • Inline images
  • Inline latex \(f(x) = x^2 + 3\)

Task management

  • TODOs
  • Appointments
  • Scheduled events
  • Deadlines

Websites

  • Static website generation using org-publish
  • Dynamic websites using embedded html blocks (?)

Documents

  • Thesis, Papers, Articles
  • Export to PDF, HTML, Markdown
  • Presentations using org-beamer
  • HTML mails using org-mime-org-htmlize

PKM/Zettelkasten/Digital Garden

Programming

  • Literate programming using org-babel-tangle
  • Jupyter-like notebooks using org-babel
  • README.org (supported by GitHub, …)
  • TODOs tracking with filelinks

Tables

  • Plaintext table generation
  • Spreadsheets w/ formulas
  • Plotting using gnuplot
  • ASCII bar plots w/ orgtbl-ascii-draw

Attachments

File links in org-mode are manually managed, remain in their original locations and are pointed to with absolute/relative paths. This means the links are invalid if files are moved or reorganized.

Attachments on the other hand are managed by Org-mode with auto-moving when files are refiled. Files are stored in a dedicated directory and belong to an outline.

Use attachments for files that belong with the note; use file links for referencing external resources.

Org-plot example

Table 1: Org table as data source for a plot
Format control effort syntax support integration
Word 2 4 4 2 3
LaTeX 4 1 1 3 2
Org Mode 4 2 3.5 1 4
Markdown 1 3 3 4 3
Markdown + Pandoc 2.5 2.5 2.5 3 3

org-mode-gnuplot-example.png

Figure 1: Example of generating a plot from an org table

Resources