Copyright © 2001-2004 Stefan Kebekus
È concesso il permesso di copiare, distribuire ovvero modificare questo documento sotto i termini della GNU Free Documentation License, versione 1.1 o qualsiasi versione successiva pubblicata dalla Free Software Foundation; con nessuna sezione invariante, con nessun testo di copertina anteriore e con nessun testo di copertina posteriore. Una copia di questa licenza è inclusa nella sezione intitolata "GNU Free Documentation License".
Questo documento descrive KDVI versione 1.1
Sommario
KDVI è un plugin per il programma KViewshell che permette a KViewshell di visualizzare i file DVI (.dvi
) prodotti dal sistema di impaginazione TeX. KDVI supporta molte estensioni dello standard DVI, per esempio l'inclusione di immagini PostScript® o i collegamenti ipertestuali nel documento. È possibile trovare maggiori informazioni, esempi e tutte le specifiche tecniche nel file KDVI-features.dvi
(oppure KDVI-features.tex
per il sorgente TeX).
Per informazioni aggiornate, consulta la pagina Web di KDVI.
TeX è un sistema di impaginazione professionale utilizzato in ambiti scientifici, in particolare per testi matematici. È possibile trovare ulteriori informazioni riguardo a TeX e al formato DVI nella pagina Web del gruppo utenti di TeX oppure nella pagina tedesca di German DANTE e.V..
La maggior parte delle volte, KDVI verrà avviato facendo clic sopra a un file .dvi
nel file manager. Per comodità, esiste comunque il comando kdvi che invoca KViewshell con il plugin KDVI precaricato. Il visualizzatore può essere avviato utilizzando il comando kdvi
. Sono validi anche i comandi percorso/documento.dvi
kdvi
oppure percorso/documento
kdvi
. Se sei connesso a Internet, puoi accedere ai file che si trovano in rete fornendo un URL come parametro, per esempio: percorso/documento.
kdvi
http://indirizzo/documento.dvi
Se fornisci un URL come parametro, puoi dire a KDVI di saltare direttamente in un certo punto del file DVI. Per esempio, kdvi
farà in modo che KDVI si posizioni a pagina 43. Se hai incluso le informazioni sul file sorgente, un comando come file:documento.dvi#43
kdvi
dirà a KDVI di cercare il punto nel file DVI che corrisponde alla riga 43 nel file TeX file:documento.dvi#src:43sorgente.tex
sorgente.tex
. Difficilmente utilizzerai questa opzione direttamente — leggi la sezione ricerca in avanti per scoprire come impostare il tuo editor per avviare automaticamente KDVI.
Non dimenticarti il prefisso file:
, altrimenti otterrai risultati inaspettati. Per esempio, il comando kdvi
apre il file file:documento.dvi#43
documento.tex
alla pagina 43. Il comando kdvi
tenta invece di aprire il file
documento.dvi#43documento.dvi#43
.
Esiste un'altra opzione, della quale probabilmente non avrai bisogno. Se avvii kdvi
, KDVI caricherà il file solo se non ci sono altre sessioni di KDVI attive che abbiano già caricato quel file. Se esiste già una sessione di KDVI verrà portata in primo piano. Un comando come --unique
percorso/documento.dvi
kdvi
può essere usato negli script della shell per far sì che una finestra già aperta di KDVI salti alla pagina 43.--unique
file:documento.dvi#43
I parametri normalmente presenti nelle applicazioni Qt™ e KDE funzionano come al solito: kdvi
-style
windows
-display
:0
-geometry
400x400+0+0
-caption
"DVI"
KDVI può stampare i tuoi file DVI usando l'interfaccia di stampa di KDE. Internamente, KDVI usa il programma dvips per generare il file PostScript® che verrà poi passato alla stampante. In particolare, dvips deve essere installato per stampare con KDVI. Il programma dvips usa un suo file di configurazione e le sue impostazioni, che sono accettabili per la maggior parte delle situazioni. Comunque, se sei interessato a risultati di stampa ottimali, dovresti configurare dvips manualmente e assicurarti di impostare la modalità Metafont che si adatta meglio alla tua stampante; in molti sistemi troverai la documentazione GNU-texinfo di dvips e potresti anche provare a cercare un file chiamato dvips.dvi
o simile.
Se vuoi salvare il tuo file nel formato PostScript® o PDF, non si raccomanda di usare la funzione di stampa e reindirizzare l'output su file. È meglio utilizzare la funzione di esportazione che produce un file di qualità migliore, che utilizza molte delle caratteristiche speciali del formato dvi e si presenta meglio nei programmi di visualizzazione, come Acrobat Reader di Adobe. Trovi le funzioni di esportazione nel menu .
Come nella stampa, per generare il file PostScript® viene usato il programma esterno dvips. Se il file DVI contiene collegamenti ipertestuali, questi rimarranno anche nel file PostScript®. Se sei un esperto e vuoi generare un file ottimizzato per una stampante specifica, dovresti avviare dvips manualmente dalla riga di comando e scegliere direttamente la modalità MetaFont appropriata.
Per produrre file PDF di alta qualità, KDVI converte i file DVI in PDF usando il programma esterno dvipdfm. Se stai utilizzando un sistema con installata una versione vecchia di TeX, il programma dvipdfm potrebbe non essere presente. In quel caso, devi usare la funzione di stampa per generare il file PDF.
Se usi una vecchia installazione di TeX, e se stai visualizzando il file generato con Acrobat Reader di Adobe, potresti notare che alcuni caratteri vengono visualizzati estremamente male, anche se poi vengono comunque stampati correttamente, nonostante vengano visualizzati bene con kghostview. Questo è un problema noto di Acrobat Reader con i tipi di carattere bitmap. Al momento, l'unica soluzione praticabile è quella di evitare l'uso dei tipi di carattere bitmap o aggiornare l'installazione di TeX a una più recente.
Mentre dvipdfm produce dei file PDF di alta qualità, al momento dvipdfm ignora i PostScript® incorporati nel file DVI. Il PostScript incorporato è generato, per esempio, dal pacchetto di macro xy, o dalla funzione di KDVI "Incorpora file PostScript" descritta sotto.
Se vedi che al PDF generato mancano dei dati grafici, usa la funzione di stampa di KDVI al suo posto.
KDVI può anche salvare i tuoi file DVI in formato testuale.
Lo standard dei file DVI non fu progettato pensando a questo tipo di funzionalità. Questa funzione, quindi, funziona bene solo con i caratteri ASCII standard. Non funzionerà con lingue non europee. A seconda dei caratteri usati nei file, ci potrebbero essere problemi con i caratteri accentati o con le dieresi, e a volte con le legature.
Il modo classico di usare la grafica con TeX non include i dati di grafica direttamente nel file DVI. Invece, il file DVI contiene solo un collegamento ai file grafici che risiedono sul disco fisso. Il vantaggio di questa procedura è che il file DVI rimane piccolo, e che il file grafico può essere modificato indipendentemente dalla sorgente del documento TeX. Questo metodo, però, diventa piuttosto scomodo se vuoi archiviare il file DVI, o se vuoi inviarlo a qualcun altro: invece che gestire un solo file, devi gestirne una serie, che deve essere mantenuta esattamente nella stessa posizione specificata nel file DVI perché tutto funzioni.
Per questa ragione, KDVI ti permette di incorporare i file PostScript® esterni nel tuo file DVI. Per incorporare tutti i file PostScript® in un file DVI, usa la voce del menu ->
Il file DVI con PostScript® incorporato funzionano bene con la maggior parte degli altri software di gestione dei DVI, per esempio xdvi, dvips o dvipdf. Un'eccezione importante è il programma dvipdfm, che attualmente ignora il PostScript® incorporato. Siccome dvipdfm viene usato internamente dalla funzione di KDVI "Esporta a PDF", aspettati dei problemi quando la usi. Lo stesso problema si presenta con altri software che usano PostScript incorporato, per esempio il pacchetto di macro xy di TeX.
La ricerca inversa è una funzione molto utile quando stai scrivendo un documento TeX. Se hai impostato correttamente tutte le opzioni, puoi fare clic nella finestra di KDVI con il tasto del mouse (in alcuni sistemi, quando non c'è il terzo tasto, si possono premere contemporaneamente i tasti e ). Dopodiché, viene aperto il tuo editor di testo preferito, che carica il file sorgente TeX e passa al paragrafo giusto. Per usare la ricerca inversa, fai ciò che segue:
Produci un file DVI contenente le informazioni per la ricerca inversa. È spiegato come fare nella sezione Produrre file TeX per la ricerca inversa. Se vuoi solamente provare il funzionamento della ricerca inversa, puoi anche usare il file di esempio KDVI-features.dvi
Indica a KDVI quale editor di testo vuoi usare. Scegli un editor nella finestra Preferenze (questa finestra può essere raggiunta scegliendo nel menu ). La prossima sezione di questa guida, La finestra delle impostazioni, spiega questa finestra di dialogo in maggior dettaglio.
Alcuni editor hanno bisogno di essere avviati manualmente, o di essere configurati opportunamente. Troverai una descrizione di tutti gli editor supportati nella sezione Impostare il tuo editor per la ricerca inversa.
Prova la configurazione. Apri il tuo file DVI in KDVI e usa il tasto del mouse per fare clic in KDVI. L'editor dovrebbe comparire e mostrare il file TeX corrispondente.
Ci sono essenzialmente due modi per generare file DVI che contengono informazioni per la ricerca inversa: puoi usare un programma TeX/LaTeX che genera e include automaticamente le informazioni necessarie, oppure puoi includere un pacchetto aggiuntivo scritto in TeX/LaTeX.
Un programma TeX che genera e include automaticamente le informazioni necessarie è certamente la strada migliore per includere le informazioni di ricerca inversa. Se usi la versione 2 o superiore della distribuzione teTeX di TeX, puoi usare l'opzione della riga di comando 'src-specials' dei comandi tex o latex, come segue.
tex --src-specials miofile.texo
latex --src-specials miofile.tex
Se non hai un programma TeX che include le informazioni di ricerca inversa in maniera nativa, copia i file srcltx.sty
e srctex.sty
nella cartella dove risiede il file TeX (puoi farlo premendo il tasto Shift e il tasto del mouse mentre il puntatore del mouse si trova sopra un collegamento). Se usi LaTeX, aggiungi la riga
\usepackage[active]{srcltx}al preambolo del tuo file LaTeX. Se invece usi TeX semplice, usa la riga
\include{srctex}
Sebbene la ricerca inversa sia molto utile quando stai scrivendo un documento, potrebbe essere una buona idea rimuovere queste informazioni prima di inviare il file DVI a qualcun altro.
Anche se la ricerca inversa funziona generalmente bene con la maggior parte degli editor di testo, alcuni richiedono un po' più di attenzione. Questa sezione illustra come impostare il tuo editor.
Emacs funziona bene con KDVI. Il comportamento di Emacs dipende in gran parte dalla configurazione. Come al solito, puoi personalizzare completamente Emacs, se non hai paura di scontrarti con il codice Lisp.
KDVI utilizza il programma emacsclient per controllare a distanza Emacs.
Il programma emacsclient richiede che Emacs sia in esecuzione e che il programma Emacs Server sia stato avviato all'interno di Emacs. La ricerca inversa non funzionerà in maniera ottimale se non sono in esecuzione sia Emacs che Emacs Server.
Per avviare Emacs Server, puoi fare nei seguenti modi:
Da Emacs, avvia Emacs Server digitando M x server-start
Aggiungi la riga
(server-start)al tuo file
.emacs
. Riavvia EmacsAssicurati che Emacs sia installato. Prova ad avviare emacs dalla riga di comando.
KDVI usa il comando emacsclient per controllare a distanza Emacs. Assicurati che emacsclient sia disponibile alla riga di comando provando a eseguire emacsclient
. Questo comando dovrebbe aprire il file all'interno di Emacs.nome di un file di testo
Se emacsclient non funziona e restituisce un messaggio di errore come unable to connect to local
, assicurati che Emacs sia in esecuzione. Inoltre, assicurati che anche Emacs Server sia in esecuzione digitando M x server-start
.
Se vuoi che la finestra venga portata in primo piano, aggiungi la funzione raise-frame
a “server-switch-hook” (fai M x customize-variable RET server-switch-hook
e inserisci il nome della funzione nel campo di testo).
Se hai modificato il buffer dall'ultimo salvataggio, Emacs ti chiederà: Revert buffer from file ...? (yes or no)
. Di solito bisogna rispondere no, perché rispondere diversamente vuol dire che il file verrà riletto da disco, e ciò comporterà la perdita di tutte le modifiche apportate!
È probabilmente preferibile il comportamento di gnuclient, che ricarica silenziosamente il buffer modificato; aggiungi le seguenti righe al tuo file .emacs
per emulare il comportamento di gnuclient con emacsclient:
(defadvice server-visit-files (around save-buffers last activate) "Prova a emulare il comportamento di gnuclient con emacsclient. Funziona solo per visitare un buffer alla volta." (let* ((filen (car (car (ad-get-arg 0)))) (buf (get-file-buffer filen)) (this-buf-modified-p nil)) ;;; the following is copied from server-visit-files, with ;;; a modification for the `verify-visited-file-modtime' test (if (and buf (set-buffer buf)) (if (file-exists-p filen) ;;; if the file has changed on disk, reload it ;;; using `find-file-noselect' (if (not (verify-visited-file-modtime buf)) (progn (find-file-noselect filen) ;;; if user answered `no', reset modtime anyway ;;; so that server-visit-files doesn't realize the ;;; difference: (set-visited-file-modtime))) ;;; if file exists no longer, we let server-visit-files ;;; deal with that t) (setq buf (find-file-noselect filen))) (setq this-buf-modified-p (buffer-modified-p buf)) (set-buffer buf) (set-buffer-modified-p nil) ad-do-it (set-buffer-modified-p this-buf-modified-p)))
L'editor Kate di KDE supporta molto bene la ricerca inversa. Non è richiesta nessuna configurazione aggiuntiva.
L'editor LaTeX Kile supporta KDVI molto bene. Non è richiesta nessuna configurazione aggiuntiva. Maggiori informazioni su Kile possono essere trovare alla pagina Web di Kile.
NEdit funziona generalmente molto bene. Se fai clic sul file DVI si dovrebbe aprire una nuova finestra. Se il file TeX è già aperto in un'altra finestra di NEdit, la nuova finestra mostrerà un'altra vista dello stesso buffer. Altrimenti, il file TeX viene caricato. Dopo l'apertura della finestra, NEdit evidenzia la prima riga del paragrafo appropriato.
KDVI utilizza il comando ncl per controllare a distanza NEdit. Assicurati che ncl sia disponibile dalla riga di comando, provando a avviare ncl
. Questo comando dovrebbe aprire una finestra di NEdit. Se ncl non è presente, potrebbe darsi che tu stia usando una versione vecchia di NEdit. In questo caso, puoi passare a una versione più recente, oppure usare l'opzione Editor definito dall'utente nella finestra Opzioni.-noask
XEmacs funziona correttamente con KDVI. Il comportamento di XEmacs dipende in gran parte dalla sua configurazione. Come al solito, puoi personalizzare completamente XEmacs, se non hai paura di scontrarti con il codice Lisp.
KDVI usa il programma gnuclient per controllare a distanza XEmacs.
Il programma gnuclient richiede che XEmacs sia in esecuzione e che il programma gnuserv sia avviato all'interno di XEmacs. La ricerca inversa non funzionerà se non sono in esecuzione sia XEmacs che gnuserv.
Per avviare il programma gnuserv, puoi fare nei seguenti modi:
In XEmacs, avvia gnuserv immettendo M x gnuserv-start
Aggiungi la riga
(gnuserv-start)al tuo file
.xemacs
. Se usi una versione più recente di XEmacs, .xemacs
sarà una directory. In questo caso, dovresti aggiungere tale riga in fondo al file .xemacs/init.el
. Riavvia XEmacsSe non vuoi aprire una nuova finestra per ciascuna chiamata dell'editor e vuoi che la finestra venga portata in primo piano automaticamente, imposta “Gnuserv Frame” a “Use selected frame” e aggiungi la funzione raise-frame
a “Visit Hook”. Digita M x customize-group RET gnuserv
per rendere effettive queste impostazioni.
Assicurati che XEmacs sia installato. Prova ad avviare xemacs dalla riga di comando.
KDVI usa il comando gnuserv per controllare a distanza XEmacs. Assicurati che gnuclient sia disponibile dalla riga di comando provando ad avviare gnuclient
. Questo comando dovrebbe aprire una nuova finestra dell'editor XEmacs.nome di un file di testo
Se gnuserv restituisce un messaggio di errore come unable to connect to local
, assicurati che XEmacs sia in esecuzione. Inoltre assicurati che sia in funzione anche gnuserv digitando M x gnuserv-start
.
Se non vuoi aprire una nuova finestra per ogni invocazione dell'editor e vuoi che la finestra sia portata in primo piano automaticamente, imposta “Gnuserv Frame” a “Use selected frame” e aggiungi la funzione “raise-frame” a “Visit Hook”. Digita M x customize-group RET gnuserv
per attivare queste modifiche.
La funzione di ricerca in avanti consente di saltare dal tuo editor direttamente nel corrispondente punto del file DVI. Visto che la ricerca avanzata deve essere supportata dal tuo editor di testo, per adesso sono supportati solamente Emacs e XEmacs. Si spera che anche altri editor di testo vengano aggiunti in futuro.
Per usare la ricerca in avanti, devi compiere le seguenti operazioni:
Imposta il tuo editor, come descritto sotto.
Aggiungi le informazioni del file sorgente al file DVI, ad es. usando il pacchetto srcltx. Questo è stato descritto nella sezione Produrre file TeX per la ricerca inversa.
Se usi Emacs ed è tutto impostato correttamente, premiCtrl+X Ctrl+J
e verrà portato in primo piano KDVI con il file DVI aperto nel punto corrispondente a dove stai lavorando nel file TeX.
Per usare la ricerca in avanti con Emacs, compi i seguenti passi:
Scarica il seguente script per Emacs, kdvi-searc.el
(premi Shift e il tasto del mouse sul nome del file per scaricarlo) e salvalo in un posto a cui Emacs possa accedere; si consiglia la cartella emacs-script
.
Aggiungi le righe
(add-to-list 'load-path (expand-file-name "~/emacs-scripts/")) (require 'kdvi-search) (add-hook 'LaTeX-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line))) (add-hook 'tex-mode-hook (lambda () (local-set-key "\C-x\C-j" 'kdvi-jump-to-line)))al tuo file
.emacs
. Riavvia Emacs.Apri Emacs, carica un file TeX, crea il file DVI corrispondente e digita il comando M+xkdvi-jump-to-line
oppure premi Ctrl+X Ctrl+J
. Può capitare che Emacs ti chieda il nome del “master file”. Ciò è utile se usi un file TeX che ne include altri: il master file è il file principale che include gli altri. Emacs forse ti chiederà di salvare il nome del file principale come una “local variable”, cioè come un commento alla fine del file. Rispondi yes
o no
per continuare.
Assicurati che Emacs sia installato. Prova ad avviare emacs dalla riga di comando.
Se Emacs non riesce ad avviare KDVI, puoi trovare i messaggi di errore nel buffer kdvi-output.
Per impostare XEmacs, segui i passi illustrati sopra per Emacs, ma modifica il file .xemacs
invece di .emacs
. Se usi una versione molto recente di XEmacs, .xemacs
potrebbe essere una cartella. In tal caso, aggiungi le righe al file .xemacs/init.el
.
La finestra Preferenze può essere raggiunta scegliendo nel menu .
La finestra contiene due schede, Tipi di carattere e Visualizzazione.
Tradizionalmente, TeX usa dei caratteri generati dal programma MetaFont. Questi caratteri sono salvati nel formato PK. Sebbene un sistema MetaFont attentamente configurato produca stampe di altissima qualità, la sua configurazione richiede grande esperienza, MetaFont non è molto buono per produrre caratteri adatti ai computer, e ci sono pochi caratteri MetaFont disponibili per le lingue asiatiche.
Per superare questi problemi, le installazioni TeX più recenti includono dei caratteri salvati nel formato "PostScript Type 1", che è un formato di caratteri di ampio uso nelle pubblicazioni elettroniche. KDVI è in grado di usare caratteri di ambo i formati.
L'immagine seguente mostra la finestra delle opzioni dei caratteri di KDVI che può essere usata per controllare l'uso da parte di KDVI dei vari formati di caratteri.
I caratteri PostScript "Type 1" contengono spesso degli "hint", cioè informazioni aggiuntive che dovrebbero aiutare il software a produrre output di migliore qualità sullo schermo del computer. La qualità dell'"hinting" dei caratteri è variabile da carattere a carattere, e dovresti sperimentare per vedere se abilitare questa opzione dà risultati migliori.
KDVI supporta un gran numero di estensioni al formato DVI originale, per esempio collegamenti ipertestuali, inclusione di file grafici o informazioni incorporate sul file sorgente. Queste estensioni sono note come "Speciali DVI". Un rapporto completo degli speciali supportati da KDVI può essere trovato in questo documento.
La finestra degli speciali DVI ti aiuta a configurare il supporto per alcuni speciali.
Se questa casella è segnata, KDVI mostrerà le immagini PostScript® incorporate nel file DVI. Probabilmente preferirai attivare questa opzione.
Se non viene trovato un file PostScript® esterno, KDVI disegnerà un riquadro rosso di avvertimento al suo posto. Sfortunatamente, la visualizzazione di immagini PostScript® è molto lenta nella versione attuale di KDVI. Miglioreremo la velocità nelle prossime versioni. Se questa opzione è disabilitata, KDVI disegnerà un riquadro grigio al posto dell'immagine, o lascerà lo spazio bianco.
Non c'è un modo standard di inserire immagini PostScript® all'interno di un file DVI. Potrebbe accadere che KDVI non riesca a visualizzare correttamente un'immagine che non crea problemi con altri programmi. Le versioni più vecchie di xdvi e di dvips supportano l'esecuzione di comandi esterni. Questo è una grave falla di sicurezza per il sistema e quindi è stato deliberatamente non implementato in KDVI. È possibile trovare informazioni tecniche riguardo alle modalità supportate per inserire immagini PostScript® nel documento KDVI-features.dvi
.
Se intendi usare la ricerca inversa, una caratteristica molto utile se scrivi tu i documenti TeX, devi specificare quale editor di testo vuoi utilizzare e come questo debba essere lanciato da KDVI. Nell'esempio, l'utente ha optato per l'editor NEdit. Se utilizzi uno degli editor preconfigurati nella lista degli Editor, allora non devi fare nient'altro. Se vuoi utilizzare un altro editor di testo, scegli Editor definito dall'utente nella lista Editor e immetti la riga di comando da usare per avviare l'editor. Puoi usare le sequenze speciali %f e %l per indicare rispettivamente il nome del file TeX e la riga del file TeX.
Se usi un editor che non è supportato, per favore manda un messaggio di posta elettronica a (kebekus AT kde.org)
indicando che comando hai utilizzato e come hai configurato l'editor.
KDVI
KDVI è basato sul programma KDVI 0.4.3 di Markku Hihnala. Quel programma è a sua volta basato su xdvi versione 18f creato da molti autori.
La documentazione è copyright 2001-2004, Stefan Kebekus (kebekus AT kde.org)
Matteo Merli
Federico Cozzi
Federico Zenith(federico.zenith AT member.fsf.org)
Questo programma è concesso in licenza sotto i termini della GNU General Public License.
Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team