Ein PDF-Viewer, der SyncTeX für Gnome unterstützt


12

Ich suche einen PDF-Viewer für die Arbeit mit LaTeX und SyncTeX (vorwärts und rückwärts suchen) unter Gnome. Ich weiß aus früheren Fragen in verschiedenen Foren, dass Okular diese Funktion hat, aber ich ziehe es vor, KDE-Abhängigkeiten nicht nur dafür zu ziehen.

Gibt es eine Alternative, die in Gnome gut funktioniert, ohne zu viele Abhängigkeiten? Es macht mir nichts aus, PPAs zu verwenden, aus dem Quellcode zu erstellen, alte Tools im X-Stil zu verwenden oder kleine Skripte zu schreiben - aber ich brauche etwas, von dem bekannt ist, dass es funktioniert und mein Setup nicht überfrachtet.


Ich benutze Emacs. Ich weiß genug, um mich damit zurechtzufinden, aber ich kann nicht herausfinden, über welche grundlegenden Funktionen Gnome verfügt, um auf einen Klick im PDF-Dokument gemäß SyncTeX-Daten zu reagieren.
Little Bobby Tables

Gibt es Updates dazu? Ich verwende TexStudio unter Debian mit Xfce und möchte Ocular nicht mit all seinen Abhängigkeiten installieren. Ich verwende Atril (das auf Evince basiert) als Standard-PDF-Viewer, aber es scheint, dass es keine Vorwärts- und Rückwärtssuche unterstützt.
Sebastian Widz

Antworten:


6

Wie ich in einem Kommentar angemerkt habe, ist es hilfreich zu wissen, ob Sie einen bestimmten Editor im Sinn haben, den Sie zusammen mit diesem verwenden möchten.

Das gedit-latex-Plugin fügt gEdit eine eingebaute PDF-Vorschau hinzu, und ich habe festgestellt, dass es die Vorwärts- / Rückwärtssuche mit SyncTeX unterstützt. Sicher fällt mir genau das ein, wenn ich an etwas für GNOME-Benutzer denke.

Es gibt andere LaTeX-Editoren mit integrierten Vorschauprogrammen, die SyncTeX-Sprünge unterstützen, z. B .: TeXworks , Texmaker , TeXmakerX . Diese sind alle Qt-basiert und nicht GTK-basiert, aber dennoch erfordert keiner von ihnen KDE oder seine Bibliotheken wie Kile / Okular. ( gummi ist GTK-basiert und hat einen eingebauten Previewer - ein Live-Update dazu - aber ich glaube nicht, dass es Synctex unterstützt ...)

Wie die andere Antwort vermerkt, bekommt evince diese Funktion angeblich und die Leute arbeiten an den notwendigen Plugins für die Interaktion auf der Seite des Editors. Ich nehme an, es verwendet DBus für die Interaktion - ein großer Fehler, wenn Sie mich fragen - aber wie Sie nicht herausfinden können, wie es funktioniert. Es gibt jedoch eine ältere Version von evince im Arch Linux User Repository, die gepatcht wurde, um die SyncTeX-Unterstützung direkter bereitzustellen . Ich habe noch nie versucht, es unter Ubuntu zu kompilieren, obwohl es theoretisch möglich sein sollte. Ich habe es auf Arch verwendet, und es funktioniert gut.

Ich persönlich verwende jedoch MuPDF als Viewer für LaTeX-Kompositionen, die ich wähle, weil es der schnellste PDF-Viewer ist, den ich kenne, und der einzige, der für das Skript zur Vorschau von Live-Aktualisierungen, das ich mit Vim als Editor verwende, schnell genug ist.

Während MuPDF SyncTeX nicht direkt unterstützt, habe ich einige xdotool- Skripte gehackt , die teilweise SyncTeX-Unterstützung bieten. Grundsätzlich rufen die Skripte für die Vorwärtssuche synctex von vim auf, um herauszufinden, welche Seite mit der Stelle in der Quelle übereinstimmt, und senden dann die entsprechenden Tastenanschläge an MuPDF, um zu dieser Seite zu springen. Ich mache das mit einem vim-Skript, aber mit bash könnte so etwas den Trick machen:

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

Wenn Sie die neueste Version von xdotool haben (noch neuer als die in den Maverick-Repos), können Sie eine ähnliche umgekehrte Suche starten, indem Sie xdotool die Seitenzahl, die MuPDF anzeigt, aus der Titelleiste auslesen und synctex und aufrufen lassen Senden Sie dann den entsprechenden Befehl an den Editor, um zu der Stelle zu springen, an der der Code für diese Seite liegt (--nicht annähernd so genau wie mit einem echten SyncTeX-kompatiblen PDF-Viewer, aber für etwas so Leichtes wie MuPDF nicht allzu schäbig). .

Wie auch immer, Sie können die Skripte, die ich für vim verwende, in diesem Blogbeitrag lesen und herunterladen . Wenn Sie jedoch einen anderen Editor verwenden möchten, müssen Sie die Idee nach Bedarf anpassen.

Aber hoffentlich klärt sich die Situation mit evince bald wieder auf.


Hier ist eine PPA für MuPDF, die ich gefunden habe.
JJD

+1 für Gummi. Einfach installiert und es ist großartig! Es unterstützt jetzt auch SyncTex .
JJD

3

Verwenden Sie einfach Evince, den Standard-Dokument-Viewer für GNOME und Ubuntu. Seit GNOME 2.32 (in Ubuntu 10.10 und dem kommenden Ubuntu 11.04 enthalten) unterstützt Evince SyncTex. Weitere Informationen finden Sie unter http://library.gnome.org/misc/release-notes/2.32/.


Ich habe diese Versionen (Ubuntu 11.04 und Gnome 2.32), aber ich habe nicht herausgefunden, wie ich Evince für die Vorwärts- oder Rückwärtssuche konfigurieren kann. Was vermisse ich?
Little Bobby Tables

Strg + F bringt die Suche ... und Sie können die Richtung auswählen ... oder fehlt mir etwas?
Luri

4
"Vorwärtssuche" im Kontext der LaTeX-Synchronisierung bedeutet, dass Sie im PDF-Viewer vom Editor zur richtigen Seite springen können. "Inverse Suche" bedeutet, vom PDF-Viewer zum Quellcode eines ausgewählten Absatzes zu springen.
Little Bobby Tables

Ich entschuldige mich für meine Ignoranz (eigentlich ist es ein Sprachmissverständnis). Danke, dass du das für mich klargestellt hast.
luri

Welchen LaTeX- oder Texteditor verwenden Sie oder möchten Sie verwenden?
Frabjous
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.