Bir dosyayı yeniden yüklerken okular'ın yanıp sönmemesi mümkün mü?


11

Bir TeX belgesi yazarken, kaynak dosyası değiştiğinde (lateksmk kullanarak) * .tex dosyalarımı otomatik olarak pdf olarak yeniden derlemek için bir kurulum kullanıyorum. Bu yüzden ekranın bir tarafına nvim ve ekranın diğer tarafına pdf çıkışı ile okular ile bir terminal koydum.

Sinir bozucu şey, pdf her güncellendiğinde okular yanıp söner / yanıp söner. Bu özellikle sözlükler + referanslar + dizinim olduğunda fark edilir. Okular daha sonra * .tex kaynağında nelerin değiştiğine bağlı olarak 3 ila 5 kez yanıp söner ve bunu gerçekten rahatsız edici buluyorum. Bu yanıp sönen davranışı devre dışı bırakmanın bir yolu var mı?


3
Ayarlar -> Okular Yapılandır -> Genel -> Program Özellikleri -> "Belgeyi dosya değişiminde yeniden yükle" seçeneğinin işaretini kaldırın. Daha sonra pdf'yi yalnızca isterseniz yeniden yüklemek için F5 tuşuna basın.
皞 皞

Bu, yanıp sönen sorunu çözüyor, ancak yeni bir sorun getiriyor, şimdi her güncelleme görmek istediğimde F5'e basmam gerekiyor. Dikkat dağıtıcı flaş olmadan dosyayı otomatik olarak yeniden yüklemek için bir yol olduğunu umuyordum, ama belki de bu okular ile mümkün değildir. Her neyse, geçici çözüm için teşekkürler.
Sam De Meyer

1
Oluşturma işlemi sırasında dosya birkaç kez güncellenir. Dosya her güncellendiğinde, Okular dosyayı yeniler. Okular'ın "güncellenirse, yenilemeden önce tekrar güncellenip güncellenmediğini görmek için N saniye bekleyin" seçeneği görünmüyor.
Andy Dalton

Bu bir süre önce bile sorulmuştu, belirtmek istedim, evince davranışlar daha çok istediğiniz gibi davranıyor. Bu arada başka bir iyi çözüm bulduysanız, bize bildirin. Ben tamamen aynı sorun var ... (ve x-yönlendirme ile ilgili sorunları olduğu gibi,
evince kullanamazsınız

Yanıtlar:


2

Tamam, biraz daha oynadım ve oldukça çılgın bir çözüm olsa da bir çözüm buldum.

İlk deneme - pdf_update_command + Okular

Yeniden yükledikten sonra her zaman dosyanın başına atlayacağından bu tam olarak çalışmaz. Bütünlük uğruna, yine de ekliyorum.

Okular'da "Ayarlar" -> "Okular'ı Yapılandır" -> "Belgeyi ve dosya değişikliğini yeniden yükle" seçeneklerini kullanarak otomatik yeniden yüklemeyi kapatın.

.Latexmkrc dosyasını şu şekilde değiştirin:

$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';

Bu, lateksmk'e pdf dosyasını güncellemeyi bitirdikten sonra pdf_update_command uygulamasını çalıştırması gerektiğini söyler. Ne işe yarar, Okular'daki belge derleme sırasında her zaman görünür ve tamamlandığında yeniden yüklenir. Ne yazık ki, güncelleme komutu yürütüldüğünde, belgenin başına atlarsınız. İstediğim bu değil.

İkinci deneme - pdf_update_command + cp

Önceki girişim işe yaramadığı için şimdi hackier çözümüne gidiyorum. Bunun için belge yeniden yüklemenin Okular'da açılması gerekir.

.Latexmkrc şöyle görünmelidir:

$pdf_previewer = 'start okular';
$pdf_update_method = 4;
$pdf_update_command = 'cp ~/path/to/doc.pdf ~/path/to/doc_preview.pdf';

Bu, gerçek belge dosyasını bir önizleme konumuna kopyalar. Bu nedenle, bu önizleme dosyası için Okular'ın açılması gerekir (ve diğer dosya için manuel olarak kapatmanız gerekir). Bu kesinlikle ideal değil, ama istediğimi yapıyor:

  1. Arka planda pdf dosyasını güncelleme
  2. Yalnızca dosya hazır olduğunda güncelleme
  3. Ssh genelinde çalışır

Güncelleme (Sam De Meyer sayesinde):

Önizleyicinin başlamasını istemiyorsanız, $ pdf_previewer öğesini boş bırakın:

$pdf_previewer = ''

Öte yandan, bir pencereyi açmak yerine pencereyi kapatmak istiyorsanız, orijinal belgeyle birlikte 'doc_preview.pdf' dosyasını belirtmeniz mümkündür. Sadece ikinci pdf dosyasını açmak için bir yol bulamadım :

$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'

Not: Bu, örneğin belirtildiği gibi dosyaları otomatik olarak yeniden yükleyen herhangi bir düzenleyici ile çalışır.


1
Merhaba, 'cp' hilesi işe yarayabilir. Aslında 'pdf önizleyicide' 'okular başlat' yapmanız gerekiyor mu? Belki de boş bırakabilir veya hiçbir şey yapmayan bir komut belirleyebilirsiniz? Sonra tek yapmanız gereken, ilk derlediğinizde kopya üzerinde okular açmaktır. Bu sorunu çözmez mi?
Sam De Meyer

Evet, boş bırakmak okular başlamama hilesi. Teşekkürler. Cevabı güncelleyecektir (her iki dosya için de önizleyiciyi başlatan bir ek ile). Her şey, bir dosya güncelleme sadece derleme bittikten sonra ortaya büyük ölçüde yardımcı olur. Sadece daha büyük bir tez yazıyorum, burada gerçekten işe yarıyor.
Exocom
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.