summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2019-07-09 12:32:53 +0200
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-07-09 12:42:46 +0200
commit9bde6350d176d69a4ecff7258e0e902996d414d8 (patch)
tree2c373a4ee688f82f8629992422effa0b10820fc2
parentd73f65b57a4f78f63e3c18ae0c1162c77c39e9fa (diff)
downloadorg-mode-9bde6350d176d69a4ecff7258e0e902996d414d8.tar.gz
ox: Add post-blanks when latex is verbatim
* lisp/ox.el (org-export--remove-uninterpreted-data): Add post-blanks when latex is verbatim.
-rw-r--r--lisp/ox.el91
1 files changed, 41 insertions, 50 deletions
diff --git a/lisp/ox.el b/lisp/ox.el
index 26fbfda..b7751a7 100644
--- a/lisp/ox.el
+++ b/lisp/ox.el
@@ -2919,56 +2919,47 @@ returned by the function."
'(entity bold italic latex-environment latex-fragment strike-through
subscript superscript underline)
(lambda (datum)
- (let ((new
- (cl-case (org-element-type datum)
- ;; ... entities...
- (entity
- (and (not (plist-get info :with-entities))
- (list (concat
- (org-export-expand datum nil)
- (make-string
- (or (org-element-property :post-blank datum) 0)
- ?\s)))))
- ;; ... emphasis...
- ((bold italic strike-through underline)
- (and (not (plist-get info :with-emphasize))
- (let ((marker (cl-case (org-element-type datum)
- (bold "*")
- (italic "/")
- (strike-through "+")
- (underline "_"))))
- (append
- (list marker)
- (org-element-contents datum)
- (list (concat
- marker
- (make-string
- (or (org-element-property :post-blank datum)
- 0)
- ?\s)))))))
- ;; ... LaTeX environments and fragments...
- ((latex-environment latex-fragment)
- (and (eq (plist-get info :with-latex) 'verbatim)
- (list (org-export-expand datum nil))))
- ;; ... sub/superscripts...
- ((subscript superscript)
- (let ((sub/super-p (plist-get info :with-sub-superscript))
- (bracketp (org-element-property :use-brackets-p datum)))
- (and (or (not sub/super-p)
- (and (eq sub/super-p '{}) (not bracketp)))
- (append
- (list (concat
- (if (eq (org-element-type datum) 'subscript)
- "_"
- "^")
- (and bracketp "{")))
- (org-element-contents datum)
- (list (concat
- (and bracketp "}")
- (and (org-element-property :post-blank datum)
- (make-string
- (org-element-property :post-blank datum)
- ?\s)))))))))))
+ (let* ((type (org-element-type datum))
+ (post-blank
+ (pcase (org-element-property :post-blank datum)
+ (`nil nil)
+ (n (make-string n (if (eq type 'latex-environment) ?\n ?\s)))))
+ (new
+ (cl-case type
+ ;; ... entities...
+ (entity
+ (and (not (plist-get info :with-entities))
+ (list (concat (org-export-expand datum nil)
+ post-blank))))
+ ;; ... emphasis...
+ ((bold italic strike-through underline)
+ (and (not (plist-get info :with-emphasize))
+ (let ((marker (cl-case type
+ (bold "*")
+ (italic "/")
+ (strike-through "+")
+ (underline "_"))))
+ (append
+ (list marker)
+ (org-element-contents datum)
+ (list (concat marker post-blank))))))
+ ;; ... LaTeX environments and fragments...
+ ((latex-environment latex-fragment)
+ (and (eq (plist-get info :with-latex) 'verbatim)
+ (list (concat (org-export-expand datum nil)
+ post-blank))))
+ ;; ... sub/superscripts...
+ ((subscript superscript)
+ (let ((sub/super-p (plist-get info :with-sub-superscript))
+ (bracketp (org-element-property :use-brackets-p datum)))
+ (and (or (not sub/super-p)
+ (and (eq sub/super-p '{}) (not bracketp)))
+ (append
+ (list (concat (if (eq type 'subscript) "_" "^")
+ (and bracketp "{")))
+ (org-element-contents datum)
+ (list (concat (and bracketp "}")
+ post-blank)))))))))
(when new
;; Splice NEW at DATUM location in parse tree.
(dolist (e new (org-element-extract-element datum))