如何将Emacs日记与月历页面打印设置为Letter或非A4尺寸?
Emacs 修改日记与月历打印纸张为Letter尺寸
全局统一设置为Letter尺寸
这是最省事的方法,所有Emacs打印输出(包括日记、日历)都会默认用Letter纸:
- 如果你用Emacs自带的PostScript打印后端,往配置文件(比如
~/.emacs或~/.emacs.d/init.el)里加:(setq ps-paper-type 'letter) - 要是你的系统依赖
lpr命令打印(大部分类Unix系统都是),直接给打印命令传参数:
个别系统可能需要把参数改成(setq lpr-switches '("-o" "media=Letter"))"-o" "paper=letter",如果上面的不生效可以试试这个。
单独给日记打印设置Letter尺寸
不想全局改的话,可以写个自定义打印函数,只在打印日记时用Letter纸:
(defun my-diary-print-letter () (interactive) (let ((ps-paper-type 'letter)) (diary-print-entries)))
之后可以绑定个快捷键方便调用,比如:
(global-set-key (kbd "C-c d p") 'my-diary-print-letter)
以后按C-c d p就能直接用Letter尺寸打印日记了。
月历页面的非A4打印配置
日历相关的打印函数(比如calendar-print-month打印单月、calendar-print-year打印全年)会自动继承全局设置。如果只想针对日历单独改,可以给日历模式加钩子:
(add-hook 'calendar-mode-hook (lambda () (setq-local ps-paper-type 'letter)))
这样只要进入日历模式,打印月历/年历就会用Letter纸,退出日历模式后全局设置不受影响。
内容的提问来源于stack exchange,提问作者Steven Buehler
相关产品推荐
相关产品推荐

