EmacsでのPDFファイルの表示 [Linux]
Emacs での PDF ファイルの表示について、簡単にまとめてみた。
・Emacs のバージョン:
Emacs 26.1 (on Debian 10)、Emacs 24.3.1 (on CentOS 7)
・DocView mode を使用する。
1. PDF ファイルの表示
2. DocView の主な機能
・Emacs のバージョン:
Emacs 26.1 (on Debian 10)、Emacs 24.3.1 (on CentOS 7)
・DocView mode を使用する。
1. PDF ファイルの表示
*.pdf ファイルを開く。
2. DocView の主な機能
(1) 表示位置の変更
# 次ページ doc-view-next-page (n) # 前ページ doc-view-previous-page (p) # 次の行 doc-view-next-line-or-next-page (C-n, <down>) # 前の行 doc-view-previous-line-or-previous-page (C-p, <up>) # 上方にスクロール doc-view-scroll-up-or-next-page (SPC) # 下方にスクロール doc-view-scroll-down-or-previous-page (S-SPC) # 最初のページ doc-view-first-page (M-<) # 最後のページ doc-view-last-page (M->)
(2) 表示の拡大/縮小
# 拡大 doc-view-enlarge (+, =) # 縮小 doc-view-shrink (-) # リセット doc-view-scale-reset (0) # 縦方向のサイズをウィンドウに合わせる doc-view-fit-height-to-window (H) # 横方向のサイズをウィンドウに合わせる doc-view-fit-width-to-window (W) # ページ全体がウィンドウに収まるサイズに変更 doc-view-fit-page-to-window (P)
(3) 表示方法の変更
# テキストのみの表示 doc-view-open-text (C-c C-t)
・Emacs のバージョンにより、実現方法が異なる。
Emacs 26.1 (on Debian 10) の場合: 表示データの変更
Emacs 24.3.1 (on CentOS 7) の場合: バッファーの追加
・表示されたテキストについては、通常の検索が可能である。
# ドキュメント編集、ドキュメント閲覧の切替 doc-view-toggle-display (C-c C-c) # テキストのみの表示の終了 Emacs のバージョンにより、手順が異なる。 ・Emacs 26.1 (on Debian 10) の場合: doc-view-toggle-display (C-c C-c) 2 回実行し、ドキュメント閲覧に切り替える。 ・Emacs 24.3.1 (on CentOS 7) の場合: DocView モードのバッファーを選択
(4) DocView モードでの検索
doc-view-show-tooltip (C-t) doc-view-search (C-s) または doc-view-search-backward (C-r)
・ドキュメント閲覧において、ツールチップを有効にし、検索を実施する。
・検索結果は、マウス位置のツールチップに表示される。
・ドキュメント閲覧のバッファーでは、検索結果を表示できない。
(5) キャッシュのクリア
# キャッシュ・ディレクトリの確認 C-h v doc-view-cache-directory を指定 # キャッシュのクリア M-x doc-view-clear-cache
xpdfで複数ファイルを表示するスクリプトの作成 [Linux]
xpdf で複数ファイルを表示するスクリプトを作成してみた。
・xpdf の起動後に追加選択できるが、ファイル選択が面倒なのでスクリプトで対応。
・xpdf の特定の機能で文字化けが発生するが、動作が軽快なため時々使用している。
しおりの表示(左側のペイン)で日本語が文字化けする。
検索時のキーワード入力で日本語が文字化けするため、日本語の検索ができない。
詳細は、以下の通りである。
1. スクリプト (Xpdf)
2. 使用方法
・xpdf の起動後に追加選択できるが、ファイル選択が面倒なのでスクリプトで対応。
・xpdf の特定の機能で文字化けが発生するが、動作が軽快なため時々使用している。
しおりの表示(左側のペイン)で日本語が文字化けする。
検索時のキーワード入力で日本語が文字化けするため、日本語の検索ができない。
詳細は、以下の通りである。
1. スクリプト (Xpdf)
#!/bin/bash # # View PDF files with xpdf. # usage: Xpdf [file ...] # # check existence of PDF files check_pdf_file() { local status=0 local i for i in $*; do case $i in *.pdf) if [ ! -f $i ] || [ ! -r $i ]; then echo ">> $i: no such file" status=1 break fi ;; *) echo ">> $i: not PDF file" status=1 break ;; esac done return $status } # execute xpdf exec_xpdf() { local x_gap=20 pos local a_pid=() local status=0 local i j if [ $# != 0 ]; then j=`ps acx | grep -c "xpdf$"` for i in $*; do pos="+$(($x_gap * $j))+0" xpdf -g $pos $i 2> /dev/null & a_pid+=($!) j=$(($j +1)) sleep 0.2 done # get status of background jobs for i in ${a_pid[*]}; do wait $i j=$? if [ $status = 0 ]; then status=$j fi done else xpdf -g +0+0 2> /dev/null status=$? fi return $status } if ! which xpdf >/dev/null 2>&1; then echo "xpdf: command not found" exit 1 elif [ $# = 0 ] || check_pdf_file $*; then exec_xpdf $* fi exit $?
2. 使用方法
% Xpdf [file ...]