Emacs Auctex: Como faço para abrir o pdf em evince na posição atual do cursor

9

Eu uso o emacs auctex para escrever arquivos de látex. Como o texto é bastante longo e tenho a tendência de mudar as coisas em lugares diferentes, gostaria que o emacs abrisse o pdf para que a posição no texto seja mostrada como o cursor está no arquivo de origem.

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

Hans
fonte

Respostas:

3

Para fazer isso, você precisa adicionar as seguintes linhas ao seu arquivo .emacs, para que, quando você visualize o pdf usando o evince, ele indique 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 o 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 deseja 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ê deseja impedir que o emacs prometa se deseja iniciar um servidor de correlação, adicione a seguinte linha:

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

E deve ser isso.

Edit: na verdade, acontece que você não deve usar o pacote pdfsync, por isso removi todas as referências a ele. Não é necessário para esta solução (aparentemente agora está embutida em todos os mecanismos baseados em TeX) e usá-la realmente causa problemas (para mim parece quebrar o código usando tabelas).

Edit 2: Eu estava tendo problemas ao ativar automaticamente o modo de correlação de origem TeX usando .emacs, mas agora eles parecem ter desaparecido. Não tenho certeza se isso foi porque eu atualizei o emacs ou porque removi o pdfsync. Enfim, isso funciona agora :)

dbdkmezz
fonte
@dbddkmezz Como eu abro o pdf do Emacs então? C-c C-vnão faz isso.
quer
@dustin C-c C-vtrabalha para mim. Talvez você precise configurar um pouco o visualizador de pdf?
xuhdev
Não funciona se eu usar o latexmk para compilar tex para pdf.
CodyChan #
4

Eu usei a descrição dada em http://www.emacswiki.org/emacs/AUCTeX (a última seção: Synctex e Evince), funcionou como um encanto ... com isso, você tem sincronização bidirecional (por exemplo, pressione Cc Cv no emacs para ir para a página pdf ou pressionar C-mouse1 no evince para ir para o local 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ê tem que fazer Cc Ct Cs também.

Uma corrida
fonte