Selecionar imagens no auctex com visualização


7

Se eu inserir uma imagem em um arquivo de látex (via \includegraphics), o auctex permite selecionar o arquivo e inserir o nome do arquivo.

No entanto, usando esse diálogo, só posso escolher o nome do arquivo e não consigo visualizar as imagens como nas caixas de diálogo do seletor de arquivos dos programas GUI comuns.

Como posso obter isso no emacs também? Ou seja, tenho pré-visualizações de miniatura de imagem ao selecionar uma imagem para o meu arquivo tex.

Editar Acabei de descobrir o iciclesmodo que gera miniaturas para find-file. No entanto, ele não parece funcionar com auctex e conclusão dentro \includegraphicsda caixa.


Se você usar helme definir LaTeX-includegraphics-read-filecomo, LaTeX-includegraphics-read-file-relativeterá visualizações. Deixe-me saber se isso satisfaz você e eu vou escrever uma resposta.
— Giordano

Eu não sei como configurá-lo para que eu não tentar, mas soa como seria satisfiy minhas necessidades (se ele não é muito lento e se as miniaturas não são muito pequenas)
— estudante de

Respostas:


10

Se você definir LaTeX-includegraphics-read-filecomo LaTeX-includegraphics-read-file-relative, o preenchimento automático helmfornece este recurso:

insira a descrição da imagem aqui


Configurando o AUCTeX

Você pode personalizar LaTeX-includegraphics-read-file( M-x customize-variable RET LaTeX-includegraphics-read-file RET) e selecionar a relativeopção ou adicionar o seguinte ao seu arquivo init:

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

Instalando e configurando helm

Você pode instalar a helmpartir do repositório Melpa, aqui estão as instruções sobre como adicioná-lo. Quando terminar, emitir M-x list-packages RET, vá para a helmentrada e pressione i x.

Agora você precisa configurar helm. Aqui está um bom tutorial inicial. Você pode escolher entre uma configuração mínima:

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

e uma configuração estendida:

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

Por favor, esteja ciente das diferenças entre a conclusão padrão do Emacs e helma primeira .


Comece a usar o novo recurso

Reinicie o Emacs e você estará pronto. Em um buffer LaTeX, emita C-c RET includegraphics RET(observe que você pode explorar o helmpreenchimento automático) e selecione a imagem que deseja incluir. Para ver a visualização, como mostrado no início, pressione duas vezes a combinação de teclas associada a helm-execute-persistent-action( C-zpor padrão ou TABna configuração estendida acima) ou mova para cima e para baixo na lista de arquivos com C-upe C-down(consulte esta resposta ).


Ótima resposta, muito obrigado! A única coisa irritante é que você deve pressionar tab duas vezes (e depois outro atalho para voltar). Idealmente, os previews deve aparecer apenas quando o ponto é sobre o nome do arquivo correspondente na lista de arquivos (de modo que você pode simplesmente navegar para cima e para baixo na lista de arquivo e ver instantaneamente as prévias correspondentes sem pressionar nenhuma tecla adicionais)
— estudante de

Eu acho que você deve fazer uma solicitação de recurso para este projeto, mas não tenho certeza de que será implementado.
— Giordano

Parece ser o helm-followmodo de leme que é necessário. Basta pressionar C-c C-fquando estiver no helm-find-filemenu, para poder navegar pelos arquivos com visualização. No entanto, posso ativar o modo de acompanhamento do leme como padrão ao entrar no menu de arquivo de localização do leme? Ou seja, que eu não preciso pressionar C-c C-f?
— estudante de

Eu sugiro que você perguntar isso como uma nova pergunta;-)
— Giordano
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.