Latex preview centering

This commit is contained in:
Zelong Kuang
2025-12-14 20:36:02 +11:00
parent a5c860c51e
commit a64ddb1d66
3 changed files with 40 additions and 12 deletions

View File

@@ -82,6 +82,44 @@
(setq org-latex-preview-mode-display-live t) (setq org-latex-preview-mode-display-live t)
(setq org-latex-preview-mode-update-delay 0.25)) (setq org-latex-preview-mode-update-delay 0.25))
;; code for centering LaTeX previews -- a terrible idea
(use-package org-latex-preview
:ensure nil
:hook (org-latex-preview-mode . org-latex-preview-center-mode)
:config
(defun my/org-latex-preview-uncenter (ov)
(overlay-put ov 'before-string nil))
(defun my/org-latex-preview-recenter (ov)
(overlay-put ov 'before-string (overlay-get ov 'justify)))
(defun my/org-latex-preview-center (ov)
(save-excursion
(goto-char (overlay-start ov))
(when-let* ((elem (org-element-context))
((or (eq (org-element-type elem) 'latex-environment)
(string-match-p "^\\\\\\[" (org-element-property :value elem))))
(img (overlay-get ov 'display))
(prop `(space :align-to (- center (0.55 . ,img))))
(justify (propertize " " 'display prop 'face 'default)))
(overlay-put ov 'justify justify)
(overlay-put ov 'before-string (overlay-get ov 'justify)))))
(define-minor-mode org-latex-preview-center-mode
"Center equations previewed with `org-latex-preview'."
:global nil
(if org-latex-preview-center-mode
(progn
(add-hook 'org-latex-preview-overlay-open-functions
#'my/org-latex-preview-uncenter nil :local)
(add-hook 'org-latex-preview-overlay-close-functions
#'my/org-latex-preview-recenter nil :local)
(add-hook 'org-latex-preview-overlay-update-functions
#'my/org-latex-preview-center nil :local))
(remove-hook 'org-latex-preview-overlay-close-functions
#'my/org-latex-preview-recenter)
(remove-hook 'org-latex-preview-overlay-update-functions
#'my/org-latex-preview-center)
(remove-hook 'org-latex-preview-overlay-open-functions
#'my/org-latex-preview-uncenter))))
(use-package org-roam (use-package org-roam
:ensure t :ensure t
:defer :defer

View File

@@ -3,7 +3,6 @@
(use-package latex (use-package latex
:demand t
:ensure (auctex :pre-build (("./autogen.sh") :ensure (auctex :pre-build (("./autogen.sh")
("./configure" "--without-texmf-dir" "--with-lispdir=.") ("./configure" "--without-texmf-dir" "--with-lispdir=.")
("make"))) ("make")))

13
recentf
View File

@@ -1,17 +1,8 @@
;;; Automatically generated by recentf on Sun Dec 14 19:55:48 2025. ;;; Automatically generated by recentf on Sun Dec 14 20:31:07 2025.
(setq recentf-list (setq recentf-list
'( '(
"~/.emacs.d/lisp/init-tex.el" "~/.emacs.d/lisp/init-dashboard.el"
"~/.emacs.d/init.el"
"~/.emacs.d/lisp/init-completion.el"
"~/org/roam/20251212003211-presentation_of_group.org"
"~/.emacs.d/lisp/init-edit.el"
"~/.emacs.d/lisp/init-org.el"
"~/.emacs.d/early-init.el"
"~/org/roam/20251117171745-emacs.org"
"~/.emacs.d/lisp/init-coding.el"
"~/.emacs.d/lisp/init-ui.el"
)) ))
(setq recentf-filter-changer-current 'nil) (setq recentf-filter-changer-current 'nil)