まずdoc-view-modeの基本的な操作法をまとめておきます.
キー | コマンド | 機能 |
n | 'doc-view-next-page | 次のページ |
p | 'doc-view-previous-page | 前のページ |
C-n | 'doc-view-next-line-or-next-page | 1行下方へスクロール |
C-p | 'doc-view-previous-line-or-previous-page | 1行上方へスクロール |
SPACE | 'doc-view-scroll-up-or-next-page | 下方スクロールまたは次のページ |
DEL | 'doc-view-scroll-down-or-previous-page | 上方スクロールまたは前のページ |
k | 'doc-view-kill-proc-and-buffer | プロセスを終了しバッファを閉じる |
g | 'revert-buffer | バッファを閉じる |
+ | 'doc-view-enlarge | 拡大 |
- | 'doc-view-shrink | 縮小 |
カーソルキー | - | 上下左右方向へスクロール |
M-g M-g | 'doc-view-goto-page | 指定したページへ移動 |
M-> | 'doc-view-first-page | 最初のページへ移動 |
M-< | 'doc-view-last-page | 最後のページへ移動 |
上述の記事ではEmacsのdoc-view-modeの使い勝手を良くするEmacs拡張アプリであるpdf-toolsを紹介していたので,早速試してみました.環境はMac OS X MavericksでEmacs 24.4.50を使用しています.
pdf-toolsを検索してみたのですが,検索上位に現れるGitHubのpolitza/pdf-toolsはLinux環境を前提としているようで,そのままソースをコンパイルしてみるとエラーが出ます.ソースコードを少し書き直すとMacでも使えたという情報も見かけたものの,ソースコードをいじる技術力がないので,誰かMacに対応したものを作っていないか他力本願で探してみるとGitHubにありました.
axot/pdf-toolsからzipファイルをダウンロードして展開し,ソースをコンパイルしてみるとすんなり通りました.するとソースを展開したフォルダにpdf-tools-0.20.tarというファイルが出来たので,Emacs上で
M-x package-install-file RET pdf-tools-0.20.tar RET
としてインストールしました.これでdoc-view-mode上で動作する色々なマイナーモードが使用可能になります.
M-x pdf-tools-helpで各マイナーモードや用意されている関数の説明を見ることができます.
EmacsからC-x, C-fでpdfファイルを選択して開き
- pdf-isearch-minor-mode
- pdf-sync-minor-mode
- pdf-link-minor-mode
を試しました.まずdoc-view-modeはimagemagickのconvertコマンドを使ってpdfファイルをpngファイルに変換してEmacsのウィンドウ内に表示します.数ページのpdfファイルであればその変換にかかる時間が気にならないと思いますが,私は普段から数百ページのファイルを扱うことが多いため変換に時間が掛かり,LaTeXファイルのタイプセットの度にpdfファイルを再読み込みして変換をしなければならないため,この時点ですでにげんなりしてしまいます.画像ファイルの解像度が粗いのも気になりました.
pdf-toolsで今回試したマイナーモードはいずれもよく働きます.
isearchでは,検索した語句がハイライトされました.
pdf-links-minor-modeをonにすると,pdfのhyperlinkでジャンプ出来るようになりました.またpdf-sync-minor-modeでは,pdfのダブルクリックした部分に該当するTeXソースファイルの内容が表示されることを確認できます.
逆にソースファイルからpdfへジャンプする機能については,helpを見ると設定のための関数が用意されているので出来るとは思いますがそこまでは試していません.
ページの遷移がコマンドで済むことやisearchが出来ることは便利なのですが,ページ数の多いファイルをタイプセットする毎にpdfファイルを読み直して画像ファイルへ変換するという手間がかかることを考えるとあまり実用的ではないかなぁ.