当我编写TeX文档时,我会使用一个设置来在源文件发生更改时自动将* .tex文件重新编译为pdf(使用Latexmk)。因此,我在屏幕的一侧放置了一个带有nvim的终端,在屏幕的另一侧放置了一个带有pdf输出的okular终端。
令人讨厌的是,每次pdf更新时,小牛都会闪烁/闪烁。当我有词汇表+引用+索引时,这一点尤其明显。然后,Okular将闪烁3到5次,具体取决于* .tex源中发生的变化,我发现这确实令人分心。有什么方法可以禁用这种闪烁行为吗?
当我编写TeX文档时,我会使用一个设置来在源文件发生更改时自动将* .tex文件重新编译为pdf(使用Latexmk)。因此,我在屏幕的一侧放置了一个带有nvim的终端,在屏幕的另一侧放置了一个带有pdf输出的okular终端。
令人讨厌的是,每次pdf更新时,小牛都会闪烁/闪烁。当我有词汇表+引用+索引时,这一点尤其明显。然后,Okular将闪烁3到5次,具体取决于* .tex源中发生的变化,我发现这确实令人分心。有什么方法可以禁用这种闪烁行为吗?
Answers:
好的,我玩了更多,并提出了一个解决方案,尽管这个解决方案很笨拙。
第一次尝试-pdf_update_command + Okular
这不能完全正常工作,因为它在重新加载后始终会跳到文件的开头。为了完整起见,我还是添加了它。
在Okular中,通过“设置”->“配置Okular”->“关闭重新加载文档和文件更改”来关闭自动重新加载。
将.latexmkrc文件更改为:
$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';
这告诉latexmk,它应该在完成更新pdf文件后执行pdf_update_command。起作用的是,Okular中的文档在编译期间始终可见,并在完成后重新加载。不幸的是,当执行update命令时,您将跳至文档的开头。那不是我想要的。
第二次尝试-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(对于其他文件,您必须手动将其关闭)。这当然不是理想的,但它确实满足我的要求:
更新(感谢Sam De Meyer):
如果您不希望预览器启动,请将$ pdf_previewer留空:
$pdf_previewer = ''
另一方面,如果您想关闭一个窗口而不是打开一个窗口,则可以将“ doc_preview.pdf”与原始pdf一起指定。我还没有找到只打开第二个pdf文件的方法:
$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'
PS:这适用于任何自动重新加载文件的编辑器,例如evince。