在emacs中的打印配置之间切换

时间:2014-01-23 22:36:04

标签: emacs printing elisp

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中的打印命令。 意思是,我想将“Postscript打印缓冲区”绑定为使用默认配置进行打印,然后使用“Postscript打印缓冲区(B + W)”来遵循上面命令ps-two-pages中的配置。

1 个答案:

答案 0 :(得分:2)

WRT第一个问题:忽略ps-print的细节,在这些情况下采用两种策略

1)在let

后面设置变量

2)使用前缀old -...存储旧值并在之后重置。

这是第二种方式的草案:

(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)) 
相关问题