ファイルをリロードするときにokularをフラッシュしないようにすることは可能ですか?


11

TeXドキュメントを書いているとき、ソースファイルが変更されるとすぐに(latexmkを使用して)セットアップを使用して* .texファイルを自動的にPDFに再コンパイルします。そのため、私は画面の片側にnvimを備えた端末を置き、画面の反対側にpdf出力を備えたokularを配置しました。

迷惑なことは、PDFが更新されるたびにOkularが点滅/点滅することです。これは、用語集+参照+索引があるときに特に顕著です。Okularは、*。texソースの変更内容に応じて3〜5回点滅します。この点滅動作を無効にする方法はありますか?


3
設定-> Okularの設定->一般->プログラムの機能->「ファイルの変更時にドキュメントを再読み込み」のチェックを外します。次に、F5キーを押して、必要な場合にのみPDFをリロードします。
林果皞2016

さて、これは点滅の問題を解決しますが、新しい問題を紹介します。今、私は更新を見たいたびにF5を押す必要があります。気を散らすフラッシュを使わずにファイルを自動リロードする方法があることを望んでいましたが、おそらくこれはokularでは不可能です。とにかく、一時的な回避策のためのthx。
Sam De Meyer

1
ファイルは、ビルドプロセス中に何度も更新されます。ファイルが更新されるたびに、Okularはファイルを更新します。Okularには、「更新された場合、更新する前にN秒待ってから更新されるかどうか」オプションがないようです。
アンディダルトン

これは少し前に尋ねられたのですが、指摘したいのは、evinceはおそらくあなたが望むように動作するということです。その間に別の良い解決策を見つけた場合は、お知らせください。私はまったく同じ問題を抱えています...(x-forwardingに問題があるため、evinceを使用できません)
Exocom

回答:


2

さて、私はもう少し遊んで、解決策を思いつきましたが、かなりハックな解決策でした。

最初の試み-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を開く必要があります(他のファイルの場合は手動で閉じる必要があります)。これは確かに理想的ではありませんが、私が望むことを行います:

  1. バックグラウンドでのPDFファイルの更新
  2. ファイルの準備ができたときにのみ更新する
  3. 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のように、ファイルを自動的にリロードするエディタで機能します。


1
こんにちは、 'cp'トリックはうまくいくかもしれません。「pdfプレビューア」で実際に「start okular」を実行する必要がありますか?たぶん、あなたはそれを空のままにするか、何もしないコマンドを指定することができますか?そうすれば、最初にコンパイルするときに、コピーでokularを開くだけです。それで問題は解決しませんか?
Sam De Meyer

はい、空のままにしておくと、okularが起動しなくなります。ありがとう。回答を更新します(両方のファイルのプレビューアを開始する追加もあります)。全体として、ファイルの更新はコンパイルが完了した後にのみ表示されるため、非常に役立ちます。私はもっ​​と大きな論文を書いているだけで、これは本当に便利です。
Exocom 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.