Okay, ich habe ein bisschen mehr rumgespielt und eine Lösung gefunden, obwohl eine ziemlich hackige Lösung.
Erster Versuch - pdf_update_command + Okular
Dies funktioniert nicht vollständig, da nach dem erneuten Laden immer zum Anfang der Datei gesprungen wird. Der Vollständigkeit halber füge ich es trotzdem hinzu.
Deaktivieren Sie in Okular das automatische Neuladen über "Einstellungen" -> "Okular konfigurieren" -> Deaktivieren Sie "Dokument- und Dateiänderung neu laden".
Ändern Sie die .latexmkrc-Datei in:
$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';
Dies teilt latexmk mit, dass es den Befehl pdf_update_command ausführen soll, nachdem die Aktualisierung der PDF-Datei abgeschlossen ist. Was funktioniert, das Dokument in Okular ist während der Kompilierung jederzeit sichtbar und wird nach Abschluss neu geladen. Wenn der Aktualisierungsbefehl ausgeführt wird, springen Sie leider zum Anfang des Dokuments. Das will ich nicht.
Zweiter Versuch - pdf_update_command + cp
Da der vorherige Versuch nicht geklappt hat, gehe ich jetzt mit einer hackigeren Lösung. Dazu muss das erneute Laden von Dokumenten in Okular aktiviert sein.
Die .latexmkrc sollte folgendermaßen aussehen:
$pdf_previewer = 'start okular';
$pdf_update_method = 4;
$pdf_update_command = 'cp ~/path/to/doc.pdf ~/path/to/doc_preview.pdf';
Dadurch wird die eigentliche Dokumentdatei an einen Vorschauplatz kopiert. Daher muss Okular für diese Vorschaudatei geöffnet werden (und für die andere Datei müssen Sie sie manuell schließen). Das ist sicherlich nicht ideal, aber es macht was ich will:
- Aktualisieren der PDF-Datei im Hintergrund
- Aktualisierung nur, wenn die Datei fertig ist
- Funktioniert über ssh
Update (danke an Sam De Meyer):
Wenn Sie nicht möchten, dass der Previewer gestartet wird, lassen Sie den $ pdf_previewer leer:
$pdf_previewer = ''
Wenn Sie dagegen lieber ein Fenster schließen als ein Fenster öffnen möchten, können Sie die Datei 'doc_preview.pdf' zusammen mit dem Original-PDF angeben. Ich habe keinen Weg gefunden, nur die zweite PDF-Datei zu öffnen:
$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'
PS: Dies funktioniert mit jedem Editor, der Dateien automatisch neu lädt, z. B. evince.