Allow cdlatex expansions at a list item or an headline

* lisp/org.el (org-try-cdlatex-tab): Don't try to expand a LaTeX
environment when at an item or an headline, but allow LaTeX
fragments.
(org-cycle): Try to call `cdlatex-tab' before cycling item's or
headline's visibility, in order to catch LaTeX fragments within.

This patch is based on the report and work of Maik Beckmann.
This commit is contained in:
Nicolas Goaziou 2011-11-12 15:04:19 +01:00
parent c5081b8f14
commit b13b3e30d7
1 changed files with 8 additions and 6 deletions

View File

@ -6144,6 +6144,8 @@ in special contexts.
(or (bolp) (not (eq org-cycle-emulate-tab 'exc-hl-bol))))
(org-inlinetask-toggle-visibility))
((org-try-cdlatex-tab))
;; At an item/headline: delegate to `org-cycle-internal-local'.
((and (or (and org-cycle-include-plain-lists (org-at-item-p))
(save-excursion (beginning-of-line 1)
@ -6159,8 +6161,6 @@ in special contexts.
((org-try-structure-completion))
((org-try-cdlatex-tab))
((run-hook-with-args-until-success
'org-tab-before-tab-emulation-hook))
@ -16563,14 +16563,16 @@ It makes sense to do so if `org-cdlatex-mode' is active and if the cursor is
insert a LaTeX environment."
(when org-cdlatex-mode
(cond
;; Before any word on the line: No expansion possible.
((save-excursion (skip-chars-backward " \t") (bolp)) nil)
;; Just after first word on the line: Expand it. Make sure it
;; cannot happen on headlines, though.
((save-excursion
(skip-chars-backward "a-zA-Z0-9*")
(skip-chars-backward " \t")
(bolp))
(and (bolp) (not (org-at-heading-p))))
(cdlatex-tab) t)
((org-inside-LaTeX-fragment-p)
(cdlatex-tab) t)
(t nil))))
((org-inside-LaTeX-fragment-p) (cdlatex-tab) t))))
(defun org-cdlatex-underscore-caret (&optional arg)
"Execute `cdlatex-sub-superscript' in LaTeX fragments.