Ich speichere meine LaTeX-Dateien in einem Mercurial-Repository zur Sicherung und zum Übertragen von Arbeit zwischen Zuhause und Büro. Das bedeutet, dass meine .tex-Dateien auf verschiedenen Computern in unterschiedlichen Pfaden gespeichert sind, die Informationen in einer .synctex.gz-Datei jedoch absolute Pfade verwenden. Das bedeutet, dass die inverse Suche unterbrochen ist, wenn ich eine Datei zu Hause aktualisiere und kompiliere, sie pushe und dann in meinem Büro pulle, bis ich die Datei neu kompiliere und die Synctex-Datei neu generiere. Das ist besonders ärgerlich, da die inverse Suche am nützlichsten ist, wenn Sie gerade die Datei geöffnet haben, an der Sie gerade arbeiten, und „wahlfreien Zugriff“ benötigen, um an den richtigen Teil zu gelangen – am einfachsten geht das im PDF.
Ich sehe keine Möglichkeit, die Ausgabe von Synctex anzupassen, aber gibt es da einen versteckten Trick? Ich verwende Okular und gvim mit dem Standardbefehl für die inverse Suche:
gvim --servername GVIM --remote +%l %f
Dies kann möglicherweise geändert werden, um den absoluten Pfad zu entfernen. Dies scheint jedoch fehleranfällig zu sein, wenn sich die richtige Datei nicht im selben Verzeichnis wie das PDF befindet, und ich hatte auf jeden Fall Probleme, diesen Befehl anzupassen.
Ich nehme an, ich könnte in Mercurial einen Hook hinzufügen, um die SyncTeX-Datei zu manipulieren, aber das scheint auch eine sehr schlechte Lösung zu sein. Meiner Ansicht nach wäre die „richtige“ Lösung eine Option zum Generieren relativer Pfade mit SyncTeX, aber sie scheinen ziemlich darauf zu bestehen, dass die absoluten Pfade bleiben sollten. Ich glaube nicht, dass wir uns darauf verlassen können, dass sie irgendetwas tun, angesichts des Debakels um die /./
in der Mitte der Pfade.