Wählen Sie Bilder in Auctex mit Vorschau aus

7

Wenn ich ein Bild in eine \includegraphicsLatexdatei (über ) einfüge, kann ich mit auctex die Datei auswählen und den Dateinamen einfügen.

In diesem Dialogfeld kann ich jedoch nur den Dateinamen auswählen und keine Vorschau von Bildern wie in Dateiauswahldialogen üblicher GUI-Programme anzeigen.

Wie kann ich das auch in Emacs bekommen? Dh wenn Sie ein Bild für meine Tex-Datei auswählen, haben Sie eine Vorschau der Miniaturbilder.

Bearbeiten Ich habe gerade den iciclesModus entdeckt , für den Miniaturansichten generiert werden find-file. Es scheint jedoch nicht mit Auctex und der sofort einsatzbereiten Fertigstellung zu funktionieren \includegraphics.

Schüler
quelle
Wenn Sie verwenden helmund einstellen LaTeX-includegraphics-read-file, erhalten LaTeX-includegraphics-read-file-relativeSie eine Vorschau. Lassen Sie mich wissen, ob dies Sie zufriedenstellt, und ich werde eine Antwort schreiben.
Giordano
Ich weiß nicht, wie ich es einrichten soll, also habe ich es nicht ausprobiert, aber es klingt so, als würde es meine Bedürfnisse befriedigen (wenn es nicht zu langsam ist und wenn die Miniaturansichten nicht zu klein sind)
Student

Antworten:

10

Wenn Sie festlegen LaTeX-includegraphics-read-file, LaTeX-includegraphics-read-file-relativebietet die automatische Vervollständigung mit folgende helmFunktion:

Geben Sie hier die Bildbeschreibung ein


AUCTeX einrichten

Sie können entweder anpassen LaTeX-includegraphics-read-file( M-x customize-variable RET LaTeX-includegraphics-read-file RET) und die relativeOption auswählen oder Folgendes zu Ihrer Init-Datei hinzufügen:

(setq LaTeX-includegraphics-read-file 'LaTeX-includegraphics-read-file-relative)

Installieren und Einrichten helm

Sie können helmaus dem Melpa-Repository installieren . Hier finden Sie Anweisungen zum Hinzufügen. Wenn Sie fertig sind M-x list-packages RET, gehen Sie zum helmEintrag und drücken Sie i x.

Jetzt müssen Sie einrichten helm. Hier ist ein gutes Start-Tutorial. Sie können zwischen einer minimalen Konfiguration wählen:

(require 'helm-config)
(helm-mode 1)

und eine erweiterte Konfiguration:

(require 'helm)
(require 'helm-config)

;; The default "C-x c" is quite close to "C-x C-c", which quits Emacs.
;; Changed to "C-c h". Note: We must set "C-c h" globally, because we
;; cannot change `helm-command-prefix-key' once `helm-config' is loaded.
(global-set-key (kbd "C-c h") 'helm-command-prefix)
(global-unset-key (kbd "C-x c"))
(global-set-key (kbd "M-x") 'helm-M-x) ; This was not present in the suggested extended config

(define-key helm-map (kbd "<tab>") 'helm-execute-persistent-action) ; rebind tab to run persistent action
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action) ; make TAB works in terminal
(define-key helm-map (kbd "C-z")  'helm-select-action) ; list actions using C-z

(when (executable-find "curl")
  (setq helm-google-suggest-use-curl-p t))

(setq helm-split-window-in-side-p           t ; open helm buffer inside current window, not occupy whole other window
      helm-move-to-line-cycle-in-source     t ; move to end or beginning of source when reaching top or bottom of source.
      helm-ff-search-library-in-sexp        t ; search for library in `require' and `declare-function' sexp.
      helm-scroll-amount                    8 ; scroll 8 lines other window using M-<next>/M-<prior>
      helm-ff-file-name-history-use-recentf t)

(helm-mode 1)

Bitte beachten Sie die Unterschiede zwischen Emacs Standard Abschluss und helmist einer .


Starten Sie die neue Funktion

Starten Sie Emacs neu und Sie sind bereit. C-c RET includegraphics RETGeben Sie in einem LaTeX-Puffer ein Problem ein (beachten Sie, dass Sie die helmautomatische Vervollständigung ausnutzen können ) und wählen Sie das Bild aus, das Sie einschließen möchten. Um die Vorschau anzuzeigen, wie zu Beginn gezeigt, drücken Sie zweimal die Tastenkombination helm-execute-persistent-action( C-zstandardmäßig oder TABin der oben erweiterten Konfiguration) oder bewegen Sie sich in der Dateiliste mit C-upund nach oben und unten C-down(siehe diese Antwort ).

Giordano
quelle
Tolle Antwort, vielen Dank! Das einzig ärgerliche ist, dass Sie zweimal die Tabulatortaste drücken müssen (und danach eine weitere Verknüpfung, um zurück zu gehen). Im Idealfall sollten die Vorschauen nur dann angezeigt werden, wenn der Punkt über dem entsprechenden Dateinamen in der Dateiliste liegt (damit Sie einfach in der Dateiliste auf und ab navigieren und die entsprechenden Vorschauen sofort sehen können, ohne zusätzliche Tasten zu drücken)
Schüler
Ich denke, Sie sollten dies um eine Funktionsanforderung bitten, um das Projekt zu steuern, aber ich bin nicht sicher, ob es implementiert wird.
Giordano
Es scheint im Steuermodus zu sein helm-follow, was benötigt wird. Drücken C-c C-fSie einfach, wenn Sie im helm-find-fileMenü sind, und durchsuchen Sie Ihre Dateien mit Vorschau. Kann ich jedoch den Helm-Folgemodus standardmäßig aktivieren, wenn ich das Menü "Helm-Suchdatei" aufrufe? IE, dass ich nicht drücken muss C-c C-f?
Student
Ich würde vorschlagen, dass Sie dies als neue Frage stellen;-)
Giordano