Emacs Auctex: Wie öffne ich das PDF an der aktuellen Cursorposition?

9

Ich benutze emacs auctex, um Latexdateien zu schreiben. Da der Text ziemlich lang ist und ich dazu neige, Dinge an verschiedenen Stellen zu ändern, möchte ich, dass Emacs das PDF öffnen, damit die Position im Text angezeigt wird, an der sich der Cursor in der Quelldatei befindet.

Ich habe dies auf einem Windows-Computer mit MikTex / Texniccenter / Acroreader gesehen. Ist dies unter Ubuntu in emacs / auctex / evince möglich?

Hans
quelle

Antworten:

3

Dazu müssen Sie der .emacs-Datei die folgenden Zeilen hinzufügen, damit beim Anzeigen des PDF-Dokuments mit evince die Seitenzahl angezeigt wird:

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

Sobald Sie Ihre Tex-Datei in Emacs geöffnet haben, müssen Sie die Quellkorrelation mit dem folgenden Befehl aktivieren:

C-c C-t C-s

Oder wenn Sie es nicht jedes Mal manuell starten möchten, fügen Sie Ihren .emacs die folgende Zeile hinzu:

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

Wenn Sie verhindern möchten, dass Emacs Sie dazu auffordern, einen Korrelationsserver zu starten, fügen Sie die folgende Zeile hinzu:

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

Und das sollte es sein.

Bearbeiten: Eigentlich stellt sich heraus, dass Sie das Paket pdfsync nicht verwenden sollten, daher habe ich alle Verweise darauf entfernt. Es wird für diese Lösung nicht benötigt (anscheinend ist es jetzt in alle TeX-basierten Engines integriert) und die Verwendung scheint tatsächlich Probleme zu verursachen (für mich scheint es den Code mithilfe von Tabellen zu beschädigen).

Edit 2: Ich hatte Probleme mit der automatischen Aktivierung des TeX-Source-Correlate-Modus mit .emacs, aber jetzt scheinen sie verschwunden zu sein. Ich bin mir nicht sicher, ob das daran liegt, dass ich Emacs aktualisiert oder pdfsync entfernt habe. Jedenfalls funktioniert das jetzt :)

dbdkmezz
quelle
@dbddkmezz Wie öffne ich dann das PDF von Emacs? C-c C-vmacht es nicht
Dustin
@dustin C-c C-varbeitet für mich. Vielleicht müssen Sie Ihren PDF-Viewer ein wenig einrichten?
Xuhdev
Es funktioniert nicht, wenn ich latexmk verwende, um tex als pdf zu kompilieren.
CodyChan
4

Ich habe die Beschreibung unter http://www.emacswiki.org/emacs/AUCTeX (letzter Abschnitt: Synctex und Evince) verwendet und wie ein Zauber gearbeitet ... damit erhalten Sie eine bidirektionale Synchronisierung (z. B. Cc Cv in Emacs drücken um auf die pdf-Seite zu gehen oder C-mouse1 zu drücken, um zur richtigen Stelle in Emacs zu gelangen). Insgesamt ähnelt es der ersten Antwort, aber Sie müssen pdfsync nicht von Hand und emacs einbinden und evbus verwenden, um mit dbus zu kommunizieren. Sie müssen jedoch auch Cc Ct Cs ausführen.

Arun
quelle