Trucs:Utiliser xdvi (ou kdvi) en liaison avec l'éditeur du document source latex ou tex

De Lea Linux
Aller à la navigation Aller à la recherche
noothuy<christine.noot@laposte.net>

Ce qui suit marche pour les versions suivantes de linux (Mandrake 9.0 ou Red Hat 8.0 (non testé) et sans doute debian unstable). Il s'agit d'expliquer comment faire interagir xdvi (ou kdvi) avec tout éditeur acceptant un comportement client-serveur (Emacs, nedit, gvim (ou vim compilé avec la bonne option)). L'éditeur kile (ex ktexmaker) a un comportement analogue à celui de kdvi. Faute de connaître les autres éditeurs, les exemples sont donnés avec gvim (ou vim).

1-Configuration du fichier source.

Si nécessaire mettre les fichiers srcltx.sty et srctex.sty dans le même répertoire que le document source.
(Cela ne devrait pas être nécessaire ! et ce ne l'est pas sous Mandrake et Red Hat ou debian)

Ensuite, mettre la ligne suivante au début du document latex:
\usepackage[active]{srcltx}

Pour un fichier teX:
\include{srctex}

2-Configuration de xdvi.

Lancer xdvi avec l'une des commandes suivantes:
xdvi -editor 'editor' file.dvi &
où 'editor' a l'une des valeurs suivantes (dépendant de votre
éditeur) :
emacsclient --no-wait +%l %f pour emacs
gnuclient -q +%l %f
nc +%l %f (nedit)
gvim --remote-wait +%l %f (gvim)
xterm -e vim --remote-wait +%l %f (vim compilé avec l'option client-serveur)

Dans le fichier xdvi, cliquer sur CTRL+bouton gauche de
la souris et le curseur de votre éditeur se positionne à l'endroit
correspondant.

Pour automatiser cela, on peut définir une variable shell XEDITOR
ou une variable de .Xdefaults xdvi.editor. Par exemple, si on
ajoute la ligne suivante dans le .Xdefaults, xdvi se lance automatiquement avec l'option -editor (gvim ici).
xdvi.editor: gvim --remote-wait +%l %f
On rappelle que tout changement de .Xdefaults doit être suivi de la
commande 'xrdb -load ~/.Xdefaults' pour être suivi d'effets.

Ce genre d'interactions est souvent exploité par les virus. Pour désactiver ce comportement de xdvi (par exemple sur un fichier dvi téléchargé sur le web),
Il suffit d'invoquer
xdvi -safer file.dvi

Réciproquement:

3-Configuration de l'éditeur.

Inversement, si on appelle xdvi dans l'éditeur, alors que le curseur
est situé ligne l colonne c par la commande:
xdvi -sourceposition l:cfile.tex file.dvi
la fenêtre xdvi déjà ouverte se positionne à l'endroit correspondant du fichier dvi. (Attention: file.tex est bien collé à 'c', même si c'est bizarre). Il faut donc configurer l'éditeur

3.1-gvim
Par exemple, pour gvim (ou vim), la macro suivante nous envoie à l'endroit correspondant du fichier dvi.
Créer un fichier qui s'appelle xdvi_source.vim avec le contenu suivant:

" This script calls xdvi source
"
:let $LINE = line(".")
:let $COL = col(".")
:exec "silent !xdvi -sourceposition ".$LINE.":".$COL."%".' '."%:r.dvi"


Pour l'éxécuter, lancer:
:so xdvi_source.vim
dans votre fichier.
Le raccourcis suivant a pour effet d'invoquer xdvi au bon endroit
en pressant simultanément sur les touches CTRL et ->
:noremap :so xdvi_source.vim