SyncTeX対応のPDFビューワ。

TeX WikiのSyncTeXのページに対応ビューワがまとめられています。

このうちWindowsで利用できるのは、
  • TeXworks - TeX Live付属の統合環境。
    ただし、キーワードの補完などはなく編集機能としては貧弱。
  • TeXstudio - TeX統合環境。
    ただ、upLaTeXを指定しているのにXeLaTeXを使ってくれたりして、なかなかままならない。たぶん、自分の使い方がタコい。
  • SumatraPDF - ちょっと前までNeovimと組み合わせて使おうと躍起になっていたPDFビューワ。
    軽くていいのだけれど、Neovimと組み合わせたときに inverse search がうまくいかない。Neovim側の --remote-* オプションが削除されてしまったため、neovim-remoteモジュールを利用する必要があるが、それでも完璧にはいかず、Windows環境はサポートしない(できない)、とのこと。gVimは --remote-*引数を受け取るのでパーフェクトに動く。また、Visual Studio Codeとの組み合わせもうまくいかない。
  • Okular - KDEベースのPDFビューワ。
    PDF、DVI、PSファイルも表示できる。ただし、WindowsでのインストールはChocolateyを利用する以外の方法はなさそう。Cygwin版もあるが、パス名の解釈の関係かドラッグ&ドロップができないため、実質使えない。
  • Visual Studio Code - Microsoftの提供するエディタ。
    PDFビューワも組み込まれているようで、LaTeX-Workshopをインストールして内蔵ビューワで表示した場合にはSyncTeXが有効になる。

その他のPDFビューワでも、SkimはMacOS専用、Evince (Gnomeベース)はMSYS2上での利用は可能のようだがWindowsネイティブはなし (どうもあるっぽいけれど、ftpサーバへのリンクが切れていて、win32バイナリのディレクトリにevinceはない)、zathuraはWindows版はなし、という感じで、現状でWindows環境でのスタンドアロンのPDFビューワとしてはSumatraPDFかOkularのみ、という状況です。

また、エディタと一緒になった環境ではVisual Studio Codeがかなりいい感じで、内蔵ビューワとの連携もしっかりできているので、設定さえできればサクサク使えそうです。ただ、場合によってはダンマリ状態になることもあり、またタイプセットに失敗してもどこでどう失敗したのかログ表示もヒントもないため、けっこう設定が大変です。

SumatraPDFはNeovimとの組み合わせが今ひとつ。外部からカーソルをジャンプさせる (SyncTeX) コマンドを送り込む際に、どうもSumatraPDF側でおかしなことになっている感じです。Neovim以外ではVS Codeでも試してみましたがうまくいきませんでした。gVimやNotepad++などでは問題はありません。なので、Neovimを使いたい、という場合には現状では選択肢からは外れます。

OkularはインストールするのにChocolateyが必要なのがいやらしい感じ。Okularを使うだけのために別のパッケージ管理ソフトをインストールするのはちょっとためらわれます。が、Okularはいじってみた感じでは軽くて使いやすそうだし、DVIファイルを表示する機能もあるようなので、もう少し見てみましょう。

Inverse Search between LATEX Editors and Okularにあるように、標準ではエディタとしてKateが指定されています。

さらにOkularのEditorの設定を見ると、ファイル名は "%f"、行番号は "%l"、桁番号は "%c" で指定できるようです。なので、エディタによって違いますが以下のように設定すれば、Shift+マウス左クリックでカーソル位置に飛ぶはずです。

  • 秀丸エディタの場合:
    "c:\Program Files\Hidemaru\Hidemaru.exe" /j %l,%c %f
  • Visual Studio Codeの場合:
    code -g %f:%l:%c
  • Notepad++の場合:
    "c:\Program Files\Notepad++\notepad++.exe" -n%l -c%c %f

ところがどうしたわけか、どうやっても動きません。
synctexのファイル拡張子も、*.synctex.gz、*.synctex (非圧縮)、*.pdfsync (上記ページに書いてあったもの)と試しましたが、ダメなようです。ということで、選択肢はSumatraPDFかOkularと書いたのですが、スタンドアロンのPDFビューワは現実的にはSumatraPDFしか選択肢がない、ということになりました。

0 件のコメント:

コメントを投稿

Windowsでシンボリックリンクを試してみる。

きっかけは、1つのファイルを別の名前で起動したら違う動きになるようなスクリプトを書く、でした。  busybox なんかでは、同じ実行形式ファイルの名前を、lsにすればlsと同じ、cpとすればcpと同じ動作をするようにしてますが、Pythonスクリプトでそれと同じように argv...