Release 5.05
This commit is contained in:
parent
c3c7e73f29
commit
d922cfd878
6
Makefile
6
Makefile
|
@ -56,7 +56,7 @@ CP = cp -p
|
||||||
##----------------------------------------------------------------------
|
##----------------------------------------------------------------------
|
||||||
|
|
||||||
# The following variables need to be defined by the maintainer
|
# The following variables need to be defined by the maintainer
|
||||||
LISPFILES = org.el org-publish.el org-mouse.el org-install.el
|
LISPFILES = org.el org-publish.el org-mouse.el org-export-latex.el org-install.el
|
||||||
ELCFILES = $(LISPFILES:.el=.elc)
|
ELCFILES = $(LISPFILES:.el=.elc)
|
||||||
DOCFILES = org.texi org.pdf org
|
DOCFILES = org.texi org.pdf org
|
||||||
CARDFILES = orgcard.tex orgcard.pdf orgcard_letter.pdf
|
CARDFILES = orgcard.tex orgcard.pdf orgcard_letter.pdf
|
||||||
|
@ -67,7 +67,7 @@ HTMLDIR = /home/dominik/public_html/Tools/org
|
||||||
.SUFFIXES: .el .elc .texi
|
.SUFFIXES: .el .elc .texi
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
|
||||||
DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile
|
DISTFILES= README ${LISPFILES} ${DOCFILES} ${CARDFILES} Makefile dir
|
||||||
DISTFILES_xemacs= xemacs/noutline.el xemacs/ps-print-invisible.el xemacs/README
|
DISTFILES_xemacs= xemacs/noutline.el xemacs/ps-print-invisible.el xemacs/README
|
||||||
|
|
||||||
all: $(ELCFILES)
|
all: $(ELCFILES)
|
||||||
|
@ -148,7 +148,7 @@ ecompile:
|
||||||
|
|
||||||
distfile:
|
distfile:
|
||||||
@if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
|
@if [ "X$(TAG)" = "X" ]; then echo "*** No tag ***"; exit 1; fi
|
||||||
touch org.texi orgcard.tex
|
# touch org.texi orgcard.tex
|
||||||
make info
|
make info
|
||||||
make doc
|
make doc
|
||||||
rm -rf org-$(TAG) org-$(TAG).zip
|
rm -rf org-$(TAG) org-$(TAG).zip
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
(autoload 'org-diary "org" "Diary entries from Org mode.")
|
(autoload 'org-diary "org" "Diary entries from Org mode.")
|
||||||
(autoload 'org-agenda "org" "Multi-file agenda from Org mode." t)
|
(autoload 'org-agenda "org" "Multi-file agenda from Org mode." t)
|
||||||
(autoload 'org-store-link "org" "Store a link to the current location." t)
|
(autoload 'org-store-link "org" "Store a link to the current location." t)
|
||||||
|
(autoload 'org-open-at-point-global "org" "Follow a link like Org-mode does." t)
|
||||||
|
(autoload 'org-insert-link-global "org" "Insert a link like Org-mode does." t)
|
||||||
(autoload 'orgtbl-mode "org" "Org tables as a minor mode." t)
|
(autoload 'orgtbl-mode "org" "Org tables as a minor mode." t)
|
||||||
(autoload 'turn-on-orgtbl "org" "Org tables as a minor mode.")
|
(autoload 'turn-on-orgtbl "org" "Org tables as a minor mode.")
|
||||||
(autoload 'orgstruct-mode "org" "Org structure as a minor mode." t)
|
(autoload 'orgstruct-mode "org" "Org structure as a minor mode." t)
|
||||||
|
@ -23,6 +25,17 @@
|
||||||
"Export all files in `org-agenda-files' to iCalendar .ics files." t)
|
"Export all files in `org-agenda-files' to iCalendar .ics files." t)
|
||||||
(autoload 'org-export-icalendar-combine-agenda-files "org"
|
(autoload 'org-export-icalendar-combine-agenda-files "org"
|
||||||
"Export all files in `org-agenda-files' to a single combined iCalendar file." t)
|
"Export all files in `org-agenda-files' to a single combined iCalendar file." t)
|
||||||
|
|
||||||
|
(autoload 'org-export-as-latex-batch "org-export-latex")
|
||||||
|
(autoload 'org-export-as-latex-to-buffer "org-export-latex"
|
||||||
|
"Call `org-exort-as-latex` with output to a temporary buffer" t)
|
||||||
|
(autoload 'org-replace-region-by-latex "org-export-latex"
|
||||||
|
"Replace the region from BEG to END with its LaTeX export." t)
|
||||||
|
(autoload 'org-export-region-as-latex "org-export-latex"
|
||||||
|
"Convert region from BEG to END in `org-mode' buffer to LaTeX." t)
|
||||||
|
(autoload 'org-export-as-latex "org-export-latex"
|
||||||
|
"Export current buffer to a LaTeX file." t)
|
||||||
|
|
||||||
(autoload 'org-batch-agenda "org")
|
(autoload 'org-batch-agenda "org")
|
||||||
(autoload 'org-batch-agenda-csv "org")
|
(autoload 'org-batch-agenda-csv "org")
|
||||||
(autoload 'org-store-agenda-views "org" "Store agenda views to files" t)
|
(autoload 'org-store-agenda-views "org" "Store agenda views to files" t)
|
||||||
|
@ -33,4 +46,8 @@
|
||||||
"Publish all files of current project." t)
|
"Publish all files of current project." t)
|
||||||
(autoload 'org-publish "org-publish" "Publish a project." t)
|
(autoload 'org-publish "org-publish" "Publish a project." t)
|
||||||
(autoload 'org-publish-all "org-publish" "Publish all projects." t)
|
(autoload 'org-publish-all "org-publish" "Publish all projects." t)
|
||||||
|
|
||||||
|
(autoload 'org-run-like-in-org-mode "Run a command like in Org-mode.")
|
||||||
|
|
||||||
(provide 'org-install)
|
(provide 'org-install)
|
||||||
|
|
||||||
|
|
|
@ -454,6 +454,27 @@ FILENAME is the filename of the org file to be published."
|
||||||
(kill-buffer (current-buffer)))))
|
(kill-buffer (current-buffer)))))
|
||||||
|
|
||||||
|
|
||||||
|
(defun org-publish-org-to-latex (plist filename)
|
||||||
|
"Publish an org file to LaTeX."
|
||||||
|
(org-publish-org-to "latex" plist filename))
|
||||||
|
|
||||||
|
(defun org-publish-org-to-html (plist filename)
|
||||||
|
"Publish an org file to HTML."
|
||||||
|
(org-publish-org-to "html" plist filename))
|
||||||
|
|
||||||
|
(defun org-publish-org-to (format plist filename)
|
||||||
|
"Publish an org file to FORMAT.
|
||||||
|
PLIST is the property list for the given project.
|
||||||
|
FILENAME is the filename of the org file to be published."
|
||||||
|
(require 'org)
|
||||||
|
(let* ((arg (plist-get plist :headline-levels)))
|
||||||
|
(progn
|
||||||
|
(find-file filename)
|
||||||
|
(funcall (intern (concat "org-export-as-" format))
|
||||||
|
arg nil plist)
|
||||||
|
(kill-buffer (current-buffer)))))
|
||||||
|
|
||||||
|
|
||||||
(defun org-publish-attachment (plist filename)
|
(defun org-publish-attachment (plist filename)
|
||||||
"Publish a file with no transformation of any kind.
|
"Publish a file with no transformation of any kind.
|
||||||
PLIST is the property list for the given project.
|
PLIST is the property list for the given project.
|
||||||
|
|
477
org.texi
477
org.texi
|
@ -3,8 +3,8 @@
|
||||||
@setfilename ../info/org
|
@setfilename ../info/org
|
||||||
@settitle Org Mode Manual
|
@settitle Org Mode Manual
|
||||||
|
|
||||||
@set VERSION 5.04
|
@set VERSION 5.05
|
||||||
@set DATE July 2007
|
@set DATE August 2007
|
||||||
|
|
||||||
@dircategory Emacs
|
@dircategory Emacs
|
||||||
@direntry
|
@direntry
|
||||||
|
@ -146,6 +146,7 @@ Hyperlinks
|
||||||
* Internal links:: Links to other places in the current file
|
* Internal links:: Links to other places in the current file
|
||||||
* External links:: URL-like links to the world
|
* External links:: URL-like links to the world
|
||||||
* Handling links:: Creating, inserting and following
|
* Handling links:: Creating, inserting and following
|
||||||
|
* Using links outside Org-mode:: Linking from my C source code?
|
||||||
* Link abbreviations:: Shortcuts for writing complex links
|
* Link abbreviations:: Shortcuts for writing complex links
|
||||||
* Search options:: Linking to a specific location
|
* Search options:: Linking to a specific location
|
||||||
* Custom searches:: When the default search is not enough
|
* Custom searches:: When the default search is not enough
|
||||||
|
@ -197,8 +198,8 @@ Column View
|
||||||
|
|
||||||
Defining Columns
|
Defining Columns
|
||||||
|
|
||||||
* Scope of column definitions::
|
* Scope of column definitions:: Where defined, where valid?
|
||||||
* Column attributes::
|
* Column attributes:: Appearance and content of a column
|
||||||
|
|
||||||
Timestamps
|
Timestamps
|
||||||
|
|
||||||
|
@ -214,8 +215,8 @@ Creating timestamps
|
||||||
|
|
||||||
Deadlines and Scheduling
|
Deadlines and Scheduling
|
||||||
|
|
||||||
* Inserting deadline/schedule::
|
* Inserting deadline/schedule:: Planning items
|
||||||
* Repeated tasks::
|
* Repeated tasks:: Items that show up again and again
|
||||||
|
|
||||||
Progress Logging
|
Progress Logging
|
||||||
|
|
||||||
|
@ -266,17 +267,23 @@ Exporting
|
||||||
|
|
||||||
* ASCII export:: Exporting to plain ASCII
|
* ASCII export:: Exporting to plain ASCII
|
||||||
* HTML export:: Exporting to HTML
|
* HTML export:: Exporting to HTML
|
||||||
|
* LaTeX export:: Exporting to LaTeX
|
||||||
* XOXO export:: Exporting to XOXO
|
* XOXO export:: Exporting to XOXO
|
||||||
* iCalendar export:: Exporting in iCalendar format
|
* iCalendar export:: Exporting in iCalendar format
|
||||||
* Text interpretation:: How the exporter looks at the file
|
* Text interpretation:: How the exporter looks at the file
|
||||||
|
|
||||||
HTML export
|
HTML export
|
||||||
|
|
||||||
* Export commands:: How to invoke HTML export
|
* HTML Export commands:: How to invoke LaTeX export
|
||||||
* Quoting HTML tags:: Using direct HTML in Org-mode
|
* Quoting HTML tags:: Using direct HTML in Org-mode
|
||||||
* Links:: How hyperlinks get transferred to HTML
|
* Links:: Transformation of links for HTML
|
||||||
* Images:: To inline or not to inline?
|
* Images:: How to include images
|
||||||
* CSS support:: Style specifications
|
* CSS support:: Changing the appearence of the output
|
||||||
|
|
||||||
|
LaTeX export
|
||||||
|
|
||||||
|
* LaTeX export commands:: How to invoke LaTeX export
|
||||||
|
* Quoting LaTeX code:: Incorporating literal LaTeX code
|
||||||
|
|
||||||
Text interpretation by the exporter
|
Text interpretation by the exporter
|
||||||
|
|
||||||
|
@ -326,6 +333,7 @@ Interaction with other packages
|
||||||
Extensions, Hooks and Hacking
|
Extensions, Hooks and Hacking
|
||||||
|
|
||||||
* Extensions:: Existing 3rd-part extensions
|
* Extensions:: Existing 3rd-part extensions
|
||||||
|
* Adding hyperlink types:: New custom link types
|
||||||
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
|
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
|
||||||
* Dynamic blocks:: Automatically filled blocks
|
* Dynamic blocks:: Automatically filled blocks
|
||||||
* Special agenda views:: Customized views
|
* Special agenda views:: Customized views
|
||||||
|
@ -403,7 +411,7 @@ example as:
|
||||||
Org-mode's automatic, context sensitive table editor with spreadsheet
|
Org-mode's automatic, context sensitive table editor with spreadsheet
|
||||||
capabilities can be integrated into any major mode by activating the
|
capabilities can be integrated into any major mode by activating the
|
||||||
minor Orgtbl-mode. Using a translation step, it can be used to maintain
|
minor Orgtbl-mode. Using a translation step, it can be used to maintain
|
||||||
tables in arbitrary file types, for example in LaTeX. The structure
|
tables in arbitrary file types, for example in La@TeX{}. The structure
|
||||||
editing and list creation capabilities can be used outside Org-mode with
|
editing and list creation capabilities can be used outside Org-mode with
|
||||||
the minor Orgstruct-mode.
|
the minor Orgstruct-mode.
|
||||||
|
|
||||||
|
@ -599,15 +607,14 @@ edit the structure of the document.
|
||||||
@cindex outlines
|
@cindex outlines
|
||||||
@cindex outline-mode
|
@cindex outline-mode
|
||||||
|
|
||||||
Org-mode is implemented on top of outline-mode. Outlines allow to
|
Org-mode is implemented on top of outline-mode. Outlines allow a
|
||||||
organize a document in a hierarchical structure, which (at least for
|
document to be organized in a hierarchical structure, which (at least
|
||||||
me) is the best representation of notes and thoughts. Overview over
|
for me) is the best representation of notes and thoughts. An overview
|
||||||
this structure is achieved by folding (hiding) large parts of the
|
of this structure is achieved by folding (hiding) large parts of the
|
||||||
document to show only the general document structure and the parts
|
document to show only the general document structure and the parts
|
||||||
currently being worked on. Org-mode greatly simplifies the use of
|
currently being worked on. Org-mode greatly simplifies the use of
|
||||||
outlines by compressing the entire show/hide functionality into a
|
outlines by compressing the entire show/hide functionality into a single
|
||||||
single command @command{org-cycle}, which is bound to the @key{TAB}
|
command @command{org-cycle}, which is bound to the @key{TAB} key.
|
||||||
key.
|
|
||||||
|
|
||||||
@node Headlines, Visibility cycling, Outlines, Document structure
|
@node Headlines, Visibility cycling, Outlines, Document structure
|
||||||
@section Headlines
|
@section Headlines
|
||||||
|
@ -638,7 +645,7 @@ An empty line after the end of a subtree is considered part of it and
|
||||||
will be hidden when the subtree is folded. However, if you leave at
|
will be hidden when the subtree is folded. However, if you leave at
|
||||||
least two empty lines, one empty line will remain visible after folding
|
least two empty lines, one empty line will remain visible after folding
|
||||||
the subtree, in order to structure the collapsed view. See the
|
the subtree, in order to structure the collapsed view. See the
|
||||||
variable @code{org-cycle-separator-lines} for modifying this behavior.
|
variable @code{org-cycle-separator-lines} to modify this behavior.
|
||||||
|
|
||||||
@node Visibility cycling, Motion, Headlines, Document structure
|
@node Visibility cycling, Motion, Headlines, Document structure
|
||||||
@section Visibility cycling
|
@section Visibility cycling
|
||||||
|
@ -987,7 +994,7 @@ match is in the body of an entry, headline and body are made visible.
|
||||||
In order to provide minimal context, also the full hierarchy of
|
In order to provide minimal context, also the full hierarchy of
|
||||||
headlines above the match is shown, as well as the headline following
|
headlines above the match is shown, as well as the headline following
|
||||||
the match. Each match is also highlighted; the highlights disappear
|
the match. Each match is also highlighted; the highlights disappear
|
||||||
when the buffer is changes an editing command, or by pressing @kbd{C-c
|
when the buffer is changed an editing command, or by pressing @kbd{C-c
|
||||||
C-c}. When called with a @kbd{C-u} prefix argument, previous highlights
|
C-c}. When called with a @kbd{C-u} prefix argument, previous highlights
|
||||||
are kept, so several calls to this command can be stacked.
|
are kept, so several calls to this command can be stacked.
|
||||||
@end table
|
@end table
|
||||||
|
@ -1202,9 +1209,9 @@ Emacs @file{calc} package.
|
||||||
@cindex table editor, built-in
|
@cindex table editor, built-in
|
||||||
|
|
||||||
Org-mode makes it easy to format tables in plain ASCII. Any line with
|
Org-mode makes it easy to format tables in plain ASCII. Any line with
|
||||||
@samp{|} as the first non-white character is considered part of a
|
@samp{|} as the first non-whitespace character is considered part of a
|
||||||
table. @samp{|} is also the column separator. A table might look
|
table. @samp{|} is also the column separator. A table might look like
|
||||||
like this:
|
this:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
| Name | Phone | Age |
|
| Name | Phone | Age |
|
||||||
|
@ -1510,7 +1517,7 @@ example in mail mode, use
|
||||||
|
|
||||||
Furthermore, with some special setup, it is possible to maintain tables
|
Furthermore, with some special setup, it is possible to maintain tables
|
||||||
in arbitrary syntax with Orgtbl-mode. For example, it is possible to
|
in arbitrary syntax with Orgtbl-mode. For example, it is possible to
|
||||||
construct LaTeX tables with the underlying ease and power of
|
construct La@TeX{} tables with the underlying ease and power of
|
||||||
Orgtbl-mode, including spreadsheet capabilities. For details, see
|
Orgtbl-mode, including spreadsheet capabilities. For details, see
|
||||||
@ref{Tables in arbitrary syntax}.
|
@ref{Tables in arbitrary syntax}.
|
||||||
|
|
||||||
|
@ -2084,6 +2091,7 @@ links to other files, Usenet articles, emails, and much more.
|
||||||
* Internal links:: Links to other places in the current file
|
* Internal links:: Links to other places in the current file
|
||||||
* External links:: URL-like links to the world
|
* External links:: URL-like links to the world
|
||||||
* Handling links:: Creating, inserting and following
|
* Handling links:: Creating, inserting and following
|
||||||
|
* Using links outside Org-mode:: Linking from my C source code?
|
||||||
* Link abbreviations:: Shortcuts for writing complex links
|
* Link abbreviations:: Shortcuts for writing complex links
|
||||||
* Search options:: Linking to a specific location
|
* Search options:: Linking to a specific location
|
||||||
* Custom searches:: When the default search is not enough
|
* Custom searches:: When the default search is not enough
|
||||||
|
@ -2256,7 +2264,7 @@ as links. If spaces must be part of the link (for example in
|
||||||
@samp{bbdb:Richard Stallman}), or if you need to remove ambiguities
|
@samp{bbdb:Richard Stallman}), or if you need to remove ambiguities
|
||||||
about the end of the link, enclose them in angular brackets.
|
about the end of the link, enclose them in angular brackets.
|
||||||
|
|
||||||
@node Handling links, Link abbreviations, External links, Hyperlinks
|
@node Handling links, Using links outside Org-mode, External links, Hyperlinks
|
||||||
@section Handling links
|
@section Handling links
|
||||||
@cindex links, handling
|
@cindex links, handling
|
||||||
|
|
||||||
|
@ -2389,7 +2397,20 @@ to @kbd{C-n} and @kbd{C-p}
|
||||||
@end lisp
|
@end lisp
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@node Link abbreviations, Search options, Handling links, Hyperlinks
|
@node Using links outside Org-mode, Link abbreviations, Handling links, Hyperlinks
|
||||||
|
@section Using links outside Org-mode
|
||||||
|
|
||||||
|
You can insert and follow links that have Org-mode syntax not only in
|
||||||
|
Org-mode, but in any Emacs buffer. For this, you should create two
|
||||||
|
global commands, like this (please select suitable global keys
|
||||||
|
yourself):
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(define-key global-map 'org-insert-link-global "\\C-c L")
|
||||||
|
(define-key global-map 'org-open-at-point-global "\\C-c o")
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@node Link abbreviations, Search options, Using links outside Org-mode, Hyperlinks
|
||||||
@section Link abbreviations
|
@section Link abbreviations
|
||||||
@cindex link abbreviations
|
@cindex link abbreviations
|
||||||
@cindex abbreviation, links
|
@cindex abbreviation, links
|
||||||
|
@ -3384,6 +3405,17 @@ publishers and the number of disks in a box like this:
|
||||||
:END:
|
:END:
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
If you want to set properties that can be inherited by any entry in a
|
||||||
|
file, use a line like
|
||||||
|
|
||||||
|
@example
|
||||||
|
#+PROPERTY: NDisks_ALL 1 2 3 4
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Property values set with the global variable
|
||||||
|
@code{org-global-properties} can be inherited by all entries in all
|
||||||
|
Org-mode files.
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
The following commands help to work with properties:
|
The following commands help to work with properties:
|
||||||
|
|
||||||
|
@ -3932,6 +3964,10 @@ and continuing until the entry is marked DONE. An example:
|
||||||
DEADLINE: <2004-02-29 Sun>
|
DEADLINE: <2004-02-29 Sun>
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
You can specify a different lead time for warnings for a specific
|
||||||
|
deadlines using the following syntax. Here is an example with a warning
|
||||||
|
period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}.
|
||||||
|
|
||||||
@item SCHEDULED
|
@item SCHEDULED
|
||||||
@cindex SCHEDULED keyword
|
@cindex SCHEDULED keyword
|
||||||
You are planning to start working on that task on the given date. The
|
You are planning to start working on that task on the given date. The
|
||||||
|
@ -3949,8 +3985,8 @@ I.e., the task will automatically be forwarded until completed.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Inserting deadline/schedule::
|
* Inserting deadline/schedule:: Planning items
|
||||||
* Repeated tasks::
|
* Repeated tasks:: Items that show up again and again
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling
|
@node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling
|
||||||
|
@ -5429,21 +5465,23 @@ are surrounded with @code{<sub>} and @code{<sup>} tags, respectively.
|
||||||
With symbols, sub- and superscripts, HTML is pretty much at its end when
|
With symbols, sub- and superscripts, HTML is pretty much at its end when
|
||||||
it comes to representing mathematical formulas@footnote{Yes, there is
|
it comes to representing mathematical formulas@footnote{Yes, there is
|
||||||
MathML, but that is not yet fully supported by many browsers, and there
|
MathML, but that is not yet fully supported by many browsers, and there
|
||||||
is no decent converter for turning LaTeX of ASCII representations of
|
is no decent converter for turning La@TeX{} or ASCII representations of
|
||||||
formulas into MathML. So for the time being, converting formulas into
|
formulas into MathML. So for the time being, converting formulas into
|
||||||
images seems the way to go.}. More complex
|
images seems the way to go.}. More complex expressions need a dedicated
|
||||||
expressions need a dedicated formula processor. To this end, Org-mode
|
formula processor. To this end, Org-mode can contain arbitrary La@TeX{}
|
||||||
can contain arbitrary La@TeX{} fragments. It provides commands to
|
fragments. It provides commands to preview the typeset result of these
|
||||||
preview the typeset result of these fragments, and upon export to HTML,
|
fragments, and upon export to HTML, all fragments will be converted to
|
||||||
all fragments will be converted to images and inlined into the HTML
|
images and inlined into the HTML document@footnote{The La@TeX{} export
|
||||||
document. For this to work you need to be on a system with a working
|
will not use images for displaying La@TeX{} fragments but include these
|
||||||
La@TeX{} installation. You also need the @file{dvipng} program,
|
fragments directly into the La@TeX{} code.}. For this to work you
|
||||||
available at @url{http://sourceforge.net/projects/dvipng/}. The LaTeX
|
need to be on a system with a working La@TeX{} installation. You also
|
||||||
header that will be used when processing a fragment can be configured
|
need the @file{dvipng} program, available at
|
||||||
with the variable @code{org-format-latex-header}.
|
@url{http://sourceforge.net/projects/dvipng/}. The La@TeX{} header that
|
||||||
|
will be used when processing a fragment can be configured with the
|
||||||
|
variable @code{org-format-latex-header}.
|
||||||
|
|
||||||
La@TeX{} fragments don't need any special marking at all. The following
|
La@TeX{} fragments don't need any special marking at all. The following
|
||||||
snippets will be identified as LaTeX source code:
|
snippets will be identified as La@TeX{} source code:
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
Environments of any kind. The only requirement is that the
|
Environments of any kind. The only requirement is that the
|
||||||
|
@ -5509,7 +5547,7 @@ setting is active:
|
||||||
@cindex CDLaTeX
|
@cindex CDLaTeX
|
||||||
|
|
||||||
CDLaTeX-mode is a minor mode that is normally used in combination with a
|
CDLaTeX-mode is a minor mode that is normally used in combination with a
|
||||||
major LaTeX mode like AUCTeX in order to speed-up insertion of
|
major La@TeX{} mode like AUCTeX in order to speed-up insertion of
|
||||||
environments and math templates. Inside Org-mode, you can make use of
|
environments and math templates. Inside Org-mode, you can make use of
|
||||||
some of the features of cdlatex-mode. You need to install
|
some of the features of cdlatex-mode. You need to install
|
||||||
@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
|
@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
|
||||||
|
@ -5532,7 +5570,7 @@ Environment templates can be inserted with @kbd{C-c @{}.
|
||||||
@item
|
@item
|
||||||
@kindex @key{TAB}
|
@kindex @key{TAB}
|
||||||
The @key{TAB} key will do template expansion if the cursor is inside a
|
The @key{TAB} key will do template expansion if the cursor is inside a
|
||||||
LaTeX fragment@footnote{Org-mode has a method to test if the cursor is
|
La@TeX{} fragment@footnote{Org-mode has a method to test if the cursor is
|
||||||
inside such a fragment, see the documentation of the function
|
inside such a fragment, see the documentation of the function
|
||||||
@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will
|
@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will
|
||||||
expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
|
expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
|
||||||
|
@ -5545,7 +5583,7 @@ To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help}.
|
||||||
@item
|
@item
|
||||||
@kindex _
|
@kindex _
|
||||||
@kindex ^
|
@kindex ^
|
||||||
Pressing @kbd{_} and @kbd{^} inside a LaTeX fragment will insert these
|
Pressing @kbd{_} and @kbd{^} inside a La@TeX{} fragment will insert these
|
||||||
characters together with a pair of braces. If you use @key{TAB} to move
|
characters together with a pair of braces. If you use @key{TAB} to move
|
||||||
out of the braces, and if the braces surround only a single character or
|
out of the braces, and if the braces surround only a single character or
|
||||||
macro, they are removed again (depending on the variable
|
macro, they are removed again (depending on the variable
|
||||||
|
@ -5553,7 +5591,7 @@ macro, they are removed again (depending on the variable
|
||||||
@item
|
@item
|
||||||
@kindex `
|
@kindex `
|
||||||
Pressing the backquote @kbd{`} followed by a character inserts math
|
Pressing the backquote @kbd{`} followed by a character inserts math
|
||||||
macros, also outside LaTeX fragments. If you wait more than 1.5 seconds
|
macros, also outside La@TeX{} fragments. If you wait more than 1.5 seconds
|
||||||
after the backquote, a help window will pop up.
|
after the backquote, a help window will pop up.
|
||||||
@item
|
@item
|
||||||
@kindex '
|
@kindex '
|
||||||
|
@ -5572,11 +5610,12 @@ Org-mode documents can be exported into a variety of other formats. For
|
||||||
printing and sharing of notes, ASCII export produces a readable and
|
printing and sharing of notes, ASCII export produces a readable and
|
||||||
simple version of an Org-mode file. HTML export allows you to publish a
|
simple version of an Org-mode file. HTML export allows you to publish a
|
||||||
notes file on the web, while the XOXO format provides a solid base for
|
notes file on the web, while the XOXO format provides a solid base for
|
||||||
exchange with a broad range of other applications. To incorporate
|
exchange with a broad range of other applications. La@TeX{} export lets
|
||||||
entries with associated times like deadlines or appointments into a
|
you use Org-mode and its structured editing functions to easily create
|
||||||
desktop calendar program like iCal, Org-mode can also produce extracts
|
La@TeX{} files. To incorporate entries with associated times like
|
||||||
in the iCalendar format. Currently Org-mode only supports export, not
|
deadlines or appointments into a desktop calendar program like iCal,
|
||||||
import of these different formats.
|
Org-mode can also produce extracts in the iCalendar format. Currently
|
||||||
|
Org-mode only supports export, not import of these different formats.
|
||||||
|
|
||||||
When exporting, Org-mode uses special conventions to enrich the output
|
When exporting, Org-mode uses special conventions to enrich the output
|
||||||
produced. @xref{Text interpretation}, for more details.
|
produced. @xref{Text interpretation}, for more details.
|
||||||
|
@ -5592,6 +5631,7 @@ command.
|
||||||
@menu
|
@menu
|
||||||
* ASCII export:: Exporting to plain ASCII
|
* ASCII export:: Exporting to plain ASCII
|
||||||
* HTML export:: Exporting to HTML
|
* HTML export:: Exporting to HTML
|
||||||
|
* LaTeX export:: Exporting to LaTeX
|
||||||
* XOXO export:: Exporting to XOXO
|
* XOXO export:: Exporting to XOXO
|
||||||
* iCalendar export:: Exporting in iCalendar format
|
* iCalendar export:: Exporting in iCalendar format
|
||||||
* Text interpretation:: How the exporter looks at the file
|
* Text interpretation:: How the exporter looks at the file
|
||||||
|
@ -5638,7 +5678,7 @@ the body text. Any indentation larger than this is adjusted to preserve
|
||||||
the layout relative to the first line. Should there be lines with less
|
the layout relative to the first line. Should there be lines with less
|
||||||
indentation than the first, these are left alone.
|
indentation than the first, these are left alone.
|
||||||
|
|
||||||
@node HTML export, XOXO export, ASCII export, Exporting
|
@node HTML export, LaTeX export, ASCII export, Exporting
|
||||||
@section HTML export
|
@section HTML export
|
||||||
@cindex HTML export
|
@cindex HTML export
|
||||||
|
|
||||||
|
@ -5647,14 +5687,14 @@ HTML formatting, in ways similar to John Grubers @emph{markdown}
|
||||||
language, but with additional support for tables.
|
language, but with additional support for tables.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Export commands:: How to invoke HTML export
|
* HTML Export commands:: How to invoke LaTeX export
|
||||||
* Quoting HTML tags:: Using direct HTML in Org-mode
|
* Quoting HTML tags:: Using direct HTML in Org-mode
|
||||||
* Links:: How hyperlinks get transferred to HTML
|
* Links:: Transformation of links for HTML
|
||||||
* Images:: To inline or not to inline?
|
* Images:: How to include images
|
||||||
* CSS support:: Style specifications
|
* CSS support:: Changing the appearence of the output
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Export commands, Quoting HTML tags, HTML export, HTML export
|
@node HTML Export commands, Quoting HTML tags, HTML export, HTML export
|
||||||
@subsection HTML export commands
|
@subsection HTML export commands
|
||||||
|
|
||||||
@cindex region, active
|
@cindex region, active
|
||||||
|
@ -5688,6 +5728,9 @@ Export only the visible part of the document.
|
||||||
Convert the region to HTML under the assumption that it was org-mode
|
Convert the region to HTML under the assumption that it was org-mode
|
||||||
syntax before. This is a global command that can be invoked in any
|
syntax before. This is a global command that can be invoked in any
|
||||||
buffer.
|
buffer.
|
||||||
|
@item M-x org-replace-region-by-HTML
|
||||||
|
Replace the active region (assumed to be in Org-mode syntax) by HTML
|
||||||
|
code.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@cindex headline levels, for exporting
|
@cindex headline levels, for exporting
|
||||||
|
@ -5703,7 +5746,7 @@ at a different level, specify it with a prefix argument. For example,
|
||||||
@noindent
|
@noindent
|
||||||
creates two levels of headings and does the rest as items.
|
creates two levels of headings and does the rest as items.
|
||||||
|
|
||||||
@node Quoting HTML tags, Links, Export commands, HTML export
|
@node Quoting HTML tags, Links, HTML Export commands, HTML export
|
||||||
@subsection Quoting HTML tags
|
@subsection Quoting HTML tags
|
||||||
|
|
||||||
Plain @samp{<} and @samp{>} are always transformed to @samp{<} and
|
Plain @samp{<} and @samp{>} are always transformed to @samp{<} and
|
||||||
|
@ -5807,7 +5850,78 @@ section in the buffer.
|
||||||
@c FIXME: More about header and footer styles
|
@c FIXME: More about header and footer styles
|
||||||
@c FIXME: Talk about links and targets.
|
@c FIXME: Talk about links and targets.
|
||||||
|
|
||||||
@node XOXO export, iCalendar export, HTML export, Exporting
|
@node LaTeX export, XOXO export, HTML export, Exporting
|
||||||
|
@section LaTeX export
|
||||||
|
@cindex LaTeX export
|
||||||
|
|
||||||
|
Org-mode contains a La@TeX{} exporter written by Bastien Guerry.
|
||||||
|
|
||||||
|
@menu
|
||||||
|
* LaTeX export commands:: How to invoke LaTeX export
|
||||||
|
* Quoting LaTeX code:: Incorporating literal LaTeX code
|
||||||
|
@end menu
|
||||||
|
|
||||||
|
@node LaTeX export commands, Quoting LaTeX code, LaTeX export, LaTeX export
|
||||||
|
@subsection LaTeX export commands
|
||||||
|
|
||||||
|
@table @kbd
|
||||||
|
@kindex C-c C-e l
|
||||||
|
@item C-c C-e l
|
||||||
|
Export as La@TeX{} file @file{myfile.tex}.
|
||||||
|
@kindex C-c C-e L
|
||||||
|
@item C-c C-e L
|
||||||
|
Export to a temporary buffer, do not create a file.
|
||||||
|
@kindex C-c C-e v l
|
||||||
|
@kindex C-c C-e v L
|
||||||
|
@item C-c C-e v l
|
||||||
|
@item C-c C-e v L
|
||||||
|
Export only the visible part of the document.
|
||||||
|
@item M-x org-export-region-as-latex
|
||||||
|
Convert the region to La@TeX{} under the assumption that it was org-mode
|
||||||
|
syntax before. This is a global command that can be invoked in any
|
||||||
|
buffer.
|
||||||
|
@item M-x org-replace-region-by-latex
|
||||||
|
Replace the active region (assumed to be in Org-mode syntax) by La@TeX{}
|
||||||
|
code.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
@cindex headline levels, for exporting
|
||||||
|
In the exported version, the first 3 outline levels will become
|
||||||
|
headlines, defining a general document structure. Additional levels
|
||||||
|
will be exported as description lists. The exporter can ignore them or
|
||||||
|
convert them to a custom string depending on
|
||||||
|
@code{org-latex-low-levels}.
|
||||||
|
|
||||||
|
If you want that transition to occur at a different level, specify it
|
||||||
|
with a prefix argument. For example,
|
||||||
|
|
||||||
|
@example
|
||||||
|
@kbd{C-2 C-c C-e l}
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
creates two levels of headings and does the rest as items.
|
||||||
|
|
||||||
|
@node Quoting LaTeX code, , LaTeX export commands, LaTeX export
|
||||||
|
@subsection Quoting LaTeX code
|
||||||
|
|
||||||
|
Embedded La@TeX{} as described in @ref{Embedded LaTeX} will be correctly
|
||||||
|
inserted into the La@TeX{} file. Forthermore, you can add special code
|
||||||
|
that should only be present in La@TeX{} export with the following
|
||||||
|
constructs:
|
||||||
|
|
||||||
|
@example
|
||||||
|
#+LaTeX: Literal LaTeX code for export
|
||||||
|
@end example
|
||||||
|
|
||||||
|
@noindent or
|
||||||
|
|
||||||
|
@example
|
||||||
|
#+BEGIN_LaTeX
|
||||||
|
All lines between these markers are exported literally
|
||||||
|
#+END_LaTeX
|
||||||
|
@end example
|
||||||
|
@node XOXO export, iCalendar export, LaTeX export, Exporting
|
||||||
@section XOXO export
|
@section XOXO export
|
||||||
@cindex XOXO export
|
@cindex XOXO export
|
||||||
|
|
||||||
|
@ -5955,9 +6069,9 @@ the settings in Org-mode.
|
||||||
@cindex richer text
|
@cindex richer text
|
||||||
|
|
||||||
Some of the export backends of Org-mode allow for sophisticated text
|
Some of the export backends of Org-mode allow for sophisticated text
|
||||||
formatting, this is true in particular for the HTML backend. Org-mode
|
formatting, this is true in particular for the HTML and La@TeX{}
|
||||||
has a number of typing conventions that allow to produce a richly
|
backends. Org-mode has a number of typing conventions that allow to
|
||||||
formatted output.
|
produce a richly formatted output.
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
|
||||||
|
@ -6084,6 +6198,10 @@ author: @r{turn on/off inclusion of author name/email into exported file}
|
||||||
timestamp: @r{turn on/off inclusion creation time into exported file}
|
timestamp: @r{turn on/off inclusion creation time into exported file}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
These options take effect in both the HTML and La@TeX{} export, except
|
||||||
|
for @code{TeX} and @code{LaTeX}, which are respectively @code{t} and
|
||||||
|
@code{nil} for the La@TeX{} export.
|
||||||
|
|
||||||
@node Publishing, Miscellaneous, Exporting, Top
|
@node Publishing, Miscellaneous, Exporting, Top
|
||||||
@chapter Publishing
|
@chapter Publishing
|
||||||
@cindex publishing
|
@cindex publishing
|
||||||
|
@ -6092,11 +6210,16 @@ Org-mode includes@footnote{@file{org-publish.el} is not distributed with
|
||||||
Emacs 21, if you are still using Emacs 21, you need you need to download
|
Emacs 21, if you are still using Emacs 21, you need you need to download
|
||||||
this file separately.} a publishing management system that allows you to
|
this file separately.} a publishing management system that allows you to
|
||||||
configure automatic HTML conversion of @emph{projects} composed of
|
configure automatic HTML conversion of @emph{projects} composed of
|
||||||
interlinked org files. This system is called @emph{org-publish}. You
|
interlinked org files. This system is called @emph{org-publish}. You can
|
||||||
can also configure org-publish to automatically upload your exported
|
also configure org-publish to automatically upload your exported HTML
|
||||||
HTML pages and related attachments, such as images and source code
|
pages and related attachments, such as images and source code files, to
|
||||||
files, to a web server. Org-publish turns org-mode into a web-site
|
a web server. Org-publish turns org-mode into a web-site authoring tool.
|
||||||
authoring tool.
|
|
||||||
|
You can also use Org-publish to convert files into La@TeX{}, or even
|
||||||
|
combine HTML and La@TeX{} conversion so that files are available in both
|
||||||
|
formats on the server@footnote{Since La@TeX{} files on a server are not
|
||||||
|
that helpful, you surely want to perform further conversion on them --
|
||||||
|
e.g. convert them to @code{PDF} format.}.
|
||||||
|
|
||||||
Org-publish has been contributed to Org-mode by David O'Toole.
|
Org-publish has been contributed to Org-mode by David O'Toole.
|
||||||
|
|
||||||
|
@ -6199,9 +6322,11 @@ Publishing means that a file is copied to the destination directory and
|
||||||
possibly transformed in the process. The default transformation is to
|
possibly transformed in the process. The default transformation is to
|
||||||
export Org-mode files as HTML files, and this is done by the function
|
export Org-mode files as HTML files, and this is done by the function
|
||||||
@code{org-publish-org-to-html} which calls the HTML exporter
|
@code{org-publish-org-to-html} which calls the HTML exporter
|
||||||
(@pxref{HTML export}). Other files like images only need to be copied
|
(@pxref{HTML export}). But you also can publish your files in La@TeX{} by
|
||||||
to the publishing destination. For non-Org-mode files, you need to
|
using the function @code{org-publish-org-to-latex} instead. Other files
|
||||||
specify the publishing function.
|
like images only need to be copied to the publishing destination. For
|
||||||
|
non-Org-mode files, you need to specify the publishing function.
|
||||||
|
|
||||||
|
|
||||||
@multitable @columnfractions 0.3 0.7
|
@multitable @columnfractions 0.3 0.7
|
||||||
@item @code{:publishing-function}
|
@item @code{:publishing-function}
|
||||||
|
@ -6218,13 +6343,13 @@ provides one for attachments (files that only need to be copied):
|
||||||
@code{org-publish-attachment}.
|
@code{org-publish-attachment}.
|
||||||
|
|
||||||
@node Publishing options, Publishing links, Publishing action, Configuration
|
@node Publishing options, Publishing links, Publishing action, Configuration
|
||||||
@subsection Options for the HTML exporter
|
@subsection Options for the HTML/LaTeX exporters
|
||||||
@cindex options, for publishing
|
@cindex options, for publishing
|
||||||
|
|
||||||
The property list can be used to set many export options for the HTML
|
The property list can be used to set many export options for the HTML
|
||||||
exporter. In most cases, these properties correspond to user variables
|
and La@TeX{} exporters. In most cases, these properties correspond to user
|
||||||
in Org-mode. The table below lists these properties along with the
|
variables in Org-mode. The table below lists these properties along
|
||||||
variable they belong to. See the documentation string for the
|
with the variable they belong to. See the documentation string for the
|
||||||
respective variable for details.
|
respective variable for details.
|
||||||
|
|
||||||
@multitable @columnfractions 0.3 0.7
|
@multitable @columnfractions 0.3 0.7
|
||||||
|
@ -6256,6 +6381,11 @@ respective variable for details.
|
||||||
@item @code{:email} @tab @code{user-mail-address}
|
@item @code{:email} @tab @code{user-mail-address}
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
|
Most of the @code{org-export-with-*} variables have the same effect in
|
||||||
|
both HTML and La@TeX{} exporters, except for @code{:TeX-macros} and
|
||||||
|
@code{:LaTeX-fragments}, respectively @code{nil} and @code{t} in the
|
||||||
|
La@TeX{} export.
|
||||||
|
|
||||||
When a property is given a value in org-publish-project-alist, its
|
When a property is given a value in org-publish-project-alist, its
|
||||||
setting overrides the value of the corresponding user variable (if any)
|
setting overrides the value of the corresponding user variable (if any)
|
||||||
during publishing. Options set within a file (@pxref{Export
|
during publishing. Options set within a file (@pxref{Export
|
||||||
|
@ -6524,7 +6654,7 @@ when the file is visited again in a new Emacs session.
|
||||||
@table @kbd
|
@table @kbd
|
||||||
@item #+ARCHIVE: %s_done::
|
@item #+ARCHIVE: %s_done::
|
||||||
This line sets the archive location for the agenda file. It applies for
|
This line sets the archive location for the agenda file. It applies for
|
||||||
all subsequent lines until the next @samp{#+CATEGORY} line, or the end
|
all subsequent lines until the next @samp{#+ARCHIVE} line, or the end
|
||||||
of the file. The first such line also applies to any entries before it.
|
of the file. The first such line also applies to any entries before it.
|
||||||
The corresponding variable is @code{org-archive-location}.
|
The corresponding variable is @code{org-archive-location}.
|
||||||
@item #+CATEGORY:
|
@item #+CATEGORY:
|
||||||
|
@ -6548,8 +6678,11 @@ These lines (several are allowed) specify link abbreviations.
|
||||||
This line sets the limits and the default for the priorities. All three
|
This line sets the limits and the default for the priorities. All three
|
||||||
must be either letters A-Z or numbers 0-9. The highest priority must
|
must be either letters A-Z or numbers 0-9. The highest priority must
|
||||||
have a lower ASCII number that the lowest priority.
|
have a lower ASCII number that the lowest priority.
|
||||||
|
@item #+PROPERTY: Property_Name Value
|
||||||
|
This line sets a default inheritance value for entries in the current
|
||||||
|
buffer, most useful for specifying the allowed values of a property.
|
||||||
@item #+STARTUP:
|
@item #+STARTUP:
|
||||||
This line sets options to be used at startup of org-mode, when an
|
This line sets options to be used at startup of Org-mode, when an
|
||||||
Org-mode file is being visited. The first set of options deals with the
|
Org-mode file is being visited. The first set of options deals with the
|
||||||
initial visibility of the outline tree. The corresponding variable for
|
initial visibility of the outline tree. The corresponding variable for
|
||||||
global default settings is @code{org-startup-folded}, with a default
|
global default settings is @code{org-startup-folded}, with a default
|
||||||
|
@ -6924,7 +7057,7 @@ used by CUA-mode (as well as pc-select-mode and s-region-mode) to
|
||||||
select and extend the region. If you want to use one of these
|
select and extend the region. If you want to use one of these
|
||||||
packages along with Org-mode, configure the variable
|
packages along with Org-mode, configure the variable
|
||||||
@code{org-CUA-compatible}. When set, Org-mode will move the following
|
@code{org-CUA-compatible}. When set, Org-mode will move the following
|
||||||
keybindings in org-mode files, and in the agenda buffer (but not
|
keybindings in Org-mode files, and in the agenda buffer (but not
|
||||||
during date selection).
|
during date selection).
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -6944,7 +7077,7 @@ in the paragraph above about CUA mode also applies here.
|
||||||
@item @file{footnote.el} by Steven L. Baur
|
@item @file{footnote.el} by Steven L. Baur
|
||||||
Org-mode supports the syntax of the footnote package, but only the
|
Org-mode supports the syntax of the footnote package, but only the
|
||||||
numerical footnote markers. Also, the default key for footnote
|
numerical footnote markers. Also, the default key for footnote
|
||||||
commands, @kbd{C-c !} is already used by org-mode. You could use the
|
commands, @kbd{C-c !} is already used by Org-mode. You could use the
|
||||||
variable @code{footnote-prefix} to switch footnotes commands to another
|
variable @code{footnote-prefix} to switch footnotes commands to another
|
||||||
key. Or, you could use @code{org-replace-disputed-keys} and
|
key. Or, you could use @code{org-replace-disputed-keys} and
|
||||||
@code{org-disputed-keys} to change the settings in Org-mode.
|
@code{org-disputed-keys} to change the settings in Org-mode.
|
||||||
|
@ -6999,13 +7132,14 @@ Org-mode.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Extensions:: Existing 3rd-part extensions
|
* Extensions:: Existing 3rd-part extensions
|
||||||
|
* Adding hyperlink types:: New custom link types
|
||||||
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
|
* Tables in arbitrary syntax:: Orgtbl for LaTeX and other programs
|
||||||
* Dynamic blocks:: Automatically filled blocks
|
* Dynamic blocks:: Automatically filled blocks
|
||||||
* Special agenda views:: Customized views
|
* Special agenda views:: Customized views
|
||||||
* Using the property API:: Writing programs that use entry properties
|
* Using the property API:: Writing programs that use entry properties
|
||||||
@end menu
|
@end menu
|
||||||
|
|
||||||
@node Extensions, Tables in arbitrary syntax, Extensions and Hacking, Extensions and Hacking
|
@node Extensions, Adding hyperlink types, Extensions and Hacking, Extensions and Hacking
|
||||||
@section Third-party extensions for Org-mode
|
@section Third-party extensions for Org-mode
|
||||||
@cindex extension, third-party
|
@cindex extension, third-party
|
||||||
|
|
||||||
|
@ -7049,14 +7183,111 @@ Remind. @url{http://www.cognition.ens.fr/~guerry/u/org2rem.el}.
|
||||||
|
|
||||||
@page
|
@page
|
||||||
|
|
||||||
@node Tables in arbitrary syntax, Dynamic blocks, Extensions, Extensions and Hacking
|
@node Adding hyperlink types, Tables in arbitrary syntax, Extensions, Extensions and Hacking
|
||||||
|
@section Adding hyperlink types
|
||||||
|
@cindex hyperlinks, adding new types
|
||||||
|
|
||||||
|
Org-mode has a large number of hyperlink types built-in
|
||||||
|
(@pxref{Hyperlinks}). If you would like to add new link types, it
|
||||||
|
provides an interface for doing so. Lets look at an example file
|
||||||
|
@file{org-man.el} that will add support for creating links like
|
||||||
|
@samp{[[man:printf][The printf manpage]]} to show unix manual pages inside
|
||||||
|
emacs:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
;;; org-man.el - Support for links to manpages in Org-mode
|
||||||
|
|
||||||
|
(require 'org)
|
||||||
|
|
||||||
|
(org-add-link-type "man" 'org-man-open)
|
||||||
|
(add-hook 'org-store-link-functions 'org-man-store-link)
|
||||||
|
|
||||||
|
(defcustom org-man-command 'man
|
||||||
|
"The Emacs command to be used to display a man page."
|
||||||
|
:group 'org-link
|
||||||
|
:type '(choice (const man) (const woman)))
|
||||||
|
|
||||||
|
(defun org-man-open (path)
|
||||||
|
"Visit the manpage on PATH.
|
||||||
|
PATH should be a topic that can be thrown at the man command."
|
||||||
|
(funcall org-man-command path))
|
||||||
|
|
||||||
|
(defun org-man-store-link ()
|
||||||
|
"Store a link to a manpage."
|
||||||
|
(when (memq major-mode '(Man-mode woman-mode))
|
||||||
|
;; This is a man page, we do make this link
|
||||||
|
(let* ((page (org-man-get-page-name))
|
||||||
|
(link (concat "man:" page))
|
||||||
|
(description (format "Manpage for %s" page)))
|
||||||
|
(org-store-link-props
|
||||||
|
:type "man"
|
||||||
|
:link link
|
||||||
|
:description description))))
|
||||||
|
|
||||||
|
(defun org-man-get-page-name ()
|
||||||
|
"Extract the page name from the buffer name."
|
||||||
|
;; This works for both `Man-mode' and `woman-mode'.
|
||||||
|
(if (string-match " \\(\\S-+\\)\\*" (buffer-name))
|
||||||
|
(match-string 1 (buffer-name))
|
||||||
|
(error "Cannot create link to this man page")))
|
||||||
|
|
||||||
|
(provide 'org-man)
|
||||||
|
|
||||||
|
;;; org-man.el ends here
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
You would activate this new link type in @file{.emacs} with
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(require 'org-man)
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
@noindent
|
||||||
|
Lets go through the file and see what it does.
|
||||||
|
@enumerate
|
||||||
|
@item
|
||||||
|
It does @code{(require 'org)} to make sure that @file{org.el} has been
|
||||||
|
loaded.
|
||||||
|
@item
|
||||||
|
The next line calls @code{org-add-link-type} to define a new link type
|
||||||
|
with prefix @samp{man}. The call also contains the name of a function
|
||||||
|
that will be called to follow such a link.
|
||||||
|
@item
|
||||||
|
The next line adds a function to @code{org-store-link-functions}, in
|
||||||
|
order to allow the command @kbd{C-c l} to record a useful link in a
|
||||||
|
buffer displaying a man page.
|
||||||
|
@end enumerate
|
||||||
|
|
||||||
|
The rest of the file defines the necessary variables and functions.
|
||||||
|
First there is a customization variable that determines which emacs
|
||||||
|
command should be used to display manpages. There are two options,
|
||||||
|
@code{man} and @code{woman}. Then the function to follow a link is
|
||||||
|
defined. It gets the link path as an argument - in this case the link
|
||||||
|
path is just a topic for the manual command. The function calls the
|
||||||
|
value of @code{org-man-command} to display the man page.
|
||||||
|
|
||||||
|
Finally the function @code{org-man-store-link} is defined. When you try
|
||||||
|
to store a link with @kbd{C-c l}, also this function will be called to
|
||||||
|
try to make a link. The function must first decide if it is supposed to
|
||||||
|
create the link for this buffer type, we do this by checking the value
|
||||||
|
of the variable @code{major-mode}. If not, the function must exit and
|
||||||
|
retunr the value @code{nil}. If yes, the link is created by getting the
|
||||||
|
manual tpoic from the buffer name and prefixing it with the string
|
||||||
|
@samp{man:}. Then it must call the command @code{org-store-link-props}
|
||||||
|
and set the @code{:type} and @code{:link} properties. Optionally you
|
||||||
|
can also set the @code{:description} property to provide a default for
|
||||||
|
the link description when the link is later inserted into tan Org-mode
|
||||||
|
buffer with @kbd{C-c C-l}.
|
||||||
|
|
||||||
|
@node Tables in arbitrary syntax, Dynamic blocks, Adding hyperlink types, Extensions and Hacking
|
||||||
@section Tables in arbitrary syntax
|
@section Tables in arbitrary syntax
|
||||||
@cindex tables, in other modes
|
@cindex tables, in other modes
|
||||||
@cindex orgtbl-mode
|
@cindex orgtbl-mode
|
||||||
|
|
||||||
Since Orgtbl-mode can be used as a minor mode in arbitrary buffers, a
|
Since Orgtbl-mode can be used as a minor mode in arbitrary buffers, a
|
||||||
frequent feature request has been to make it work with native tables in
|
frequent feature request has been to make it work with native tables in
|
||||||
specific languages, for example LaTeX. However, this is extremely hard
|
specific languages, for example La@TeX{}. However, this is extremely hard
|
||||||
to do in a general way, would lead to a customization nightmare, and
|
to do in a general way, would lead to a customization nightmare, and
|
||||||
would take away much of the simplicity of the Orgtbl-mode table editor.
|
would take away much of the simplicity of the Orgtbl-mode table editor.
|
||||||
|
|
||||||
|
@ -7118,7 +7349,7 @@ additional columns.
|
||||||
@noindent
|
@noindent
|
||||||
The one problem remaining is how to keep the source table in the buffer
|
The one problem remaining is how to keep the source table in the buffer
|
||||||
without disturbing the normal workings of the file, for example during
|
without disturbing the normal workings of the file, for example during
|
||||||
compilation of a C file or processing of a LaTeX file. There are a
|
compilation of a C file or processing of a La@TeX{} file. There are a
|
||||||
number of different solutions:
|
number of different solutions:
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
@ -7129,7 +7360,7 @@ language. For example, in C-mode you could wrap the table between
|
||||||
@item
|
@item
|
||||||
Sometimes it is possible to put the table after some kind of @i{END}
|
Sometimes it is possible to put the table after some kind of @i{END}
|
||||||
statement, for example @samp{\bye} in TeX and @samp{\end@{document@}}
|
statement, for example @samp{\bye} in TeX and @samp{\end@{document@}}
|
||||||
in LaTeX.
|
in La@TeX{}.
|
||||||
@item
|
@item
|
||||||
You can just comment the table line by line whenever you want to process
|
You can just comment the table line by line whenever you want to process
|
||||||
the file, and uncomment it whenever you need to edit the table. This
|
the file, and uncomment it whenever you need to edit the table. This
|
||||||
|
@ -7142,11 +7373,11 @@ key.
|
||||||
@subsection A LaTeX example
|
@subsection A LaTeX example
|
||||||
@cindex LaTeX, and orgtbl-mode
|
@cindex LaTeX, and orgtbl-mode
|
||||||
|
|
||||||
The best way to wrap the source table in LaTeX is to use the
|
The best way to wrap the source table in La@TeX{} is to use the
|
||||||
@code{comment} environment provided by @file{comment.sty}. It has to be
|
@code{comment} environment provided by @file{comment.sty}. It has to be
|
||||||
activated by placing @code{\usepackage@{comment@}} into the document
|
activated by placing @code{\usepackage@{comment@}} into the document
|
||||||
header. Orgtbl-mode can insert a radio table skeleton@footnote{By
|
header. Orgtbl-mode can insert a radio table skeleton@footnote{By
|
||||||
default this works only for LaTeX, HTML, and TeXInfo. Configure the
|
default this works only for La@TeX{}, HTML, and TeXInfo. Configure the
|
||||||
variable @code{orgtbl-radio-tables} to install templates for other
|
variable @code{orgtbl-radio-tables} to install templates for other
|
||||||
modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will
|
modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will
|
||||||
be prompted for a table name, lets say we use @samp{salesfigures}. You
|
be prompted for a table name, lets say we use @samp{salesfigures}. You
|
||||||
|
@ -7163,7 +7394,7 @@ will then get the following template:
|
||||||
|
|
||||||
@noindent
|
@noindent
|
||||||
The @code{#+ORGTBL: SEND} line tells orgtbl-mode to use the function
|
The @code{#+ORGTBL: SEND} line tells orgtbl-mode to use the function
|
||||||
@code{orgtbl-to-latex} to convert the table into LaTeX and to put it
|
@code{orgtbl-to-latex} to convert the table into La@TeX{} and to put it
|
||||||
into the receiver location with name @code{salesfigures}. You may now
|
into the receiver location with name @code{salesfigures}. You may now
|
||||||
fill in the table, feel free to use the spreadsheet features@footnote{If
|
fill in the table, feel free to use the spreadsheet features@footnote{If
|
||||||
the @samp{#+TBLFM} line contains an odd number of dollar characters,
|
the @samp{#+TBLFM} line contains an odd number of dollar characters,
|
||||||
|
@ -7217,7 +7448,7 @@ Month & \multicolumn@{1@}@{c@}@{Days@} & Nr.\ sold & per day\\
|
||||||
\end@{comment@}
|
\end@{comment@}
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
The LaTeX translator function @code{orgtbl-to-latex} is already part of
|
The La@TeX{} translator function @code{orgtbl-to-latex} is already part of
|
||||||
Orgtbl-mode. It uses a @code{tabular} environment to typeset the table
|
Orgtbl-mode. It uses a @code{tabular} environment to typeset the table
|
||||||
and marks horizontal lines with @code{\hline}. Furthermore, it
|
and marks horizontal lines with @code{\hline}. Furthermore, it
|
||||||
interprets the following parameters:
|
interprets the following parameters:
|
||||||
|
@ -7278,7 +7509,7 @@ As you can see, the properties passed into the function (variable
|
||||||
@var{PARAMS}) are combined with the ones newly defined in the function
|
@var{PARAMS}) are combined with the ones newly defined in the function
|
||||||
(variable @var{PARAMS2}). The ones passed into the function (i.e. the
|
(variable @var{PARAMS2}). The ones passed into the function (i.e. the
|
||||||
ones set by the @samp{ORGTBL SEND} line) take precedence. So if you
|
ones set by the @samp{ORGTBL SEND} line) take precedence. So if you
|
||||||
would like to use the LaTeX translator, but wanted the line endings to
|
would like to use the La@TeX{} translator, but wanted the line endings to
|
||||||
be @samp{\\[2mm]} instead of the default @samp{\\}, you could just
|
be @samp{\\[2mm]} instead of the default @samp{\\}, you could just
|
||||||
overrule the default with
|
overrule the default with
|
||||||
|
|
||||||
|
@ -7287,7 +7518,7 @@ overrule the default with
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
For a new language, you can either write your own converter function in
|
For a new language, you can either write your own converter function in
|
||||||
analogy with the LaTeX translator, or you can use the generic function
|
analogy with the La@TeX{} translator, or you can use the generic function
|
||||||
directly. For example, if you have a language where a table is started
|
directly. For example, if you have a language where a table is started
|
||||||
with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are
|
with @samp{!BTBL!}, ended with @samp{!ETBL!}, and where table lines are
|
||||||
started with @samp{!BL!}, ended with @samp{!EL!} and where the field
|
started with @samp{!BL!}, ended with @samp{!EL!} and where the field
|
||||||
|
@ -7407,28 +7638,51 @@ search should continue from there.
|
||||||
subtree-end))) ; tag not found, continue after end of subtree
|
subtree-end))) ; tag not found, continue after end of subtree
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
Furthermore you must write a command that uses @code{let} to temporarily
|
Now you may use this function in an agenda custom command, for example
|
||||||
put this function into the variable @code{org-agenda-skip-function},
|
like this:
|
||||||
sets the header string for the agenda buffer, and calls the todo-list
|
|
||||||
generator while asking for the specific TODO keyword PROJECT. The
|
|
||||||
function must also accept one argument MATCH, but it can choose to
|
|
||||||
ignore it@footnote{MATCH must be present in case you want to define a
|
|
||||||
custom command for producing this special list. Custom commands always
|
|
||||||
supply the MATCH argument, but it can be empty if you do not specify it
|
|
||||||
while defining the command(@pxref{Custom agenda
|
|
||||||
views}).} (as we do in the example below). Here is the example:
|
|
||||||
|
|
||||||
@lisp
|
@lisp
|
||||||
(defun my-org-waiting-projects (&optional match)
|
(org-add-agenda-custom-command
|
||||||
"Produce a list of projects that contain a WAITING tag.
|
'("b" todo "PROJECT"
|
||||||
MATCH is being ignored."
|
((org-agenda-skip-function 'my-org-waiting-projects)
|
||||||
(interactive)
|
(org-agenda-overriding-header "Projects waiting for something: "))))
|
||||||
(let ((org-agenda-skip-function 'my-skip-unless-waiting)
|
|
||||||
(org-agenda-overriding-header "Projects waiting for something: "))
|
|
||||||
;; make the list
|
|
||||||
(org-todo-list "PROJECT")))
|
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
|
Note that this also binds @code{org-agenda-overriding-header} to get a
|
||||||
|
meaningful header in the agenda view.
|
||||||
|
|
||||||
|
You may also put a Lisp form into @code{org-agenda-skip-function}. In
|
||||||
|
particular, you may use the functions @code{org-agenda-skip-entry-if}
|
||||||
|
and @code{org-agenda-skip-subtree-if} in this form, for example:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item '(org-agenda-skip-entry-if 'scheduled)
|
||||||
|
Skip current entry if it has been scheduled.
|
||||||
|
@item '(org-agenda-skip-entry-if 'notscheduled)
|
||||||
|
Skip current entry if it has not been scheduled.
|
||||||
|
@item '(org-agenda-skip-entry-if 'deadline)
|
||||||
|
Skip current entry if it has a deadline.
|
||||||
|
@item '(org-agenda-skip-entry-if 'scheduled 'deadline)
|
||||||
|
Skip current entry if it has a deadline, or if it is scheduled.
|
||||||
|
@item '(org-agenda-skip-entry 'regexp "regular expression")
|
||||||
|
Skip current entry if the regular expression contained in the variable
|
||||||
|
@code{org-agenda-skip-regexp} matches in the entry.
|
||||||
|
@item '(org-agenda-skip-subtree-if 'regexp "regular expression")
|
||||||
|
Same as above, but check and skip the entire subtree.
|
||||||
|
@end table
|
||||||
|
|
||||||
|
Therefore we could also have written the search for WAITING projects
|
||||||
|
like this, even without defining a special function:
|
||||||
|
|
||||||
|
@lisp
|
||||||
|
(org-add-agenda-custom-command
|
||||||
|
'("b" todo "PROJECT"
|
||||||
|
((org-agenda-skip-function '(org-agenda-skip-subtree-if
|
||||||
|
'regexp ":WAITING:"))
|
||||||
|
(org-agenda-overriding-header "Projects waiting for something: "))))
|
||||||
|
@end lisp
|
||||||
|
|
||||||
|
|
||||||
@node Using the property API, , Special agenda views, Extensions and Hacking
|
@node Using the property API, , Special agenda views, Extensions and Hacking
|
||||||
@section Using the property API
|
@section Using the property API
|
||||||
@cindex API, for properties
|
@cindex API, for properties
|
||||||
|
@ -7544,15 +7798,16 @@ around a match in a hidden outline tree.
|
||||||
@item
|
@item
|
||||||
@i{Niels Giessen} had the idea to automatically archive DONE trees.
|
@i{Niels Giessen} had the idea to automatically archive DONE trees.
|
||||||
@item
|
@item
|
||||||
@i{Bastien Guerry} provided extensive feedback and some patches, and
|
@i{Bastien Guerry} wrote the La@TeX{} exporter and has been prolific
|
||||||
translated David O'Toole's tutorial into French.
|
with patches, ideas, and bug reports.
|
||||||
|
to Org-mode.
|
||||||
@item
|
@item
|
||||||
@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
|
@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
|
||||||
@item
|
@item
|
||||||
@i{Scott Jaderholm} proposed footnotes, control over whitespace between
|
@i{Scott Jaderholm} proposed footnotes, control over whitespace between
|
||||||
folded entries, and column view for properties.
|
folded entries, and column view for properties.
|
||||||
@item
|
@item
|
||||||
@i{Shidai Liu} ("Leo") asked for embedded LaTeX and tested it. He also
|
@i{Shidai Liu} ("Leo") asked for embedded La@TeX{} and tested it. He also
|
||||||
provided frequent feedback and some patches.
|
provided frequent feedback and some patches.
|
||||||
@item
|
@item
|
||||||
@i{Jason F. McBrayer} suggested agenda export to CSV format.
|
@i{Jason F. McBrayer} suggested agenda export to CSV format.
|
||||||
|
@ -7607,6 +7862,9 @@ subtrees.
|
||||||
@item
|
@item
|
||||||
@i{Dale Smith} proposed link abbreviations.
|
@i{Dale Smith} proposed link abbreviations.
|
||||||
@item
|
@item
|
||||||
|
@i{Adam Spiers} asked for global linking commands and inspired the link
|
||||||
|
extension system. support mairix.
|
||||||
|
@item
|
||||||
@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
|
@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
|
||||||
chapter about publishing.
|
chapter about publishing.
|
||||||
@item
|
@item
|
||||||
|
@ -7625,6 +7883,7 @@ really different beasts in their basic ideas and implementation details.
|
||||||
I later looked at John's code, however, and learned from his
|
I later looked at John's code, however, and learned from his
|
||||||
implementation of (i) links where the link itself is hidden and only a
|
implementation of (i) links where the link itself is hidden and only a
|
||||||
description is shown, and (ii) popping up a calendar to select a date.
|
description is shown, and (ii) popping up a calendar to select a date.
|
||||||
|
John has also contributed a number of great ideas directly to Org-mode.
|
||||||
@item
|
@item
|
||||||
@i{Carsten Wimmer} suggested some changes and helped fix a bug in
|
@i{Carsten Wimmer} suggested some changes and helped fix a bug in
|
||||||
linking to GNUS.
|
linking to GNUS.
|
||||||
|
|
BIN
orgcard.pdf
BIN
orgcard.pdf
Binary file not shown.
|
@ -1,5 +1,5 @@
|
||||||
% Reference Card for Org Mode
|
% Reference Card for Org Mode
|
||||||
\def\orgversionnumber{5.04}
|
\def\orgversionnumber{5.05}
|
||||||
\def\versionyear{2007} % latest update
|
\def\versionyear{2007} % latest update
|
||||||
\def\year{2007} % latest copyright year
|
\def\year{2007} % latest copyright year
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue