Я храню свои файлы LaTeX в репозитории Mercurial для резервного копирования и переноса работы между домом и офисом. Это означает, что мои файлы .tex находятся по разным путям на разных компьютерах, но информация внутри файла .synctex.gz использует абсолютные пути. Это означает, что если я обновлю и скомпилирую файл дома, отправлю его, а затем заберу в офисе, обратный поиск будет нарушен, пока я не перекомпилирую файл и не сгенерирую файл synctex заново. Это особенно раздражает, потому что наиболее полезное время для обратного поиска — когда вы только что открыли файл, над которым сейчас работаете, и вам нужен «произвольный доступ», чтобы добраться до нужной части — проще всего это сделать в PDF.
Я не вижу способа настроить вывод synctex, но есть ли какой-то скрытый трюк? Я использую Okular и gvim со стандартной командой обратного поиска:
gvim --servername GVIM --remote +%l %f
Возможно, его можно изменить, убрав абсолютный путь, но это может привести к ошибке, если нужный файл находится не в том же каталоге, что и PDF-файл, и в любом случае у меня возникли проблемы с настройкой этой команды.
Я ожидаю, что смогу добавить хук в mercurial, чтобы испортить файл synctex, но это тоже кажется очень плохим решением. На мой взгляд, «правильным» решением было бы создание относительных путей с помощью SyncTeX, но они, похоже, совершенно непреклонны в том, что абсолютные пути должны оставаться. Я не думаю, что мы можем рассчитывать на то, что они сделают что-либо, учитывая всю эту неразбериху с , которая происходит /./
в середине путей.