Das Umschalten von docview
auf pdf-tools
erfolgt "automatisch" bei der Installation pdf-tools
. Sobald Sie dies getan haben, wird jedes Mal, wenn Emacs versucht, ein PDF in Emacs zu öffnen , dieses verwendet pdf-tools
. Einige Pakete rufen jedoch das Betriebssystem auf oder verwenden eine andere Konfiguration in Emacs, um zu entscheiden, ob sie Emacs oder ein anderes Programm zum Öffnen eines PDFs verwenden sollen. Daher ist eine Tool-für-Tool-Konfiguration erforderlich, damit alle Emacs-Pakete PDF-Tools verwenden können.
Wenn Sie möchten, dass Ihre PDF-Dateien in der gleichen Emacs-Instanz geöffnet werden, müssen Sie sie im Dämonmodus ausführen (dh mit starten emacs --daemon
) oder (server-start)
Ihr init aufrufen , emacsclient
damit dies funktioniert.
Org-Mode-Links
Out of the box, org-mode
kennt sich nicht mit PDF-Tools aus. Sie können jedoch die Unterstützung für das Öffnen von Org-Links zu PDF-Dateien mit org-pdfview hinzufügen , das als Paket auf MELPA verfügbar ist. Sobald es installiert ist, können Sie es mit dem folgenden Code in Ihrem aktivieren .emacs
:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
Dadurch wird für das Hinzufügen von Links über ein neuen Abschluss Ziel bieten C-c C-l
, pdfview:
für das Springen zu bestimmten Seiten mit Unterstützung. Vollständige Links verwenden das Format:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Interleave-Modus & PDF-Anmerkungen
Der Interleave-Modus bietet Unterstützung für die Darstellung "Ihrer PDF-Datei neben einem Org-Modus-Puffer mit Ihren Notizen". Dies ist eine Alternative zur Verwendung der in ein PDF eingebetteten Anmerkungen (die Sie mit PDF-Tools ausführen können). Stattdessen erhalten Sie eine Organisationsdatei mit all Ihren Anmerkungen, die auf die Seite im PDF verweist, mit der die Anmerkungen verknüpft sind.
Gnus
Wie ich in meinem Kommentar erwähnt habe, gnus
verwendet mailcap, um Anhänge zu öffnen. Um dies zu konfigurieren, benötigen Sie Folgendes in Ihrer .mailcap
Datei:
application/pdf; emacsclient %s
EWW
EWW verwendet auch mailcap. Ändern Sie daher Ihre .mailcap
Datei wie oben unter Gnus beschrieben.
AucTeX
Für AucTeX gibt es eine Reihe relevanter Optionen:
- Viewer werden über die Variable angegeben
TeX-view-program-selection
: Suchen Sie den Eintrag für output-pdf
und wählen Sie "PDF Tools" als Wert aus.
- Um SyncTex nutzen zu können, müssen Sie:
- set
TeX-source-correlate-mode
, entweder interaktiv durch Aufrufen dieser Funktion über Mx oder durch permanentes Setzen der Variablen über M-x customize-variable
.
- Stellen Sie sicher,
TeX-source-correlate-method
enthält(pdf . synctex)
Wenn dies aktiviert ist, C-c C-g
sollte in Ihrer Tex-Quelldatei der entsprechende Abschnitt des PDF- Dokuments angezeigt werden.
ESS
Passen Sie die Variable ess-pdf-viewer-pref
an emacsclient
.
xdg-open
Unter Linux rufen einige Pakete das externe Programm xdg-open
auf, um PDF-Dateien zu öffnen. Dies bestimmt anhand Ihrer systemweiten Einstellungen, welches Programm verwendet werden soll. Dies ist eine systemweite Änderung, daher senden andere Programme PDF-Dokumente an Emacs, wenn Sie dies eingerichtet haben. Wenn Sie dies nicht möchten, z. B. Firefox, möchten Sie diese Änderungen nicht vornehmen.
So legen Sie fest, dass emacsclient pdfs systemweit öffnet xdg-open
:
- erstelle eine Datei
~/.local/share/applications/emacsclient.desktop
mit dem Inhalt:
[Desktop Entry]
Name = Emacs-Client
Exec = emacsclient% u
Icon = emacs-icon
Typ = Anwendungsterminal
= false
MimeType = application / pdf;
- Geben Sie in der Befehlszeile Folgendes ein:
xdg-mime default emacsclient.desktop application/pdf
Sie können testen, ob dies funktioniert hat xdg-open your-document.pdf
- es sollte your-document.pdf
in Emacs geöffnet werden .
w3m
w3m überprüft zuerst die Variable w3m-doc-view-content-types
und wenn dort "application / pdf" angezeigt wird, wird pdfs in der doc-view geöffnet. Dies ist eine anpassbare Variable. Entfernen Sie daher den Eintrag "application / pdf" über die Anpassungsschnittstelle.
Ohne einen Eintrag in w3m-doc-view-content-types
prüft w3m als nächstes die Variable w3m-content-type-alist
auf Einträge, die mit "application / pdf" übereinstimmen. Passen Sie den zu lesenden Eintrag an
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
Sie könnten auch eine Emacs-Funktion (vermutlich find-file
oder ähnlich) anstelle eines externen Aufrufs verwenden emacsclient
, aber ich konnte die Syntax dafür nicht herausfinden.