Org-mode

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Org-mode

Org-mode Logo
Basisdaten

Hauptentwickler Carsten Dominik
Entwickler GNU-Projekt, Bastien Guerry, Carsten Dominik
Erscheinungsjahr 2003
Aktuelle Version 9.6.20[1]
(28. Februar 2024)
Betriebssystem plattformunabhängig (Emacs)
Programmiersprache Emacs Lisp
Kategorie Gliederungseditor, Notizbuch, Tabellenkalkulation, Personal Information Manager
Lizenz GPL
orgmode.org

Org-mode (auch: Org Mode, org mode) ist ein Programm für den freien Texteditor Emacs, das dazu dient, Notizen zu sammeln, Texte zu entwerfen und sie in verschiedenen Formaten zu veröffentlichen. Dazu hält dieser Editiermodus auch Funktionen zur Projektplanung und Aufgabenverwaltung bereit. Alle Inhalte werden in reinem Text erfasst und mit einer eigenen vereinfachten Auszeichnungssprache versehen. Auch dieses Dateiformat wird daher als Org-mode bezeichnet. Die damit erstellten Inhalte (wissenschaftliche Aufsätze, Bücher) können ohne externe Konverter direkt aus Org-mode heraus in verschiedene Zielformate exportiert und zur Herstellung für Print und Online weiter verarbeitet werden. Org-mode ist eine Alternative zu Markdown; auf GitHub werden Readme-Dateien im Format Org-mode wie Markdown-Dateien angezeigt.

Geschichte[Bearbeiten | Quelltext bearbeiten]

Ursprünglicher Autor von Org-mode war Carsten Dominik, der im Jahr 2003 mit der Entwicklung begann.[2] Das Projekt wurde von Januar 2011 bis Anfang 2013 von Bastien Guerry geleitet.[3] Mit Version 8.0 im April 2013 trat Bastien Guerry als Maintainer zurück und Carsten Dominik übernahm abermals die Leitung des Projekts.[4] Org-mode wurde erstmals in Emacs 22 offiziell aufgenommen.[5]

Ziel war es vor allem, einen Editier-Modus (Major mode) für Emacs zu entwickeln, mit dem es möglich ist, Notizen für die wissenschaftliche Arbeit, die als reiner Text vorliegen, einzugeben, sie zu „organisieren“ (daher der Name Org-mode) und diese gleichzeitig mit Features für das Projektmanagement zu kombinieren.[2]

Der ältere Outline mode in Emacs erschien Dominik hierfür unzureichend, weil er zu sehr an einer Gliederung mit Überschriften orientiert war und Listen nicht unterstützte. Außerdem erschienen ihm die Tastaturkürzel zu schwer erinnerlich. Er stellte sich eine Benutzerschnittstelle vor, bei der die Befehle in einem Zyklus durchgeschaltet werden können.[2] Außerdem sollte es möglich sein, die Gliederung der Notizen umzustrukturieren.[2]

Funktionen[Bearbeiten | Quelltext bearbeiten]

Gliederungseditor[Bearbeiten | Quelltext bearbeiten]

Org-mode macht Emacs zu einem Gliederungseditor (englisch: Outliner), der hierarchisch strukturierte Überschriften mit dem dazugehörigen Text einfalten und re-organisieren kann.[6] Gliederungspunkte können mitsamt den Unterpunkten innerhalb einer Liste verschoben werden, sowohl vertikal (innerhalb der Reihenfolge in der Liste) als auch horizontal (hinsichtlich der Gliederungstiefe). Strukturelemente werden farblich hervorgehoben.

Der Text kann in vielfacher Weise formatiert und strukturiert werden (beispielsweise gibt es Auszeichnungen für fette oder kursive Formatierung, für Listen und Fußnoten). Auch Hyperlinks zu externen Ressourcen können eingefügt werden. Außerdem ist ein Editor enthalten, mit dem man Tabellen in reinem Text flexibel eingeben und auch nachträglich bearbeiten kann. In der Tabelle sind zudem einfache Berechnungen möglich.

Projektmanagement[Bearbeiten | Quelltext bearbeiten]

Jeder Teil des Texts einer Org-mode-Datei kann mit Metadaten versehen werden (Schlagwörter, Fristen, Zeitstempel), die dem Projektmanagement und der Projektplanung dienen. Eine Agenda-Ansicht kann alle zeitbezogenen Metadaten in Form eines Wochen- oder Tageskalenders anzeigen. So kann man zum Beispiel Notizen sammeln oder einen Fristen- oder einen Wiedervorlagenkalender führen. Dazu arbeitet Org-mode auf Wunsch auch mit dem Kalender (Calendar) und dem Tagebuch (Diary) von Emacs zusammen.[7]

Digitales Publizieren[Bearbeiten | Quelltext bearbeiten]

Org-mode verfügt über mehrere Exportfilter, mit denen ein Text, der mit dem Modus geschrieben wurde, zur Veröffentlichung nach HTML, DocBook, LaTeX, Markdown und ODT exportiert werden kann. Für Präsentationen kann das Beamer-Paket für LaTeX verwendet werden. Damit wird Org-mode zu einer allgemeinen Schreib- und Publikations-Umgebung, in der ganze Projekte durchgeführt werden können, ähnlich wie das ältere Projekt Emacs Muse, das nur noch in längeren zeitlichen Abständen weiter entwickelt wird (Version 3.20.2 von 2018).[8] Auch der Konverter Pandoc unterstützt das Format Org-mode.

Literate Programming[Bearbeiten | Quelltext bearbeiten]

Da man Gliederung, Fließtext und Programm-Quelltexte frei miteinander kombinieren kann, ist es auch möglich, Org-mode für Literate programming einzusetzen.[9][10][11][12] Das folgende einfache Beispiel zeigt dies für einen R-Code. Hier wird neben der Anweisung auch das Berechnungsergebnis innerhalb des Dokumentes angezeigt:

#+BEGIN_SRC R :results value
aepfel <- 6
birnen <- 4
obst <- aepfel + birnen
#+END_SRC

#+RESULTS:
: 10

Seine besondere Stärke in Verbindung mit Org-Mode ist dann das Exportieren der Berechnungen und Ergebnisse innerhalb des Dokuments. Manche Benutzer pflegen auch ihre Emacs-Konfigurationsdateien in Org-Mode und exportieren die Emacs-Lisp-Datei. Dadurch entfallen die Kommentare in der Konfiguration, so dass die Datei beim Programstart deutlich schneller geladen werden kann.

Mobile Nutzung[Bearbeiten | Quelltext bearbeiten]

MobileOrg dient als Anbindung an Smartphones und Tablets, die unter iOS und Android[13] laufen. Hierfür stehen freie Apps bereit, die einen Export aus Org-mode offline lesen und bearbeiten können.

Beispiel-Dokument[Bearbeiten | Quelltext bearbeiten]

#+TITLE:       Die Vorzüge von Org-mode
#+AUTHOR:      Otto Normalverbraucher
#+EMAIL:       otto@normalverbraucher-wikipedia.org
#+DATE:        <2018-05-02 Wed>
#+DESCRIPTION: ein Beispieldokument
#+KEYWORDS:    orgmode, wikipedia
#+LANGUAGE:    de

* Eine Überschrift erster Ebene

** Eine Überschrift zweiter Ebene

- Und hier folgen nun die Gliederungspunkte.
- Einer nach dem anderen.
  - Gliederungen können auch
  - geschachtelt
    - werden.
    - Bei Bedarf: Immer weiter einrücken.

** Eine weitere Überschrift zweiter Ebene

Auch Zitate können als solche ausgezeichnet werden:

