40 lines
2.2 KiB
Org Mode
40 lines
2.2 KiB
Org Mode
|
|
* Introduction
|
|
[[http:orgmode.org][Emacs org-mode]] is an exceptionally rich emacs mode based around
|
|
hierachically-structured text documents. The environment that has
|
|
been designed around this central concept provides support for many
|
|
different usage modes. At a high level, important areas include note
|
|
taking, project planning and document publishing. Working with the
|
|
text files is made efficient by document navigation and editing
|
|
facilities which include creation, folding, restructuring and
|
|
repositioning of subtrees and list items, and a plain-text
|
|
spreadsheet for tabular data. Nevertheless, org is unobtrusive: an
|
|
org-mode buffer may make use of only the most basic features, or
|
|
even none at all. It is notoriously difficult to describe org
|
|
briefly: good starting points include [...].
|
|
|
|
Org therefore provides an ideal environment for literate
|
|
programming: chunks of source code in any language can be embedded
|
|
within the org-mode text file. The hierarchical structure of the
|
|
document may reflect, for example, the logic of the problem being
|
|
addressed or the structure of the project within which the problem
|
|
arises. Embedding source code within Org documents means that, for
|
|
example, the project-planning features of org-mode are immediately
|
|
available, and that the document may be published to HTML and LaTeX
|
|
with appropriate formatting of the code.
|
|
|
|
In addition to the standard org functionality, org provides
|
|
convenient switching between the org buffer with embedded code, and
|
|
a separate buffer in the native language mode. Thus literate
|
|
programming with org-mode does not impact upon language-specific
|
|
modes for working with source code in emacs. For example, when
|
|
working with [[http://www.r-project.org/][R]] code, you do not leave [[http://ess.r-project.org/][ess-mode]] until you flick back
|
|
from the code buffer to view it embedded within an org buffer, which
|
|
may also contain chunks of code in other languages.
|
|
|
|
* Litorgy
|
|
Litorgy provides several extensions to the above-described method of
|
|
working with source code in org mode:
|
|
1. Code block execution for interpreted languages (python, ruby, shell, R, perl)
|
|
2. [...]
|