org-latex-preview如何显示透明png

今天测了一下发现改错了函数,org-link-previeworg-latex-preview走的路线不一样,latex预览png透明的方案如下:

    (defun my:org--make-preview-overlay (beg end image &optional imagetype)
      "Build an overlay between BEG and END using IMAGE file.
  Argument IMAGETYPE is the extension of the displayed image,
  as a string.  It defaults to \"png\"."
      (let ((ov (make-overlay beg end))
  	  (imagetype (or (intern imagetype) 'png)))
        (overlay-put ov 'org-overlay-type 'org-latex-overlay)
        (overlay-put ov 'evaporate t)
        (overlay-put ov
  		   'modification-hooks
  		   (list (lambda (o _flag _beg _end &optional _l)
  			   (delete-overlay o))))
        (overlay-put ov
  		   'display
  		   (list 'image :type imagetype :file image :ascent 'center :mask 'heuristic))))
    
    (advice-add 'org--make-preview-overlay :override #'my:org--make-preview-overlay)

这个要提交到org的话就简单多了 :blush:

1 个赞