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: