changeset 355:6c67a826f266 dev

Hide temporary typesetting buffer
author HIROSE Yuuji <yuuji@gentei.org>
date Mon, 22 Dec 2014 10:02:49 +0900
parents 5465428f5a68
children af0bd0f86b27
files yatexprc.el
diffstat 1 files changed, 30 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/yatexprc.el	Mon Dec 22 00:01:30 2014 +0900
+++ b/yatexprc.el	Mon Dec 22 10:02:49 2014 +0900
@@ -1,7 +1,7 @@
 ;;; yatexprc.el --- YaTeX process handler
 ;;; 
 ;;; (c)1993-2013 by HIROSE Yuuji.[yuuji@yatex.org]
-;;; Last modified Mon Dec 22 00:00:27 2014 on firestorm
+;;; Last modified Mon Dec 22 10:01:02 2014 on firestorm
 ;;; $Id$
 
 ;;; Code:
@@ -397,15 +397,35 @@
       (put 'dvi2-command 'file buffer)
       (put 'dvi2-command 'offset lineinfo))))
 
+(defvar YaTeX-preview-image-mode-map nil
+  "Keymap used in YaTeX-preview-image-mode")
+(defun YaTeX-preview-image-mode ()
+  (interactive)
+  (if YaTeX-preview-image-mode-map
+      nil
+    (let ((map (setq YaTeX-preview-image-mode-map (make-sparse-keymap))))
+      (define-key map "q" (lambda()(interactive)
+			    (kill-buffer)
+			    (select-window
+			     (or (get 'YaTeX-typeset-process 'win)
+				 (selected-window)))))
+      (define-key map "j" (lambda()(interactive) (scroll-up 1)))
+      (define-key map "k" (lambda()(interactive) (scroll-up -1)))))
+  (use-local-map YaTeX-preview-image-mode-map))
+
 (defvar YaTeX-typeset-conv2image-process nil "Process of conv2image chain")
 (defun YaTeX-typeset-conv2image-chain ()
   (let*((proc (or YaTeX-typeset-process YaTeX-typeset-conv2image-process))
 	(prevname (process-name proc))
-	(target "texput.jpg")
+	(target "texput.png")
 	(math (get 'YaTeX-typeset-conv2image-chain 'math))
-	(conv (format "convert -density %d - %s" (if math 250 100) target))
-	(chain (list (format "dvips -E -o - texput|%s" conv)))
+	;(conv (format "convert -density %d - %s" (if math 250 100) target))
+	;(chain (list (format "dvips -E -o - texput|%s" conv)))
+	(conv (format "convert -alpha off - %s"  target))
+	(chain (list (format "dvips -x 3000 -E -o - texput|%s" conv)))
 	(curproc (member prevname chain))
+	(w (get 'YaTeX-typeset-conv2image-chain 'win))
+	(pwd default-directory)
 	img)
     (if (not (= (process-exit-status proc) 0))
 	(progn
@@ -429,15 +449,18 @@
 			     'YaTeX-typeset-conv2image-chain)
 		       (get 'YaTeX-typeset-process 'ppcmd))))
 	;; After all chain executed, display image in current window
+	(select-window w)
+	(setq foo (selected-window))
 	(YaTeX-showup-buffer
 	 (get-buffer-create " *YaTeX-region-image*")
 	 'YaTeX-showup-buffer-bottom-most t)
 	(remove-images (point-min) (point-max))
 	(erase-buffer)
-	;(put-image (create-image (expand-file-name target)) (point))
+	(cd pwd)			;when reuse from other source
+					;(put-image (create-image (expand-file-name target)) (point))
 	(insert-image-file target)
-	(goto-char (point-min))
 	(setq img (plist-get (text-properties-at (point)) 'intangible))
+	(YaTeX-preview-image-mode)
 	(if img
 	    (let ((height (cdr (image-size img))))
 	      (enlarge-window
@@ -453,6 +476,7 @@
       (if (and (featurep 'image) window-system)
 	  (let ((YaTeX-typeset-buffer (concat "*bg:" YaTeX-typeset-buffer)))
 	    (put 'YaTeX-typeset-conv2image-chain 'math math)
+	    (put 'YaTeX-typeset-conv2image-chain 'win (selected-window))
 	    (YaTeX-typeset-region 'YaTeX-typeset-conv2image-chain))
 	(YaTeX-typeset-region)))))
 

yatex.org