comparison man/org.texi @ 71450:93e8ae57983b

(Embedded LaTeX): New chapter. (Archiving): Section rewritten. (Enhancing text): Some parts moved to the new chapter about LaTeX.
author Carsten Dominik <dominik@science.uva.nl>
date Fri, 23 Jun 2006 19:02:38 +0000
parents 0b2c58e8821c
children c12f8a27aae5
comparison
equal deleted inserted replaced
71449:525b50d438b5 71450:93e8ae57983b
1 \input texinfo 1 \input texinfo
2 @c %**start of header 2 @c %**start of header
3 @setfilename ../info/org 3 @setfilename ../info/org
4 @settitle Org Mode Manual 4 @settitle Org Mode Manual
5 5
6 @set VERSION 4.38 6 @set VERSION 4.39
7 @set DATE June 2006 7 @set DATE June 2006
8 8
9 @dircategory Emacs 9 @dircategory Emacs
10 @direntry 10 @direntry
11 * Org Mode: (org). outline-based notes management and organizer 11 * Org Mode: (org). outline-based notes management and organizer
81 * Hyperlinks:: Notes in context 81 * Hyperlinks:: Notes in context
82 * TODO items:: Every tree branch can be a TODO item 82 * TODO items:: Every tree branch can be a TODO item
83 * Timestamps:: Assign date and time to items 83 * Timestamps:: Assign date and time to items
84 * Tags:: Tagging headlines and matching sets of tags 84 * Tags:: Tagging headlines and matching sets of tags
85 * Agenda views:: Collecting information into views 85 * Agenda views:: Collecting information into views
86 * Embedded LaTeX:: LaTeX fragments and formulas
86 * Exporting:: Sharing and publishing of notes 87 * Exporting:: Sharing and publishing of notes
87 * Publishing:: Create a web site of linked Org-mode files 88 * Publishing:: Create a web site of linked Org-mode files
88 * Miscellaneous:: All the rest which did not fit elsewhere 89 * Miscellaneous:: All the rest which did not fit elsewhere
89 * Extensions and Hacking:: 90 * Extensions and Hacking:: It is possible to write add-on code
90 * History and Acknowledgments:: 91 * History and Acknowledgments:: How Org-mode came into being
91 * Index:: The fast road to specific information 92 * Index:: The fast road to specific information
92 * Key Index:: Key bindings and where they are described 93 * Key Index:: Key bindings and where they are described
93 94
94 @detailmenu 95 @detailmenu
95 --- The Detailed Node Listing --- 96 --- The Detailed Node Listing ---
96 97
97 Introduction 98 Introduction
98 99
99 * Summary:: Brief summary of what Org-mode does 100 * Summary:: Brief summary of what Org-mode does
100 * Installation and activation:: How to install Org-mode 101 * Installation:: How to install Org-mode
101 * Feedback:: Bug reports, ideas, patches etc. 102 * Feedback:: Bug reports, ideas, patches etc.
102 103
103 Document Structure 104 Document Structure
104 105
105 * Outlines:: Org-mode is based on outline-mode 106 * Outlines:: Org-mode is based on outline-mode
109 * Structure editing:: Changing sequence and level of headlines 110 * Structure editing:: Changing sequence and level of headlines
110 * Archiving:: Move done task trees to a different place 111 * Archiving:: Move done task trees to a different place
111 * Sparse trees:: Matches embedded in context 112 * Sparse trees:: Matches embedded in context
112 * Plain lists:: Editing hand-formatted lists 113 * Plain lists:: Editing hand-formatted lists
113 114
115 Archiving
116
117 * ARCHIVE tag:: Marking a tree as inactive
118 * Moving subtrees:: Moving a tree to an archive file
119
114 Tables 120 Tables
115 121
116 * Built-in table editor:: Simple tables 122 * Built-in table editor:: Simple tables
117 * Narrow columns:: Stop wasting space in tables 123 * Narrow columns:: Stop wasting space in tables
118 * Table calculations:: Compute a field from other fields 124 * Table calculations:: Compute a field from other fields
188 * Categories:: Not all tasks are equal 194 * Categories:: Not all tasks are equal
189 * Time-of-day specifications:: How the agenda knows the time 195 * Time-of-day specifications:: How the agenda knows the time
190 * Calendar/Diary integration:: Integrating Anniversaries and more 196 * Calendar/Diary integration:: Integrating Anniversaries and more
191 * Sorting of agenda items:: The order of things 197 * Sorting of agenda items:: The order of things
192 198
199 Embedded LaTeX
200
201 * Math symbols:: TeX macros for symbols and greek letters
202 * Subscripts and Superscripts:: Simple syntax for raising/lowering text
203 * LaTeX fragments:: Complex formulas made easy
204 * Processing LaTeX fragments:: Previewing LaTeX processing
205 * CDLaTeX mode:: Speed up entering of formulas
206
193 Exporting 207 Exporting
194 208
195 * ASCII export:: Exporting to plain ASCII 209 * ASCII export:: Exporting to plain ASCII
196 * HTML export:: Exporting to HTML 210 * HTML export:: Exporting to HTML
197 * XOXO export:: Exporting to XOXO 211 * XOXO export:: Exporting to XOXO
211 * Triggering publication:: Publication commands 225 * Triggering publication:: Publication commands
212 226
213 Configuration 227 Configuration
214 228
215 * Project alist:: The central configuration variable 229 * Project alist:: The central configuration variable
216 * File sources and destinations:: From here to there 230 * Sources and destinations:: From here to there
217 * Selecting files:: What files are part of the project? 231 * Selecting files:: What files are part of the project?
218 * Publishing action:: Setting the function doing the publishing 232 * Publishing action:: Setting the function doing the publishing
219 * Publishing options:: Tweaking HTML export 233 * Publishing options:: Tweaking HTML export
220 * Publishing links:: Which links keep working after publishing? 234 * Publishing links:: Which links keep working after publishing?
221 * Project page index:: Publishing a list of project files 235 * Project page index:: Publishing a list of project files
227 241
228 Miscellaneous 242 Miscellaneous
229 243
230 * Completion:: M-TAB knows what you need 244 * Completion:: M-TAB knows what you need
231 * Customization:: Adapting Org-mode to your taste 245 * Customization:: Adapting Org-mode to your taste
232 * Summary of in-buffer settings:: Using special lines to set options 246 * In-buffer settings:: Overview of the #+KEYWORDS
233 * The very busy C-c C-c key:: When in doubt, press C-c C-c 247 * The very busy C-c C-c key:: When in doubt, press C-c C-c
234 * Clean view:: Getting rid of leading stars in the outline 248 * Clean view:: Getting rid of leading stars in the outline
235 * TTY keys:: Using Org-mode on a tty 249 * TTY keys:: Using Org-mode on a tty
236 * Interaction:: Other Emacs packages 250 * Interaction:: Other Emacs packages
237 * Bugs:: Things which do not work perfectly 251 * Bugs:: Things which do not work perfectly
239 Interaction with other packages 253 Interaction with other packages
240 254
241 * Cooperation:: Packages Org-mode cooperates with 255 * Cooperation:: Packages Org-mode cooperates with
242 * Conflicts:: Packages that lead to conflicts 256 * Conflicts:: Packages that lead to conflicts
243 257
244 Extensions and Hacking 258 Extensions, Hooks and Hacking
245 259
246 * Extensions:: 260 * Extensions:: Existing 3rd-part extensions
247 * Dynamic blocks:: 261 * Dynamic blocks:: Automatically filled blocks
248 262
249 @end detailmenu 263 @end detailmenu
250 @end menu 264 @end menu
251 265
252 @node Introduction, Document structure, Top, Top 266 @node Introduction, Document structure, Top, Top
253 @chapter Introduction 267 @chapter Introduction
254 @cindex introduction 268 @cindex introduction
255 269
256 @menu 270 @menu
257 * Summary:: Brief summary of what Org-mode does 271 * Summary:: Brief summary of what Org-mode does
258 * Installation and activation:: How to install Org-mode 272 * Installation:: How to install Org-mode
259 * Feedback:: Bug reports, ideas, patches etc. 273 * Feedback:: Bug reports, ideas, patches etc.
260 @end menu 274 @end menu
261 275
262 @node Summary, Installation and activation, Introduction, Introduction 276 @node Summary, Installation, Introduction, Introduction
263 @section Summary 277 @section Summary
264 @cindex summary 278 @cindex summary
265 279
266 Org-mode is a mode for keeping notes, maintaining ToDo lists, and doing 280 Org-mode is a mode for keeping notes, maintaining ToDo lists, and doing
267 project planning with a fast and effective plain-text system. 281 project planning with a fast and effective plain-text system.
306 questions (FAQ), links to tutorials etc. This page is located at 320 questions (FAQ), links to tutorials etc. This page is located at
307 @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. 321 @uref{http://www.astro.uva.nl/~dominik/Tools/org/}.
308 322
309 @page 323 @page
310 324
311 @node Installation and activation, Feedback, Summary, Introduction 325 @node Installation, Feedback, Summary, Introduction
312 @section Installation and Activation 326 @section Installation and Activation
313 @cindex installation 327 @cindex installation
314 @cindex autoload 328 @cindex autoload
315 @cindex global keybindings 329 @cindex global keybindings
316 @cindex keybindings, global 330 @cindex keybindings, global
361 375
362 @noindent which will select Org-mode for this buffer no matter what 376 @noindent which will select Org-mode for this buffer no matter what
363 the file's name is. See also the variable 377 the file's name is. See also the variable
364 @code{org-insert-mode-line-in-empty-file}. 378 @code{org-insert-mode-line-in-empty-file}.
365 379
366 @node Feedback, , Installation and activation, Introduction 380 @node Feedback, , Installation, Introduction
367 @section Feedback 381 @section Feedback
368 @cindex feedback 382 @cindex feedback
369 @cindex bug reports 383 @cindex bug reports
370 @cindex maintainer 384 @cindex maintainer
371 @cindex author 385 @cindex author
621 functionality. 635 functionality.
622 636
623 @node Archiving, Sparse trees, Structure editing, Document structure 637 @node Archiving, Sparse trees, Structure editing, Document structure
624 @section Archiving 638 @section Archiving
625 @cindex archiving 639 @cindex archiving
626 @cindex filing subtrees
627 640
628 When a project represented by a (sub)tree is finished, you may want 641 When a project represented by a (sub)tree is finished, you may want
629 to move the tree to an archive place, either in the same file under a 642 to move the tree out of the way and to stop it from contributing to the
630 special top-level heading, or even to a different file. 643 agenda. Org-mode knows two ways of archiving. You can mark a tree with
644 the ARCHIVE tag, or you can move an entire (sub)tree to a different
645 location.
646
647 @menu
648 * ARCHIVE tag:: Marking a tree as inactive
649 * Moving subtrees:: Moving a tree to an archive file
650 @end menu
651
652 @node ARCHIVE tag, Moving subtrees, Archiving, Archiving
653 @subsection The ARCHIVE tag
654 @cindex internal archiving
655
656 A headline that is marked with the ARCHIVE tag (@pxref{Tags}) stays at
657 its location in the outline tree, but behaves in the following way:
658 @itemize @minus
659 @item
660 It does not open when you attempt to do so with a visibility cycling
661 command (@pxref{Visibility cycling}). You can still open it with a
662 normal outline command like @code{show-all}. Or you can modify the
663 option @code{org-cycle-open-archived-trees}.
664 @item
665 During sparse tree construction (@pxref{Sparse trees}), matches in
666 archived subtrees are not exposed, unless you configure the option
667 @code{org-sparse-tree-open-archived-trees}.
668 @item
669 During agenda view construction (@pxref{Agenda views}), the content of
670 archived trees is ignored unless you configure the option
671 @code{org-agenda-skip-archived-trees}.
672 @item
673 Archived trees are not exported (@pxref{Exporting}), only the headline
674 is. Configure the details using the variable
675 @code{org-export-with-archived-trees}.
676 @end itemize
677
678 The following commands allow to set or clear the ARCHIVE tag:
679
680 @table @kbd
681 @kindex C-c C-x C-a
682 @item C-c C-x C-a
683 Toggle the ARCHIVE tag for the current headline. When the tag is set,
684 the headline changes to a shadowish face, and the subtree below it is
685 hidden.
686 @kindex C-u C-c C-x C-a
687 @item C-u C-c C-x C-a
688 Check if any direct children of the current headline should be archived.
689 To do this, each subtree is checked for open TODO entries. If none are
690 found, the command offers to set the ARCHIVE tag for the child. If the
691 cursor is @emph{not} on a headline when this command is invoked, the
692 level 1 trees will be checked.
693 @end table
694
695 @node Moving subtrees, , ARCHIVE tag, Archiving
696 @subsection Moving subtrees
697 @cindex external archiving
698
699 Once an entire project is finished, you may want to move it to a
700 different location, either in the current file, or even in a different
701 file, the archive file.
702
631 @table @kbd 703 @table @kbd
632 @kindex C-c $ 704 @kindex C-c $
633 @item C-c $ 705 @item C-c $
634 Archive the subtree starting at the cursor position to the location 706 Archive the subtree starting at the cursor position to the location
635 given by @code{org-archive-location}. 707 given by @code{org-archive-location}.
636 @kindex C-u C-c $ 708 @kindex C-u C-c $
637 @item C-u C-c $ 709 @item C-u C-c $
638 When @kbd{C-c $} is called with @kbd{C-u} prefix argument, check for 710 Check if any direct children of the current headline could be moved to
639 (sub)trees without any open TODO items and offer to archive them. When 711 the archive. To do this, each subtree is checked for open TODO entries.
640 the cursor is on a headline when this command is called, inly check the 712 If none are found, the command offers to move it to the archive
641 direct children of this headline. When the cursor is @emph{not} on a 713 location. If the cursor is @emph{not} on a headline when this command
642 headline, check all level 1 trees. 714 is invoked, the level 1 trees will be checked.
643 @end table 715 @end table
644 716
645 @cindex archive locations 717 @cindex archive locations
646 The default archive is a file in the same directory as the current 718 The default archive location is a file in the same directory as the
647 file, with the name derived by appending @file{_archive} to the 719 current file, with the name derived by appending @file{_archive} to the
648 current file name. For information and examples on how to change 720 current file name. For information and examples on how to change this,
649 this, see the documentation string of the variable 721 see the documentation string of the variable
650 @code{org-archive-location}. If you are also using the Org-mode 722 @code{org-archive-location}.
651 agenda, archiving to a different file is a good way to keep archived
652 trees from contributing agenda items.
653 723
654 @node Sparse trees, Plain lists, Archiving, Document structure 724 @node Sparse trees, Plain lists, Archiving, Document structure
655 @section Sparse trees 725 @section Sparse trees
656 @cindex sparse trees 726 @cindex sparse trees
657 @cindex trees, sparse 727 @cindex trees, sparse
820 If there is a checkbox in the item line, toggle the state of the 890 If there is a checkbox in the item line, toggle the state of the
821 checkbox. Otherwise, if this is an ordered list, renumber the ordered 891 checkbox. Otherwise, if this is an ordered list, renumber the ordered
822 list at the cursor. 892 list at the cursor.
823 @end table 893 @end table
824 894
895
825 @node Tables, Hyperlinks, Document structure, Top 896 @node Tables, Hyperlinks, Document structure, Top
826 @chapter Tables 897 @chapter Tables
827 @cindex tables 898 @cindex tables
828 @cindex editing tables 899 @cindex editing tables
829 900
1677 contents of the current line. If there is an active region, the 1748 contents of the current line. If there is an active region, the
1678 selected words will form the basis of the search string. If the 1749 selected words will form the basis of the search string. If the
1679 automatically created link is not working correctly or accurately 1750 automatically created link is not working correctly or accurately
1680 enough, you can write custom functions to select the search string and 1751 enough, you can write custom functions to select the search string and
1681 to do the search for particular file types - see @ref{Custom searches}. 1752 to do the search for particular file types - see @ref{Custom searches}.
1682 The key binding @kbd{C-c l} is only a suggestion - see @ref{Installation 1753 The key binding @kbd{C-c l} is only a suggestion - see @ref{Installation}.
1683 and activation}.
1684 1754
1685 @kindex C-c C-l 1755 @kindex C-c C-l
1686 @cindex link completion 1756 @cindex link completion
1687 @cindex completion, of links 1757 @cindex completion, of links
1688 @cindex inserting links 1758 @cindex inserting links
1729 for the corresponding links, and execute the command in a shell link. 1799 for the corresponding links, and execute the command in a shell link.
1730 When the cursor is on an internal link, this commands runs the 1800 When the cursor is on an internal link, this commands runs the
1731 corresponding search. When the cursor is on a TAG list in a headline, 1801 corresponding search. When the cursor is on a TAG list in a headline,
1732 it creates the corresponding TAGS view. If the cursor is on a time 1802 it creates the corresponding TAGS view. If the cursor is on a time
1733 stamp, it compiles the agenda for that date. Furthermore, it will visit 1803 stamp, it compiles the agenda for that date. Furthermore, it will visit
1734 text files in @samp{file:} links with Emacs and select a suitable 1804 text and remote files in @samp{file:} links with Emacs and select a
1735 application for non-text files. Classification of files is based on 1805 suitable application for local non-text files. Classification of files
1736 file extension only. See option @code{org-file-apps}. If you want to 1806 is based on file extension only. See option @code{org-file-apps}. If
1737 override the default application and visit the file with Emacs, use a 1807 you want to override the default application and visit the file with
1738 @kbd{C-u} prefix. 1808 Emacs, use a @kbd{C-u} prefix.
1739 1809
1740 @kindex mouse-2 1810 @kindex mouse-2
1741 @kindex mouse-1 1811 @kindex mouse-1
1742 @item mouse-2 1812 @item mouse-2
1743 @itemx mouse-1 1813 @itemx mouse-1
2645 @samp{:BOSS:}. The search string @samp{WORK|LAPTOP} selects all lines 2715 @samp{:BOSS:}. The search string @samp{WORK|LAPTOP} selects all lines
2646 tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string 2716 tagged @samp{:WORK:} or @samp{:LAPTOP:}. The string
2647 @samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are 2717 @samp{WORK|LAPTOP&NIGHT} requires that the @samp{:LAPTOP:} lines are
2648 also tagged @samp{NIGHT}. 2718 also tagged @samp{NIGHT}.
2649 2719
2650 @node Agenda views, Exporting, Tags, Top 2720 @node Agenda views, Embedded LaTeX, Tags, Top
2651 @chapter Agenda Views 2721 @chapter Agenda Views
2652 @cindex agenda views 2722 @cindex agenda views
2653 2723
2654 Due to the way Org-mode works, TODO items, time-stamped items, and 2724 Due to the way Org-mode works, TODO items, time-stamped items, and
2655 tagged headlines can be scattered throughout a file or even a number of 2725 tagged headlines can be scattered throughout a file or even a number of
2726 @cindex agenda dispatcher 2796 @cindex agenda dispatcher
2727 @cindex dispatching agenda commands 2797 @cindex dispatching agenda commands
2728 @cindex custom agenda commands 2798 @cindex custom agenda commands
2729 @cindex agenda commands, custom 2799 @cindex agenda commands, custom
2730 The views are created through a dispatcher that should be bound to a 2800 The views are created through a dispatcher that should be bound to a
2731 global key, for example @kbd{C-c a} (@pxref{Installation and 2801 global key, for example @kbd{C-c a} (@pxref{Installation}). In the
2732 activation}). In the following we will assume that @kbd{C-c a} is 2802 following we will assume that @kbd{C-c a} is indeed how the dispatcher
2733 indeed how the dispatcher is accessed and list keyboard access to 2803 is accessed and list keyboard access to commands accordingly. After
2734 commands accordingly. After pressing @kbd{C-c a}, an additional 2804 pressing @kbd{C-c a}, an additional letter is required to execute a
2735 letter is required to execute a command. The dispatcher offers the 2805 command. The dispatcher offers the following default commands:
2736 following default commands:
2737 @table @kbd 2806 @table @kbd
2738 @item a 2807 @item a
2739 Create the calendar-like agenda (@pxref{Weekly/Daily agenda}). 2808 Create the calendar-like agenda (@pxref{Weekly/Daily agenda}).
2740 @item t / T 2809 @item t / T
2741 Create a list of all TODO items (@pxref{Global TODO list}). 2810 Create a list of all TODO items (@pxref{Global TODO list}).
3125 3194
3126 @kindex : 3195 @kindex :
3127 @item : 3196 @item :
3128 Set tags for the current headline. 3197 Set tags for the current headline.
3129 3198
3199 @kindex a
3200 @item a
3201 Toggle the ARCHIVE tag for the current headline.
3202
3130 @kindex , 3203 @kindex ,
3131 @item , 3204 @item ,
3132 Set the priority for the current item. Org-mode prompts for the 3205 Set the priority for the current item. Org-mode prompts for the
3133 priority character. If you reply with @key{SPC}, the priority cookie 3206 priority character. If you reply with @key{SPC}, the priority cookie
3134 is removed from the entry. 3207 is removed from the entry.
3241 for the compilation of the agenda. Buffers created by the user to 3314 for the compilation of the agenda. Buffers created by the user to
3242 visit org files will not be removed. 3315 visit org files will not be removed.
3243 3316
3244 @end table 3317 @end table
3245 3318
3246 @node Exporting, Publishing, Agenda views, Top 3319 @node Embedded LaTeX, Exporting, Agenda views, Top
3320 @chapter Embedded LaTeX
3321 @cindex @TeX{} interpretation
3322 @cindex La@TeX{} interpretation
3323
3324 Plain ASCII is normally sufficient for almost all note taking. One
3325 exception, however, are scientific notes which need to be able to
3326 contain mathematical symbols and the occasional formula.
3327 La@TeX{}@footnote{La@TeX{} is a macro system based on Donald E. Knuth's
3328 @TeX{} system. Many of the features described here as ``La@TeX{}'' are
3329 really from @TeX{}, but for simplicity I am blurring this distinction.}
3330 is widely used to typeset scientific documents. Org-mode supports
3331 embedding La@TeX{} code into its files, because many academics are used
3332 to read La@TeX{} source code, and because it can be readily processed
3333 into images for HTML production.
3334
3335 It is not necessary to mark La@TeX{} macros and code in any special way.
3336 If you observe a few conventions, Org-mode knows how to find it and what
3337 to do with it.
3338
3339 @menu
3340 * Math symbols:: TeX macros for symbols and Greek letters
3341 * Subscripts and Superscripts:: Simple syntax for raising/lowering text
3342 * LaTeX fragments:: Complex formulas made easy
3343 * Processing LaTeX fragments:: Previewing LaTeX processing
3344 * CDLaTeX mode:: Speed up entering of formulas
3345 @end menu
3346
3347 @node Math symbols, Subscripts and Superscripts, Embedded LaTeX, Embedded LaTeX
3348 @section Math symbols
3349
3350 You can use La@TeX{} macros to insert special symbols like @samp{\alpha}
3351 to indicate the Greek letter, or @samp{\to} to indicate an arrow.
3352 Completion for these macros is available, just type @samp{\} and maybe a
3353 few letters, and press @kbd{M-@key{TAB}} to see possible completions.
3354 Unlike La@TeX{} code, Org-mode allows these macros to be present
3355 without surrounding math delimiters, for example:
3356
3357 @example
3358 Angles are written as Greek letters \alpha, \beta and \gamma.
3359 @end example
3360
3361 During HTML export (@pxref{HTML export}), these symbols are translated
3362 into the proper syntax for HTML, for the above examples this is
3363 @samp{&alpha;} and @samp{&rarr;}, respectively.
3364
3365 @node Subscripts and Superscripts, LaTeX fragments, Math symbols, Embedded LaTeX
3366 @section Subscripts and Superscripts
3367
3368 Just like in La@TeX{}, @samp{^} and @samp{_} are used to indicate super-
3369 and subscripts. Again, these can be used without embedding them in
3370 math-mode delimiters. To increase the readability of ASCII text, it is
3371 not necessary (but OK) to surround multi-character sub- and superscripts
3372 with curly braces. For example
3373
3374 @example
3375 The mass if the sun is M_sun = 1.989 x 10^30 kg. The radius o
3376 the sun is R_@{sun@} = 6.96 x 10^8 m.
3377 @end example
3378
3379 To avoid interpretation as raised or lowered text, you can quote
3380 @samp{^} and @samp{_} with a backslash: @samp{\_} and @samp{\^}.
3381
3382 During HTML export (@pxref{HTML export}), subscript and superscripts
3383 are surrounded with @code{<sub>} and @code{<sup>} tags, respectively.
3384
3385 @node LaTeX fragments, Processing LaTeX fragments, Subscripts and Superscripts, Embedded LaTeX
3386 @section LaTeX fragments
3387
3388 With symbols, sub- and superscripts, HTML is pretty much at its end when
3389 it comes to representing mathematical formulas. More complex
3390 expressions need a dedicated formula processor. To this end, Org-mode
3391 can contain arbitrary La@TeX{} fragments. It provides commands to
3392 preview the typeset result of these fragments, and upon export to HTML,
3393 all fragments will be converted to images and inlined into the HTML
3394 document. For this to work you need to be on a system with a working
3395 La@TeX{} installation. You also need the @file{dvipng} program,
3396 available at @url{http://sourceforge.net/projects/dvipng/}.
3397
3398 La@TeX{} fragments don't need any special marking at all. The following
3399 snippets will be identified as LaTeX source code:
3400 @itemize @bullet
3401 @item
3402 Environments of any kind. The only requirement is that the
3403 @code{\begin} statements appears on a new line, preceded by only
3404 whitespace.
3405 @item
3406 Text within the usual La@TeX{} math delimiters. Org-mode recognizes
3407 single @samp{$} characters as math delimiters only if they are directly
3408 attached to the surrounded text, with no whitespace in between. For the
3409 other delimiters, there is no such restriction.
3410 @end itemize
3411
3412 @noindent For example:
3413
3414 @example
3415 \begin@{equation@} % arbitrary environments,
3416 x=\sqrt@{b@} % even tables, figures
3417 \end@{equation@} % etc
3418
3419 If $a=\sqrt@{b@}$ and \( b=2 \), then the solution must be
3420 either $$ a=+\sqrt@{2@} $$ or \[ a=-\sqrt@{2@} \].
3421 @end example
3422
3423 @noindent
3424 If you need any of the delimiter ASCII sequences for other purposes, you
3425 can configure the option @code{org-format-latex-options} to deselect the
3426 ones you do not wish to have interpreted by the La@TeX{} converter.
3427
3428 @node Processing LaTeX fragments, CDLaTeX mode, LaTeX fragments, Embedded LaTeX
3429 @section Processing LaTeX fragments
3430
3431 La@TeX{} fragments can be processed to produce a preview images of the
3432 typeset expressions:
3433
3434 @table @kbd
3435 @kindex C-c C-x C-l
3436 @item C-c C-x C-l
3437 Produce a preview image of the La@TeX{} fragment at point and overlay it
3438 over the source code. If there is no fragment at point, process all
3439 fragments in the current entry (between two headlines). When called
3440 with a prefix argument, process the entire subtree. When called with
3441 two prefix arguments, or when the cursor is before the first headline,
3442 process the entire buffer.
3443 @kindex C-c C-c
3444 @item C-c C-c
3445 Remove the overlay preview images.
3446 @end table
3447
3448 During HTML export (@pxref{HTML export}), all La@TeX{} fragments are
3449 converted into images and inlined into the document if the following
3450 setting is active:
3451
3452 @lisp
3453 (setq org-export-with-LaTeX-fragments t)
3454 @end lisp
3455
3456 @node CDLaTeX mode, , Processing LaTeX fragments, Embedded LaTeX
3457 @section Using CDLaTeX to enter math
3458
3459 CDLaTeX-mode is a minor mode that is normally used in combination with a
3460 major LaTeX mode like AUCTeX in order to speed-up insertion of
3461 environments and math templates. Inside Org-mode, you can make use of
3462 some of the features of cdlatex-mode by turning on a special minor mode
3463 with @code{M-x org-cdlatex-mode}. You can also turn it on for all
3464 Org-mode files with
3465
3466 @lisp
3467 (add-hook 'org-mode-hook 'turn-on-org-cdlatex)
3468 @end lisp
3469
3470 When this mode is enabled, the following features are present (for more
3471 details see the documentation of cdlatex-mode):
3472 @itemize @bullet
3473 @kindex C-c @{
3474 @item
3475 Environment templates can be inserted with @kbd{C-c @{}.
3476 @item
3477 @kindex @key{TAB}
3478 The @key{TAB} key will do template expansion if the cursor is inside a
3479 LaTeX fragment@footnote{Org-mode has a heuristic method to test if the
3480 cursor is inside such a fragment, see the documentation of the function
3481 @code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will
3482 expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
3483 correctly inside the first brace. Another @key{TAB} will get you into
3484 the second brace. Even outside fragments, @key{TAB} will expand
3485 environment abbreviations at the beginning of a line. For example, if
3486 you write @samp{equ} at the beginning of a line and press @key{TAB},
3487 this abbreviation will be expanded to an @code{equation} environment.
3488 To get a list of all abbreviations, type @kbd{M-x
3489 cdlatex-command-help}.
3490 @item
3491 @kindex _
3492 @kindex ^
3493 Pressing @kbd{_} and @kbd{^} inside a LaTeX fragment will insert these
3494 characters together with a pair of braces. If you use @key{TAB} to move
3495 out of the braces, and if the braces surround only a single character or
3496 macro, they are removed again (depending on the variable
3497 @code{cdlatex-simplify-sub-super-scripts}).
3498 @item
3499 @kindex `
3500 Pressing the backquote @kbd{`} followed by a character inserts math
3501 macros, also outside LaTeX fragments. If you wait more than 1.5 seconds
3502 after the backquote, a help window will pop up.
3503 @item
3504 @kindex '
3505 Pressing the normal quote @kbd{'} followed by another character modifies
3506 the symbol before point with an accent or a font. If you wait more than
3507 1.5 seconds after the backquote, a help window will pop up. Character
3508 modification will work only inside La@TeX{} fragments, outside the quote
3509 is normal.
3510 @end itemize
3511
3512 @node Exporting, Publishing, Embedded LaTeX, Top
3247 @chapter Exporting 3513 @chapter Exporting
3248 @cindex exporting 3514 @cindex exporting
3249 3515
3250 Org-mode documents can be exported into a variety of other formats. For 3516 Org-mode documents can be exported into a variety of other formats. For
3251 printing and sharing of notes, ASCII export produces a readable and 3517 printing and sharing of notes, ASCII export produces a readable and
3503 Some of the export backends of Org-mode allow for sophisticated text 3769 Some of the export backends of Org-mode allow for sophisticated text
3504 formatting, this is true in particular for the HTML backend. Org-mode 3770 formatting, this is true in particular for the HTML backend. Org-mode
3505 has a number of typing conventions that allow to produce a richly 3771 has a number of typing conventions that allow to produce a richly
3506 formatted output. 3772 formatted output.
3507 3773
3508
3509 @itemize @bullet 3774 @itemize @bullet
3510 3775
3511 @cindex hand-formatted lists 3776 @cindex hand-formatted lists
3512 @cindex lists, hand-formatted 3777 @cindex lists, hand-formatted
3513 @item 3778 @item
3517 3782
3518 @cindex underlined text 3783 @cindex underlined text
3519 @cindex bold text 3784 @cindex bold text
3520 @cindex italic text 3785 @cindex italic text
3521 @item 3786 @item
3522 You can make words @b{*bold*}, @i{/italic/}, and _underlined_ 3787 You can make words @b{*bold*}, @i{/italic/}, _underlined_,
3523 3788 @code{=code=}, and @samp{+strikethrough+}.
3524 @cindex @TeX{} interpretation 3789
3525 @item 3790 @cindex LaTeX fragments, export
3526 Simple @TeX{}-like math constructs are interpreted: 3791 @cindex TeX macros, export
3527 3792 @item
3528 @cindex completion, of @TeX{} symbols 3793 Many @TeX{} macros and entire La@TeX{} fragments are converted into HTML
3529 @itemize @minus 3794 entities or images (@pxref{Embedded LaTeX}).
3530 @item
3531 @samp{10^22} and @samp{J_n} are super- and subscripts. You can quote
3532 @samp{^} and @samp{_} with a backslash: @samp{\_} and @samp{\^}
3533 @item
3534 @samp{\alpha} indicates a Greek letter, @samp{\to} an arrow. You can
3535 use completion for these macros, just type @samp{\} and maybe a few
3536 letters, and press @kbd{M-@key{TAB}} to see possible completions.
3537 @end itemize
3538 3795
3539 @cindex tables, export 3796 @cindex tables, export
3540 @item 3797 @item
3541 Tables are transformed into native tables under the exporter, if the 3798 Tables are transformed into native tables under the exporter, if the
3542 export backend supports this. Data fields before the first horizontal 3799 export backend supports this. Data fields before the first horizontal
3564 they can all be turned off with corresponding variables (see the 3821 they can all be turned off with corresponding variables (see the
3565 customization group @code{org-export-general}, and the following section 3822 customization group @code{org-export-general}, and the following section
3566 which explains how to set export options with special lines in a 3823 which explains how to set export options with special lines in a
3567 buffer. 3824 buffer.
3568 3825
3826
3569 @node Export options, , Enhancing text, Text interpretation 3827 @node Export options, , Enhancing text, Text interpretation
3570 @subsection Export options 3828 @subsection Export options
3571 @cindex options, for export 3829 @cindex options, for export
3572 3830
3573 @cindex completion, of option keywords 3831 @cindex completion, of option keywords
3589 #+AUTHOR: the author (default taken from @code{user-full-name}) 3847 #+AUTHOR: the author (default taken from @code{user-full-name})
3590 #+EMAIL: his/her email address (default from @code{user-mail-address}) 3848 #+EMAIL: his/her email address (default from @code{user-mail-address})
3591 #+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language}) 3849 #+LANGUAGE: language for HTML, e.g. @samp{en} (@code{org-export-default-language})
3592 #+TEXT: Some descriptive text to be inserted at the beginning. 3850 #+TEXT: Some descriptive text to be inserted at the beginning.
3593 #+TEXT: Several lines may be given. 3851 #+TEXT: Several lines may be given.
3594 #+OPTIONS: H:2 num:t toc:t \n:nil @:t ::t |:t ^:t *:nil TeX:t 3852 #+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t *:nil TeX:t LaTeX:t
3595 @end example 3853 @end example
3596 3854
3597 @noindent 3855 @noindent
3598 The OPTIONS line is a compact form to specify export settings. Here 3856 The OPTIONS line is a compact form to specify export settings. Here
3599 you can: 3857 you can:
3605 @cindex fixed-width sections 3863 @cindex fixed-width sections
3606 @cindex tables 3864 @cindex tables
3607 @cindex @TeX{}-like syntax for sub- and superscripts 3865 @cindex @TeX{}-like syntax for sub- and superscripts
3608 @cindex emphasized text 3866 @cindex emphasized text
3609 @cindex @TeX{} macros 3867 @cindex @TeX{} macros
3868 @cindex La@TeX{} fragments
3610 @example 3869 @example
3611 H: @r{set the number of headline levels for export} 3870 H: @r{set the number of headline levels for export}
3612 num: @r{turn on/off section-numbers} 3871 num: @r{turn on/off section-numbers}
3613 toc: @r{turn on/off table of contents} 3872 toc: @r{turn on/off table of contents}
3614 \n: @r{turn on/off linebreak-preservation} 3873 \n: @r{turn on/off linebreak-preservation}
3615 @@: @r{turn on/off quoted HTML tags} 3874 @@: @r{turn on/off quoted HTML tags}
3616 :: @r{turn on/off fixed-width sections} 3875 :: @r{turn on/off fixed-width sections}
3617 |: @r{turn on/off tables} 3876 |: @r{turn on/off tables}
3618 ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts.} 3877 ^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts.}
3619 *: @r{turn on/off emphasized text (bold, italic, underlined)} 3878 *: @r{turn on/off emphasized text (bold, italic, underlined)}
3620 TeX: @r{turn on/off @TeX{} macros} 3879 TeX: @r{turn on/off simple @TeX{} macros in plain text}
3880 LaTeX: @r{turn on/off La@TeX{} fragments}
3621 @end example 3881 @end example
3622 3882
3623 @node Publishing, Miscellaneous, Exporting, Top 3883 @node Publishing, Miscellaneous, Exporting, Top
3624 @chapter Publishing 3884 @chapter Publishing
3885 @cindex publishing
3625 3886
3626 Org-mode includes@footnote{@file{org-publish.el} is not yet part of 3887 Org-mode includes@footnote{@file{org-publish.el} is not yet part of
3627 emacs, so if you are using @file{org.el} as it comes with Emacs, you 3888 emacs, so if you are using @file{org.el} as it comes with Emacs, you
3628 need to download this file separately. Also make sure org.el is at 3889 need to download this file separately. Also make sure org.el is at
3629 least version 4.27.} a publishing management system 3890 least version 4.27.} a publishing management system
3648 Publishing needs significant configuration to specify files, destination 3909 Publishing needs significant configuration to specify files, destination
3649 and many other properties of a project. 3910 and many other properties of a project.
3650 3911
3651 @menu 3912 @menu
3652 * Project alist:: The central configuration variable 3913 * Project alist:: The central configuration variable
3653 * File sources and destinations:: From here to there 3914 * Sources and destinations:: From here to there
3654 * Selecting files:: What files are part of the project? 3915 * Selecting files:: What files are part of the project?
3655 * Publishing action:: Setting the function doing the publishing 3916 * Publishing action:: Setting the function doing the publishing
3656 * Publishing options:: Tweaking HTML export 3917 * Publishing options:: Tweaking HTML export
3657 * Publishing links:: Which links keep working after publishing? 3918 * Publishing links:: Which links keep working after publishing?
3658 * Project page index:: Publishing a list of project files 3919 * Project page index:: Publishing a list of project files
3659 @end menu 3920 @end menu
3660 3921
3661 @node Project alist, File sources and destinations, Configuration, Configuration 3922 @node Project alist, Sources and destinations, Configuration, Configuration
3662 @subsection The variable @code{org-publish-project-alist} 3923 @subsection The variable @code{org-publish-project-alist}
3924 @cindex org-publish-project-alist
3925 @cindex projects, for publishing
3663 3926
3664 Org-publish is configured almost entirely through setting the value of 3927 Org-publish is configured almost entirely through setting the value of
3665 one variable, called @code{org-publish-project-alist}. 3928 one variable, called @code{org-publish-project-alist}.
3666 Each element of the list configures one project, and may be in one of 3929 Each element of the list configures one project, and may be in one of
3667 the two following forms: 3930 the two following forms:
3682 of the ``components'' property are taken to be components of the 3945 of the ``components'' property are taken to be components of the
3683 project, which group together files requiring different publishing 3946 project, which group together files requiring different publishing
3684 options. When you publish such a ``meta-project'' all the components 3947 options. When you publish such a ``meta-project'' all the components
3685 will also publish. 3948 will also publish.
3686 3949
3687 @node File sources and destinations, Selecting files, Project alist, Configuration 3950 @node Sources and destinations, Selecting files, Project alist, Configuration
3688 @subsection Sources and destinations for files 3951 @subsection Sources and destinations for files
3952 @cindex directories, for publishing
3689 3953
3690 Most properties are optional, but some should always be set. In 3954 Most properties are optional, but some should always be set. In
3691 particular, org-publish needs to know where to look for source files, 3955 particular, org-publish needs to know where to look for source files,
3692 and where to put published files. 3956 and where to put published files.
3693 3957
3697 @item @code{:publishing-directory} 3961 @item @code{:publishing-directory}
3698 @tab Directory (possibly remote) where output files will be published. 3962 @tab Directory (possibly remote) where output files will be published.
3699 @end multitable 3963 @end multitable
3700 @noindent 3964 @noindent
3701 3965
3702 @node Selecting files, Publishing action, File sources and destinations, Configuration 3966 @node Selecting files, Publishing action, Sources and destinations, Configuration
3703 @subsection Selecting files 3967 @subsection Selecting files
3968 @cindex files, selecting for publishing
3704 3969
3705 By default, all files with extension @file{.org} in the base directory 3970 By default, all files with extension @file{.org} in the base directory
3706 are considered part of the project. This can be modified by setting the 3971 are considered part of the project. This can be modified by setting the
3707 properties 3972 properties
3708 @multitable @columnfractions 0.25 0.75 3973 @multitable @columnfractions 0.25 0.75
3720 and @code{:exclude}. 3985 and @code{:exclude}.
3721 @end multitable 3986 @end multitable
3722 3987
3723 @node Publishing action, Publishing options, Selecting files, Configuration 3988 @node Publishing action, Publishing options, Selecting files, Configuration
3724 @subsection Publishing Action 3989 @subsection Publishing Action
3990 @cindex action, for publishing
3725 3991
3726 Publishing means that a file is copied to the destination directory and 3992 Publishing means that a file is copied to the destination directory and
3727 possibly transformed in the process. The default transformation is to 3993 possibly transformed in the process. The default transformation is to
3728 export Org-mode files as HTML files, and this is done by the function 3994 export Org-mode files as HTML files, and this is done by the function
3729 @code{org-publish-org-to-html} which calls the HTML exporter 3995 @code{org-publish-org-to-html} which calls the HTML exporter
3744 provides one for attachments (files that only need to be copied): 4010 provides one for attachments (files that only need to be copied):
3745 @code{org-publish-attachment}. 4011 @code{org-publish-attachment}.
3746 4012
3747 @node Publishing options, Publishing links, Publishing action, Configuration 4013 @node Publishing options, Publishing links, Publishing action, Configuration
3748 @subsection Options for the HTML exporter 4014 @subsection Options for the HTML exporter
4015 @cindex options, for publishing
3749 4016
3750 The property list can be used to set many export options for the HTML 4017 The property list can be used to set many export options for the HTML
3751 exporter. In most cases, these properties correspond to user variables 4018 exporter. In most cases, these properties correspond to user variables
3752 in Org-mode. The table below lists these properties along with the 4019 in Org-mode. The table below lists these properties along with the
3753 variable they belong to. See the documentation string for the 4020 variable they belong to. See the documentation string for the
3756 @multitable @columnfractions 0.3 0.7 4023 @multitable @columnfractions 0.3 0.7
3757 @item @code{:language} @tab @code{org-export-default-language} 4024 @item @code{:language} @tab @code{org-export-default-language}
3758 @item @code{:headline-levels} @tab @code{org-export-headline-levels} 4025 @item @code{:headline-levels} @tab @code{org-export-headline-levels}
3759 @item @code{:section-numbers} @tab @code{org-export-with-section-numbers} 4026 @item @code{:section-numbers} @tab @code{org-export-with-section-numbers}
3760 @item @code{:table-of-contents} @tab @code{org-export-with-toc} 4027 @item @code{:table-of-contents} @tab @code{org-export-with-toc}
4028 @item @code{:archived-trees} @tab @code{org-export-with-archived-trees}
3761 @item @code{:emphasize} @tab @code{org-export-with-emphasize} 4029 @item @code{:emphasize} @tab @code{org-export-with-emphasize}
3762 @item @code{:sub-superscript} @tab @code{org-export-with-sub-superscripts} 4030 @item @code{:sub-superscript} @tab @code{org-export-with-sub-superscripts}
3763 @item @code{:TeX-macros} @tab @code{org-export-with-TeX-macros} 4031 @item @code{:TeX-macros} @tab @code{org-export-with-TeX-macros}
4032 @item @code{:LaTeX-fragments} @tab @code{org-export-with-LaTeX-fragments}
3764 @item @code{:fixed-width} @tab @code{org-export-with-fixed-width} 4033 @item @code{:fixed-width} @tab @code{org-export-with-fixed-width}
3765 @item @code{:timestamps} .@tab @code{org-export-with-timestamps} 4034 @item @code{:timestamps} .@tab @code{org-export-with-timestamps}
3766 @item @code{:tags} .@tab @code{org-export-with-tags} 4035 @item @code{:tags} .@tab @code{org-export-with-tags}
3767 @item @code{:tables} @tab @code{org-export-with-tables} 4036 @item @code{:tables} @tab @code{org-export-with-tables}
3768 @item @code{:table-auto-headline} @tab @code{org-export-highlight-first-table-line} 4037 @item @code{:table-auto-headline} @tab @code{org-export-highlight-first-table-line}
3785 during publishing. options set within a file (@pxref{Export 4054 during publishing. options set within a file (@pxref{Export
3786 options}), however, override everything. 4055 options}), however, override everything.
3787 4056
3788 @node Publishing links, Project page index, Publishing options, Configuration 4057 @node Publishing links, Project page index, Publishing options, Configuration
3789 @subsection Links between published files 4058 @subsection Links between published files
4059 @cindex links, publishing
3790 4060
3791 To create a link from one Org-mode file to another, you would use 4061 To create a link from one Org-mode file to another, you would use
3792 something like @samp{[[file:foo.org][The foo]]} or simply 4062 something like @samp{[[file:foo.org][The foo]]} or simply
3793 @samp{file:foo.org.} (@pxref{Hyperlinks}). Upon publishing this link 4063 @samp{file:foo.org.} (@pxref{Hyperlinks}). Upon publishing this link
3794 becomes a link to @file{foo.html}. In this way, you can interlink the 4064 becomes a link to @file{foo.html}. In this way, you can interlink the
3818 function is @code{org-publish-validate-link} which checks if the given 4088 function is @code{org-publish-validate-link} which checks if the given
3819 file is part of any project in @code{org-publish-project-alist}. 4089 file is part of any project in @code{org-publish-project-alist}.
3820 4090
3821 @node Project page index, , Publishing links, Configuration 4091 @node Project page index, , Publishing links, Configuration
3822 @subsection Project page index 4092 @subsection Project page index
4093 @cindex index, of published pages
3823 4094
3824 The following properties may be used to control publishing of an 4095 The following properties may be used to control publishing of an
3825 index of files or summary page for a given project. 4096 index of files or summary page for a given project.
3826 4097
3827 @multitable @columnfractions 0.25 0.75 4098 @multitable @columnfractions 0.25 0.75
3948 @chapter Miscellaneous 4219 @chapter Miscellaneous
3949 4220
3950 @menu 4221 @menu
3951 * Completion:: M-TAB knows what you need 4222 * Completion:: M-TAB knows what you need
3952 * Customization:: Adapting Org-mode to your taste 4223 * Customization:: Adapting Org-mode to your taste
3953 * Summary of in-buffer settings:: Using special lines to set options 4224 * In-buffer settings:: Overview of the #+KEYWORDS
3954 * The very busy C-c C-c key:: When in doubt, press C-c C-c 4225 * The very busy C-c C-c key:: When in doubt, press C-c C-c
3955 * Clean view:: Getting rid of leading stars in the outline 4226 * Clean view:: Getting rid of leading stars in the outline
3956 * TTY keys:: Using Org-mode on a tty 4227 * TTY keys:: Using Org-mode on a tty
3957 * Interaction:: Other Emacs packages 4228 * Interaction:: Other Emacs packages
3958 * Bugs:: Things which do not work perfectly 4229 * Bugs:: Things which do not work perfectly
3999 @item 4270 @item
4000 Elsewhere, complete dictionary words using ispell. 4271 Elsewhere, complete dictionary words using ispell.
4001 @end itemize 4272 @end itemize
4002 @end table 4273 @end table
4003 4274
4004 4275 @node Customization, In-buffer settings, Completion, Miscellaneous
4005 @node Customization, Summary of in-buffer settings, Completion, Miscellaneous
4006 @section Customization 4276 @section Customization
4007 @cindex customization 4277 @cindex customization
4008 @cindex options, for customization 4278 @cindex options, for customization
4009 @cindex variables, for customization 4279 @cindex variables, for customization
4010 4280
4012 Org-mode. For the sake of compactness of the manual, we are not 4282 Org-mode. For the sake of compactness of the manual, we are not
4013 describing the variables here. A structured overview of customization 4283 describing the variables here. A structured overview of customization
4014 variables is available with @kbd{M-x org-customize}. Or select 4284 variables is available with @kbd{M-x org-customize}. Or select
4015 @code{Browse Org Group} from the @code{Org->Customization} menu. Many 4285 @code{Browse Org Group} from the @code{Org->Customization} menu. Many
4016 settings can also be activated on a per-file basis, by putting special 4286 settings can also be activated on a per-file basis, by putting special
4017 lines into the buffer (@pxref{Summary of in-buffer settings}). 4287 lines into the buffer (@pxref{In-buffer settings}).
4018 4288
4019 @node Summary of in-buffer settings, The very busy C-c C-c key, Customization, Miscellaneous 4289 @node In-buffer settings, The very busy C-c C-c key, Customization, Miscellaneous
4020 @section Summary of in-buffer settings 4290 @section Summary of in-buffer settings
4021 @cindex in-buffer settings 4291 @cindex in-buffer settings
4022 @cindex special keywords 4292 @cindex special keywords
4023 4293
4024 Org-mode uses special lines in the buffer to define settings on a 4294 Org-mode uses special lines in the buffer to define settings on a
4084 @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS: 4354 @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+OPTIONS:
4085 These lines provide settings for exporting files. For more details see 4355 These lines provide settings for exporting files. For more details see
4086 @ref{Export options}. 4356 @ref{Export options}.
4087 @end table 4357 @end table
4088 4358
4089 @node The very busy C-c C-c key, Clean view, Summary of in-buffer settings, Miscellaneous 4359 @node The very busy C-c C-c key, Clean view, In-buffer settings, Miscellaneous
4090 @section The very busy C-c C-c key 4360 @section The very busy C-c C-c key
4091 @kindex C-c C-c 4361 @kindex C-c C-c
4092 4362
4093 The key @kbd{C-c C-c} has many purposes in org-mode, which are all 4363 The key @kbd{C-c C-c} has many purposes in org-mode, which are all
4094 mentioned scattered throughout this manual. One specific function of 4364 mentioned scattered throughout this manual. One specific function of
4303 @samp{Mega} etc. You will need version 2.0 of this package, available 4573 @samp{Mega} etc. You will need version 2.0 of this package, available
4304 at @url{http://www.astro.uva.nl/~dominik/Tools}. Org-mode checks for 4574 at @url{http://www.astro.uva.nl/~dominik/Tools}. Org-mode checks for
4305 the function @code{constants-get}, which has to be autoloaded in your 4575 the function @code{constants-get}, which has to be autoloaded in your
4306 setup. See the installation instructions in the file 4576 setup. See the installation instructions in the file
4307 @file{constants.el}. 4577 @file{constants.el}.
4578 @item @file{cdlatex.el} by Carsten Dominik
4579 @cindex @file{cdlatex.el}
4580 Org-mode can make use of the cdlatex package to efficiently enter
4581 La@TeX{} fragments into Org-mode files.
4582 @file{cdlatex.el} is not part of Emacs, find it on the web.
4308 @item @file{remember.el} by John Wiegley 4583 @item @file{remember.el} by John Wiegley
4309 @cindex @file{remember.el} 4584 @cindex @file{remember.el}
4310 Org mode cooperates with remember, see @ref{Remember}. 4585 Org mode cooperates with remember, see @ref{Remember}.
4311 @file{Remember.el} is not part of Emacs, find it on the web. 4586 @file{Remember.el} is not part of Emacs, find it on the web.
4312 @cindex @file{table.el} 4587 @cindex @file{table.el}
4403 This appendix lists extensions for Org-mode written by other authors. 4678 This appendix lists extensions for Org-mode written by other authors.
4404 It also covers some aspects where users can easily extend the 4679 It also covers some aspects where users can easily extend the
4405 functionality of Org-mode. 4680 functionality of Org-mode.
4406 4681
4407 @menu 4682 @menu
4408 * Extensions:: 4683 * Extensions:: Existing 3rd-part extensions
4409 * Dynamic blocks:: 4684 * Dynamic blocks:: Automatically filled blocks
4410 @end menu 4685 @end menu
4411 4686
4412 @node Extensions, Dynamic blocks, Extensions and Hacking, Extensions and Hacking 4687 @node Extensions, Dynamic blocks, Extensions and Hacking, Extensions and Hacking
4413 @section Third-party extensions for Org-mode 4688 @section Third-party extensions for Org-mode
4414 4689
4433 @file{org-publish.el} can be downloaded from David's site: 4708 @file{org-publish.el} can be downloaded from David's site:
4434 @url{http://dto.freeshell.org/e/org-publish.el}. 4709 @url{http://dto.freeshell.org/e/org-publish.el}.
4435 @cindex @file{org-blog.el} 4710 @cindex @file{org-blog.el}
4436 @item @file{org-blog.el} by David O'Toole 4711 @item @file{org-blog.el} by David O'Toole
4437 A blogging plug-in for @file{org-publish.el}. 4712 A blogging plug-in for @file{org-publish.el}.
4713 @url{http://dto.freeshell.org/notebook/OrgMode.html}.
4438 @cindex @file{org-blogging.el} 4714 @cindex @file{org-blogging.el}
4439 @item @file{org-blogging.el} by Bastien Guerry 4715 @item @file{org-blogging.el} by Bastien Guerry
4440 Publish Org-mode files as 4716 Publish Org-mode files as
4441 blogs. @url{http://www.cognition.ens.fr/~guerry/org-blogging.html}. 4717 blogs. @url{http://www.cognition.ens.fr/~guerry/org-blogging.html}.
4442 @end table 4718 @end table
4505 @appendix History and Acknowledgments 4781 @appendix History and Acknowledgments
4506 @cindex acknowledgments 4782 @cindex acknowledgments
4507 @cindex history 4783 @cindex history
4508 @cindex thanks 4784 @cindex thanks
4509 4785
4510 Org-mode was conceived in 2003 out of frustration over the user 4786 The beginnings of Org-mode go back to 2003. It was borne out of
4511 interface of the emacs outline-mode. The first driver was simply to 4787 frustration over the user interface of the emacs outline-mode. All I
4512 make working with an outline tree possible without having to remember 4788 wanted was to make working with an outline tree possible without having
4513 more than 10 commands just for hiding and unhiding parts of the outline 4789 to remember more than 10 commands just for hiding and unhiding parts of
4514 tree, and to allow to restructure a tree easily. Visibility cycling and 4790 the outline tree, and to allow to restructure a tree easily. Visibility
4515 structure editing were originally implemented in the package 4791 cycling and structure editing were originally implemented in the package
4516 @file{outline-magic.el}, but quickly moved to the more general 4792 @file{outline-magic.el}, but quickly moved to the more general
4517 @file{org.el}. TODO entries and table support were added relatively 4793 @file{org.el}. TODO entries, basic time stamps, and table support were
4518 quickly, and pointed to the two main drivers of Org-mode: Creating a 4794 added next, and highlight the two main goals that Org-mode still has
4519 new plain text mode with intuitive editing features, and to 4795 today: To create a new, outline-based, plain text mode with innovative
4520 incorporate project planning functionality directly into a notes file. 4796 and intuitive editing features, and to incorporate project planning
4521 4797 functionality directly into a notes file.
4522 Since the first release, hundreds of emails either directly to me or 4798
4523 later on @code{emacs-orgmode@@gnu.org} have been a constant source of 4799 Since the first release, hundreds of emails to me or on
4524 bug reports, feedback and new ideas. While I cannot mention everyone, I 4800 @code{emacs-orgmode@@gnu.org} have provided a constant stream of bug
4525 try to keep here a list of the people who had significant 4801 reports, feedback, new ideas, and sometimes even patches and add-on
4526 influence in shaping one or more aspects of Org-mode. Many thanks to 4802 code. Many thanks to everyone who has helped to improve this package.
4527 all of you. If I have forgotten someone, please accept my apologies. 4803 I am trying to keep here a list of the people who had significant
4804 influence in shaping one or more aspects of Org-mode. The list may not
4805 be complete, if I have forgotten someone, please accept my apologies and
4806 let me know.
4528 4807
4529 @itemize @bullet 4808 @itemize @bullet
4530 @item 4809 @item
4531 @i{Thomas Baumann} contributed the code for links to the MH-E email 4810 @i{Thomas Baumann} contributed the code for links to the MH-E email
4532 system. 4811 system.
4550 @i{Christian Egli} converted the documentation into TeXInfo format, 4829 @i{Christian Egli} converted the documentation into TeXInfo format,
4551 patched CSS formatting into the HTML exporter, and inspired the agenda. 4830 patched CSS formatting into the HTML exporter, and inspired the agenda.
4552 @item 4831 @item
4553 @i{Nic Ferrier} contributed mailcap and XOXO support. 4832 @i{Nic Ferrier} contributed mailcap and XOXO support.
4554 @item 4833 @item
4834 @i{Niels Giessen} had the idea to automatically archive DONE trees.
4835 @item
4555 @i{Bastien Guerry} provoded extensive feedback. 4836 @i{Bastien Guerry} provoded extensive feedback.
4556 @item 4837 @item
4557 @i{Kai Grossjohann} pointed out key-binding conflicts caused by 4838 @i{Kai Grossjohann} pointed out key-binding conflicts caused by
4558 Org-mode. 4839 Org-mode.
4559 @item 4840 @item
4588 @i{Christian Schlauer} proposed angular brackets around links, among 4869 @i{Christian Schlauer} proposed angular brackets around links, among
4589 other things. 4870 other things.
4590 @item 4871 @item
4591 Linking to VM/BBDB/GNUS was inspired by @i{Tom Shannon}'s 4872 Linking to VM/BBDB/GNUS was inspired by @i{Tom Shannon}'s
4592 @file{organizer-mode.el}. 4873 @file{organizer-mode.el}.
4593 @c FIXME: 4874 @item
4594 @c @item 4875 @i{Daniel Sinder} came up with the idea of internal archiving my locking
4595 @c @i{Daniel Sinder} came up with the idea if internal archiving my locking 4876 subtrees.
4596 @c subtrees.
4597 @item 4877 @item
4598 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual 4878 @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
4599 chapter about publishing. 4879 chapter about publishing.
4600 @item 4880 @item
4601 @i{J@"urgen Vollmer} contributed code generating the table of contents 4881 @i{J@"urgen Vollmer} contributed code generating the table of contents