Средство просмотра PDF с поддержкой SyncTeX для Gnome


12

Я ищу средство просмотра PDF для работы с LaTeX и SyncTeX (прямой и обратный поиск) в Gnome. Из предыдущих вопросов на различных форумах я знаю, что в Okular есть эта функция, но я предпочитаю не перетаскивать зависимости KDE только для этого.

Есть ли альтернатива, которая будет хорошо работать в Gnome, без слишком большого количества зависимостей? Я не возражаю против использования PPA, сборки из исходного кода, использования старых инструментов в стиле X или написания небольших скриптов - но мне нужно что-то, что, как известно, работает и не будет слишком сильно мешать моей установке.


Я использую Emacs. Я знаю достаточно, чтобы разобраться с этим, но я не могу выяснить, в чем заключается основная функциональность ответа Gnome на щелчок в PDF-файле в соответствии с данными SyncTeX.
— Маленькие столики Бобби

Есть ли какие-либо обновления по этому поводу? Я использую TexStudio в Debian с Xfce, и я не хочу устанавливать Ocular со всеми его зависимостями. Я использую Atril (который был основан на Evince) как мое средство просмотра PDF по умолчанию, но кажется, что он не поддерживает прямой и обратный поиск.
— Себастьян Видз

Ответы:


6

Как я отметил в комментарии, было бы полезно знать, если у вас есть определенный редактор, который вы хотите использовать вместе с ним.

Gedit-латекс-плагин добавляет встроенный предварительный просмотр PDF в GEdit, и я понимаю , он поддерживает SyncTeX вперед / назад поиски. Конечно, это то, что приходит мне на ум, когда я думаю о чем-то для пользователей GNOME.

Существуют другие редакторы LaTeX со встроенными программами предварительного просмотра, которые поддерживают переходы SyncTeX, такие как: TeXworks , Texmaker , TeXmakerX . Все они основаны на Qt, а не на GTK, но, тем не менее, ни один из них не требует KDE или его библиотек, как Kile / Okular. ( gummi основан на GTK и имеет встроенный предварительный просмотр - при этом он обновляется в реальном времени - но я не думаю, что он поддерживает synctex ...)

Как отмечается в другом ответе, evince предположительно получает эту функцию, и люди работают над необходимыми плагинами для взаимодействия на стороне редактора. Я полагаю, что он использует DBus для взаимодействия - большая ошибка, если вы спросите меня - но, как вы не можете понять, как это работает. Тем не менее, в Arch Linux User Repository есть более старая версия evince, которая исправлена ​​для более прямой поддержки SyncTeX . Я никогда не пробовал компилировать его в Ubuntu, хотя теоретически это должно быть возможно. Я использовал его на Arch, хотя, и он работает нормально.

Однако я лично использую MuPDF в качестве средства просмотра для композиции LaTeX, которую я выбрал, потому что это самый быстрый просмотрщик PDF, который я знаю, и единственный, достаточно быстрый для сценария live-update-preview, который я использую с Vim в качестве редактора.

Хотя MuPDF не поддерживает SyncTeX напрямую, я собрал несколько сценариев xdotool, которые частично поддерживают SyncTeX. По сути, для прямого поиска сценарии вызывают synctex из vim, чтобы выяснить, какая страница соответствует месту в источнике, а затем отправляют соответствующие нажатия клавиш в MuPDF для перехода на эту страницу. Я делаю это с помощью скрипта vim, но с bash, что-то вроде этого может помочь:

#!/bin/bash
# mupdf-forward.sh
# usage mupdf-forward.sh <line number> <column number> <tex file> <pdf file>
SEARCHLINE="$1"
SEARCHCOL="$2"
TEXFILE="$3"
PDFFILE="$4"
PAGEFORWARD=0
PAGEFORWARD="$(synctex view -i $SEARCHLINE:$SEARCHCOL:"'"'"$TEXFILE"'"'" -o "'"'"$PDFFILE"'"'" | grep -m1 'Page:' | sed 's/Page://' | tr -d '\n'")"
if [ $PAGEFORWARD -gt 0 ] ; then
   xdotool search --class MuPDF type --window %@ "${PAGEFORWARD}g"
fi

Если у вас установлена ​​новейшая версия xdotool (более новая, чем та, что есть в репозиториях Maverick), вы можете запустить аналогичный вид обратного поиска, если xdotool прочитает номер страницы, который MuPDF показывает из строки заголовка, вызовите synctex и затем отправьте соответствующую команду в редактор, чтобы перейти туда, где находится код для этой страницы (- не настолько точный, как вы бы получили с помощью реального средства просмотра PDF, совместимого с SyncTeX, но не слишком потертый для чего-то более легкого, чем MuPDF) ,

В любом случае, вы можете прочитать и загрузить скрипты, которые я на самом деле использую для vim, в этом сообщении в блоге . Но если вы хотите использовать другой редактор, вам придется адаптировать идею по мере необходимости.

Но, надеюсь, ситуация с evince тоже скоро исправится.


Вот PPA для MuPDF, который я нашел.
— JJD

+1 для Гамми. Просто установил его и это здорово! Теперь он также поддерживает SyncTex .
— JJD

3

Просто используйте Evince, средство просмотра документов по умолчанию для GNOME и Ubuntu. Начиная с GNOME 2.32 (в Ubuntu 10.10 и в следующей Ubuntu 11.04) Evince поддерживает SyncTex. Для получения дополнительной информации см. Http://library.gnome.org/misc/release-notes/2.32/


У меня есть эти версии (Ubuntu 11.04 и Gnome 2.32), но я не нашел, как настроить Evince для выполнения прямого или обратного поиска. Что мне не хватает?
— Маленькие столики Бобби

Ctrl + F приносит поиск .... и вы можете выбрать направление .... или я что-то упустил?
— Лури

4
«прямой поиск» в контексте синхронизации LaTeX означает, что вы можете перейти из редактора на нужную страницу в программе просмотра PDF. «Обратный поиск» означает переход от средства просмотра PDF к исходному коду выбранного абзаца.
— Маленькие столики Бобби

Прошу прощения за мое невежество (на самом деле, это неправильное понимание языка). Спасибо за разъяснение этого для меня.
— Лури

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