From f02c40835bc95ccd7959796c24e594520c56cb77 Mon Sep 17 00:00:00 2001 From: Karthik Chikmagalur Date: Sun, 1 Jan 2023 16:42:18 -0800 Subject: [PATCH] org-latex-preview: Avoid duplicate latex fragments * lisp/org-latex-preview.el (org-latex-preview-collect-fragments): This function was collecting duplicate org-elements when handling nested latex environments (For instance, a matrix env inside an equation env). Fix by comparing the current element with the previously collected one. --- lisp/org-latex-preview.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/org-latex-preview.el b/lisp/org-latex-preview.el index 28c5ff3ed..a1126c5b5 100644 --- a/lisp/org-latex-preview.el +++ b/lisp/org-latex-preview.el @@ -669,8 +669,12 @@ fragments in the buffer." (goto-char (or beg (point-min))) (while (re-search-forward org-latex-preview--tentative-math-re end t) (let ((obj (org-element-context))) - (when (memq (org-element-type obj) - '(latex-fragment latex-environment)) + (when (and (memq (org-element-type obj) + '(latex-fragment latex-environment)) + ;; Avoid duplicating nested latex environments + (not (and fragments + (= (org-element-property :begin obj) + (org-element-property :begin (car fragments)))))) (push obj fragments))))) (nreverse fragments)))