Merge branch 'master' of orgmode.org:org-mode

This commit is contained in:
Bastien Guerry 2012-01-16 09:50:35 +01:00
commit 8ad81bfda7
2 changed files with 34 additions and 21 deletions

View File

@ -56,7 +56,7 @@ structure of the value.")
;;; User Configurable Variables ;;; User Configurable Variables
(defgroup org-export-latex nil (defgroup org-export-e-latex nil
"Options for exporting Org mode files to LaTeX." "Options for exporting Org mode files to LaTeX."
:tag "Org Export LaTeX" :tag "Org Export LaTeX"
:group 'org-export) :group 'org-export)
@ -411,8 +411,8 @@ package. Just add these to `org-e-latex-packages-alist',
for example using customize, or with something like for example using customize, or with something like
(require 'org-e-latex) (require 'org-e-latex)
(add-to-list 'org-export-latex-packages-alist '(\"\" \"listings\")) (add-to-list 'org-e-latex-packages-alist '(\"\" \"listings\"))
(add-to-list 'org-export-latex-packages-alist '(\"\" \"color\")) (add-to-list 'org-e-latex-packages-alist '(\"\" \"color\"))
Alternatively, Alternatively,
@ -467,7 +467,7 @@ These options are supplied as a comma-separated list to the
a list containing two strings: the name of the option, and the a list containing two strings: the name of the option, and the
value. For example, value. For example,
(setq org-export-latex-listings-options (setq org-e-latex-listings-options
'((\"basicstyle\" \"\\small\") '((\"basicstyle\" \"\\small\")
(\"keywordstyle\" \"\\color{black}\\bfseries\\underbar\"))) (\"keywordstyle\" \"\\color{black}\\bfseries\\underbar\")))
@ -513,7 +513,7 @@ These options are supplied within square brackets in
a list containing two strings: the name of the option, and the a list containing two strings: the name of the option, and the
value. For example, value. For example,
(setq org-export-latex-minted-options (setq org-e-latex-minted-options
'((\"bgcolor\" \"bg\") (\"frame\" \"lines\"))) '((\"bgcolor\" \"bg\") (\"frame\" \"lines\")))
will result in src blocks being exported with will result in src blocks being exported with
@ -533,7 +533,7 @@ options will be applied to blocks of all languages."
environments used during export of src blocks by the listings and environments used during export of src blocks by the listings and
minted latex packages. For example, minted latex packages. For example,
(setq org-export-latex-custom-lang-environments (setq org-e-latex-custom-lang-environments
'((python \"pythoncode\"))) '((python \"pythoncode\")))
would have the effect that if org encounters begin_src python would have the effect that if org encounters begin_src python
@ -1040,9 +1040,7 @@ holding contextual information."
;; Case 2. This is a deep sub-tree: export it as a list item. ;; Case 2. This is a deep sub-tree: export it as a list item.
;; Also export as items headlines for which no section ;; Also export as items headlines for which no section
;; format has been found. ;; format has been found.
((or (not section-fmt) ((or (not section-fmt) (org-export-low-level-p headline info))
(and (wholenump (plist-get info :headline-levels))
(> level (plist-get info :headline-levels))))
;; Build the real contents of the sub-tree. ;; Build the real contents of the sub-tree.
(let ((low-level-body (let ((low-level-body
(concat (concat

View File

@ -1124,12 +1124,16 @@ Following tree properties are set:
(setq info (setq info
(org-combine-plists (org-combine-plists
info `(:use-select-tags ,(org-export-use-select-tags-p data info)))) info `(:use-select-tags ,(org-export-use-select-tags-p data info))))
;; Get the rest of the tree properties, now `:use-select-tags' is ;; Then get `:headline-offset' in order to be able to use
;; set... ;; `org-export-get-relative-level'.
(setq info
(org-combine-plists
info `(:headline-offset ,(- 1 (org-export-get-min-level data info)))))
;; Now, get the rest of the tree properties, now `:use-select-tags'
;; is set...
(nconc (nconc
`(:parse-tree `(:parse-tree
,data ,data
:headline-offset ,(- 1 (org-export-get-min-level data info))
:point-max ,(org-export-get-point-max data info) :point-max ,(org-export-get-point-max data info)
:target-list :target-list
,(org-element-map data 'target (lambda (target local) target) info) ,(org-element-map data 'target (lambda (target local) target) info)
@ -1186,9 +1190,8 @@ OPTIONS is a plist holding export options."
DATA is the parse tree. OPTIONS is the plist holding export DATA is the parse tree. OPTIONS is the plist holding export
options. options.
Return an alist whose key is headline's beginning position and Return an alist whose key is an headline and value is its
value is its associated numbering (in the shape of a list of associated numbering \(in the shape of a list of numbers\)."
numbers)."
(let ((numbering (make-vector org-export-max-depth 0))) (let ((numbering (make-vector org-export-max-depth 0)))
(org-element-map (org-element-map
data data
@ -1197,7 +1200,7 @@ numbers)."
(let ((relative-level (let ((relative-level
(1- (org-export-get-relative-level headline info)))) (1- (org-export-get-relative-level headline info))))
(cons (cons
(org-element-get-property :begin headline) headline
(loop for n across numbering (loop for n across numbering
for idx from 0 to org-export-max-depth for idx from 0 to org-export-max-depth
when (< idx relative-level) collect n when (< idx relative-level) collect n
@ -2053,9 +2056,9 @@ INFO is the plist used as a communication channel."
;; headline, while `org-export-number-to-roman' allows to convert it ;; headline, while `org-export-number-to-roman' allows to convert it
;; to roman numbers. ;; to roman numbers.
;; `org-export-first-sibling-p' and `org-export-last-sibling-p' are ;; `org-export-low-level-p', `org-export-first-sibling-p' and
;; two useful predicates when it comes to fulfill the ;; `org-export-last-sibling-p' are three useful predicates when it
;; `:headline-levels' property. ;; comes to fulfill the `:headline-levels' property.
(defun org-export-get-relative-level (headline info) (defun org-export-get-relative-level (headline info)
"Return HEADLINE relative level within current parsed tree. "Return HEADLINE relative level within current parsed tree.
@ -2063,11 +2066,23 @@ INFO is a plist holding contextual information."
(+ (org-element-get-property :level headline) (+ (org-element-get-property :level headline)
(or (plist-get info :headline-offset) 0))) (or (plist-get info :headline-offset) 0)))
(defun org-export-low-level-p (headline info)
"Non-nil when HEADLINE is considered as low level.
A low level headlines has a relative level greater than
`:headline-levels' property value.
Return value is the difference between HEADLINE relative level
and the last level being considered as high enough, or nil."
(let ((limit (plist-get info :headline-levels)))
(when (wholenump limit)
(let ((level (org-export-get-relative-level headline info)))
(and (> level limit) (- level limit))))))
(defun org-export-get-headline-number (headline info) (defun org-export-get-headline-number (headline info)
"Return HEADLINE numbering as a list of numbers. "Return HEADLINE numbering as a list of numbers.
INFO is a plist holding contextual information." INFO is a plist holding contextual information."
(cdr (assq (org-element-get-property :begin headline) (cdr (assoc headline (plist-get info :headline-numbering))))
(plist-get info :headline-numbering))))
(defun org-export-number-to-roman (n) (defun org-export-number-to-roman (n)
"Convert integer N into a roman numeral." "Convert integer N into a roman numeral."