さて、私はもう少し遊んで、解決策を思いつきましたが、かなりハックな解決策でした。
最初の試み-pdf_update_command + Okular
これは、リロード後に常にファイルの先頭にジャンプするため、完全には機能しません。完全を期すために、とにかくそれを追加します。
Okularで、[設定]-> [Okularの設定]-> [ドキュメントとファイルの変更の再読み込み]をオフにして、自動再読み込みをオフにします。
.latexmkrcファイルを次のように変更します。
$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';
これは、pdfファイルの更新が完了した後でpdf_update_commandを実行する必要があることをlatexmkに通知します。何が機能し、Okularのドキュメントはコンパイル中に常に表示され、完了時に再ロードされます。残念ながら、updateコマンドを実行すると、ドキュメントの先頭にジャンプします。それは私が望むものではありません。
2回目の試行-pdf_update_command + cp
以前の試みはうまくいかなかったので、今度はハッカーの解決策を検討しています。このため、Okularでドキュメントの再読み込みをオンにする必要があります。
.latexmkrcは次のようになります。
$pdf_previewer = 'start okular';
$pdf_update_method = 4;
$pdf_update_command = 'cp ~/path/to/doc.pdf ~/path/to/doc_preview.pdf';
これにより、実際のドキュメントファイルがプレビューの場所にコピーされます。したがって、このプレビューファイル用にOkularを開く必要があります(他のファイルの場合は手動で閉じる必要があります)。これは確かに理想的ではありませんが、私が望むことを行います:
- バックグラウンドでのPDFファイルの更新
- ファイルの準備ができたときにのみ更新する
- SSH全体で機能
更新(Sam De Meyerに感謝):
プレビューアを開始したくない場合は、$ pdf_previewerを空のままにします。
$pdf_previewer = ''
一方、ウィンドウを開くのではなく閉じる場合は、「doc_preview.pdf」を元のpdfと一緒に指定できます。2番目のpdfファイルのみを開く方法が見つかりません。
$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'
PS:これは、たとえばevinceのように、ファイルを自動的にリロードするエディタで機能します。