Seleccionar imágenes en auctex con vista previa

7

Si inserto una imagen en un archivo de látex (vía \includegraphics) auctex me permite seleccionar el archivo e inserta el nombre del archivo.

Sin embargo, usando este diálogo, solo puedo elegir el nombre del archivo y no puedo ver las vistas previas de las imágenes como en los diálogos de selección de archivos de los programas habituales de la GUI.

¿Cómo puedo obtener esto también en emacs? Tengo vistas previas en miniatura de la imagen al seleccionar una imagen para mi archivo tex.

Editar Acabo de descubrir el iciclesmodo que genera miniaturas para find-file. Sin embargo, no parece funcionar con auctex y finalización \includegraphicsfuera de la caja.

estudiante
fuente
Si usar helmy conjunto LaTeX-includegraphics-read-filea LaTeX-includegraphics-read-file-relativeusted tendrá previstas. Avísame si esto te satisface y escribiré una respuesta.
giordano
No sé cómo configurarlo, así que no lo intenté, pero parece que satisfaría mis necesidades (si no es demasiado lento y si las miniaturas no son demasiado pequeñas)
estudiante

Respuestas:

10

Si se establece LaTeX-includegraphics-read-fileque LaTeX-includegraphics-read-file-relative, con terminación automática helmofrece esta característica:

ingrese la descripción de la imagen aquí


Configurar AUCTeX

Puede personalizar LaTeX-includegraphics-read-file( M-x customize-variable RET LaTeX-includegraphics-read-file RET) y seleccionar la relativeopción o agregar lo siguiente a su archivo init:

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

Instalar y configurar helm

Puede instalar helmdesde el repositorio de Melpa, aquí están las instrucciones sobre cómo agregarlo. Cuando haya terminado, emita M-x list-packages RET, vaya a la helmentrada y presione i x.

Ahora necesitas configurarlo helm. Aquí hay un buen tutorial de inicio. Puede elegir entre una configuración mínima:

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

y una configuración extendida:

(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)

Tenga en cuenta las diferencias entre la finalización predeterminada de Emacs y helmla de uno .


Comience a usar la nueva función

Reinicie Emacs y estará listo. En un búfer de LaTeX, emita C-c RET includegraphics RET(tenga en cuenta que puede explotar el helmautocompletado) y seleccione la imagen que desea incluir. Para ver la vista previa, como se muestra al principio, presione dos veces la combinación de teclas asociada a helm-execute-persistent-action( C-zde manera predeterminada, o TABen la configuración extendida anterior) o mueva hacia arriba y hacia abajo en la lista de archivos con C-upy C-down(vea esta respuesta ).

giordano
fuente
Gran respuesta, muchas gracias! Lo único molesto es que tienes que presionar la pestaña dos veces (y luego otro atajo para volver). Idealmente, las vistas previas deberían aparecer justo cuando el punto está sobre el nombre de archivo correspondiente en la lista de archivos (para que pueda navegar hacia arriba y hacia abajo en la lista de archivos y ver instantáneamente las vistas previas correspondientes sin presionar ninguna tecla adicional)
estudiante
Creo que debería pedirle una solicitud de función para dirigir el proyecto, pero no estoy seguro de que se implemente.
giordano
Parece ser el helm-followmodo de timón lo que se necesita. Simplemente presione C-c C-fcuando esté en el helm-find-filemenú, luego puede navegar a través de sus archivos con una vista previa. Sin embargo, ¿puedo activar el modo de seguimiento de timón como predeterminado al ingresar al menú de búsqueda de timón? ¿IE que no necesito presionar C-c C-f?
estudiante
Te sugiero que hagas esto como una nueva pregunta;-)
giordano