2014-01-23 23 views
0

emacs中的默認打印是爲每張紙打印一頁,並留有一些邊距。 我有這個功能,改變了利潤,並設置打印每紙兩頁「大多數號碼最大限度地提高打印空間:在emacs中的打印配置之間切換

(defun ps-two-per-page() 
    (interactive) 
    (require 'ps-print) 
    (setq ps-n-up-printing 2 
    ps-n-up-border-p nil 
    ps-paper-type  'letter 
    ps-font-size  (quote (8 . 11)) 
    ps-top-margin  -20 
    ps-bottom-margin -35 
    ps-left-margin  18 
    ps-right-margin  18 
    ps-n-up-margin  1 
    ps-inter-column  1 
    ) 
    'ps-two-per-page) 

一旦功能執行我將不再能夠返回到默認打印配置 如何使用默認配置重新打印「好像我沒有執行上述命令」?

另外,有沒有辦法在emacs下的「file」drop下綁定打印命令下拉菜單 含義,我想綁定「Postscript打印緩衝區」以使用默認配置進行打印,「Postscript Print Bu ffer(B + W)「來遵循我在上述命令ps-two-per-page中的配置。

回答

2

WRT到的第一個問題:而忽略了PS打印的細節,在這些情況下,兩種策略都採用

1)設定後面的變量讓

2)存儲舊值與舊前綴-...然後重置。

這裏的第二路的草案:

(defun ps-two-per-page() 
    (interactive) 
    (require 'ps-print) 
    (setq old-ps-n-up-printing ps-n-up-printing 
     old-ps-n-up-border-p ps-n-up-border-p 
     old-ps-paper-type ps-paper-type 
     old-ps-font-size ps-font-size 
     old-ps-top-margin ps-top-margin 
     old-ps-bottom-margin ps-bottom-margin 
     old-ps-left-margin ps-left-margin 
     old-ps-right-margin ps-right-margin 
     old-ps-n-up-margin ps-n-up-margin 
     old-ps-inter-column ps-inter-column 

     ps-n-up-printing 2 
     ps-n-up-border-p nil 
     ps-paper-type 'letter 
     ps-font-size (quote (8 . 11)) 
     ps-top-margin -20 
     ps-bottom-margin -35 
     ps-left-margin 18 
     ps-right-margin 18 
     ps-n-up-margin 1 
     ps-inter-column 1)) 


(defun ps-restore-default() 
    "Get old values back" 
    (interactive) 
    (require 'ps-print) 
    (setq ps-n-up-printing old-ps-n-up-printing 
     ps-n-up-border-p old-ps-n-up-border-p 
     ps-paper-type old-ps-paper-type 
     ps-font-size old-ps-font-size 
     ps-top-margin old-ps-top-margin 
     ps-bottom-margin old-ps-bottom-margin 
     ps-left-margin old-ps-left-margin 
     ps-right-margin old-ps-right-margin 
     ps-n-up-margin old-ps-n-up-margin 
     ps-inter-column old-ps-inter-column))