Emacs Auctex: Wie öffne ich die PDF-Datei an der aktuellen Cursorposition?

9920
Hans

Ich verwende Emacs auctex, um Latex-Dateien zu schreiben. Da der Text ziemlich lang ist und ich die Dinge an verschiedenen Stellen ändern möchte, möchte ich, dass emacs die PDF-Datei öffnet, sodass die Position im Text angezeigt wird, an der sich der Cursor in der Quelldatei befindet.

Ich habe dies auf einer Windows-Maschine mit MikTex / Texniccenter / Acroreader gesehen. Kann man dies auf Ubuntu in emacs / auctex / evince tun?

9

2 Antworten auf die Frage

4
Arun

Ich habe die unter http://www.emacswiki.org/emacs/AUCTeX (letzte Sektion: Synctex und Evince) gegebene Beschreibung verwendet und wie ein Zauber gearbeitet ... Mit dieser Methode erhalten Sie eine bidirektionale Synchronisierung (z. B. Cc Cv in emacs um auf die pdf-Seite zu gelangen oder drücken Sie C-mouse1, um den korrekten Platz in emacs zu finden). Alles in allem ist es der ersten Antwort ähnlich, aber Sie müssen pdfsync nicht von Hand und emacs verwenden und die Verwendung von dbus für die Kommunikation erklären. Sie müssen aber auch Cc Ct Cs machen.

3
dbdkmezz

Dazu müssen Sie der .emacs-Datei die folgenden Zeilen hinzufügen, damit beim Anzeigen der PDF-Datei mit evince die Seitennummer angegeben 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 Quellenkorrelation 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 Ihrem .emacs die folgende Zeile hinzu:

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

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

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

Und das sollte es sein.

Edit: Eigentlich stellt sich heraus, dass Sie das Paket pdfsync nicht verwenden sollten, also 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 dieser Lösung scheint Probleme zu verursachen (für mich scheint es, dass Code mit Tabellen gebrochen wird).

Edit 2: Ich hatte Probleme mit der automatischen Aktivierung des TeX-Source-Correlate-Modus mit .emacs, aber jetzt scheinen sie verschwunden zu sein. Nicht sicher, ob das so ist, weil ich Emacs aktualisiert oder pdfsync entfernt habe. Jedenfalls funktioniert das jetzt :)

@dbddkmezz How to I open the pdf from Emacs then? `C-c C-v` doesn't do it. dustin vor 11 Jahren 0
@dustin `Cc Cv` funktioniert für mich. Möglicherweise müssen Sie Ihren PDF-Viewer ein wenig einrichten. xuhdev vor 8 Jahren 0
Es funktioniert nicht, wenn ich latexmk zum Kompilieren von tex zu pdf verwende. CodyChan vor 7 Jahren 0