#+BEGIN_QUOTE
Pageviews of Hawking’s article led the Top-10 across all language
Wikipedias and was the most popular of the month on the Spanish,
German, French, Portuguese, Arabic, Polish, and Farsi Wikipedias (and
probably more). ([[https://en.wikipedia.org/wiki/Wikipedia:Wikipedia_Signpost/2018-04-26/News_and_notes#Death_of_Stephen_Hawking][Wikipedia Signpost]], 26. April 2018)
#+END_QUOTE

* Nächster Abschnitt

Der Text kann auch als Fließtext ausformuliert werden. Auf diese Weise
kann man ganze Bücher schreiben, die später aus Org-mode in
Zielformate exportiert und gesetzt werden können.

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Abhijeet Chavan: Get Organized with Emacs Org-mode. In: Linux Journal. 1. Dezember 2007. Abgerufen am 4. Februar 2012.
  • Carsten Dominik et al.: The Org Mode 8 Reference Manual – Organize your life with GNU Emacs. Samurai Media Limited, Hongkong 2014, ISBN 978-988-13-2770-3 (gedruckte Fassung des Handbuchs zu Org-mode 8.2).
  • S. Khare, Y. Misra, V. Choppella: Using Org-mode and Subversion for Managing and Publishing Content in Computer Science Courses. In: 2012 IEEE Fourth International Conference on Technology for Education. 18. Juli 2012, S. 220–223, doi:10.1109/T4E.2012.58 (ieee.org [abgerufen am 5. Januar 2019]).
  • Rainer König: Ordnung ins Chaos mit Org-Mode. In: freiesMagazin. 10/2009. S. 18–25.
  • Orgpaper: Reproducible Research Papers using Org-mode and R: A Guide. In: GitHub. 10. Januar 2018, abgerufen am 2. Mai 2018 (englisch, Vikas Rawal beschreibt, wie das Buch Jomo Kwame Sundaram, Vikas Rawal, Michael T. Clark: Ending malnutrition: from commitment to action. Hrsg.: Food and Agriculture Organization of the United Nations,. Rome, Italy, ISBN 978-92-5108872-2 (fao.org [PDF]). in Org-mode geschrieben und hergestellt wurde; mit Quelltext).
  • Eric Schulte, Dan Davison: Active Documents with Org-Mode (PDF; 879 kB). In: Computing in Science & Engineering. Mai/Juni 2011. S. 2–9.
  • Eric Schulte, Dan Davison, Thomas Dye, Carsten Dominik: A Multi-Language Computing Environment for Literate Programming and Reproducible Research. In: Journal of Statistical Software. Band 46, Nr. 3, 25. Januar 2012, doi:10.18637/jss.v046.i03 (Veröffentlichung unter CC-by 3.0, einschließlich der Quelltexte in Org-mode).

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Org version 9.6.20. 28. Februar 2024 (englisch, abgerufen am 1. März 2024).
  2. a b c d Carsten Dominik: Emacs Org-mode – a system for note-taking and project planning. GoogleTechTalk. 15. Juli 2008. Abgerufen am 4. Februar 2012.
  3. Maintainer-Wechsel von Carsten Dominik zu Bastien Guerry. In: Mailingliste, 15. November 2010. Abgerufen am 23. Juni 2013.
  4. Maintainer-Wechsel von Bastien Guerry zu Carsten Dominik. In: Mailingliste, 18. April 2013. Abgerufen am 23. Juni 2013.
  5. corbet: Pre-testing Emacs 22. In: lwn.net. 31. Oktober 2006. Abgerufen am 4. Februar 2012.
  6. Die Beschreibung der Funktionen folgt dem Handbuch, das in Emacs über Info verfügbar ist. Onlinefassung: The Org Manual. Version 8.0.3. Abgerufen am 23. Juni 2013.
  7. Hendrik Sünkler: Aufgabenverwaltung im Emacs Org mode. In: suenkler.info. 1. Januar 2016, abgerufen am 28. September 2016.
  8. Emacs Muse. In: gnu.org. Abgerufen am 25. Oktober 2023 (englisch).
  9. Babel: active code in Org-mode. In: Orgmode.de. Worg. Abgerufen am 8. Februar 2012.
  10. How to Use Emacs Org-Babel Mode to Write Literate Programming Document in R Language. In: Orgmode.de. Worg. Abgerufen am 7. Februar 2012.
  11. Andreas Leha, Tim Beißbarth: The Emacs Org-mode: Reproducible Research and Beyond (PDF; 91 kB). Abstract. Universität Warwick. Ohne Datum. Abgerufen am 7. Februar 2012.
  12. Eric Schulte, Dan Davison, Thomas Dye, Carsten Dominik: A Multi-Language Computing Environment for Literate Programming and Reproducible Research. In: Journal of Statistical Software. Band 46, Nr. 3, Januar 2012. Abgerufen am 11. Februar 2012.
  13. Documentation. Abgerufen am 7. Februar 2012 (Dokumentation der MobileOrg-App für Android auf github.com).