Przeglądarka plików PDF obsługująca SyncTeX dla Gnome


12

Szukam przeglądarki PDF do pracy z LaTeX i SyncTeX (wyszukiwanie do przodu i do tyłu) w Gnome. Wiem z poprzednich pytań na różnych forach, że Okular ma tę funkcję, ale wolę nie przeciągać w tym celu zależności KDE.

Czy istnieje alternatywa, która działałaby dobrze w Gnome, bez zbyt wielu zależności? Nie mam nic przeciwko korzystaniu z PPA, budowaniu ze źródła, używaniu starych narzędzi w stylu X lub pisaniu małych skryptów - ale potrzebuję czegoś, co działa dobrze i nie zaśmieca zbytnio mojej konfiguracji.


Używam Emacsa. Wiem wystarczająco dużo, aby włamać się do niego, ale nie mogę dowiedzieć się, co ma w Gnome podstawową funkcjonalność odpowiadania na kliknięcie w pliku PDF zgodnie z danymi SyncTeX.
Małe tabele Bobby

Czy są jakieś aktualizacje na ten temat? Używam TexStudio na Debianie z Xfce i nie chcę instalować Oculara ze wszystkimi jego zależnościami. Używam Atril (który był oparty na Evince) jako mojej domyślnej przeglądarki plików pdf, ale wygląda na to, że nie obsługuje wyszukiwania do przodu i do tyłu.
Sebastian Widz

Odpowiedzi:


6

Jak zauważyłem w komentarzu, warto wiedzieć, czy masz na myśli konkretnego edytora, którego chcesz używać razem z nim.

Gedit-latex-plugin dodaje wbudowany podgląd PDF do gedit i wnoszę obsługuje SyncTeX do przodu / do tyłu wyszukiwania. Z pewnością przychodzi mi na myśl, gdy myślę o czymś dla użytkowników GNOME.

Istnieją inne edytory LaTeX z wbudowanymi podglądami, które obsługują skoki SyncTeX, takie jak: TeXworks , Texmaker , TeXmakerX . Wszystkie są oparte na Qt, a nie na GTK, ale żadna z nich nie wymaga KDE ani jego bibliotek takich jak Kile / Okular. ( Gummi jest oparte na GTK i ma wbudowaną wersję podglądu - aktualizuje ją na żywo - ale nie sądzę, że obsługuje synctex ...)

Jak zauważa inna odpowiedź, evince ma podobno tę funkcję, a ludzie pracują nad niezbędnymi wtyczkami do interakcji po stronie edytora. Rozumiem, że używa DBus do interakcji - duży błąd, jeśli mnie o to poprosisz - ale jakbyś nie mógł zrozumieć, jak to działa. Istnieje jednak starsza wersja evince w Arch Linux User Repository, która została załatana, aby zapewnić bezpośrednie wsparcie SyncTeX . Nigdy nie próbowałem kompilować go na Ubuntu, choć teoretycznie powinno to być możliwe. Użyłem go jednak w Arch i działa dobrze.

Osobiście jednak używam MuPDF jako mojej przeglądarki kompozycji LaTeX, którą wybrałem, ponieważ jest to najszybsza przeglądarka plików PDF, jaką znam, i jedyna wystarczająco szybka dla skryptu aktualizacji na żywo, którego używam z Vimem jako moim edytorem.

Chociaż MuPDF nie obsługuje bezpośrednio SyncTeX, zhakowałem razem kilka skryptów xdotool, które zapewniają częściową obsługę SyncTeX. Zasadniczo, dla wyszukiwania do przodu, skrypty wywołują synctex z vima, aby dowiedzieć się, która strona pasuje do miejsca w źródle, a następnie wysyła odpowiednie naciśnięcia klawiszy do MuPDF, aby przejść do tej strony. Robię to za pomocą skryptu vim, ale dzięki bash coś takiego może załatwić sprawę:

#!/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

Jeśli masz najnowszą wersję xdotool (nowszą nawet niż ta z repozytoriów Maverick), możesz zablokować podobny rodzaj wyszukiwania wstecznego, każąc xdotool odczytać numer strony, który pokazuje MuPDF z paska tytułu, wywołać synctex i następnie wyślij odpowiednie polecenie do edytora, aby przejść do miejsca, w którym znajduje się kod dla tej strony (- nie tak dokładnie, jak w prawdziwej przeglądarce plików PDF zgodnej z SyncTeX, ale niezbyt odrapanej dla czegoś tak lekkiego jak MuPDF) .

W każdym razie możesz przeczytać i pobrać skrypty, których faktycznie używam dla vima w tym poście na blogu . Ale jeśli chcesz użyć innego edytora, musisz dostosować pomysł w razie potrzeby.

Ale miejmy nadzieję, że sytuacja z evince wkrótce się wyjaśni.


Oto PPA dla MuPDF , które znalazłem.
JJD

+1 dla Gummi. Właśnie go zainstalowałem i jest świetny! Teraz obsługuje także SyncTex .
JJD

3

Wystarczy użyć Evince, domyślnej przeglądarki dokumentów dla GNOME i Ubuntu. Od GNOME 2.32 (znalezionego w Ubuntu 10.10 i nadchodzącym Ubuntu 11.04) Evince obsługuje SyncTex. Aby uzyskać więcej informacji, zobacz http://library.gnome.org/misc/release-notes/2.32/


Mam te wersje (Ubuntu 11.04 i Gnome 2.32), ale nie znalazłem sposobu konfiguracji Evince'a do wyszukiwania do przodu lub do tyłu. czego mi brakuje?
Małe tabele Bobby

Ctrl + F powoduje wyszukiwanie .... i możesz wybrać kierunek .... czy coś mi brakuje?
luri

4
„wyszukiwanie do przodu” w kontekście synchronizacji LaTeX oznacza, że ​​możesz przejść z edytora do właściwej strony w przeglądarce PDF. „Wyszukiwanie odwrotne” oznacza przejście z przeglądarki PDF do kodu źródłowego wybranego akapitu.
Małe stoły Bobby

Przepraszam za moją ignorancję (w rzeczywistości jest to nieporozumienie językowe). Dzięki za wyjaśnienie mi tego.
luri

Z jakiego LaTeXa lub edytora tekstu korzystasz lub chcesz korzystać?
frabjous
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.