comparison man/org.texi @ 62548:55227ff1f8d5

Version 3.09
author Carsten Dominik <dominik@science.uva.nl>
date Fri, 20 May 2005 11:28:03 +0000
parents 88492f3ccffa
children cf8babc6db4b
comparison
equal deleted inserted replaced
62547:5e481e5664d3 62548:55227ff1f8d5
2 @c %**start of header 2 @c %**start of header
3 @c @setfilename org 3 @c @setfilename org
4 @setfilename ../info/org 4 @setfilename ../info/org
5 @settitle Org Mode Manual 5 @settitle Org Mode Manual
6 6
7 @set VERSION 3.08 7 @set VERSION 3.09
8 @set DATE April 2005 8 @set DATE May 2005
9 9
10 @dircategory Emacs 10 @dircategory Emacs
11 @direntry 11 @direntry
12 * Org Mode: (org). Outline-based notes management and organizer 12 * Org Mode: (org). Outline-based notes management and organizer
13 @end direntry 13 @end direntry
154 154
155 Miscellaneous 155 Miscellaneous
156 156
157 * Completion:: M-TAB knows what you need 157 * Completion:: M-TAB knows what you need
158 * Customization:: Adapting Org-mode to your taste 158 * Customization:: Adapting Org-mode to your taste
159 * Tips and Tricks:: An author-imposed FAQ, sort of 159 * FAQ:: Frequently asked questions
160 * Interaction:: Other Emacs packages 160 * Interaction:: Other Emacs packages
161 * Acknowledgments:: These people provided feedback and more 161 * Acknowledgments:: These people provided feedback and more
162 * Bugs:: Things which do not work perfectly 162 * Bugs:: Things which do not work perfectly
163 163
164 @end detailmenu 164 @end detailmenu
222 @cindex installation 222 @cindex installation
223 @cindex autoload 223 @cindex autoload
224 @cindex global keybindings 224 @cindex global keybindings
225 @cindex keybindings, global 225 @cindex keybindings, global
226 226
227 The instructions below assume that you have downloaded Org-mode from 227 If Org-mode is part of the Emacs distribution or an XEmacs package,
228 the web. If Org-mode is part of the Emacs distribution or an XEmacs 228 you only need to copy the following lines to your @file{.emacs} file.
229 package, you only need to add to @file{.emacs} the last three Lisp 229 The last two lines define @emph{global} keys for the commands
230 lines below - all the rest will be taken care of automatically. 230 @command{org-store-link} and @command{org-agenda} - please choose
231 231 suitable keys yourself.
232 Byte-compile @file{org.el} and put it on your load path. If you'd 232
233 like to use the Info documentation, copy the file @file{org} into the 233 @lisp
234 directory containing info files and run the command @code{install-info 234 ;; The following lines are always needed. Choose your own keys.
235 org}. 235 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
236 236 (define-key global-map "\C-cl" 'org-store-link)
237 Then copy the following lines into @file{.emacs}. The last two lines 237 (define-key global-map "\C-ca" 'org-agenda)
238 define @emph{global} keys for the commands @command{org-store-link} 238 @end lisp
239 and @command{org-agenda} - please choose suitable keys yourself. 239
240 If you have downloaded Org-mode from the Web, you must byte-compile
241 @file{org.el} and put it on your load path. In addition to the Emacs
242 Lisp lines above, you also need to add the following lines to
243 @file{.emacs}:
240 244
241 @lisp 245 @lisp
242 ;; These lines only if org-mode is not part of the X/Emacs distribution. 246 ;; These lines only if org-mode is not part of the X/Emacs distribution.
243 (autoload 'org-mode "org" "Org mode" t) 247 (autoload 'org-mode "org" "Org mode" t)
244 (autoload 'org-diary "org" "Diary entries from Org mode") 248 (autoload 'org-diary "org" "Diary entries from Org mode")
245 (autoload 'org-agenda "org" "Multi-file agenda from Org mode" t) 249 (autoload 'org-agenda "org" "Multi-file agenda from Org mode" t)
246 (autoload 'org-store-link "org" "Store a link to the current location" t) 250 (autoload 'org-store-link "org" "Store a link to the current location" t)
247 (autoload 'orgtbl-mode "org" "Org tables as a minor mode" t) 251 (autoload 'orgtbl-mode "org" "Org tables as a minor mode" t)
248 (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode") 252 (autoload 'turn-on-orgtbl "org" "Org tables as a minor mode")
249
250 ;; The following lines are always needed. Choose your own keys.
251 (add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
252 (define-key global-map "\C-cl" 'org-store-link)
253 (define-key global-map "\C-ca" 'org-agenda)
254 @end lisp 253 @end lisp
255 254
256 @cindex org-mode, turning on 255 @cindex org-mode, turning on
257 @noindent 256 With this setup, all files with extension @samp{.org} will be put into
258 This will put all files with extension @samp{.org} into Org-mode. As 257 Org-mode. As an alternative, make the first line of a file look like
259 an alternative, make the first line of a file look like this: 258 this:
260 259
261 @example 260 @example
262 MY PROJECTS -*- mode: org; -*- 261 MY PROJECTS -*- mode: org; -*-
263 @end example 262 @end example
264 263
287 @item What exactly did you do? 286 @item What exactly did you do?
288 @item What did you expect to happen? 287 @item What did you expect to happen?
289 @item What happened instead? 288 @item What happened instead?
290 @end enumerate 289 @end enumerate
291 @noindent Thanks for helping to improve this mode. 290 @noindent Thanks for helping to improve this mode.
292
293 291
294 @node Document Structure, Tables, Introduction, Top 292 @node Document Structure, Tables, Introduction, Top
295 @chapter Document Structure 293 @chapter Document Structure
296 @cindex document structure 294 @cindex document structure
297 @cindex structure of document 295 @cindex structure of document
498 496
499 An important feature of Org-mode is the ability to construct 497 An important feature of Org-mode is the ability to construct
500 @emph{sparse trees} for selected information in an outline tree. A 498 @emph{sparse trees} for selected information in an outline tree. A
501 sparse tree means that the entire document is folded as much as 499 sparse tree means that the entire document is folded as much as
502 possible, but the selected information is made visible along with the 500 possible, but the selected information is made visible along with the
503 headline structure above it. Just try it out and you will see 501 headline structure above it@footnote{See also the variable
502 @code{org-show-following-heading}}. Just try it out and you will see
504 immediately how it works. 503 immediately how it works.
505 504
506 Org-mode contains several commands creating such trees. The most 505 Org-mode contains several commands creating such trees. The most
507 basic one is @command{org-occur}: 506 basic one is @command{org-occur}:
508 507
1392 @node Agenda, Agenda commands, Timeline, Timeline and Agenda 1391 @node Agenda, Agenda commands, Timeline, Timeline and Agenda
1393 @section Agenda 1392 @section Agenda
1394 @cindex agenda 1393 @cindex agenda
1395 1394
1396 An agenda can be compiled from one or more org files. The main 1395 An agenda can be compiled from one or more org files. The main
1397 purpose of this command is to act like a planner, in order to show you 1396 purpose of this command is to act like a paper agenda, showing you all
1398 what tasks are up for the current week, similar to a paper agenda. 1397 the tasks for the current day or week.
1399 1398
1400 The Org-mode files to be processed in order to generate the agenda are 1399 The Org-mode files to be processed in order to generate the agenda are
1401 listed in the variable @code{org-agenda-files}. You can customize 1400 listed in the variable @code{org-agenda-files}. You can customize
1402 this variable, but the easiest way to maintain it is through the 1401 this variable, but the easiest way to maintain it is through the
1403 following commands 1402 following commands
1439 @cindex category 1438 @cindex category
1440 In the agenda buffer, each entry is preceded by a @emph{category}, 1439 In the agenda buffer, each entry is preceded by a @emph{category},
1441 which is derived from the file name. The category can also be set 1440 which is derived from the file name. The category can also be set
1442 with a special line anywhere in the buffer, looking like this: 1441 with a special line anywhere in the buffer, looking like this:
1443 @example 1442 @example
1444 #+CATEGORY: Cheops 1443 #+CATEGORY: Thesis
1445 @end example 1444 @end example
1446 @noindent 1445 @noindent
1447 After changing this line, press @kbd{C-c C-c} with the cursor still in 1446 After changing this line, press @kbd{C-c C-c} with the cursor still in
1448 the line, to make the changes known to org-mode. Otherwise, the 1447 the line, to make the changes known to org-mode. Otherwise, the
1449 change will only be active the next time you visit this file with 1448 change will only be active the next time you visit this file with
1450 Emacs. 1449 Emacs.
1451 1450
1452 The display in the agenda buffer looks best if the category is not 1451 The display in the agenda buffer looks best if the category is not
1453 longer than 10 characters. 1452 longer than 10 characters.
1453
1454 @subsection Time Specifications
1455
1456 Org-mode checks each agenda item for a time specification. The time
1457 can be part of the time stamp that triggered inclusion into the agenda,
1458 for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time ranges can
1459 be specified with two time stamps, like
1460 @c
1461 @w{@samp{<2005-05-10 Tue 20:30>--<2005-05-10 Tue 22:15>}}.
1462
1463 In the headline of the entry itself, a time(range) may also appear as
1464 plain text (like @samp{12:45} or a @samp{8:30-1pm}. If the agenda
1465 integrates the Emacs diary (@pxref{Calendar/Diary integration}), time
1466 specifications in diary entries are recognized as well.
1467
1468 For agenda display, Org-mode extracts the time and displays it in a
1469 standard 24 hour format as part of the prefix. The example times in
1470 the previous paragraphs would end up in the agenda like this:
1471
1472 @example
1473 8:30-13:00 Arthur Dent lies in front of the bulldozer
1474 12:45...... Ford Prefect arrives and takes Arthur to the pub
1475 19:00...... The Vogon reads his poem
1476 20:30-22:15 Marwin escorts the Hitchhikers to the bridge
1477 @end example
1478
1479 If the agenda is in single-day mode, or for the display of today, the
1480 timed entries are embedded in a time grid, like
1481
1482 @example
1483 8:00...... ------------------
1484 8:30-13:00 Arthur Dent lies in front of the bulldozer
1485 10:00...... ------------------
1486 12:00...... ------------------
1487 12:45...... Ford Prefect arrives and takes Arthur to the pub
1488 14:00...... ------------------
1489 16:00...... ------------------
1490 18:00...... ------------------
1491 19:00...... The Vogon reads his poem
1492 20:00...... ------------------
1493 20:30-22:15 Marwin escorts the Hitchhikers to the bridge
1494 @end example
1495
1496 The time grid can be turned on and off with the variable
1497 @code{org-agenda-use-time-grid}, and can be configured with
1498 @code{org-agenda-time-grid}.
1499
1454 1500
1455 @subsection Sorting of agenda items 1501 @subsection Sorting of agenda items
1456 @cindex sorting, of agenda items 1502 @cindex sorting, of agenda items
1457 @cindex priorities, of agenda items 1503 @cindex priorities, of agenda items
1458 The entries for each day are sorted. The default order is to first 1504 The entries for each day are sorted. The default order is to first
1459 collect all items containing an explicit time-of-day specification. 1505 collect all items containing an explicit time-of-day specification.
1460 These entries will be shown at the beginning of the list, as a 1506 These entries will be shown at the beginning of the list, as a
1461 @emph{schedule} for the day. After that, items remain grouped in 1507 @emph{schedule} for the day. After that, items remain grouped in
1462 categories, in the sequence given by @code{org-agenda-files}. Within 1508 categories, in the sequence given by @code{org-agenda-files}. Within
1463 each category, items are sorted by priority (@pxref{Priorities}). 1509 each category, items are sorted by priority (@pxref{Priorities}).
1464
1465 A time-of-day specification looks like @samp{12:45} or @samp{3pm} and
1466 must appear in the headline. For example, a timestamp in a headline
1467 that contains not only a date but also a time will trigger this
1468 mechanism. Specifications of a time in diary entries are recognized
1469 as well, so the schedule will be mixed from diary entries and Org-mode
1470 files.
1471 1510
1472 The priority is a numerical quantity composed of the base priority 1511 The priority is a numerical quantity composed of the base priority
1473 (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}), 1512 (2000 for priority @samp{A}, 1000 for @samp{B}, and 0 for @samp{C}),
1474 plus additional increments for overdue scheduled or deadline items. 1513 plus additional increments for overdue scheduled or deadline items.
1475 1514
1536 Toggle between weekly and daily view. 1575 Toggle between weekly and daily view.
1537 1576
1538 @kindex d 1577 @kindex d
1539 @item d 1578 @item d
1540 Toggle the inclusion of diary entries. See @ref{Calendar/Diary integration}. 1579 Toggle the inclusion of diary entries. See @ref{Calendar/Diary integration}.
1580
1581 @kindex g
1582 @item g
1583 Toggle the time grid on and off. See also the variables
1584 @code{org-agenda-use-time-grid} and @code{org-agenda-time-grid}.
1541 1585
1542 @kindex r 1586 @kindex r
1543 @item r 1587 @item r
1544 Recreate the agenda buffer, for example to reflect the changes 1588 Recreate the agenda buffer, for example to reflect the changes
1545 after modification of the time stamps of items with S-@key{left} and 1589 after modification of the time stamps of items with S-@key{left} and
1912 @chapter Miscellaneous 1956 @chapter Miscellaneous
1913 1957
1914 @menu 1958 @menu
1915 * Completion:: M-TAB knows what you need 1959 * Completion:: M-TAB knows what you need
1916 * Customization:: Adapting Org-mode to your taste 1960 * Customization:: Adapting Org-mode to your taste
1917 * Tips and Tricks:: An author-imposed FAQ, sort of 1961 * FAQ:: Frequently asked questions
1918 * Interaction:: Other Emacs packages 1962 * Interaction:: Other Emacs packages
1919 * Acknowledgments:: These people provided feedback and more 1963 * Acknowledgments:: These people provided feedback and more
1920 * Bugs:: Things which do not work perfectly 1964 * Bugs:: Things which do not work perfectly
1921 @end menu 1965 @end menu
1922 1966
1948 @item 1992 @item
1949 Elsewhere, complete dictionary words using ispell. 1993 Elsewhere, complete dictionary words using ispell.
1950 @end itemize 1994 @end itemize
1951 @end table 1995 @end table
1952 1996
1953 @node Customization, Tips and Tricks, Completion, Miscellaneous 1997 @node Customization, FAQ, Completion, Miscellaneous
1954 @section Customization 1998 @section Customization
1955 @cindex customization 1999 @cindex customization
1956 @cindex options, for customization 2000 @cindex options, for customization
1957 @cindex variables, for customization 2001 @cindex variables, for customization
1958 2002
1960 Org-mode. For the sake of compactness of the manual, we are not 2004 Org-mode. For the sake of compactness of the manual, we are not
1961 describing the variables here. For an overview of customization 2005 describing the variables here. For an overview of customization
1962 variables, use @kbd{M-x org-customize}. Or select @code{Browse Org 2006 variables, use @kbd{M-x org-customize}. Or select @code{Browse Org
1963 Group} from the @code{Org->Customization} menu. 2007 Group} from the @code{Org->Customization} menu.
1964 2008
1965 @node Tips and Tricks, Interaction, Customization, Miscellaneous 2009 @node FAQ, Interaction, Customization, Miscellaneous
1966 @section Tips and Tricks 2010 @section Frequently asked questions
1967 2011
1968 @itemize @bullet 2012 @enumerate
1969 @cindex README files 2013 @item @b{Org-mode seems to be useful default mode for the various
1970 @item 2014 @file{README} files I have scattered through my directories. How do I
1971 I find Org-mode very useful for the many @file{README} files I have 2015 turn it on for all @file{README} files?}
1972 scattered through my directories. So I turn on @file{org-mode} for
1973 all @file{README} files with
1974
1975 @example 2016 @example
1976 (add-to-list 'auto-mode-alist '("README$" . org-mode)) 2017 (add-to-list 'auto-mode-alist '("README$" . org-mode))
1977 @end example 2018 @end example
1978 2019
1979 @ignore 2020 @item @b{I would like to have two windows on the same Org-mode
1980 @cindex files, adding automatically 2021 file, but with different outline visibility. Is that possible?}@*
1981 @item
1982 If you would like to add all org files you ever create to the list of
1983 agenda files@footnote{Think twice. Do you @emph{really} want this?},
1984 you could do so with
1985
1986 @lisp
1987 (add-hook 'org-mode-hook 'org-add-file)
1988 @end lisp
1989
1990 If you would like to add only a selection, for example everything
1991 except the @file{README} files, this could be achieved in the
1992 following way:
1993
1994 @lisp
1995 (add-hook 'org-mode-hook
1996 (lambda ()
1997 (or (string-match "README\\'" (buffer-file-name))
1998 (org-add-file))))
1999 @end lisp
2000 @end ignore
2001
2002 @cindex @code{make-indirect-buffer} 2022 @cindex @code{make-indirect-buffer}
2003 @cindex indirect buffers 2023 @cindex indirect buffers
2004 @item 2024 In GNU Emacs, you may use @emph{indirect buffers} which do exactly
2005 It can be useful to have two different windows showing the same 2025 this. See the documentation on the command
2006 Org-mode file. However, a problem here is that changes to the 2026 @code{make-indirect-buffer}. In XEmacs, this is currently not
2007 visibility in one window immediately affect the other window. On 2027 possible because of the different outline implementation., which visit
2008 Emacs (not on XEmacs because it uses the old outline-mode) a way out 2028 the same file, but have separate settings, also for outline
2009 is the use of @emph{indirect buffers}, which visit the same file, but 2029 visibility.
2010 have separate settings, also for outline visibility. See the 2030
2011 documentation on the command @code{make-indirect-buffer}. 2031 @item @b{Is there an easy way to insert links to web locations?}@*
2012
2013 @cindex URL, paste into buffer 2032 @cindex URL, paste into buffer
2014 @item 2033 Sure, just paste them into the buffer. A plain-text URL-like string
2015 Paste URLs into Org-mode whenever this seems useful. For example, if 2034 is directly interpreted as a link.
2016 you are writing notes about a paper which is available on the web, put 2035
2017 the corresponding URL there and a direct look at the paper is only a 2036 @item @b{When I export my TODO list, every TODO item becomes a
2018 mouse click away. If you have a local copy of the paper, use a 2037 separate section. How do I enforce these items to be exported as an
2019 file:path link. 2038 itemized list?}@*
2020
2021 @cindex headline levels, for export
2022 @item
2023 If you plan to use ASCII or HTML export, make sure things you want to 2039 If you plan to use ASCII or HTML export, make sure things you want to
2024 be exported as item lists are level 4 at least, even if that does mean 2040 be exported as item lists are level 4 at least, even if that does mean
2025 there is a level jump. For example 2041 there is a level jump. For example
2026 2042
2027 @example 2043 @example
2037 2053
2038 @example 2054 @example
2039 +OPTIONS: H:2; ... 2055 +OPTIONS: H:2; ...
2040 @end example 2056 @end example
2041 2057
2058 @item @b{I would like to export only a subtree of my file to HTML. How?}@*
2042 @cindex exporting a subtree 2059 @cindex exporting a subtree
2043 @item
2044 If you want to export a subtree, mark the subtree as region and then 2060 If you want to export a subtree, mark the subtree as region and then
2045 export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example. 2061 export. Marking can be done with @kbd{C-c @@ C-x C-x}, for example.
2046 2062
2063 @item @b{Is there an easy way to insert an empty table template with a
2064 default number of rows and columns?}@*
2047 @cindex table, empty template 2065 @cindex table, empty template
2048 @item
2049 To insert an empty table template, just type @samp{|-} and use 2066 To insert an empty table template, just type @samp{|-} and use
2050 @key{TAB}. 2067 @key{TAB}. The default size can be changed with the variable
2051 2068 @code{org-table-default-size}.
2052 @item 2069
2053 In a table, to add a new column at the end, just type some text 2070 @item @b{When I am in the last column of a table and just above a
2054 anywhere after the final @samp{|}. Upon the next re-align, a new 2071 horizontal line in the table, pressing TAB creates a new table line
2055 column will be created. 2072 @i{before} the horizontal line. How can I quickly move to the line
2056 2073 @i{below} the horizontal line instead?}@*
2057 @item 2074 Press @key{down} (to get on the separator line) and then @key{TAB}.
2058 In tables, @key{TAB} creates new rows before horizontal separator lines. If 2075
2059 the cursor is at @samp{Age} in the following table, 2076 @item @b{How can I change the indentation of an entire table without
2060 2077 fixing every line by hand?}@*
2061 @example
2062 | Name | Phone | Age |
2063 |-------+-------+-----|
2064 | | | |
2065 @end example
2066
2067 the next @key{TAB} would create a second header line. If you want
2068 instead to go to the first empty field below the horizontal line,
2069 press @key{down} (to get on the separator line) and then @key{TAB}.
2070
2071 @cindex indentation, of tables 2078 @cindex indentation, of tables
2072 @item 2079 The indentation of a table is set by the first line. So just fix the
2073 To change the indentation of a table, just change the first line and 2080 indentation of the first line and realign with @key{TAB}.
2074 realign with @key{TAB}. 2081
2075 2082 @end enumerate
2076 @end itemize 2083
2077 2084
2078 2085 @node Interaction, Acknowledgments, FAQ, Miscellaneous
2079 @node Interaction, Acknowledgments, Tips and Tricks, Miscellaneous
2080 @section Interaction with other packages 2086 @section Interaction with other packages
2081 @cindex packages, interaction with other 2087 @cindex packages, interaction with other
2082 @cindex @file{planner.el} 2088 @cindex @file{planner.el}
2083 @cindex @file{remember.el} 2089 @cindex @file{remember.el}
2084 @cindex @file{table.el} 2090 @cindex @file{table.el}
2140 @item 2146 @item
2141 Oliver Oppitz sent several useful suggestions. 2147 Oliver Oppitz sent several useful suggestions.
2142 @item 2148 @item
2143 Carsten Wimmer suggested some changes and helped fix a bug in linking 2149 Carsten Wimmer suggested some changes and helped fix a bug in linking
2144 to GNUS. 2150 to GNUS.
2151 @item
2152 Pavel Chalmoviansky reported bugs and suggested improvements related
2153 to the agenda treatment of items with specifed time.
2145 @item 2154 @item
2146 Stefan Monnier provided a patch with lots of little fixes to keep the 2155 Stefan Monnier provided a patch with lots of little fixes to keep the
2147 Emacs-Lisp compiler happy. 2156 Emacs-Lisp compiler happy.
2148 @end itemize 2157 @end itemize
2149 2158