Emacs Auctex: как открыть PDF в evince в текущей позиции курсора


9

Я использую emacs auctex для записи латексных файлов. Поскольку текст довольно длинный, и я склонен что-то менять в разных местах, я бы хотел, чтобы emacs открывал pdf, чтобы позиция в тексте показывала, что курсор находится в исходном файле.

Я видел это на Windows-машине с MikTex / Texniccenter / Acroreader. Можно ли сделать это на Ubuntu в emacs / auctex / evince?

Ответы:


3

Для этого вам нужно добавить следующие строки в ваш файл .emacs, чтобы при просмотре pdf с помощью evince он указывал номер страницы:

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))
(setq TeX-view-program-selection '((output-pdf "Evince")))

Затем, как только вы откроете ваш tex-файл в emacs, вам нужно включить исходную корреляцию с помощью команды:

C-c C-t C-s

Или, если вы не хотите запускать его каждый раз вручную, добавьте следующую строку в ваш .emacs:

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)

Кроме того, если вы хотите запретить emacs запрашивать у вас запуск сервера корреляции, добавьте следующую строку:

(setq TeX-source-correlate-start-server t)

И это должно быть.

Изменить: на самом деле, оказывается, что вы не должны использовать пакет pdfsync, поэтому я удалил все ссылки на него. Он не нужен для этого решения (по-видимому, теперь он встроен во все механизмы на основе TeX), и его использование, по-видимому, вызывает проблемы (для меня это кажется нарушением кода с использованием таблиц).

Редактировать 2: У меня были проблемы с автоматическим включением режима TeX-source-correlate-mode с использованием .emacs, но теперь они, похоже, исчезли. Не уверен, что это потому, что я обновил emacs или потому что я удалил pdfsync. Во всяком случае, это работает сейчас :)


@dbddkmezz Как мне открыть PDF из Emacs? C-c C-vне делает этого
Дастин

@ Dustin C-c C-vработает на меня. Может быть, вам нужно немного настроить просмотрщик PDF?
xuhdev

Это не работает, если я использую latexmk для компиляции tex в pdf.
CodyChan

4

Я использовал описание, приведенное по адресу http://www.emacswiki.org/emacs/AUCTeX (последний раздел: Synctex и Evince), работал как чудо ... с этим вы получаете двухстороннюю синхронизацию (например, нажмите Cc Cv в emacs). чтобы перейти на страницу pdf или нажать C-mouse1, чтобы перейти в нужное место в emacs). В целом это похоже на первый ответ, но вам не нужно включать pdfsync вручную и emacs, а также использовать dbus для связи. Вы должны сделать Cc Ct Cs тоже, хотя.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.