Emacs Auctex: Como abro o pdf no evince na posição atual do cursor

9

Eu uso o eucs auctex para gravar arquivos de látex. Como o texto é bem longo, e eu tento mudar as coisas em lugares diferentes, eu gostaria que o emacs abrisse o pdf para que a posição no texto mostrasse que o cursor está no arquivo de origem.

Eu vi isso em uma máquina windows com MikTex / Texniccenter / Acroreader. É possível fazer isso no Ubuntu em emacs / auctex / evince?

    
por Hans 05.03.2011 / 10:55

2 respostas

3

Para fazer isso, você precisa adicionar as seguintes linhas ao seu arquivo .emacs para que, quando visualizar o pdf usando o evince, ele informe o número da página:

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))
(setq TeX-view-program-selection '((output-pdf "Evince")))

Depois de abrir seu arquivo tex no emacs, você precisa ativar a correlação de origem usando o comando:

C-c C-t C-s

Ou se você não quiser iniciá-lo manualmente todas as vezes, adicione a seguinte linha ao seu .emacs:

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

Além disso, se você quiser evitar que o emacs lhe avise se deseja iniciar um servidor de correlação, adicione a seguinte linha:

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

E deveria ser isso.

Edit: na verdade, você não deve usar o pacote pdfsync, então eu removi toda referência a ele. Não é necessário para esta solução (aparentemente ela está agora embutida em todos os mecanismos baseados em TeX) e usá-la na verdade parece causar problemas (para mim, parece quebrar o código usando tabelas).

Edit 2: Eu estava tendo problemas com a habilitação automática do TeX-source-correlate-mode usando .emacs, mas agora eles parecem ter ido embora. Não tenho certeza se é porque atualizei o emacs ou removi o pdfsync. De qualquer forma, isso funciona agora:)

    
por 13.03.2011 / 12:59
4

Eu usei a descrição dada no link (a última seção: Synctex e Evince), funcionou como um encanto. Com isso, você obtém sincronização bidirecional (por exemplo, pressione Cc Cv no emacs para ir para a página em pdf ou pressione C-mouse1 para mostrar o ponto correto no emacs). No geral, é semelhante à primeira resposta, mas você não precisa incluir o pdfsync manualmente e o emacs e evince usar o dbus para se comunicar. Você também tem que fazer C-c C-t C-s.

    
por 15.03.2011 / 05:21