[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

xdvi-search.el: sintaxe para o xdvi



Olá pessoal.

Estou tentando empacotar xdvi-search.el: um pacote para acrescentar "forward search" ao emacs. Clica-se no documento .tex e abre-se o xdvi no ponto correspondente. Mais informações:

http://xdvi.sourceforge.net/inverse-search.html

Otávio, muito cordialmente, se ofereceu para me ajudar. Entretanto, creio que devemos tornar pública esta parceria, por isto escrevi para a lista (tudo bem , Otávio?). Se alguém mais quiser sugerir, opinar, dar idéias, de minha parte é muito bem vindo.

Bem, o pacote em que estou trabalhando é parte do suporte a "inverse search" do xdvi. Pesquisa inversa se divide em "reverse search" (pesquisa reversa) e "forward search" (pesquisa ?, alguma sugestão?). 

Pesquisa reversa: DVI --> TEX

Pesquisa "forward": TEX --> DVI

A pesquisa reversa já foi implementada na Debian (experimente: ctrl + clique no xdvi). A pesquisa "forward" é o que estou tentando empacotar.

O que xdvi-search.el faz é, basicamente, uma chamada ao xdvi com os argumentos necessários para que este exiba o ponto correspondente, no .dvi, à localização do cursor no .tex (no emacs).

Para que isto possa ser feito, o dvi deve ser gerado com suporte a source specials (latex -src-specials foo.tex , por exemplo).

Bem, estou investigando se a TeTeX (uso testing/unstable) preenche os requisitos para funcionar com o xdvi-search.el (este caminho foi sugerido pelo Otávio). Quais são os requisitos, então?

Até onde percebi, a chamada de xdvi-search.el ao xdvi tem a seguinte forma:

xdvi -sourceposition "número_da_linha foo.tex" foo.dvi

(note-se o espaço entre o número da linha e foo.tex)

Chego, então, no meu primeiro problema:

xdvi não aceita o espaço em questão. Se executo sem o espaço, funciona. Com o espaço, não. No manual do xdvi, contudo, me parece que a forma acima é válida. Segundo o manual, a seguinte forma é válida

[-sourceposition <linenumber[ ]*foo.tex>] foo.dvi

Executei

xdvi -sourceposition "número_da_linha *foo.tex" foo.dvi

e também não funcionou (o xdvi avisa que não há referências a *foo.tex; claro, nem pode haver, as referências são a foo.tex, e não *foo.tex). 

Alguém sabe o que está acontecendo? O xdvi deveria funcionar corretamente com uma destas duas formas ou eu estou comentendo algum erro?

Se alguém quiser testar, crie um arquivo foo.tex com sintaxe correta (exemplo a seguir)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt]{report}

\begin{document}

Documento de teste.

Outro paragrafo.

Fim.

\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

compile-o com suporte a source specials

$ latex -src-specials foo.tex

e tente as formas acima. Por exemplo:

$ xdvi -sourceposition "1 *foo.tex" foo.dvi
ou
$ xdvi -sourceposition "1 foo.tex" foo.dvi

Observem que 

$ xdvi -sourceposition "1foo.tex" foo.dvi

ou

$ xdvi -sourceposition 1foo.tex foo.dvi

devem funcionar. Mas é necessário que a forma com o espaço funcione (foo.tex pode ser 123.tex, por exemplo!).

Agradeço qualquer ajuda, reporte do teste ou qualquer outra dica.

té + v

-- 
Marcio Roberto Teixeira

endereço eletrônico: marciotex@pop.com.br
página pessoal (em construção): http://www.marciotex.tk

Usuário "tchê" Debian/GNULinux

Porto Alegre - RS - Brasil

"A vida é como uma boa prova escolar: é curta, com múltiplas escolhas."

O "world" não é o Word. Uso LaTeX: viva o código aberto!



Reply to: