前回のあらすじ:PDFビューワー探しの旅(Windows編)

皆さんはPDFを見るのに何を使っているだろうか。 WindowsだとデフォルトではEdgeがPDFビューワーになっており、手書きを含めたアノテーションができるなどかなり便利である。 もちろんChromeやFirefoxにもPDFビューワーが内蔵されており、それらを使っている人は多いと思う。 自分はというと、やっぱり本家のものを使いたいなと思い、2020年頃まではAcrobat Reader DCを使っていた1。 ただ、無駄な機能や使えない機能が多い上に、当時はまだ32bitでかつ動作が我慢できないほど遅かった2ので、 PDFリーダーを探す旅に出た。 結果的に数学の先生が使っていたSumatraPDFに出会い、その動作の軽量さと、TeXとの相性の良さ3から、SumatraPDFを使い始めた。

それから1年ちょっとがたち、SumatraPDFに3.4系のアップデートが到来。 ごく簡単なアノテーションができるようになったりコントロールパネルが追加されるなど、 “軽量"とは違う方向に走っているように見えて、はじめは懐疑的だったが、 実際に使ってみると軽量さは健在で、逆に簡単とはいえアノテーションができる便利さや4、 コマンドパレットから過去に開いたファイルを開くことができることで 近頃はますますSumatraPDFを愛するようになった。

なぜブラウザを使わないのか

普通の人はブラウザで満足かもしれないが、自分がブラウザを使わない理由は、ブラウザがウェブページだけでキャパオーバーだからである。 というわけでPDFは別のソフトで管理したい。

ことの始まり

さて、完璧なようにも思えるSumatraPDFだが、弱点もある。 それはWindows専用である点だ。 これが軽量化に大きく寄与しているらしく、Windowsだけを使っていたときは全く持って問題にならなかった。 しかし、今年の秋にLinuxを半分メインとして使い始めて、PDFビューワーを探す必要が生まれ、今回の旅に至った。

候補

ディストロはManjaroでDEはxfceなのでデフォルトのビューワーはevinceだった。 確かに軽量で最低限の機能もあったが、特にタブがない点と、SumatraPDFと同様のワークフロー5が実現できない点(ターミナルから切り離せない)が気になり、 他のPDFビューワーを探し始めた。 evinceがGnomeのPDFビューワーだということで、KDEのOkularを試してみたところ、 タブが使えたりSumatraPDFと同様のワークフローで使えたりキーバインドが変えられたりと、なかなか気に入った6。 しかし、マウス中ボタンのドラッグでzoom in/outというふざけた7仕様が気に食わなくなり、他のPDFビューワーを探し始めることになった。

Manjaroなので、候補は PDF、PSおよびDjVu - ArchWiki から選んだ。 全部を検証したので、以下に感想をまとめておく。

要求仕様

  • タブが使える
  • カスタマイズ可能
  • (使える程度に)軽量
    • SumatraPDFに対して不満を感じたことはない

Evince

GnomeのPDFビューワー。 軽量でMacのやつに似てる(? 持ってないので詳しくは知らないが)。 タブがないのが残念。

Okular

KDEのPDFビューワー。 タブが使える上にアノテーションもそこそこ自由にできて、その上(Acrobat)より軽量でなかなか良い。 しかし、マウス中ボタンの挙動を変える方法を見つけられてない。

Foxit Reader

今回の旅以前に試していたがOkularに敗れてアンインストールしてた。 理由はあまり覚えてないが、覚えてる範囲では

  • 更新が止まってた
  • プロプライエタリ あたりだったと思う。

Zathura

Viっぽいコマンドが使えたりするらしい。 軽そうではある。 ただタブが使えなかったりアノテーションができないのでメインにはならないかなと思った。

llpp

なぜかAURにしかなかった(Wikiの情報が古い?間違い?) デフォルトではhjkl系のショートカットすらなかったのでやめ。 Zathuraと似ており、Zathuraのほうが良かったので選択肢から除外。

pdfpc

Presenterっぽいので、すでに使っているpympressと機能がかぶる。 試してないので実はいいかも?

ちなみにpympressとは

pdf用のプレゼンター。 ウィンドウが2つ出てきて、一つをプロジェクターなどに、もう一つを手元に表示できる。 レーザーポインターや簡単なハイライティングができる。 原稿やタイマーをセットできたりと、PowerPointに近い。 Windowsでも使える(Python + Qt)8

qpdfview

更新が止まってるので除外。

xpdf

windowsで試したことがあったが、古すぎた。

mupdf

Zathuraやllppと同様の超軽量系。 というかllppやSumatraPDFのエンジンでもある。 当然機能は少ない。 日本語検索できなかったのでアウト。

Atril

Mateのpdfビューワー。 機能はOkularなどとZathuraなどの中間くらい(Evinceより若干すくない)。 n/pのページ移動の動作など結構いい感じだったが、タブがないのと、設定がGUIには見当たらなかったので除外。

apvlv

機能は少なめ(Zathura系+目次表示)。 viのキーバインドの忠実なので、操作は簡単。 ただちょっと機能が少なすぎる(タブ、アノテーション)。

CorePDF

Atrilと同程度の機能。 スクロールバーがバグってて使えなかった。 除外。

Deepin Document Viewer

見た目はリッチ、機能はまあまああるが、キーバインドがない。 設定もヘルプ(ドキュメント)も見当たらない。

まとめ

結局現時点ではOkularが一番良さそうではある。 簡単に機能の多さをまとめておくと

Okular > SumatraPDF » evince > Deepin ~ CorePDF ~ Atril » Zathura ~ llpp ~ mupdf

といったところ。 どれも軽量さという点ではSumatraPDF並に軽量であり、たとえZathuraなどがより軽量だったとしても、 それほどの軽量さが必要でなく、また体感もできなさそうなので、メリットを感じなかった。 となると差がつくのは機能面であり、結局メインのPDFビューワーとして使うにはOkularしかなさそうである。

今回の旅を通して、SumatraPDFの素晴らしさを改めて思い知った。 今後はキーバインドの設定などをしていこうと思う9

SumatraPDFの何が素晴らしいか

というわけで最後にSumatraPDFに関して気に入ってる部分を列挙して終わりにする

  • 軽量
  • タブ
  • 周辺のメニューなどが小さいのでPDFを広くみられる
  • hjkl, npのキーバインディング
  • f, gのキーバインディング
  • 前回開いていたファイルをもう一度開ける
  • 見開き(2パターン)や色反転(あまり使わないが)なども完備
  • Ctrl + Kでコマンドパレットが開け(しかも恐ろしく軽い)、過去に開いたファイルを検索し開くことができる
  • マウス右クリック+スクロールで拡大縮小(マウスだけで完結するので便利)
  • (TeXを使わないので使ってないが)SyncTeX
  • (カスタマイズしてないが)カスタマイズ可能

SumatraPDFにほしい機能

  • ウィンドウ間のD&Dでのタブ移動

積極的に開発されているようで嬉しい。


  1. おそらくPDFがダウンロードできるサイトでこれで見てくれと書いてあったのも理由 ↩︎

  2. とくにウィンドウリサイズ ↩︎

  3. ファイルにロックがかからないので、開いたまま更新できる。Acrobatではこれができない。 ↩︎

  4. ただフォントの選択肢が少なすぎて、日本語が対応できない(1種類しかない)のはちょっと残念 ↩︎

  5. Windowsではpwshを使って主に作業しているが、Windowsでは全てのファイルが実行可能(?)であり、./hoge.pdfとすれば、 エクスプローラーでクリックしたときと同様に規定のビューワーで起動してくれる。 そして、pwsh上では何もログが残らないので、pwshでどんどんファイルを開くという使い方をしていた。 foreachで使えるようにSumatraPDF.exeのパスは通している。 ↩︎

  6. コマンドパレットが存在することもわかりその点はなかなか気に入った。 ↩︎

  7. https://mail.kde.org/pipermail/okular-devel/2013-November/016644.html を参照のこと。 ↩︎

  8. Chocolatyで管理してる唯一のパッケージ ↩︎

  9. バックアップしたいがファイルが見当たらない ↩︎