😀 Grazie!
Vedendoti così sicuro mi sono messo a fare ulteriori prove,
prima con LaTeX e kdvi e poi di nuovo con TeX e xdvi,
e ho scoperto che il mio errore era che quando includevo il file secondario nel file principale
scrivevo il path completo. Io facevo così:
`\Input{/home/rodolfo/…/file1.tex}`
mentre avrei dovuto fare così:
`\Input{file1}`
In realtà, il path completo volendo si può anche usare, ma allora nel file .emacs invece che
`xdvi-jump-to-line`
bisogna scrivere
`xdvi-jump-to-line-fullpath`
Anche questa è una bella scoperta, che però mi ha fatto impazzire un po’ di giorni.
Resta ancora una questione col file xdvi-search.el.
Quello in mio posesso è una versione dell’anno scorso, leggermente modificata da Andrea
per poter far partire la ricerca in avanti direttamente da Emacs.
Se al suo posto cerco di usare l’xdvi-search.el contenuto nell’ultima distribuzione di xdvik
(o una delle ultime), la 22.84.1, quella che ho appena installato, la ricerca inversa non funziona più.
Spero che presto risolveremo anche questa faccenda.
Nel frattempo, per evitare ad altri di impazzire un po’ di giorni,
aggiorno per l’ennesima volta il resoconto, che ormai è il frutto di un lavoro collettivo.
😯 Ricerca inversa e in avanti per plain TeX e LaTeX,
con xdvi ed Emacs,
in Mandrake Linux 9.1.
1. Sul tuo PC installa emacs e auctex mediante il comando `urpmi’ dalla console di root.
2. Usa emacs per modificare il file .emacs: digita
`emacs ~/.emacs`
dalla Shell di Linux.
3. Vai in fondo al file (potrebbe verosimilmente essere vuoto: nessun problema) e aggiungi le righe
`(add-to-list 'load-path (expand-file-name “~/lib/emacs”))
(require 'xdvi-search)
(add-hook 'LaTeX-mode-hook (lambda () (local-set-key “\C-x\C-j” 'xdvi-jump-to-line-fullpath)))
(add-hook 'TeX-mode-hook (lambda () (local-set-key “\C-x\C-j” 'xdvi-jump-to-line-fullpath)))
(server-start)`
lasciando vuota l’ultima riga del file, poi salva il file e esci da emacs.
4. Dalla Shell di Linux impartisci i comandi
`mkdir -p ~/lib/emacs (invio)`
e copia, nella directory ~/lib/emacs che hai appena creata, il file xdvi-search_andrea.el che potrò spedirti io stesso dietro tua richiesta, ovvero si potrebbe mettere tra i downloads di Guit.
5. Crea un link simbolico col file xdvi-search_andrea.el: impartisci il comando
`ln -s xdvi-search_andrea.el xdvi-search.el`
Il comando ln -s crea un collegamento tra file, così che a uno stesso file possano corrispondere nomi diversi.
6. Nel caso tu sia interessato ad impostare le opzioni -hl, -sidemargin e -topmargin di xdvi, vai alla riga 209 del file xdvi-search_andrea.el, che è
`” -editor 'emacsclient +\%l \%f' “`
e modificala in (per esempio)
`” -editor 'emacsclient +\%l \%f' -hl brown -sidemargin 5 -topmargin 3 “`
7. Rilancia emacs in modo che legga il file xdvi-search_andrea.el, poi richiudilo.
8. Apri il tuo file sorgente, diciamolo myfile.tex, impartendo, sempre dalla Shell di Linux, il comando
`emacs ~/…/myfile.tex (invio)`
(i puntini sospensivi qui stanno a indicare la porzione del path che viene dopo /home/tizio/) e inserisci all’inizio del file il comando
`\input /usr/share/texmf/tex/latex/srcltx/srctex.sty`
se stai usando plain TeX, ovvero il comando
`\usepackage[active]{srcltx} `
se stai usando LaTeX.
9. Se myfile.tex è un file `principale’ che include altri file sorgente secondari’,
9a. nel caso tu stia usando plain TeX, al posto di
`\input
`\Input{
, con la I maiuscola e le parentesi graffe;
9b. per sicurezza, procura di mettere tutti i file (sia quello principale sia quelli secondari, e sia anche quello di output, cio\`e il file .dvi) in una stessa directory,
ma può anche darsi che ciò non sia necessario se in ogni \Input{
9c. sia che tu stia usando plain TeX sia che tu stia usando LaTeX, aggiungi in fondo a ogni file ‘secondario’ le righe
`%%% Local Variables:
%%% TeX-master: “~/…/myfile.tex”
%%% End:`
9d. Salva tutti i file, chiudili e poi riaprili.
10. Esegui la ricerca in avanti: in un punto qualsiasi del file sorgente batti
Ctrl-x Ctrl-j
e voilà: la ricerca in avanti.
11. Ora la ricerca inversa: in un punto qualsiasi del file .dvi clicca Ctrl-mouse1 e voilà: la ricerca inversa.