EmacsからPDF出力
Emacsのバッファ、あるいはリージョンの内容をPDFに出力できないかと、
こちらの2つの記事を参考にスクリプトを作成しました。メモとして残しておきます。
スクリプト(Emacs Lisp)
;; PDF出力 (setq my-pdfout-command-format "nkf -e | e2ps -a4 -p -nh | ps2pdf - %s") (defun my-pdfout-region (begin end) (interactive "r") (shell-command-on-region begin end (format my-pdfout-command-format (read-from-minibuffer "File name:")))) (defun my-pdfout-buffer () (interactive) (my-pdfout-region (point-min) (point-max)))
使い方
上記のスクリプトを、「~/.emacs」あたりに追記してください。
そして、以下のコマンドでPDFに出力します。
- カレントバッファの内容をPDF化
M-x my-pdfout-buffer
- リージョンの内容をPDF化
M-x my-pdfout-region
なお、コマンド実行の際に、ミニバッファで
File name:
のようにファイル名を聞かれるので、ここでファイル名を指定してください。
また、現状ではPDF化したファイルの保存場所は
カレントバッファで開いているファイルの場所です。
(「*scratch*」の内容などを保存する際にはホームディレクトリになります。)
おわりに
参考にした記事として上記した記事の、「Emacsからの印刷」も便利で使っていましたので、
今回は、少しカスタマイズして「PDF化」を行えるようにしてみました。
Emacsは、Emacs Lispを用いればゲームも作れてしまうなど、拡張性がとても高いです。
ゲームに関しては、「gamegrid.el」などというライブラリが標準のパッケージに入っている所が
なんとも、遊び心にあふれてますね。