1 ORG NEWS -- history of user-visible changes. -*- org -*-
3 Copyright (C) 2012 Free Software Foundation, Inc.
4 See the end of the file for license conditions.
6 Please send Org bug reports to emacs-orgmode@gnu.org.
10 ** Overview of the new keybindings
12 | Keybinding | Speedy | Command |
13 |-----------------+--------+-----------------------------|
14 | =C-c C-x C-z= | | [[doc::org-clock-resolve][org-clock-resolve]] |
15 | =C-c C-x C-q= | | [[doc::org-clock-cancel][org-clock-cancel]] |
16 | =C-c C-x C-x= | | [[doc::org-clock-in-last][org-clock-in-last]] |
17 | =M-h= | | [[doc::org-mark-element][org-mark-element]] |
18 | =*= | | [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] |
19 | =C-c C-M-l= | | [[doc::org-insert-all-links][org-insert-all-links]] |
20 | =C-c C-x C-M-v= | | [[doc::org-redisplay-inline-images][org-redisplay-inline-images]] |
21 | =C-c C-x E= | =E= | [[doc::org-inc-effort][org-inc-effort]] |
22 | | =#= | [[doc::org-toggle-comment][org-toggle-comment]] |
23 | | =:= | [[doc::org-columns][org-columns]] |
24 | | =W= | Set =APPT_WARNTIME= |
25 | =k= | | [[doc::org-agenda-capture][org-agenda-capture]] |
27 ** New package and Babel langage
29 *** =org-eshell.el= by Konrad Hinsen is now in Org
31 =org-eshell.el= allows you to create links from [[http://www.gnu.org/software/emacs/manual/html_node/eshell/index.html][Eshell]].
33 *** Support for execution of Scala code blocks (see ob-scala.el)
34 *** Support for execution of IO code blocks (see ob-io.el)
36 ** Incompatible changes
38 - If your code relies on =org-write-agenda=, please use
39 [[doc::org-agenda-write][org-agenda-write]] from now on.
41 - If your code relies on =org-make-link=, please use =concat=
44 ** New features and user-visible changes
48 =org-element.el= is a toolbox for parsing and analysing "elements"
49 in an Org-mode buffer. This has been written by Nicolas Goaziou
50 and has been tested for quite some time. It is now part of Org's
51 core and many core functions rely on this package.
53 Two functions might be particularily handy for users:
54 =org-element-at-point= and =org-element-context=.
56 See the docstrings for more details.
58 Below is a list of editing and navigating commands that now rely
61 **** [[doc::org-fill-paragraph][org-fill-paragraph]] has been completely rewritten
63 The filling mechanisms now rely on org-element, trying to do the
64 right thing on each element in various contexts. E.g. filling in
65 a list item will preserve indentation; filling in message-mode
66 will fall back on the relevant filling functions; etc.
68 **** [[doc::org-metaup][org-metaup]] and [[doc::org-metadown][org-metadown]] will drag the element backward/forward
70 If you want to get the old behavior (i.e. moving a line up and
71 down), you can first select the line as an active region, then
72 =org-metaup= or =org-metadown= to move the region backward or
73 forward. This also works with regions bigger than just one line.
75 **** [[doc::org-up-element][org-up-element]] and [[doc::org-down-element][org-down-element]] (respectively =C-c C-^= and =C-c C-_=)
77 This will move the point up/down in the hierarchy of elements.
79 **** [[doc::org-backward-element][org-backward-element]] and [[doc::org-forward-element][org-forward-element]] (respectively =M-{= and =M-}=)
81 This will move the point backward/forward in the hierarchy of
84 **** [[doc::org-narrow-to-element][org-narrow-to-element]] will narrow to the element at point
85 **** [[doc::org-mark-element][org-mark-element]] will mark the element at point
87 This command is bound to =M-h= and will mark the element at
88 point. If the point is at a paragraph, it will mark the
89 paragraph. If the point is at a list item, it will mark the list
92 Note that if point is at the beginning of a list, it will mark
95 To mark a subtree, you can either use =M-h= on the headline
96 (since there is no ambiguity about the element you're at) or
97 [[doc::org-mark-subtree][org-mark-subtree]] (=C-c @=) anywhere in the subtree.
99 Invoking [[doc::org-mark-element][org-mark-element]] repeatedly will try to mark the next
100 element on top of the previous one(s). E.g. hitting =M-h= twice
101 on a headline will mark the current subtree and the next one on
106 **** New option [[doc::org-agenda-sticky][org-agenda-sticky]]
108 There is a new option =org-agenda-sticky= which enables "sticky"
109 agendas. Sticky agendas remain opened in the background so that
110 you don't need to regenerate them each time you hit the
111 corresponding keystroke. This is a big time saver.
113 When [[doc::org-agenda-sticky][org-agenda-sticky]] is =non-nil=, the agenda buffer will be
114 named using the agenda key and its description. In sticky
115 agendas, the =q= key will just bury the agenda buffers and
116 further agenda commands will show existing buffer instead of
119 If [[doc::org-agenda-sticky][org-agenda-sticky]] is set to =nil=, =q= will kill the single
122 **** New option [[doc::org-agenda-custom-commands-contexts][org-agenda-custom-commands-contexts]]
124 Setting this option allows you to define specific context where
125 agenda commands should be available from. For example, when set
128 #+BEGIN_SRC emacs-lisp
129 (setq org-agenda-custom-commands-contexts
130 '(("p" (in-file . "\\.txt"))))
133 then the =p= agenda command will only be available from buffers
134 visiting *.txt files. See the docstring and the manual for more
135 details on how to use this.
137 **** Changes in bulk actions
139 The set of commands starting with =k ...= as been deleted and the
140 features have been merged into the "bulk action" feature.
142 After you marked some entries in the agenda, if you call =B s=,
143 the agenda entries will be rescheduled using the date at point if
144 on a date header. If you are on an entry with a timestamp, you
145 will be prompted for a date to reschedule your marked entries to,
146 using the timestamp at point as the default prompt.
148 You can now use =k= to capture the marked entry and use the date
149 at point as an overriding date for the capture template.
151 To bind this behavior to =M-x org-capture RET= (or its
152 keybinding), set the new option [[doc::org-capture-use-agenda-date][org-capture-use-agenda-date]] to
155 **** =N= and =P= in the agenda will move to the next/previous item
157 **** New command [[doc::org-agenda-bulk-mark-all][org-agenda-bulk-mark-all]] to mark all items
159 This new command is bound to =*= in agenda mode.
161 There is also a new option [[doc::org-agenda-bulk-mark-char][org-agenda-bulk-mark-char]] to set the
162 character to use as a mark for bulk actions.
164 **** New option [[doc::org-agenda-persistent-marks][org-agenda-persistent-marks]]
166 When set to =non-nil=, marks will remain visible after a bulk
167 action. You can temporarily toggle this by pressing =p= when
168 invoking [[doc::org-agenda-bulk-action][org-agenda-bulk-action]]. Marks are deleted if your
169 rebuild the agenda buffer or move to another date/span (e.g. with
172 **** New option [[doc::org-agenda-skip-timestamp-if-deadline-is-shown][org-agenda-skip-timestamp-if-deadline-is-shown]]
174 =Non-nil= means skip timestamp line if same entry shows because
177 In the agenda of today, an entry can show up multiple times
178 because it has both a plain timestamp and has a nearby deadline.
179 When this variable is t, then only the deadline is shown and the
180 fact that the entry has a timestamp for or including today is not
181 shown. When this variable is =nil=, the entry will be shown
184 **** New =todo-unblocked= and =nottodo-unblocked= skip conditions
186 See the [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3Df426da][git commit]] for more explanations.
188 **** Allow category filtering in the agenda
190 You can now filter the agenda by category. Pressing "<" will
191 filter by the category of the item on the current line, and
192 pressing "<" again will remove the filter. You can combine tag
193 filters and category filters.
195 You can use =org-agenda-category-filter= in your custom agenda
196 views and =org-agenda-category-filter-preset= in your main
199 See also the new command [[doc::org-agenda-filter-by-top-category][org-agenda-filter-by-top-category]]:
200 hitting =^= will filter by "Top" category: only show entries that
201 are of the same category than the Top category of the entry at
208 When inserting links through [[doc::org-insert-link][org-insert-link]], the description is
209 now displayed first, followed by the literal link, as the
210 description is often more useful when you look for the link you
213 Completion now complete both literal links and description. If
214 you complete a description, the literal link and its description
215 will be inserted directly, whereas when you complete the literal
216 link, you will be prompted for a description (as with Org 7.8.)
218 In the completion buffer, links to the current buffer are now
221 **** New templates =%h= and =%(sexp)= for abbreviated links
223 On top of =%s= template, which is replaced by the link tag in
224 abbreviated links, you can now use =%h= (which does the same than =%s=
225 but does not hexify the tag) and =%(sexp)= (which can run a function
226 that takes the tag as its own argument.)
228 **** New link type =help=
230 You can now create links from =help= buffers.
232 For example, if you request help for the command [[doc::org-agenda][org-agenda]] with
233 =C-h f org-agenda RET=, creating a link from this buffer will let
234 you go back to the same buffer.
236 **** New command [[doc::org-insert-all-links][org-insert-all-links]]
238 This will insert all links as list items. With a universal
239 prefix argument, links will not be deleted from the variable
242 This new command is bound to =C-c C-M-l=.
244 **** New option [[doc::org-url-hexify-p][org-url-hexify-p]]
246 When set to =nil=, the =URL= part of a link will not be hexified.
248 **** Org can now open multiple shell links
250 **** New option [[doc::org-doi-server-url][org-doi-server-url]] to specify an alternate DOI server
252 **** RET now follows time stamps links
256 **** [[doc::org-todo][org-todo]] and =org-archive-*= can now loop in the active region
258 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, using
259 [[doc::org-todo][org-todo]] or =org-archive-*= commands in the active region will
260 loop over headlines. This is handy if you want to set the TODO
261 keyword for several items, or archive them quickly.
263 **** You can now set tags for headlines in a region
265 If [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is =non-nil=, then
266 selecting the region and hitting =C-c C-q= will set the tags for
267 all headlines in the region.
269 **** New command [[doc::org-insert-drawer][org-insert-drawer]] to insert a drawer interactively
271 **** Comments start with "^[ \t]*# " anywhere on a line
273 Note that the space after the hashtag is mandatory. Comments
274 with "^#+" are not supported anymore.
276 **** New speed key =#= to toggle the COMMENT cookie on a headline
278 **** =indent-region-function= is now set to [[doc::org-indent-region][org-indent-region]]
280 =C-M-\= should now produce useful results.
282 You can unindent the buffer with [[doc::org-unindent-buffer][org-unindent-buffer]].
284 **** New option [[doc::org-allow-promoting-top-level-subtree][org-allow-promoting-top-level-subtree]]
286 When =non-nil=, =S-M-<left>= will promote level-1 subtrees
287 containing other subtrees. The level-1 headline will be
288 commented out. You can revert to the previous state with =M-x
293 **** New keybinding =C-c C-x C-z= for [[doc::org-clock-resolve][org-clock-resolve]]
295 **** New keybinding =C-c C-x C-q= for [[doc::org-clock-cancel][org-clock-cancel]]
297 **** New command [[doc::org-clock-in-last][org-clock-in-last]] to clock in the last clocked item
299 This command is bound to =C-c C-x C-x= and will clock in the last
300 clocked entry, if any.
302 **** =C-u M-x= [[doc::org-clock-out][org-clock-out]] =RET= now prompts for a state to switch to
304 **** =S-M-<up/down>= on a clock timestamps adjusts the previous/next clock
306 **** New option [[doc::org-clock-continuously][org-clock-continuously]]
308 When set to =nil=, clocking in a task will first try to find the
309 last clocked out task and restart from when that task was clocked
312 You can temporarily activate continuous clocking with =C-u C-u
313 C-u M-x= [[doc::org-clock-in][org-clock-in]] =RET= (three universal prefix arguments)
314 and =C-u C-u M-x= [[org-clock-in-last][org-clock-in-last]] =RET= (two universal prefix
318 **** New option [[doc::org-clock-frame-title-format][org-clock-frame-title-format]]
320 This option sets the value of =frame-title-format= when clocking
323 **** New options for controlling the clockreport display
325 [[doc::org-clock-file-time-cell-format][org-clock-file-time-cell-format]]: Format string for the file time
326 cells in clockreport.
328 [[doc::org-clock-total-time-cell-format][org-clock-total-time-cell-format]]: Format string for the total
329 time cells in clockreport.
332 **** New options for controlling the clock/timer display
334 [[doc::org-clock-clocked-in-display][org-clock-clocked-in-display]]: control whether the current clock
335 is displayed in the mode line and/or frame title.
337 [[doc::org-timer-display][org-timer-display]]: control whether the current timer is displayed
338 in the mode line and/or frame title.
340 This allows the clock and timer to be displayed in the frame
341 title instead of, or as well as, the mode line. This is useful
342 for people with limited space in the mode line but with ample
343 space in the frame title.
347 **** New option [[doc::org-custom-properties][org-custom-properties]]
349 The visibility of properties listed in this options can be turn
350 on/off with [[doc::org-toggle-custom-properties-visibility][org-toggle-custom-properties-visibility]]. This might
351 be useful for properties used by third-part tools or that you
352 don't want to see temporarily.
354 **** New command [[doc::org-redisplay-inline-images][org-redisplay-inline-images]]
356 This will redisplay all images. It is bound to =C-c C-x C-M-v=.
358 **** New entities in =org-entities.el=
360 There are these new entities:
362 : ("tilde" "\\~{}" nil "˜" "~" "~" "~")
363 : ("slash" "/" nil "/" "/" "/" "/")
364 : ("plus" "+" nil "+" "+" "+" "+")
365 : ("under" "\\_" nil "_" "_" "_" "_")
366 : ("equal" "=" nil "=" "=" "=" "=")
367 : ("asciicirc" "\\textasciicircum{}" nil "^" "^" "^" "^")
369 **** New face =org-list-dt= for definition terms
370 **** New face =org-date-selected= for the selected calendar day
371 **** New face value for =org-document-title=
373 The face is back to a normal height.
377 **** New speed command =:= to activate the column view
378 **** New special property =CLOCKSUM_T= to display today's clocked time
380 You can use =CLOCKSUM_T= the same way you use =CLOCKSUM=. It
381 will display the time spent on tasks for today only.
383 **** Use the =:COLUMNS:= property in columnview dynamic blocks
385 If the =:COLUMNS:= is set in a subtree, the columnview dynamic
386 block will use its value as the column format.
388 **** Consider inline tasks when computing a sum
390 *** Org Dates and Time Stamps
392 **** Enhanced [[doc::org-sparse-tree][org-sparse-tree]]
394 =C-c /= can now check for time ranges.
396 When checking for dates with =C-c /= it is useful to change the
397 type of dates that you are interested in. You can now do this
398 interactively with =c= after =C-c /= and/or by setting
399 [[doc::org-sparse-tree-default-date-type][org-sparse-tree-default-date-type]] to the default value you want.
401 **** Support for hourly repeat cookies
405 : SCHEDULED: <2012-08-20 lun. 08:00 +1h>
407 if you want to add an hourly repeater to an entry.
409 **** =C-u C-u C-c .= inserts a time-stamp with no prompt
411 **** When (setq [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] 'time), accept days in the prompt
413 "8am Wed" and "Wed 8am" are now acceptable values when entering a
414 date from the prompt. If [[doc::org-read-date-prefer-future][org-read-date-prefer-future]] is set to
415 =time=, this will produce the expected prompt indication.
417 **** New option [[doc::org-datetree-add-timestamp][org-datetree-add-timestamp]]
419 When set to =non-nil=, datetree entries will also have a
420 timestamp. This is useful if you want to see these entries in a
421 sparse tree with =C-c /=.
425 **** New command [[doc::org-capture-string][org-capture-string]]
427 M-x [[doc::org-capture-string][org-capture-string]] RET will prompt for a string and a capture
428 template. The string will be used as an annotation for the
429 template. This is useful when capturing in batch mode as it lets
430 you define the content of the template without being in Emacs.
432 **** New option [[doc::org-capture-templates-contexts][org-capture-templates-contexts]]
434 Setting this option allows you to define specific context where
435 capture templates should be available from. For example, when
438 #+BEGIN_SRC emacs-lisp
439 (setq org-capture-templates-contexts
440 '(("c" (in-mode . "message-mode"))))
443 then the =c= capture template will only be available from
444 =message-mode= buffers. See the docstring and the manual for
445 more details on how to use this.
447 **** New =%l= template to insert the literal link
448 **** New option [[doc::org-capture-bookmark][org-capture-bookmark]]
450 Org used to automatically add a bookmark with capture a note.
451 You can now turn this on by setting [[doc::org-capture-bookmark][org-capture-bookmark]] to
454 **** Expand =%<num>= escape sequences into text entered for <num>'th =%^{PROMPT}= escape
456 See the manual for more explanations.
458 **** More control over empty lines
460 You can use =:empty-lines-before= and =:empty-lines-after= to
461 control the insertion of empty lines. Check the manual for more
464 **** New hook [[doc::org-capture-prepare-finalize-hook][org-capture-prepare-finalize-hook]]
466 This new hook runs before the finalization process starts.
470 **** New functions =orgtbl-to-table.el= and =orgtbl-to-unicode=
472 =orgtbl-to-table.el= convert the table to a =table.el= table, and
473 =orgtbl-to-unicode= will use =ascii-art-to-unicode.el= (when
474 available) to print beautiful tables.
476 **** [[doc::org-table-export][org-table-export]] now a bit clever about the target format
478 When you specify a file name like =table.csv=, [[doc::org-table-export][org-table-export]]
479 will now suggest =orgtbl-to-csv= the default method for exporting
482 **** New option [[doc::org-export-date-timestamp-format][org-export-date-timestamp-format]]
484 The option allows to set a time string format for Org timestamps
485 in the #+DATE option.
487 **** LaTeX: New options for exporting table rules :tstart, :hline and :tend
489 See [[doc::org-export-latex-tables-hline][org-export-latex-tables-hline]] and [[doc::org-export-latex-tables-tend][org-export-latex-tables-tend]].
491 **** LaTeX: You can now set =:hfmt= from =#+ATTR_LaTeX=
492 **** Beamer: Add support and keybinding for the =exampleblock= environment
494 Add support for these languages in [[doc::org-export-language-setup][org-export-language-setup]].
495 More languages are always welcome.
497 **** Beamer: New option [[doc::org-beamer-inherited-properties][org-beamer-inherited-properties]]
499 This option allows Beamer export to inherit some properties.
500 Thanks to Carsten for implementing this.
502 **** ODT: Add support for ODT export in org-bbdb.el
503 **** ODT: Add support for indented tables (see [[http://orgmode.org/w/?p%3Dorg-mode.git%3Ba%3Dcommit%3Bh%3De9fd33][this commit]] for details)
504 **** ODT: Improve the conversion from ODT to other formats
505 **** ASCII: Swap the level-1/level-2 characters to underline the headlines
506 **** Support for Chinese, simplified Chinese, Russian, Ukrainian and Japanese
507 **** HTML: New option [[doc::org-export-html-date-format-string][org-export-html-date-format-string]]
509 Format string to format the date and time in HTML export. Thanks
510 to Sébastien Vauban for this patch.
514 **** [[doc::org-table-number-regexp][org-table-number-regexp]] can now accept comma as decimal mark
515 **** Org allows a new property =APPT_WARNTIME=
517 You can set it with the =W= speedy key or set it manually. When
518 set, exporting to iCalendar and [[doc::org-agenda-to-appt][org-agenda-to-appt]] will use the
519 value of this property as the number of minutes for the warning
522 **** New command [[doc::org-inc-effort][org-inc-effort]]
524 This will increment the effort value.
526 It is bound to =C-c C-x E= and to =E= as a speedy command.
528 **** Attach: Add support for creating symbolic links
530 =org-attach-method= now supports a new method =lns=, allowing to
531 attach symbolic links.
533 **** Archive: you can now archive to a datetree
535 **** New option [[doc::org-inlinetask-show-first-star][org-inlinetask-show-first-star]]
537 =Non-nil= means display the first star of an inline task as
538 additional marker. When =nil=, the first star is not shown.
540 **** New option [[doc::org-latex-preview-ltxpng-directory][org-latex-preview-ltxpng-directory]]
542 This lets you define the path for the =ltxpng/= directory.
544 **** You can now use imagemagick instead of dvipng to preview LaTeX fragments
545 **** You can now turn off [[doc::orgstruct++-mode][orgstruct++-mode]] safely
546 **** =C-u C-c C-c= on list items to add check boxes
548 =C-u C-c C-c= will add an empty check box on a list item.
550 When hit from the top of the list, it will add check boxes for
551 all top level list items.
553 **** =org-list-ending-method= and =org-list-end-regexp= are now obsolete
555 Fall back on using =org-list-end-re= only, which see.
557 **** org-feed.el now expands =%(sexp)= templates
558 **** New option [[doc::org-protocol-data-separator][org-protocol-data-separator]]
560 **** New option [[doc::org-ditaa-jar-option][org-ditaa-jar-option]] to specify the ditaa jar file
562 **** New possible value for [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]]
564 When [[doc::org-loop-over-headlines-in-active-region][org-loop-over-headlines-in-active-region]] is set to
565 =start-level=, the command will loop over the active region but
566 will only act upon entries that are of the same level than the
567 first headline in the region.
569 **** New option [[doc::org-habit-show-all-today][org-habit-show-all-today]]
571 When set to =t=, show all (even unscheduled) habits on today's
574 ** Important bug fixes
576 *** M-TAB on options keywords perform completion correctly again
578 If you hit =M-TAB= on keywords like =#+TITLE=, Org will try to
579 perform completion with meaningful values.
581 *** Add licenses to javascript embedded and external code snippets
583 Embedded javascript code produced when exporting an Org file to
584 HTML is now licensed under GPLv3 (or later), and the copyright is
585 owned by the Free Software Foundation, Inc.
587 The javascript code for embedding MathJax in the browser mentions
588 the MathJax copyright and the Apache 2.0 license.
590 The javascript code for embedding =org-injo.js= in the browser
591 mentions the copyright of Sebastian Rose and the GPLv3 (or later)
594 =org-export-html-scripts= is now a variable, so that you can adapt
595 the code and the license to your needs.
597 See http://www.gnu.org/philosophy/javascript-trap.html for
598 explanations on why these changes were necessary.
602 ** Incompatible changes
604 *** Emacs 21 support has been dropped
606 Do not use Org mode 7.xx with Emacs 21, use [[http://orgmode.org/org-6.36c.zip][version 6.36c]] instead.
608 *** XEmacs support requires the XEmacs development version
610 To use Org mode 7.xx with XEmacs, you need to run the developer
611 version of XEmacs. We were about to drop XEmacs support entirely,
612 but Michael Sperber stepped in and made changes to XEmacs that
613 made it easier to keep the support. Thanks to Michael for this
616 *** New keys for TODO sparse trees
618 The key =C-c C-v= is now reserved for Org Babel action. TODO
619 sparse trees can still be made with =C-c / t= (all not-done
620 states) and =C-c / T= (specific states).
622 *** The Agenda =org-agenda-ndays= is now obsolete
624 The variable =org-agenda-ndays= is obsolete - please use
625 =org-agenda-span= instead.
627 Thanks to Julien Danjou for this.
629 *** Changes to the intended use of =org-export-latex-classes=
631 So far this variable has been used to specify the complete header
632 of the LaTeX document, including all the =\usepackage= calls
633 necessary for the document. This setup makes it difficult to
634 maintain the list of packages that Org itself would like to call,
635 for example for the special symbol support it needs.
637 First of all, you can *opt out of this change* in the following
638 way: You can say: /I want to have full control over headers, and I
639 will take responsibility to include the packages Org needs/. If
640 that is what you want, add this to your configuration and skip the
641 rest of this section (except maybe for the description of the
642 =[EXTRA]= place holder):
644 #+begin_src emacs-lisp
645 (setq org-export-latex-default-packages-alist nil
646 org-export-latex-packages-alist nil)
649 /Continue to read here if you want to go along with the modified
652 There are now two variables that should be used to list the LaTeX
653 packages that need to be included in all classes. The header
654 definition in =org-export-latex-classes= should then not contain
655 the corresponding =\usepackage= calls (see below).
657 The two new variables are:
659 1. =org-export-latex-default-packages-alist= :: This is the
660 variable where Org-mode itself puts the packages it needs.
661 Normally you should not change this variable. The only
662 reason to change it anyway is when one of these packages
663 causes a conflict with another package you want to use. Then
664 you can remove that packages and hope that you are not using
665 Org-mode functionality that needs it.
667 2. =org-export-latex-packages-alist= :: This is the variable where
668 you can put the packages that you'd like to use across all
671 The sequence how these customizations will show up in the LaTeX
674 1. Header from =org-export-latex-classes=
675 2. =org-export-latex-default-packages-alist=
676 3. =org-export-latex-packages-alist=
677 4. Buffer-specific things set with =#+LaTeX_HEADER:=
679 If you want more control about which segment is placed where, or
680 if you want, for a specific class, have full control over the
681 header and exclude some of the automatic building blocks, you can
682 put the following macro-like place holders into the header:
685 [DEFAULT-PACKAGES] \usepackage statements for default packages
686 [NO-DEFAULT-PACKAGES] do not include any of the default packages
687 [PACKAGES] \usepackage statements for packages
688 [NO-PACKAGES] do not include the packages
689 [EXTRA] the stuff from #+LaTeX_HEADER
690 [NO-EXTRA] do not include #+LaTeX_HEADER stuff
693 If you have currently customized =org-export-latex-classes=, you
694 should revise that customization and remove any package calls that
695 are covered by =org-export-latex-default-packages-alist=. This
696 applies to the following packages:
714 If one of these packages creates a conflict with another package
715 you are using, you can remove it from
716 =org-export-latex-default-packages-alist=. But then you risk that
717 some of the advertised export features of Org will not work
720 You can also consider moving packages that you use in all classes
721 to =org-export-latex-packages-alist=. If necessary, put the place
722 holders so that the packages get loaded in the right sequence. As
723 said above, for backward compatibility, if you omit the place
724 holders, all the variables will dump their content at the end of
727 *** The constant =org-html-entities= is obsolete
729 Its content is now part of the new constant =org-entities=, which
730 is defined in the file org-entities.el. =org-html-entities= was
731 an internal variable, but it is possible that some users did write
734 *** =org-bbdb-anniversary-format-alist= has changed
736 Please check the docstring and update your settings accordingly.
738 *** Deleted =org-mode-p=
740 This function has been deleted: please update your code.
742 ** Important new features
744 *** New Org to ODT exporter
746 Jambunathan's Org to ODT exporter is now part of Org.
748 To use it, it `C-c C-e o' in an Org file. See the documentation
749 for more information on how to customize it.
751 *** org-capture.el is now the default capture system
753 This replaces the earlier system org-remember. The manual only
754 describes org-capture, but for people who prefer to continue to
755 use org-remember, we keep a static copy of the former manual
756 section [[http://orgmode.org/org-remember.pdf][chapter about remember]].
758 The new system has a technically cleaner implementation and more
759 possibilities for capturing different types of data. See
760 [[http://thread.gmane.org/gmane.emacs.orgmode/26441/focus%3D26441][Carsten's announcement]] for more details.
762 To switch over to the new system:
766 : M-x org-capture-import-remember-templates RET
768 to get a translated version of your remember templates into the
769 new variable =org-capture-templates=. This will "mostly" work,
770 but maybe not for all cases. At least it will give you a good
771 place to modify your templates. After running this command,
772 enter the customize buffer for this variable with
774 : M-x customize-variable RET org-capture-templates RET
776 and convince yourself that everything is OK. Then save the
779 2. Bind the command =org-capture= to a key, similar to what you did
782 : (define-key global-map "\C-cc" 'org-capture)
784 If your fingers prefer =C-c r=, you can also use this key once
785 you have decided to move over completely to the new
786 implementation. During a test time, there is nothing wrong
787 with using both system in parallel.
791 *** New Org libraries
792 **** org-eshell.el (Konrad Hinsen)
794 Implement links to eshell buffers.
796 **** org-special-blocks (Carsten Dominik)
798 This package generalizes the #+begin_foo and #+end_foo tokens.
800 To use, put the following in your init file:
803 (require 'org-special-blocks)
806 The tokens #+begin_center, #+begin_verse, etc. existed
807 previously. This package generalizes them (at least for the
808 LaTeX and html exporters). When a #+begin_foo token is
809 encountered by the LaTeX exporter, it is expanded
810 into \begin{foo}. The text inside the environment is not
811 protected, as text inside environments generally is.
812 When #+begin_foo is encountered by the html exporter, a div with
813 class foo is inserted into the HTML file. It is up to the user
814 to add this class to his or her stylesheet if this div is to mean
817 **** org-taskjuggler.el (Christian Egli)
819 Christian Egli's /org-taskjuggler.el/ module is now part of Org.
820 He also wrote a [[http://orgmode.org/worg/org-tutorials/org-taskjuggler.php][tutorial]] for it.
822 **** org-ctags.el (Paul Sexton)
824 Targets like =<<my target>>= can now be found by Emacs' etag
825 functionality, and Org-mode links can be used to to link to
826 etags, also in non-Org-mode files. For details, see the file
829 This feature uses a new hook =org-open-link-functions= which will
830 call function to do something special with text links.
832 Thanks to Paul Sexton for this contribution.
834 **** org-docview.el (Jan Böcker)
836 This new module allows links to various file types using docview, where
837 Emacs displays images of document pages. Docview link types can point
838 to a specific page in a document, for example to page 131 of the
841 : [[docview:~/.elisp/org/doc/org.pdf::131][Org-Mode Manual]]
843 Thanks to Jan Böcker for this contribution.
845 *** New Babel libraries
847 - ob-picolisp.el (Thorsten Jolitz)
848 - ob-fortran.el (Sergey Litvinov)
849 - ob-shen.el (Eric Schulte)
850 - ob-maxima.el (Eric S Fraga)
851 - ob-java.el (Eric Schulte)
852 - ob-lilypond.el (Martyn Jago)
853 - ob-awk.el (Eric Schulte)
855 ** Other new features and various enhancements
859 **** Org-Bibtex -- major improvements
861 Provides support for managing bibtex bibliographical references
862 data in headline properties. Each headline corresponds to a
863 single reference and the relevant bibliographic meta-data is
864 stored in headline properties, leaving the body of the headline
865 free to hold notes and comments. Org-bibtex is aware of all
866 standard bibtex reference types and fields.
868 The key new functions are
870 - org-bibtex-check :: queries the user to flesh out all required
871 (and with prefix argument optional) bibtex fields available
872 for the specific reference =type= of the current headline.
874 - org-bibtex-create :: Create a new entry at the given level,
875 using org-bibtex-check to flesh out the relevant fields.
877 - org-bibtex-yank :: Yank a bibtex entry on the kill ring as a
878 formatted Org-mode headline into the current buffer
880 - org-bibtex-export-to-kill-ring :: Export the current headline
881 to the kill ring as a formatted bibtex entry.
883 **** org-gnus.el now allows link creation from messages
885 You can now create links from messages. This is particularily
886 useful when the user wants to stored messages that he sends, for
887 later check. Thanks to Ulf Stegemann for the patch.
889 **** Modified link escaping
891 David Maus worked on `org-link-escape'. See [[http://article.gmane.org/gmane.emacs.orgmode/37888][his message]]:
893 : Percent escaping is used in Org mode to escape certain characters
894 : in links that would either break the parser (e.g. square brackets
895 : in link target oder description) or are not allowed to appear in
896 : a particular link type (e.g. non-ascii characters in a http:
899 : With this change in place Org will apply percent escaping and
900 : unescaping more consistently especially for non-ascii characters.
901 : Additionally some of the outstanding bugs or glitches concerning
902 : percent escaped links are solved.
904 Thanks a lot to David for this work.
906 **** Make =org-store-link= point to directory in a dired buffer
908 When, in a dired buffer, the cursor is not in a line listing a
909 file, `org-store-link' will store a link to the directory.
911 Patch by Stephen Eglen.
913 **** Allow regexps in =org-file-apps= to capture link parameters
915 The way extension regexps in =org-file-apps= are handled has
916 changed. Instead of matching against the file name, the regexps
917 are now matched against the whole link, and you can use grouping
918 to extract link parameters which you can then use in a command
919 string to be executed.
921 For example, to allow linking to PDF files using the syntax
922 =file:/doc.pdf::<page number>=, you can add the following entry
926 Extension: \.pdf::\([0-9]+\)\'
927 Command: evince "%s" -p %1
930 Thanks to Jan Böcker for a patch to this effect.
934 **** Allow relative time when scheduling/adding a deadline
936 You can now use relative duration strings like "-2d" or "++3w"
937 when calling =org-schedule= or =org-deadline=: it will schedule
938 (or set the deadline for) the item respectively two days before
939 today and three weeks after the current timestamp, if any.
941 You can use this programmatically: =(org-schedule nil "+2d")=
942 will work on the current entry.
944 You can also use this while (bulk-)rescheduling and
945 (bulk-)resetting the deadline of (several) items from the agenda.
947 Thanks to Memnon Anon for a heads up about this!
949 **** American-style dates are now understood by =org-read-date=
951 So when you are prompted for a date, you can now answer like this
955 2/5 --> <CURRENT-YEAR>-02-05
960 **** =org-agenda-custom-commands= has a default value
962 This option used to be `nil' by default. This now has a default
963 value, displaying an agenda and all TODOs. See the docstring for
964 details. Thanks to Carsten for this.
966 **** Improved filtering through =org-agenda-to-appt=
968 The new function allows the user to refine the scope of entries
969 to pass to =org-agenda-get-day-entries= and allows to filter out
970 entries using a function.
972 Thanks to Peter Münster for raising a related issue and to
973 Tassilo Horn for this idea. Also thanks to Peter Münster for
974 [[git:68ffb7a7][fixing a small bug]] in the final implementation.
976 **** Allow ap/pm times in agenda time grid
978 Times in the agenda can now be displayed in am/pm format. See
979 the new variable =org-agenda-timegrid-use-ampm=. Thanks to
980 C. A. Webber for a patch to this effect.
982 **** Agenda: Added a bulk "scattering" command
984 =B S= in the agenda buffer will cause tasks to be rescheduled a
985 random number of days into the future, with 7 as the default.
986 This is useful if you've got a ton of tasks scheduled for today,
987 you realize you'll never deal with them all, and you just want
988 them to be distributed across the next N days. When called with
989 a prefix arg, rescheduling will avoid weekend days.
991 Thanks to John Wiegley for this.
995 **** Simplification of org-export-html-preamble/postamble
997 When set to `t', export the preamble/postamble as usual, honoring
998 the =org-export-email/author/creator-info= variables.
1000 When set to a formatting string, insert this string. See the
1001 docstring of these variable for details about available
1004 You can set =:html-preamble= in publishing project in the same
1005 way: `t' means to honor =:email/creator/author-info=, and a
1006 formatting string will insert a string.
1008 **** New exporters to Latin-1 and UTF-8
1010 While Ulf Stegemann was going through the entities list to
1011 improve the LaTeX export, he had the great idea to provide
1012 representations for many of the entities in Latin-1, and for all
1013 of them in UTF-8. This means that we can now export files rich
1014 in special symbols to Latin-1 and to UTF-8 files. These new
1015 exporters can be reached with the commands =C-c C-e n= and =C-c
1016 C-e u=, respectively.
1018 When there is no representation for a given symbol in the
1019 targeted coding system, you can choose to keep the TeX-macro-like
1020 representation, or to get an "explanatory" representation. For
1021 example, =\simeq= could be represented as "[approx. equal to]".
1022 Please use the variable =org-entities-ascii-explanatory= to state
1025 **** HTML export: Add class to outline containers using property
1027 The =HTML_CONTAINER_CLASS= property can now be used to add a
1028 class name to the outline container of a node in HTML export.
1030 **** Throw an error when creating an image from a LaTeX snippet fails
1032 This behavior can be configured with the new option variable
1033 =org-format-latex-signal-error=.
1035 **** Support for creating BEAMER presentations from Org-mode documents
1037 Org-mode documents or subtrees can now be converted directly in
1038 to BEAMER presentation. Turning a tree into a simple
1039 presentations is straight forward, and there is also quite some
1040 support to make richer presentations as well. See the [[http://orgmode.org/manual/Beamer-class-export.html#Beamer-class-export][BEAMER
1041 section]] in the manual for more details.
1043 Thanks to everyone who has contributed to the discussion about
1044 BEAMER support and how it should work. This was a great example
1045 for how this community can achieve a much better result than any
1050 **** Refile targets can now be cached
1052 You can turn on caching of refile targets by setting the variable
1053 =org-refile-use-cache=. This should speed up refiling if you
1054 have many eligible targets in many files. If you need to update
1055 the cache because Org misses a newly created entry or still
1056 offers a deleted one, press =C-0 C-c C-w=.
1058 **** New logging support for refiling
1060 Whenever you refile an item, a time stamp and even a note can be
1061 added to this entry. For details, see the new option
1064 Thanks to Charles Cave for this idea.
1068 **** In-buffer completion is now done using John Wiegleys pcomplete.el
1070 Thanks to John Wiegley for much of this code.
1074 **** New command =org-table-transpose-table-at-point=
1076 See the docstring. This hack from Juan Pechiar is now part of
1077 Org's core. Thanks to Juan!
1079 **** Display field's coordinates when editing it with =C-c `=
1081 When editing a field with =C-c `=, the field's coordinate will
1082 the displayed in the buffer.
1084 Thanks to Michael Brand for a patch to this effect.
1086 **** Spreadsheet computation of durations and time values
1088 If you want to compute time values use the =T= flag, either in
1089 Calc formulas or Elisp formulas:
1091 | Task 1 | Task 2 | Total |
1092 |--------+--------+---------|
1093 | 35:00 | 35:00 | 1:10:00 |
1094 #+TBLFM: @2$3=$1+$2;T
1096 Values must be of the form =[HH:]MM:SS=, where hours are
1099 Thanks to Martin Halder, Eric Schulte and Carsten for code and
1102 **** Implement formulas applying to field ranges
1104 Carsten implemented this field-ranges formulas.
1106 : A frequently requested feature for tables has been to be able to define
1107 : row formulas in a way similar to column formulas. The patch below allows
1114 : as the left hand side for table formulas in order to write a formula that
1115 : is valid for an entire column or for a rectangular section in a
1118 Thanks a lot to Carsten for this.
1120 **** Sending radio tables from org buffers is now allowed
1122 Org radio tables can no also be sent inside Org buffers. Also,
1123 there is a new hook which get called after a table has been sent.
1125 Thanks to Seweryn Kokot.
1129 **** Improved handling of lists
1131 Nicolas Goaziou extended and improved the way Org handles lists.
1133 1. Indentation of text determines again end of items in
1134 lists. So, some text less indented than the previous item
1135 doesn't close the whole list anymore, only all items more
1138 2. Alphabetical bullets are implemented, through the use of the
1139 variable `org-alphabetical-lists'. This also adds alphabetical
1140 counters like [@c] or [@W].
1142 3. Lists can now safely contain drawers, inline tasks, or various
1143 blocks, themselves containing lists. Two variables are
1144 controlling this: `org-list-forbidden-blocks', and
1145 `org-list-export-context'.
1147 4. Improve `newline-and-indent' (C-j): used in an item, it will
1148 keep text from moving at column 0. This allows to split text
1149 and make paragraphs and still not break the list.
1151 5. Improve `org-toggle-item' (C-c -): used on a region with
1152 standard text, it will change the region into one item. With a
1153 prefix argument, it will fallback to the previous behavior and
1154 make every line in region an item. It permits to easily
1155 integrate paragraphs inside a list.
1157 6. `fill-paragraph' (M-q) now understands lists. It can freely be
1158 used inside items, or on text just after a list, even with no
1159 blank line around, without breaking list structure.
1161 Thanks a lot to Nicolas for all this!
1163 *** Inline display of linked images
1165 Images can now be displayed inline. The key C-c C-x C-v does
1166 toggle the display of such images. Note that only image links
1167 that have no description part will be inlined.
1169 *** Implement offsets for ordered lists
1171 If you want to start an ordered plain list with a number different
1172 from 1, you can now do it like this:
1174 : 1. [@start:12] will star a lit a number 12
1176 *** Babel: code block body expansion for table and preview
1178 In org-babel, code is "expanded" prior to evaluation. I.e. the
1179 code that is actually evaluated comprises the code block contents,
1180 augmented with the extra code which assigns the referenced data to
1181 variables. It is now possible to preview expanded contents, and
1182 also to expand code during during tangling. This expansion takes
1183 into account all header arguments, and variables.
1185 A new keybinding `C-c M-b p' bound to `org-babel-expand-src-block'
1186 can be used from inside of a source code block to preview its
1187 expanded contents (which can be very useful for debugging).
1190 The expanded body can now be tangled, this includes variable
1191 values which may be the results of other source-code blocks, or
1192 stored in headline properties or tables. One possible use for this
1193 is to allow those using org-babel for their emacs initialization
1194 to store values (e.g. usernames, passwords, etc...) in headline
1195 properties or in tables.
1197 Org-babel now supports three new header arguments, and new default
1198 behavior for handling horizontal lines in tables (hlines), column
1199 names, and rownames across all languages.
1201 *** Editing Convenience and Appearance
1203 **** New command =org-copy-visible= (=C-c C-x v=)
1205 This command will copy the visible text in the region into the
1206 kill ring. Thanks to Florian Beck for this function and to
1207 Carsten for adding it to org.el and documenting it!
1209 **** Make it possible to protect hidden subtrees from being killed by =C-k=
1211 See the new variable =org-ctrl-k-protect-subtree=. This was a
1212 request by Scott Otterson.
1214 **** Implement pretty display of entities, sub-, and superscripts.
1216 The command =C-c C-x \= toggles the display of Org's special
1217 entities like =\alpha= as pretty unicode characters. Also, sub
1218 and superscripts are displayed in a pretty way (raised/lower
1219 display, in a smaller font). If you want to exclude sub- and
1220 superscripts, see the variable
1221 =org-pretty-entities-include-sub-superscripts=.
1223 Thanks to Eric Schulte and Ulf Stegeman for making this possible.
1225 **** New faces for title, date, author and email address lines
1227 The keywords in these lines are now dimmed out, and the title is
1228 displayed in a larger font, and a special font is also used for
1229 author, date, and email information. This is implemented by the
1230 following new faces:
1232 =org-document-title=
1234 =org-document-info-keyword=
1236 In addition, the variable =org-hidden-keywords= can be used to
1237 make the corresponding keywords disappear.
1239 Thanks to Dan Davison for this feature.
1241 **** Simpler way to specify faces for tags and todo keywords
1243 The variables =org-todo-keyword-faces=, =org-tag-faces=, and
1244 =org-priority-faces= now accept simple color names as
1245 specifications. The colors will be used as either foreground or
1246 background color for the corresponding keyword. See also the
1247 variable =org-faces-easy-properties=, which governs which face
1248 property is affected by this setting.
1250 This is really a great simplification for setting keyword faces.
1251 The change is based on an idea and patch by Ryan Thompson.
1253 **** <N> in tables now means fixed width, not maximum width
1255 Requested by Michael Brand.
1257 **** Better level cycling function
1259 =TAB= in an empty headline cycles the level of that headline
1260 through likely states. Ryan Thompson implemented an improved
1261 version of this function, which does not depend upon when exactly
1262 this command is used. Thanks to Ryan for this improvement.
1264 **** Adaptive filling
1266 For paragraph text, =org-adaptive-fill-function= did not handle
1267 the base case of regular text which needed to be filled. This is
1268 now fixed. Among other things, it allows email-style ">"
1269 comments to be filled correctly.
1271 Thanks to Dan Hackney for this patch.
1273 **** `org-reveal' (=C-c C-r=) also decrypts encrypted entries (org-crypt.el)
1275 Thanks to Richard Riley for triggering this change.
1277 **** Better automatic letter selection for TODO keywords
1279 When all first letters of keywords have been used, Org now
1280 assigns more meaningful characters based on the keywords.
1282 Thanks to Mikael Fornius for this patch.
1286 **** Clock: Allow synchronous update of timestamps in CLOCK log
1288 Using =S-M-<up/down>= on CLOCK log timestamps will
1289 increase/decrease the two timestamps on this line so that
1290 duration will keep the same. Note that duration can still be
1291 slightly modified in case a timestamp needs some rounding.
1293 Thanks to Rainer Stengele for this idea.
1295 **** Localized clock tables
1297 Clock tables now support a new new =:lang= parameter, allowing
1298 the user to customize the localization of the table headers. See
1299 the variable =org-clock-clocktable-language-setup= which controls
1300 available translated strings.
1302 **** Show clock overruns in mode line
1304 When clocking an item with a planned effort, overrunning the
1305 planned time is now made visible in the mode line, for example
1306 using the new face =org-mode-line-clock-overrun=, or by adding an
1307 extra string given by =org-task-overrun-text=.
1309 Thanks to Richard Riley for a patch to this effect.
1311 **** Clock reports can now include the running, incomplete clock
1313 If you have a clock running, and the entry being clocked falls
1314 into the scope when creating a clock table, the time so far spent
1315 can be added to the total. This behavior depends on the setting
1316 of =org-clock-report-include-clocking-task=. The default is
1319 Thanks to Bernt Hansen for this useful addition.
1323 **** Improvements with inline tasks and indentation
1325 There is now a configurable way on how to export inline tasks.
1326 See the new variable =org-inlinetask-export-templates=.
1328 Thanks to Nicolas Goaziou for coding these changes.
1330 **** A property value of "nil" now means to unset a property
1332 This can be useful in particular with property inheritance, if
1333 some upper level has the property, and some grandchild of it
1334 would like to have the default settings (i.e. not overruled by a
1337 Thanks to Robert Goldman and Bernt Hansen for suggesting this
1340 **** New helper functions in org-table.el
1342 There are new functions to access and write to a specific table field.
1343 This is for hackers, and maybe for the org-babel people.
1348 org-table-current-line
1352 **** Archiving: Allow to reverse order in target node
1354 The new option =org-archive-reversed-order= allows to have
1355 archived entries inserted in a last-on-top fashion in the target
1358 This was requested by Tom.
1360 **** Org-reveal: Double prefix arg shows the entire subtree of the parent
1362 This can help to get out of an inconsistent state produced for
1363 example by viewing from the agenda.
1365 This was a request by Matt Lundin.
1369 This file is part of GNU Emacs.
1371 GNU Emacs is free software: you can redistribute it and/or modify
1372 it under the terms of the GNU General Public License as published by
1373 the Free Software Foundation, either version 3 of the License, or
1374 (at your option) any later version.
1376 GNU Emacs is distributed in the hope that it will be useful,
1377 but WITHOUT ANY WARRANTY; without even the implied warranty of
1378 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1379 GNU General Public License for more details.
1381 You should have received a copy of the GNU General Public License
1382 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.