Manuale di Kile

# Manuale di Kile

Jonathan Pechta

Federico Zenith `<federico.zenith@member.fsf.org>`

Holger Danielsson `<holger.danielsson@versanet.de>`

Thomas Braun

Michel Ludwig `<michel.ludwig@kdemail.net>`

Felix Mauch `<felix_mauch@web.de>`

Traduzione della documentazione in italiano: Federico Zenith
Revisione 2.1 (22/05/2011)

Diritto d'autore © 2003 Jonathan Pechta

Diritto d'autore © 2003, 2005, 2006 Federico Zenith

Diritto d'autore © 2005, 2006, 2012 Holger Danielsson

Diritto d'autore © 2007 Thomas Braun

Diritto d'autore © 2007, 2011 Michel Ludwig

Diritto d'autore © 2011 Felix Mauch

Nota Legale

Kile è un editor di sorgenti e shell di TEX e LATEX,.

Capitolo 1. Prefazione
Prefazione

# Capitolo 1. Prefazione

## Requisiti

Per eseguire Kile sono necessari i seguenti componenti:

- Ambiente desktop KDE: KDE è un popolare ambiente desktop open source.

- Qt™: Qt™ è una libreria per interfacce e di rete in C++ necessaria a compilare Kile.

- LATEX: programma tipografico di alta qualità. Quasi sicuramente servirà il pacchetto TeX Live (o sui sistemi più vecchi teTEX), se sei su un sistema di tipo UNIX®.

La maggior parte di questi elementi potrebbero essere inclusi nella tua distribuzione Linux®; riferisciti alla documentazione della distribuzione, o riferisciti al CD o DVD di installazione per aggiungere questi pacchetti sul sistema.

Kile potrebbe anche essere disponibile come pacchetto precompilato per la tua distribuzione di Linux®. Controlla il gestore dei pacchetti della distribuzione.

Pubblico
Pubblico

## Pubblico

Questo manuale è pensato per chiunque, indipendentemente dalla sua esperienza con LATEX, KDE, Kile o Linux®.

Gli utenti avanzati probabilmente non leggeranno questo manuale, ma tutti i suggerimenti saranno presi in considerazione. Se volessi contribuire a questo progetto o alla documentazione, consulta la pagina Web di Kile.

Hai bisogno di risposte su Kile? Sei bloccato con una compilazione? Vuoi una nuova funzionalità? Il modo migliore di fare domande tecniche o avviare una discussione è usare la nostra mailing list: `(kile-devel AT lists.sourceforge.net)`.

Capitolo 2. Introduzione
Introduzione

# Capitolo 2. Introduzione

## Fatti di base

### Informazioni su Kile

Kile è un ambiente LATEX integrato per il desktop KDE. Kile dà la possibilità di usare tutte le funzionalità di LATEX in un'interfaccia grafica, dando accesso facile, immediato, e personalizzato a tutti i programmi relativi a LATEX, il postprocessing, il debugging, la conversione e la visualizzazione; hai a disposizione anche degli assistenti molto comodi, un riferimento LATEX, e una potente gestione dei progetti.

### Kile e il componente editor Kate

Kile è basato sul componente editor Kate, cioè molte funzionalità di scrittura provengono da lì; Kile le estende per lavorare con i documenti LATEX. Per saperne di più sul componente editor Kate e sulle sue possibilità, vedi la pagina Web di Kate.

### Cos'è LATEX?

LATEX è un sistema di trattamento testi derivato da TEX, un programma sviluppato originariamente nel 1977 da Donald Knuth per disporre i testi in modo professionale e ottenere una qualità pari a quella di un tipografo professionista. LATEX è stato creato da Leslie Lamport per dare agli autori un tipografo automatico, specialmente per facilitare la costosa e complicata tipografia delle formule e delle espressioni matematiche, che in LATEX sono racchiuse da segni del dollaro per una buona ragione. Oggi, i programmi di trattamento di testi permettono a ogni utente di essere il tipografo, ma spesso quello che serve è un documento che ha un bell'aspetto senza dover spendere ore a rifinirlo. LATEX si fa carico di questo compito, e lascia pensare al documento invece che alla tipografia. E, sì, verrà bello!

### Come si pronuncia? Perché si scrive così strano?

C'è una buffa tradizione per la quale i pacchetti relativi a TEX hanno la pronuncia e la grafia più strane possibile. Si suppone che TEX sia arrivato dal greco τεχ, in lettere latine tech. Ci sono molte spiegazioni possibili sul perché, ma la più probabile è che TEX fu originariamente concepito per i rapporti tecnici, e infatti la sua abilità principale era la scrittura facile e corretta delle formule matematiche, ai tempi un affare estremamente costoso, tedioso e frustrante.

La pronuncia dovrebbe essere come segue: TE come in italiano, e X come nel tedesco ich. Se non sai come suona ch, è più o meno come il suono di un gatto che soffia; il simbolo IPA è /ç/. Molte persone sostengono la diversa pronuncia di ach (simbolo IPA /x/), ma secondo alcuni greci la prima versione è corretta. Dovresti sapere che molti pronunciano erroneamente TEX come /teks/ o /tek/.

Infine, in LATEX la parte LA è pronunciata come l'inglese lay («profano»): l'idea è che, mentre il TEX grezzo è difficile, anche un profano può usare le macro di LATEX. Una spiegazione meno suggestiva ma più realistica è che venga dal cognome di Leslie Lamport, il creatore di LATEX. Adesso lo sai!

Fondamenti di LATEX
Fondamenti di LATEX

## Fondamenti di LATEX

Il sistema di tipografia di LATEX è simile ad altri linguaggi a marcatori come XML, usato in molti tipi di documenti (incluso quello che stai leggendo), o l'HTML, usato per le pagine Web. L'idea generale dei linguaggi a marcatori è avere parole chiave speciali dette tag, che dicono a un programma (un elaboratore di testi, un browser Web, o il compilatore di LATEX) come interpretare il testo tra i tag. Kile offre un buon numero di questi tag nel menu LaTeX nella barra dei menu.

Sebbene proveremo a darti una buona idea di cosa sia LATEX, questo documento non è ovviamente La Bibbia Definitiva di LATEX. Se vuoi imparare LATEX bene, potresti prendere un libro da una biblioteca.

Come per altri linguaggi a marcatori, i documenti LATEX contengono un preambolo, che definiscono le proprietà globali, come la dimensione della carta, la numerazione delle pagine, le dimensioni del testo sulla pagina, e un corpo del documento, che ne contiene il testo; il preambolo contiene almeno il comando `\documentclass`, e precede il corpo, che inizia con il comando `\begin{document}` e si conclude con il comando `\end{document}`.

Funzionalità principali di Kile
Funzionalità principali di Kile

## Funzionalità principali di Kile

### Assistente di avvio rapido

L'assistente di avvio rapido integrato in Kile è una utile funzione per iniziare rapidamente a creare documenti con Kile. Scegliendo l'assistente dalla barra dei menu verranno offerte varie scelte per la creazione del documento. Puoi anche specificare subito alcune opzioni relative ad esso.

Opzioni della classe:

- Tipo del documento: scegli il tipo di documento che vuoi creare: articolo, libro, lettera, rapporto, presentazione Beamer o altri tipi, inclusi quelli che potresti aver definito tu.

- Dimensione caratteri: dì a Kile quale dimensione dei caratteri (in punti) vuoi usare.

- Dimensione carta: scegli le dimensioni o lo stile della carta.

- Codifica: in genere è una buona idea usare la codifica predefinita del sistema. I sistemi più recenti tendono ad adottare UTF-8 come codifica predefinita. Se puoi, usa utf8 o utf8x (che è davvero scritto così per i documenti LATEX).

- Altre opzioni: questo permette di impostare ulteriori opzioni per la stampa, le bozze, e altro.

Pacchetti

Questo elenca i pacchetti aggiuntivi più comuni usati in LATEX. Seleziona le caselle per includerli.

Proprietà dei documenti:

- Autore: metti qui il tuo nome.

- Titolo: aggiungi qui il titolo del documento.

- Data: specifica qui la data.

### Modelli predefiniti

I modelli predefiniti in Kile sono:

- Documento vuoto: gli uomini veri partono da zero!

- Articolo: imposta il formato per articoli, per un documento abbastanza breve da non aver bisogno di essere diviso in capitoli.

- Rapporto: imposta il formato per rapporti, per documenti di media grandezza, con per esempio la numerazione delle pagine sul margine esterno.

- Libro: imposta il formato per libri, una versione completa, così potente da essere usata per scrivere molti testi universitari.

- Lettera: imposta il formato per lettere.

- Beamer, HA-Prosper: crea delle presentazioni di alta qualità in formato PDF con tutte le potenzialità di LATEX.

- Powerdot: è il successore dei pacchetti `seminar` e `HA-Prosper`. Non ha tante opzioni come Beamer, ma è facile da usare e può creare presentazioni molto belle in PDF.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2: le classi di documenti KOMA-Script, particolarmente adatte alla tipografia tedesca. Utili soprattutto per testi in tedesco.

- Xelatex: un modello `Article` modificato da usare assieme a `XeLaTeX`.

Nota che tutti questi modelli possono essere adattati alle esigenze dell'utente.

I nuovi utenti non si devono preoccupare: queste sezioni sono solo una breve descrizione delle funzionalità disponibili, e una descrizione più dettagliata si può trovare nelAvvio rapido.

### Evidenziazione della sintassi

Kile è simile ad altri programmi che lavorano con codice sorgente, ed evidenzierà automaticamente comandi, opzioni ed elementi, usati e abusati. Kile rende così possibile avvistare facilmente i problemi: per esempio, se vedi delle grosse aree di testo verde, è probabile che tu abbia dimenticato di chiudere un ambiente matematico da qualche parte.

### Autocompletamento degli ambienti

L'autocompletamento degli ambienti significa che quando inizi un nuovo ambiente scrivendo `\begin{ambiente}`, Kile aggiungerà automaticamente un comando `\end{ambiente}`, con una riga in mezzo per il testo. Puoi ovviamente disattivarlo, se vuoi, in Impostazioni → Configura Kile → LaTeX+Ambienti.

### Saltare agli elementi struttura

Tutti i documenti normalmente sono strutturati con una gerarchia di qualche tipo. LATEX permette di spezzare i documenti nella gerarchia seguente (part è l'elemento più alto della gerarchia, e subparagraph il più basso):

- \part

- \chapter

- \section

- \subsection

- \subsubsection

- \paragraph

- \subparagraph

Quando guardi un documento nella vista Struttura, puoi saltare tra gli elementi facendo clic sull'elemento che vuoi vedere.

### Ricerca inversa

Quando crei dei file LATEX, la ricerca inversa può essere molto utile. Una volta che hai creato un file DVI (DeVice Independent File, file indipendente dal dispositivo) o PDF, puoi far clic con il tasto sinistro del mouse nel visore tenendo premuto Shift, e Kile salterà alla riga corrispondente nel codice sorgente LATEX.

Un DVI è un tipo di file contenente una descrizione di un documento formattato, insieme ad altre informazioni, incluso il tipo di carattere, e oltre al PDF è il risultato tipico di TEX/LATEX. Esiste un certo numero di programmi per visualizzare, convertire e stampare file DVI su vari sistemi e dispositivi.

### Ricerca in avanti

Usando la ricerca inversa, la selezione di elementi nei file DVI o PDF è associata all'editor, così quando fai clic sul file DVI o PDF, la finestra principale salta alla sezione corrispondente di codice LATEX nell'editor. La ricerca in avanti ne è l'esatto opposto. La ricerca in avanti permetterà di fare clic su una sezione di testo specifica nel codice LATEX, e saltare alla posizione associata nella finestra del visore.

La barra degli strumenti
La barra degli strumenti

## La barra degli strumenti

- Nuovo: inizia un nuovo documento.

- Apri: apri un nuovo documento.

- Chiudi: chiudi il documento.

- Definisci il documento come documento principale: questo si usa lavorando con file multipli. Avere un documento principale permette di lavorare più facilmente con altri file `.tex` inclusi nel documento. Se stai usando i progetti, puoi anche impostare un documento principale per tutto il progetto in Progetto → Opzioni del progetto.

- Costruzione rapida: compila il codice sorgente LATEX e ne mostra i risultati automaticamente, a meno che ci siano errori nel documento.

- Sorveglia file: questa modalità «sorveglierà» eventuali cambiamenti del file DVI, e non avvierà una nuova finestra di Okular dopo una Costruzione rapida.

- Visualizza registro: visualizza il file `.log`, per avvistare gli errori.

- Errore precedente: salta all'indietro nel file `.log` ed evidenzia gli errori nel sorgente.

- Errore successivo: salta in avanti nel file `.log` e evidenzia gli errori nel sorgente.

- Ferma: ferma lo strumento attuale.

- LaTeX: esegue LATEX sul documento attivo.

- Visualizza DVI: avvia il visore DVI.

- Da DVI a PS: converte un file DVI in un PostScript® (PS).

- Visualizza PS: avvia il visore PostScript® (PS).

- PDFLaTeX: esegue PDFLATEX sul documento attivo.

- Visualizza PDF: avvia il visore PDF.

- Da DVI a PDF: converte un DVI in un PDF.

- Da PS a PDF: converte un PS in un PDF.

- Visualizza HTML: visualizza l'HTML creato.

- DVI in avanti: salta alla pagina del file DVI corrispondente alla riga attuale nell'editor.

- PDF in avanti: salta alla pagina del file PDF corrispondente alla riga attuale nell'editor.

Se guardi la barra degli strumenti Modifica, noterai tre grandi menu a cascata. I menu a cascata sono stati progettati per poter aggiungere rapidamente certe funzionalità comuni nel documento. Il primo menu a cascata è usato per dividere rapidamente il documento in parti, capitoli, sezioni, e così via; i comandi disponibili per aggiungere segmenti al codice sorgente LATEX sono:

- part: livello massimo di sezionamento per un documento.

- chapter: inizia un nuovo capitolo.

- section: crea una nuova sezione.

- subsection: crea una nuova sottosezione.

- subsubsection: una sezione secondaria tra sottosezione e paragrafo.

- paragraph: crea un nuovo paragrafo.

- subparagraph: crea un nuovo sottoparagrafo.

Il menu a cascata chiamato Altro è usato per inserire nel documento elementi come indici, note a piè di pagina, referenze. I comandi disponibili sono:

- label: un comando che produce un'etichetta per un capitolo, una figura o altro elemento.

- index: crea una voce per l'indice.

- footnote: crea una nota a piè di pagina nel documento.

- ref: usato per riferirsi a un'etichetta già definita, che scegli da una lista a cascata.

- pageref: proprio come ref, ma si riferisce a una pagina invece che a un elemento della struttura.

- cite: crea un riferimento con dati da una bibliografia.

Il menu a cascata Altro

Selezione dell'etichetta di un riferimento

Usando cite, viene presentata una lista a cascata di bibitem, ma se stai usando BibTEX ciò funzionerà solo se il file appartiene a un progetto. Per modificare i file BibTEX si raccomanda l'uso di un programma apposito. L'autore ha avuto buoni risultati con KBibTEX. Ovviamente puoi anche scrivere i file BibTEX a mano all'interno di Kile.

L'ultimo menu a cascata, indicato con tiny, è usato per impostare la dimensione del testo. Hai la possibilità di impostare le dimensioni di testo, note a piè di pagina, e così via; i comandi disponibili sono:

- tiny: piccolissimo.

- scriptsize: molto piccolo.

- footnotesize: più piccolo.

- small: piccolo.

- normalsize: normale.

- large: grande.

- Large: più grande.

- LARGE: ancora più grande.

- huge: molto grande.

- Huge: grandissimo.

Capitolo 3. Avvio rapido
Avvio rapido

# Capitolo 3. Avvio rapido

## Stesura di un documento LATEX con Kile per principianti

Gli utenti di Kile hanno due scelte quando cominciano un nuovo documento: possono usare l'Assistente per cominciare un nuovo documento, selezionare il tipo di documento che vorrebbero creare, e opzioni come la dimensione dei caratteri, della carta, e così via; altrimenti, possono scrivere il codice a mano.

    \documentclass[12pt]{article}
    \begin{document}
            Qui c'è un pacco di codice \LaTeX.
    \end{document}

Ogni documento LATEX comincia con il comando `\documentclass[`argomento facoltativo`]{`classe`}`, dove la classe specifica il tipo di documento.

Inserire l'esempio di codice della casella di testo sopra restituirà quanto segue:

Testo compilato nell'output DVI

Le parentesi quadre che vengono dopo il comando `\documentclass` contengono le opzioni del commando. L'opzione `[12pt]` imposta la dimensione dei caratteri per l'articolo; se non imposti la dimensione dei caratteri all'inizio, la puoi impostare più avanti.

Una volta che hai inserito l'esempio di codice dalla casella sopra, dovrai compilare il codice LATEX. Il modo più facile per farlo è usare il menu Costruzione, o usare il pulsante Costruzione rapida.

Alt+2 è la scorciatoia da tastiera per compilare il codice sorgente.

Devi salvare il codice sorgente prima di poter compilare; Kile lo farà automaticamente al posto tuo se necessario.

Se il documento non è stato compilato correttamente, controlla se ci sono errori nel registro. Usando il pulsante Costruzione rapida, il visore Okular dovrebbe essere avviato automaticamente; altrimenti, controlla il registro.

Ambienti
Ambienti

## Ambienti

Un ambiente è un segmento di testo gestito diversamente dal resto del documento. Per esempio, crei un rapporto con dimensione dei caratteri pari a 12, ma hai bisogno di cambiare la dimensione dei caratteri per poche frasi. I comandi `\begin{ambiente}`, `\huge` and `\end{ambiente}` permetteranno di alterare temporaneamente il testo all'interno dei comandi ambiente affinché il testo sia di dimensione molto grande.

I cambiamenti hanno effetto da `\begin{ambiente}` a `\end{ambiente}`. Non ci sono limiti a quanti cambiamenti puoi fare all'interno di un ambiente.

Ci sono molte funzioni che puoi aggiungere al documento che lo renderanno più leggibile e semplice. Puoi aggiungere cose come tipi di carattere particolari, grassetto, corsivo, sottolineato, eccetera, e questi comandi si concluderanno o con un comando `\end`, o alla fine dell'ambiente.

- `\begin{emph}`: questo comando mette il testo in corsivo, ed è valido finché il codice non raggiunge un `\end{emph}` o un altro ambiente. Per mettere una singola parola in corsivo in una frase, puoi usare la seguente sintassi: questa è la `\emph{mia}` frase.

- `\textbf{Sto scrivendo questo testo all'interno delle parentesi in grassetto}`: questo comando scrive il testo in grassetto.

- `\quote`: per creare una citazione all'interno del tuo documento; inizia la citazione con `\begin{quote}` e finiscila con `\end{quote}`.

- `\center`: centra il testo.

- `\verse`: crea un'indentazione adatta alla poesia.

- `\itemize`: fai una lista di oggetti.

Uso di Kile
Uso di Kile

## Uso di Kile

Adesso che abbiamo dato un'infarinatura su come scrivere codice usando il linguaggio LATEX, mostreremo come creare un documento passo-passo usando Kile.

1. Avvia Kile.

2. Scegli Assistente → Avvio rapido, quindi scegli un formato, e imposta le tue preferenze nell'assistente.

3. Una volta che l'assistente avrà inserito del testo, fai un po' di personalizzazione per rendere il documento più leggibile, aggiungi almeno una citazione, del testo in grassetto, corsivi, e un verso per vedere le differenze tra i comandi.

4. Salva il file, e dagli il nome `intro.tex`.

5. Compila il file usando Alt+2, o il pulsante indicato con LaTeX.

6. Seleziona Visualizza DVI.

7. Controlla tutto il nuovo testo.

8. Quando hai finito di guardare il documento, fai clic sul pulsante Vista editor o premi Ctrl+E per ritornare all'editor se stai usando il visore integrato, o chiudi la finestra del visore se stai usandone uno separato.

Ecco fatto! Hai appena creato il tuo primo documento LATEX!

Una volta che hai creato il DVI, potrai stampare il documento, o cambiarlo in un file PostScript® o PDF, se vuoi. Sperimenta e divertiti!

File DVI
File DVI

## File DVI

DVI significa file indipendente dal dispositivo (DeVice Independent). Questi file sono prodotti da TEX o LATEX per essere letti da un driver sul sistema. Ci sono molte destinazioni a cui si può inviare un `.dvi`, come una stampante, un convertitore in file PostScript® o PDF, o il monitor.

### Visualizzare un DVI

Hai già visto come visualizzare un file DVI su schermo usando il pulsante Visualizza DVI nella barra degli strumenti.

### Stampare un DVI

Per stampare un DVI puoi usare lo stesso processo che hai usato per creare il documento prima (vedi Uso di Kile). Al passo 7, dopo aver fatto clic su Visualizza DVI, seleziona File → Stampa nel visore, e se hai configurato correttamente la stampante, potrai stampare il file DVI.

### Convertire i file DVI

La barra degli strumenti dà la possibilità di convertire un DVI ad altri formati. Una volta che hai creato un DVI dal codice sorgente LATEX, potrai esportarlo in un formato di tua scelta usando i pulsanti della barra degli strumenti.

Ricerche in avanti tra Kile e Okular
Ricerche in avanti tra Kile e Okular

## Ricerche in avanti tra Kile e Okular

Le funzioni di ricerca in avanti permettono di passare direttamente dall'editor alla posizione associata del file DVI o PDF.

Kile offre di configurare questa opzione per tutti i file binari LATEX. Vai a Impostazioni → Configura Kile → Strumenti+Costruzione e scegli sempre la configurazione Moderna.

Per eseguire una ricerca in avanti, metti il cursore su una riga di codice sorgente, e fai clic su Ricerca in avanti per saltare alla posizione associata nella finestra del visore DVI o PDF.

Ricerca inversa tra Kile e Okular
Ricerca inversa tra Kile e Okular

## Ricerca inversa tra Kile e Okular

La ricerca inversa è una funzionalità utile quando scrivi un documento LATEX. Se tutto è a posto, puoi fare clic nella finestra di Okular con il tasto sinistro del mouse tenendo premuto Shift. Dopodiché, Kile caricherà il file sorgente LATEX e salterà al paragrafo giusto. Per usare la ricerca all'indietro, devi compilare il file di LATEX con la configurazione Moderna.

La ricerca inversa non può funzionare a meno che:

- Il file sorgente sia stato compilato correttamente.

- Okular sappia quale editor vuoi usare.

Con questa funzionalità di Okular, un clic sul tasto sinistro del mouse tenendo premuto Shift nel documento DVI o PDF farà aprire a Kile il documento LATEX corrispondente, e gli farà cercare di raggiungere la riga corrispondente. Ricordati di dire a Okular di usare Kile come editor di testo, usando l'elemento del menu di Okular Impostazioni → Configura Okular... (sulla pagina Editor).

Configurare Okular

Risolvere gli errori
Risolvere gli errori

## Risolvere gli errori

Se stai cercando di usare la costruzione rapida, e il visore DVI non si apre, è probabile che ci sia un errore. Se c'è un errore, è visibile nell'area dei messaggi e del registro, e verrà presentato un riassunto degli errori.

Il registro spiegherà l'origine dell'errore nel codice. Nell'editor, puoi usare i pulsanti nella barra degli strumenti indicati come Errore LaTeX precedente e Errore LaTeX successivo per saltare avanti e indietro tra gli errori. Il registro dichiara sempre in quale riga è occorso l'errore. Per vedere la riga dove è avvenuto l'errore, fai clic sull'errore nella finestra del registro, e Kile ti porterà alla riga dell'errore.

Capitolo 4. Iniziare un nuovo documento
Iniziare un nuovo documento

# Capitolo 4. Iniziare un nuovo documento

Quando fai clic sul pulsante nella barra degli strumenti per cominciare un nuovo documento, appare una finestra che chiede quale tipo di modello vorresti usare per scrivere il documento. Le scelte predefinite sono:

- Documento vuoto

- Articolo

- Beamer

- Libro

- HA-Prosper

- Powerdot

- Lettera

- Rapporto

- Scrartcl (dal pacchetto di script KOMA)

- Scrbook (dal pacchetto di script KOMA)

- Scrlttr2 (dal pacchetto di script KOMA)

- Scrreprt (dal pacchetto di script KOMA)

- PDF

- XeLaTeX

Se hai selezionato un Documento vuoto, puoi o iniziare a scrivere un documento da zero, o puoi usare l'assistente per iniziare rapidamente un nuovo documento (vedi Assistente di avvio rapido).

## Modelli

Gli utenti frequenti di LATEX usano tipicamente lo stesso preambolo per quasi ogni documento che usano. Si possono creare, salvare e caricare modelli all'interno di Kile per facilitare l'inizio di un nuovo documento.

### Crea un nuovo modello

Per creare un nuovo modello, devi prima o aprire un file TEX / LATEX, o crearne uno da te. Kile può generare un modello da un documento esistente aprendo il documento desiderato e selezionando File → Crea modello da documento.

### Configurazione delle sostituzioni automatiche

Nella creazione di un nuovo documento selezionando un modello da File → Nuovo, certe combinazioni di caratteri saranno sostituite da dati come il tuo nome, o la codifica che stai usando. Queste variabili possono essere configurate in Impostazioni → Configura Kile → Impostazioni+Generale.

Nella stesura del modello, è utile sapere quali combinazioni di caratteri sono sostituite da quali variabili dei modelli:

- `$$AUTHOR$$`: Questa stringa sarà rimpiazzata dalla variabile autore.

- `$$DOCUMENTCLASSOPTIONS$$`: Questa stringa sarà sostituita dalla variabile opzioni del tipo di documento. Tipicamente viene usato come di seguito: `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$`: Se la variabile codifica è impostata, per esempio, a `latin1` questa stringa è rimpiazzata da `\input[latin1]{inputenc}`.

### Crea modelli con l'assistente

Il modo più semplice di creare un nuovo modello è partire con l'assistente, e poi aggiungere comandi nell'editor. Una volta che il documento è impostato come vuoi:

1. Salva il file;

2. Vai a File;

3. Scegli Crea modello dal documento;

4. Fai qualsiasi correzione necessaria al modello;

5. Inserisci un nome per il nuovo modello;

6. Fai clic su OK per aggiungere il modello al menu.

La prossima volta che inizierai un documento, potrai scegliere il tuo modello personalizzato invece dei predefiniti.

### Creare un modello da un file qualsiasi

Un modello può essere creato da qualsiasi file LATEX. Se stai cercando un modo facile per configurare un modello, vai a cercarne uno che ti piaccia su Internet e segui gli stessi passi elencati nelCrea modelli con l'assistente.

Per esempio, potresti voler creare un perfetto poster A0. Questi poster si vedono regolarmente alle conferenze scientifiche, e LATEX ti aiuterà a fare un poster accattivante e interessante. Ricorda che avrai bisogno del pacchetto `a0poster`, che normalmente non è incluso in nelle installazioni TEX standard. Scaricalo da qui e mettilo nella stessa cartella del file LATEX.

### Rimuovere un modello

Per rimuovere un modello da Kile, fai come segue:

1. Vai a File → Rimuovi modello;

2. Apparirà un riquadro con elencati tutti i modelli: seleziona un modello;

3. Fai clic su OK, e il modello verrà rimosso.

I modelli segnati con un asterisco (*) non possono essere rimossi senza i permessi appropriati.

Capitolo 5. Modificare i documenti LATEX
Modificare i documenti LATEX

# Capitolo 5. Modificare i documenti LATEX

L'editor interno che Kile usa è Kate. Kate è un editor di testo creato per programmatori, che include la capacità di leggere ed evidenziare molti tipi diversi di file di testo, tra cui LATEX e BibTEX; puoi accedere a molte opzioni di Kate direttamente dal menu Strumenti di Kile.

Per saperne di più su Kate e sulle sue possibilità, vedi il manuale di Kate. Gli utenti di Kile possono iniziare a leggere dal capitolo «Lavorare con l'editor Kate».

## Il riferimento LATEX

Kile include un riferimento LATEX molto pratico, cui puoi accedere attraverso Aiuto → Riferimento LaTeX. Contiene una descrizione completa di quasi tutti i comandi che userai in LATEX e la loro sintassi.

Movimenti del cursore
Movimenti del cursore

## Movimenti del cursore

Per selezionare del testo, hai le seguenti possibilità:

- Tieni premuto il pulsante sinistro del mouse, e trascina per evidenziare del testo.

- Fai clic una volta su una parola per muovervi il cursore.

- Fai clic due volte su una parola per selezionare l'intera parola.

- Fai clic due volte su una parola e premi Ctrl per selezionare tutta la parola TEX. Ciò vuol dire che fare clic in questo modo su `\par` in `\par\bigskip` seleziona solo `\par`.

- Fai clic tre volte per selezionare l'intera frase.

Mantenere premuto il pulsante sinistro del mouse, e trascinare sul testo che vuoi selezionare, copia automaticamente il testo selezionato negli appunti.

Tenere premuto Shift e usare i tasti freccia permette di selezionare porzioni del codice sorgente nella finestra dell'editor.

Parentesi
Parentesi

## Parentesi

Il completamento delle parentesi è uno strumento visuale che la vista editor usa per indicare quali parentesi corrispondono a quali. Se apri un qualsiasi file `.tex`, e selezioni delle qualsiasi parentesi, siano esse tonde (), quadre [] o graffe {}, l'editor evidenzierà la parentesi e la sua corrispondente in giallo (questo colore predefinito può essere cambiato). Quindi, per esempio, se posizionassi il cursore sulle graffe di `\section{Introduzione}`, vedresti `\section{Introduzione}` nell'evidenziazione gialla predefinita, mostrandoti la posizione delle parentesi iniziale e finale.

Evidenziazione
Evidenziazione

## Evidenziazione

Kile ha la capacità di cercare ed evidenziare diversi tipi di codice. Per esempio, i comandi LATEX sono distinti dal testo normale, e anche le formule matematiche sono evidenziate in un colore diverso.

Punti
Punti

## Punti

Molti assistenti possono inserire punti facoltativi, una specie di segnalibro nel testo. Le voci del menu Modifica → Punti, o le scorciatoie da tastiera corrispondenti, permetteranno di saltare al punto successivo o al precedente. Ciò evidenzierà il punto, in modo che sia eliminato automaticamente quando inserisci la prima lettera.

Punto successivo (Ctrl+Alt+Destra)

  Passa al punto successivo, se ce n'è uno.

Punto precedente (Ctrl+Alt+Sinistra)

  Passa al punto precedente, se ce n'è uno.

Selezione
Selezione

## Selezione

Scrivere è ovviamente uno degli aspetti principali quando si usa un programma come Kile. Sebbene Kate abbia già grandi capacità, Kile aggiunge alcune importanti funzionalità, che sono particolarmente utili quando si scrive un sorgente LATEX. LATEX ha sempre bisogno di molti ambienti e gruppi, perciò Kile supporta comandi molto speciali per selezionarli. Sotto Modifica → Seleziona troverai i seguenti comandi per selezionare il testo.

Ambiente (dentro) (Ctrl+Alt+S,E)

  Seleziona un ambiente senza i tag che lo delimitano. Se questo comando viene chiamato quando un ambiente è già selezionato, Kile espanderà la selezione al prossimo ambiente circostante.

Ambiente (fuori) (Ctrl+Alt+S,F)

  Seleziona un ambiente inclusi i tag che lo delimitano. Questa selezione può inoltre venire espansa con una seconda chiamata del comando.

Gruppo TeX (dentro) (Ctrl+Alt+T,T)

  Seleziona un gruppo TEX dentro le graffe che lo delimitano.

Gruppo TeX (fuori) (Ctrl+Alt+T,U)

  Seleziona un gruppo TEX insieme alle graffe che lo delimitano.

Gruppo matematico (Ctrl+Alt+S,M)

  Seleziona il gruppo matematico attuale insieme ai comandi matematici.

Paragrafo (Ctrl+Alt+S,P)

  Seleziona un intero paragrafo, cioè un gruppo di righe di testo separate su ambo i lati da righe vuote. Un paragrafo non vuol dire solo righe contigue di testo, come in altri editor di testo. Questo significato esteso include anche le tabelle, i comandi LATEX e tutte le altre righe del sorgente. L'unica cosa importante per Kile è che questo tipo di paragrafo sia separato da due righe vuote.

Riga (Ctrl+Alt+S,L)

  Seleziona la riga di testo alla posizione attuale del cursore.

Parola TeX (Ctrl+Alt+S,W)

  Seleziona la parola alla posizione attuale del cursore. Questa selezione ha anche un significato esteso, perché il comando può anche selezionare i comandi LATEX, che cominciano con una sbarra inversa e possono avere un asterisco facoltativo alla fine.

### Seleziona i comandi LATEX

Kile ha una funzionalità estesa per selezionare i comandi LATEX. Se per esempio hai scritto:

    testo \bfseries\itshape altro testo

e fai doppio clic su uno dei comandi LATEX, saranno entrambi selezionati. Spesso però vuoi solo selezionarne uno o due tra tanti. Lo puoi fare usando il tasto Ctrl. Premendo Ctrl e facendo doppio clic verrà selezionato solo il comando desiderato.

Elimina
Elimina

## Elimina

Per eliminare alcune parti di un documento puoi, ovviamente, selezionarle e usare il tasto Canc. Kate ha anche il comando Ctrl+K, che cancella tutta la riga. Però Kile ha un modo più veloce con i suoi comandi di eliminazione. Sotto Modifica → Elimina troverai i seguenti comandi per eliminare il testo.

Ambiente (dentro) (Ctrl+Alt+T,E)

  Elimina un ambiente senza i tag che lo delimitano.

Ambiente (fuori) (Ctrl+Alt+T,F)

  Elimina un ambiente compresi i tag che lo delimitano.

Gruppo TeX (dentro) (Ctrl+Alt+T,T)

  Elimina un gruppo TEX dentro le graffe che lo delimitano.

Gruppo TeX (fuori) (Ctrl+Alt+T,U)

  Elimina un gruppo TEX insieme alle graffe che lo delimitano.

Gruppo matematico (Ctrl+Alt+T,M)

  Elimina il gruppo matematico attuale insieme ai comandi matematici.

Paragrafo (Ctrl+Alt+T,P)

  Elimina un intero paragrafo. Vedi il comando Seleziona → Paragrafo per come viene definito un paragrafo in Kile.

Alla fine della riga (Ctrl+Alt+T,I)

  Elimina il testo dalla posizione attuale del cursore fino alla fine della riga.

Parola TeX (Ctrl+Alt+T,W)

  Elimina una parola o comando LATEX alla posizione attuale del cursore.

Ambiente
Ambiente

## Ambiente

È già stato detto che gli ambienti sono un punto centrale di LATEX. Perciò Kile offre altri cinque comandi per rendere il lavoro con LATEX il più facile possibile nei sottomenu Modifica → Ambiente.

Vai all'inizio (Ctrl+Alt+E,B)

  Questo comando passerà all'inizio dell'ambiente attuale, ovunque tu sia. Il cursore sarà posizionato direttamente davanti al tag di apertura dell'ambiente.

Vai alla fine (Ctrl+Alt+E,E)

  Questo comando passerà alla fine dell'ambiente attuale, ovunque tu sia. Il cursore sarà posizionato direttamente dietro al tag di chiusura dell'ambiente.

Corrispondente (Ctrl+Alt+E,M)

  Quando il cursore viene messo davanti o sopra il tag `\begin{ambiente}`, sarà fatto passare all'altro capo dell'ambiente e viceversa.

Chiudi (Ctrl+Alt+E,C)

  Scrivendo molti tag annidati, potresti perdere il conto di tutti gli ambienti. Questo comando chiuderà l'ultimo ambiente aperto, in modo che la struttura annidata degli ambienti non sia danneggiata.

Chiudi tutti (Ctrl+Alt+E,A)

  Questo chiude tutti gli ambienti aperti, non solo l'ultimo che hai aperto.

Gruppo TEX
Gruppo TEX

## Gruppo TEX

Kile offre anche alcuni comandi speciali per i gruppi LATEX, che sono indicati dalle parentesi graffe `{...}`. Nel sottomenu Modifica → Gruppo TeX troverai alcuni comandi importanti, che corrispondono a quelli di Modifica → Ambiente.

Vai all'inizio (Ctrl+Alt+G,B)

  Questo comando passerà all'inizio del gruppo attuale, dovunque tu sia. Il cursore sarà spostato direttamente davanti alla graffa di apertura.

Vai alla fine (Ctrl+Alt+G,E)

  Questo comando passerà alla fine del gruppo attuale, dovunque tu sia. Il cursore sarà posizionato direttamente dietro alla graffa di chiusura.

Corrispondente (Ctrl+Alt+G,M)

  Quando il cursore è posizionato davanti o dietro la graffa di apertura di un gruppo TEX, sarà spostato all'altro capo del gruppo e viceversa.

Chiudi (Ctrl+Alt+G,C)

  Scrivere molte graffe di gruppi annidati potrebbe essere dura. Questo comando chiuderà l'ultimo gruppo aperto, in modo che la struttura annidata dei gruppi di TEX non sia danneggiata.

Virgolette
Virgolette

## Virgolette

In LATEX, due virgolette singole vengono interpretate come virgolette doppie. Per aiutarti a inserirle efficientemente, Kile permette di premere " per inserire due virgolette singole di apertura. Inoltre, se vuoi chiudere una citazione, dovrai premere ". Kile sarà abbastanza intelligente da riconoscere questa situazione e inserire due virgolette di chiusura per LATEX.

Per avere un carattere di virgolette doppie sull'altro lato, premi due volte ".

Puoi abilitare o disabilitare questo inserimento automatico dell'apertura e della chiusura delle virgolette doppie nella sezione Impostazioni → Configura Kile → LaTeX.

Se includi anche opzioni specifiche per la lingua come `ngerman` o `french`, potrai anche usare le virgolette doppie tedesche o francesi. Sono disponibili molte altre lingue.

Ritorno a capo intelligente
Ritorno a capo intelligente

## Ritorno a capo intelligente

Se premi Ctrl+Invio, Kile inserisce un ritorno a capo intelligente. Se la tua posizione attuale è in un ambiente a elenco come `enumerate` o `itemize`, Kile non solo inserirà un ritorno a capo, ma aggiungerà anche un comando `\item`.

Se sei all'interno di un ambiente tabulare, Kile finirà la riga attuale con `\\`, seguito da un ritorno a capo.

Se sei all'interno di un commento LATEX, Kile comincerà la prossima riga con `%`.

Inoltre, Kile è abbastanza intelligente da supportare ambienti LATEX predefiniti e definiti dall'utente, che possono essere aggiunti nella sezione Impostazioni → Configura Kile → LaTeX.

Tabulatore intelligente
Tabulatore intelligente

## Tabulatore intelligente

Alcuni utenti preferiscono ordinare le colonne degli ambienti tabulari e mettere tutti i caratteri ampersand & uno sotto l'altro. Kile prova ad aiutarli. Se premi Alt+Shift+&, Kile cercherà il prossimo tabulatore nella riga sopra. Sebbene possa non essere il tabulatore corrispondente, Kile aggiungerà dello spazio per regolare la posizione della colonna con il tabulatore attuale.

Capitolo 6. Completamento del codice
Completamento del codice

# Capitolo 6. Completamento del codice

Sebbene Kate offra già un buon modo di completamento, di Kile estende il completamento del codice per supportare alcuni metodi particolari per LATEX. Sono stati integrate cinque diverse modalità. Tre di esse funzionano a richiesta, le altre due sono modalità di autocompletamento. Tutte le modalità possono essere configurate per funzionare molto diversamente in Impostazioni → Configura Kile.

## Completamento automatico degli ambienti

Quando inizi un nuovo ambiente, scrivendo `\begin{ambiente}`, Kile aggiungerà automaticamente un comando `\end{ambiente}`, con in mezzo una riga per il testo.

L'autocompletamento può essere disattivato nella sezione LATEX di Impostazioni → Configura Kile → LaTeX+Ambienti.

Completamento di un ambiente equazione

Comandi LATEX
Comandi LATEX

## Comandi LATEX

Quando scrivi alcune lettere, puoi attivare questa modalità di autocompletamento per i comandi LATEX e le parole normali con Modifica → Completa → Comando (La)TeX o con la scorciatoia Ctrl+Shift+Spazio. Kile prima legge le lettere dalla posizione attuale del cursore a sinistra, e si ferma al primo carattere non letterale o sbarra inversa. Kile entrerà nella modalità di autocompletamento per i comandi TEX o LATEX. Altrimenti entra nella modalità di dizionario normale, dove non troverai nessun comando LATEX. A seconda della modalità scelta, sarà aperto un riquadro di completamento. Vedrai tutti i comandi o parole il cui inizio coincide con lo schema selezionato. Puoi navigare l'elenco con i tasti cursore, e selezionare una voce con il tasto Invio o fare doppio clic con il mouse.

Quando premi il tasto Backspace, l'ultima lettera dello schema sarà eliminata, e l'elenco di completamento potrebbe aumentare. D'altro canto, se scrivi un'altra lettera, lo schema si allungherà e l'elenco potrebbe ridursi.

Se decidi di non selezionare nessuno dei suggerimenti, puoi abbandonare questa finestra premendo Esc.

Vedrai che tutti i comandi sono scritti con delle brevi descrizioni dei loro parametri. Queste descrizioni sono ovviamente rimosse quando selezioni un comando. A scelta puoi lasciare che Kile inserisce dei punti al loro posto, in modo da poter passare facilmente a queste posizioni con Modifica → Punti → Punto successivo e inserire il parametro che vuoi.

Vai a Impostazioni → Configura Kile → Kile+Completa per configurare uno o più di questi elenchi. Puoi scegliere diversi elenchi di comandi TEX e LATEX e diverse modalità dizionario per le parole normali.

Se scegli l'opzione Mostra comandi LaTeX, le voci di tutti i file di elenchi compressi di parole (Compressed Word Lists, o CWL) selezionati per il completamento dei comandi LATEX vengono mostrate in una vista separata della barra laterale di Kile. Vedrai i comandi disponibili e quali parametri e opzioni devono o possono essere dati per un completamento. Puoi anche selezionare una voce con un clic del mouse e verrà inserita nel documento, dopo aver rimosso tutti i parametri e le opzioni con nome.

Siccome ogni elenco di parole sarà mostrato in una vista a parte, ce ne potrebbero essere troppe, al punto che la finestra principale di Kile potrebbe diventare troppo grande per un piccolo schermo. Visto che ciò non è pratico, Kile opera con un numero massimo di viste permesse, preimpostato a 10. Se questo valore è troppo elevato per il tuo schermo, riducilo.

Ambienti
Ambienti

## Ambienti

La modalità comando non serve a completare gli ambienti. Devi sempre scrivere alcune lettere di `\begin`, e invocare la modalità di completamento risulterà in un grande elenco di tag di ambienti. D'altro canto, gli ambienti sono usati così spesso che Kile offre una modalità particolare di completamento degli ambienti. Lascia stare l'apertura e scrivi, per esempio, `al`.

Quando chiami la modalità di completamento con Modifica → Completa → Ambiente o la scorciatoia da tastiera Alt+Shift+Spazio, il tag di apertura viene inserito automaticamente, e vedrai `\begin{al}`. Dopo questa modifica, l'elenco di completamento è molto meno affollato.

Adesso seleziona un ambiente e vedrai che viene anche chiuso automaticamente. Inoltre, se Kile lo riconosce come ambiente elenco, inserirà anche un primo tag `\item`.

Vai a Impostazioni → Configura Kile → Kile+Completa per configurare uno o più di questi elenchi. Questa modalità usa gli stessi elenchi di parole della modalità di completamento dei comandi TEX e LATEX.

Abbreviazioni
Abbreviazioni

## Abbreviazioni

Kile supporta gli elenchi di abbreviazioni definite dagli utenti, che sono sostituite a richiesta da stringhe di testo più lunghe. Vedi Impostazioni → Configura Kile → Kile+Completa per configurare uno o più di questi elenchi. Nell'esempio qui riportato, deve essere scelto l'elenco di abbreviazioni `example.cwl`. In questo file troverai, per esempio, la voce `L=\LaTeX`.

Per esempio, scrivi solo la lettera `L`. Adesso chiama la modalità abbreviazione del completamento delle parole con Modifica → Completa → Abbreviazione, o la scorciatoia Ctrl+Alt+Spazio, e la lettera `L` verrà sostituita dalla stringa `\LaTeX`.

Il completamento delle abbreviazioni supporta anche il ritorno a capo `%n` e `%C` per posizionare il cursore, se questi caratteri sono presenti nel testo di espansione. Quindi se hai la voce:

    en1=\begin{enumerate}%n\item %C%n\end{enumerate}%n

nel file di completamento, e usi il completamento delle abbreviazioni, l'espansione sarà come sotto, dove `x` indica la posizione finale del cursore.

    \begin{enumerate}
            \item x
    \end{enumerate}

### Abbreviazioni

Se scegli Mostra abbreviazioni, tutte le abbreviazioni possibili saranno mostrate in una vista della barra laterale. In questo modo avrai una visuale completa di tutte le abbreviazioni possibili.

Modalità di autocompletamento
Modalità di autocompletamento

## Modalità di autocompletamento

### Comandi LATEX

Puoi anche abilitare una modalità di autocompletamento per i comandi LATEX. Quando viene inserito un certo numero di lettere (tre come impostazione predefinita), si apre una finestra a comparsa con un elenco di tutti i comandi LATEX corrispondenti. Puoi selezionare uno di questi comandi, o ignorare questa finestra e scrivere altre lettere. Le voci del riquadro di completamento cambieranno sempre e corrisponderanno alla parola che stai scrivendo.

Vai a Impostazioni → Configura Kile → Kile+Completa per abilitare o disabilitare questa modalità, o cambiare il numero di soglia.

### Parole dei documenti

I grandi dizionari non sono utili nella modalità di autocompletamento. Però, abbiamo visto che ci sono molte parole che sono scritte più di una volta in un documento. Perciò Kile offre un completamento per tutte le parole del documento che l'utente ha già scritto. Puoi invocare il completamento manualmente premendo Ctrl+Spazio. Nota che questa modalità è diversa dalla modalità di completamento dei comandi LATEX.

Se vuoi attivare o disattivare questa modalità, vai a Impostazioni → Configura Kile → Editor → Modifica+Completamento delle parole. In questa finestra puoi impostare se deve essere attivata la modalità di completamento per le parole del documento. C'è anche un'altra modalità di completamento automatico, nella quale compare un riquadro di completamento quando si raggiunge una certa soglia.

Scrivere i propri file di completamento
Scrivere i propri file di completamento

## Scrivere i propri file di completamento

L'ultima specifica del formato dei file di completamento può essere trovata nella specifica del formato CWL.

I file di completamento possono essere installati nella cartella Home di un utente nella cartella `~/.kde/share/apps/kile/complete/<modalità>/`, dove `<modalità>` sta per `abbreviation`, `dictionary` o `tex`.

Capitolo 7. Assistenti e finestre
Assistenti e finestre

# Capitolo 7. Assistenti e finestre

## Assistente di avvio rapido

Questo assistente è già stato descritto nelAssistente di avvio rapido.

Includi grafica
Includi grafica

## Includi grafica

La finestra Includi grafica rende il più semplice possibile l'inserimento di elementi grafici. La puoi raggiungere dalla barra dei menu con LaTeX → Inserimento di immagini. Dài un'occhiata alFormati di file grafici e alGrafica EPS per avere una panoramica di alcuni concetti fondamentali sui formati grafici.

1. Scegli un file grafico. Può essere un file JPEG, PNG, PDF, EPS o anche un file EPS compresso. Se hai installato ImageMagick e hai anche configurato Kile per usarlo (Impostazioni → Configura Kile → LaTeX+Grafica), l'altezza e la larghezza dei file grafici sono mostrate automaticamente. Se ImageMagick può determinare una risoluzione, la dimensione dell'immagine viene mostrata anche in centimetri.

2. Decidi se l'immagine deve stare al centro della pagina.

3. Scegli se vuoi la notazione di `\graphicspath` per il file grafico.

   Come impostazione predefinita i file devono essere nella stessa cartella del documento principale. Però è possibile metterli in altre cartelle per mantenere le cose in ordine. Senza un comando `\graphicspath`, Kile includerebbe il percorso per il file grafico. Però se usi `\graphicspath` nel preambolo in questo modo:

       \graphicspath{{/percorso/ai/miei/file/grafici}{altro/percorso/ad/altri/grafici}}

   e segni questa opzione, Kile userà solo il nome di base del file grafico.

   Un altro esempio: se imposti il comando `\graphicspath` come:

       \graphicspath{{./}{macchinaFotografica/}{immagini/}}

   LATEX cercherà nella cartella attuale, poi in `macchinaFotografica`, e infine in `immagini` per trovare il file.

4. Se scegli un'altezza o una larghezza, tutto il file sarà riscalato in proporzione. Se imposti i due valori allo stesso tempo, la larghezza e l'altezza potrebbero essere riscalate con fattori diversi, e questo potrebbe non essere quello che avevi in mente. Vedi anche le informazioni in alto nella finestra per conoscere le dimensioni originali dell'immagine.

5. Inserisci un angolo di cui ruotare il file in senso antiorario.

6. Le informazioni sul riquadro di delimitazione sono impostate automaticamente quando scegli un file di grafica. Queste informazioni sono necessarie solo quando lavori con il LATEX normale e con la grafica bitmap. Vedi il discorso sulla grafica EPS.

   Se a LATEX serve un riquadro di delimitazione e non vuoi generare un file BB, Kile supporta questa opzione. D'altro canto, PDFLATEX produrrà un avviso ogni volta che vorrai includere della grafica PNG o JPG con questa opzione. Questa casella abilita o disabilita l'opzione del riquadro di delimitazione.

7. Riscala l'immagine del fattore di scala desiderato, per esempio 0,5 per dimezzare, o 2 per raddoppiare. Quando usi questa opzione, non c'è bisogno di impostare una larghezza o un'altezza dell'immagine.

8. Nella scheda Taglia immagine puoi ritagliare l'immagine in tutte e quattro le direzioni.

9. Infine, devi specificare se vuoi incorporare l'immagine in un ambiente figure. Se vuoi che il testo passi attorno alla figura, usa piuttosto l'ambiente wrapfigure.

   ### Nota

   Se scegli l'ambiente wrapfigure, devi includere il pacchetto wrapfig nel preambolo.

   In ogni caso puoi inserire una didascalia e un'etichetta dell'immagine. È buona norma aggiungere un diverso prefisso a diversi tipi di etichette. È comune usare il prefisso `fig:` per le immagini.

10. Se scegli l'ambiente figure, puoi scegliere dove LATEX dovrebbe preferibilmente mettere l'immagine.

11. Nell'ambiente wrapfigure puoi:

    1. Scegliere una regola di posizionamento per la figura e decidere se essa debba flottare o meno. In un documento con fronte e retro puoi definire se la figura debba essere sul lato interno od esterno della pagina.

    2. Definire quante righe abbreviate di testo vadano messe accanto alla figura. Se lo lasci vuoto, LATEX lo determinerà al meglio delle sue capacità.

    3. Definire una sporgenza da un lato a scelta. È particolarmente utile quando ci sono delle colonne nel documento e vuoi che una figura copra più di una colonna, o vuoi del testo abbreviato su ambo i lati della figura.

    4. Scegliere la larghezza della figura. Dovrebbe essere un po' più grande della larghezza reale dell'immagine, in modo che ci sia un po' di spazio vuoto tra la figura e il testo.

Matrici e tabulari
Matrici e tabulari

## Matrici e tabulari

Uno dei lavori più noiosi che si possano fare in LATEX è scrivere una matrice o un ambiente tabulare. Si deve tener conto di tutti gli elementi, assicurarsi che l'ambiente sia ben formato, e che tutte le cose siano dove devono essere. Una buona indentazione aiuta, ma c'è un modo più semplice: usare le voci del menu Assistente → Matrice e Assistente → Tabella di Kile. Apparirà quindi uno schema a forma di matrice che puoi facilmente riempire con delle voci. Questa finestra offre anche alcune opzioni per impostare il tipo di carattere degli elementi della tabella.

Usando la barra degli strumenti in cima alla finestra puoi impostare l'allineamento di una cella, definire lo stile del testo, unire e dividere le celle, scegliere un bordo, e specificare i colori di sfondo e del testo. In fondo a destra c'è un pulsante Incolla, con il quale puoi inserire una tabella dagli appunti; questo permette, per esempio, di copiare e incollare tabelle da un foglio di calcolo.

Sotto puoi scegliere quante righe e colonne vuoi, e puoi regolare altri dettagli della matrice:

- Con l'opzione Nome puoi selezionare quale ambiente usare per il materiale della matrice o della tabella.

- Puoi selezionare l'allineamento verticale delle celle con l'opzione Parametro. Questa è abilitata solo per gli ambienti che la supportano.

- Se esiste per l'ambiente selezionato, puoi selezionare Usa la versione con asterisco. Quando selezioni questa opzione, devi anche specificare una Larghezza della tabella.

- Le tabelle hanno a volte un aspetto migliore se selezioni l'opzione Usa il pacchetto booktabs.

- Ovviamente, puoi anche mettere tutta la matrice al Centro.

- Inserisci punti aiuta quando vuoi mettere il contenuto nell'editor. Con questa opzione, Kile inserirà dei segnaposti a forma di punto per ogni elemento della matrice.

L'opzione Assistente → Tabulazione farà apparire una finestra più semplice per configurare un ambiente di tabulazione. Permette di specificare facilmente il numero di righe e colonne e la spaziatura desiderata.

Inserire elementi flottanti
Inserire elementi flottanti

## Inserire elementi flottanti

Kile aiuta a inserire gli elementi flottanti. Con l'assistente disponibile da Assistente → Flottanti è molto facile creare un nuovo ambiente per figure o tabelle.

Per inserire un nuovo ambiente flottante basta seguire questi passi:

1. Scegli se vuoi inserire una figura o una tabella.

2. Seleziona le regole di posizionamento desiderate.

3. Inserisci una didascalia per il flottante.

4. Scrivi un'etichetta per il nuovo flottante. Kile suggerirà automaticamente un prefisso appropriato, per esempio `fig:` per le figure e `tab:` per le tabelle.

Inserire ambienti matematici
Inserire ambienti matematici

## Inserire ambienti matematici

Ricordarsi come funzionano tutti i vari ambienti matematici può essere una seccatura. Ovviamente Kile può aiutarti anche in questo: Assistente → Matematica.

Opzioni:

- Nome: scegli il tipo di elemento matematico che vuoi creare.

- Senza numerazione: questo disattiva la numerazione per gli elementi come equazioni o allineamenti.

- Comando di spaziatura per separare i gruppi: in un ambiente che supporta diversi gruppi, come alignat, puoi definire un separatore di spaziatura quando hai più di un gruppo. Puoi inserire qualsiasi comando di spaziatura che esista in modalità matematica, per esempio `\qquad`.

- Tabulatore standard: seleziona il tabulatore da usare. Qui Kile dovrebbe scegliere automaticamente quello giusto.

- Modalità di vista matematica: per ambienti come matrici o vettori puoi scegliere con quale ambiente visualizzare il testo matematico.

- Usa punti: con questa opzione, Kile inserirà dei segnaposti a forma di punto per ogni elemento del testo matematico.

Programmi per PostScript®
Programmi per PostScript®

## Programmi per PostScript®

I file PS non sono popolari come i PDF, ma sono un ottimo punto di partenza per le manipolazioni e i riordinamenti delle pagine. Se vuoi un file PDF, puoi riordinare le pagine con dei programmi PostScript®, e poi convertire in PDF con ps2pdf.

L'Assistente PostScript® sotto Assistente → Strumenti PostScript suggerirà gli ordinamenti più comuni. Il lavoro viene fatto dai programmi pstops e psselect, che si trovano nella maggior parte delle distribuzioni nel pacchetto `psutils`. Se uno di questi programmi non è disponibile, l'elemento corrispondente non sarà visibile.

Per prima cosa scegli il file di ingresso. Se Kile trova un file PS corrispondente al documento principale attuale, questo verrà suggerito come file di ingresso, ma sei libero di sceglierne un altro. Quindi, scegli un file risultante e seleziona uno dei compiti. Infine devi decidere se vuoi solo la conversione o se vuoi anche chiamare Okular per visualizzare il risultato.

1 pagina + pagina vuota A5 → A4

  Metti insieme una pagina A5 con una pagina vuota su una pagina A4. Ogni volta che due pagine A5 sono messe insieme, sono ruotate di 90 gradi e saranno posizionate orizzontalmente su una pagina A4.

1 pagina A5 + duplicato → A4

  Metti insieme una pagina A5 e una sua copia su una pagina A4.

2 pagine A5 → A4

  Metti insieme due pagine A5 consecutive su una pagina A4.

2 pagine A5L → A4

  Metti insieme due pagine A5 orizzontali consecutive su una pagina A4.

4 pagine A5 → A4

  Metti insieme quattro pagine A5 consecutive su una pagina A4. Le pagine A5 devono essere riscalate con un fattore di 0,7 per adattarsi alla pagine.

1 pagina A4 + pagina vuota → A4

  Metti assieme una pagina A4 con una pagina vuota su una pagina A4. Ogni volta che due pagine A4 sono messe assieme in una pagina A4, devono essere riscalate con un fattore di 0,7, e saranno ordinate orizzontalmente.

1 pagina A4 + duplicato → A4

  Metti una pagina A4 e una sua copia in una pagina A4.

2 pagine A4 → A4

  Metti assieme due pagine A4 consecutive su una pagina A4.

2 pagine A4L → A4

  Metti assieme due pagine A4 consecutive e orizzontali su una pagina A4.

seleziona pagine pari

  Seleziona tutte le pagine pari di un documento.

seleziona pagine dispari

  Seleziona tutte le pagine dispari di un documento.

seleziona pagine pari (ordine inverso)

  Seleziona tutte le pagine pari di un documento e invertine l'ordine.

seleziona pagine dispari (ordine inverso)

  Seleziona tutte le pagine dispari di un documento e invertine l'ordine.

inverti tutte le pagine

  Inverti tutte le pagine di un documento.

copia tutte le pagine (ordinate)

  Copia tutte le pagine di un documento. Devi scegliere il numero di copie ordinate.

copia tutte le pagine (non ordinate)

  Copia tutte le pagine di un documento. Devi scegliere il numero di copie non ordinate.

pstops: scegli parametro

  Ci sono molte opzioni per i comandi PostScript® pstops e psselect. Se ti serve un'opzione particolare, puoi chiamare pstops con un'opzione di tua scelta. Riferisciti al manuale per tutte le opzioni possibili.

psselect: scegli parametro

  Puoi chiamare psselect con un'opzione di tua scelta. Riferisciti al manuale per tutte le opzioni possibili.

Programmi per PDF
Programmi per PDF

## Programmi per PDF

Molti pensano che i PDF siano file immutabili; esistono invece degli ottimi programmi per:

- manipolare e ridisporre le pagine,

- leggere e aggiornare le informazioni del documento,

- leggere, impostare e cambiare alcuni permessi

di un documento PDF.

L'Assistente PDF di Kile sotto Assistente → Strumenti PDF usa due diversi metodi per manipolare e ridisporre i documenti PDF:

- I pacchetto LATEX pdfpages, che fa parte di ogni distribuzione di LATEX. pdfpages non funziona con pagine cifrate.

- pdftk, che è un ottimo strumento da riga di comando per fare cose comuni con i documenti PDF (vedi il suo sito).

Se uno di questi assistenti, pdfpages o pdftk, manca sul tuo sistema, i suoi elementi corrispondenti non saranno visibili. Inoltre, ricorda che solo pdftk può lavorare con i file cifrati.

### Ridisposizioni

Quando viene chiamato l'assistente PDF di Kile, si avvia con la scheda di registrazione delle Ridisposizioni.

Per prima cosa scegli il file di ingresso. Se Kile trova un file PDF corrispondente al documento principale attuale, questo verrà suggerito come file di ingresso, ma sei libero di sceglierne un altro. Quindi, scegli un file risultante o di sovrascrivere il file esistente, e seleziona uno dei compiti. Infine devi decidere se vuoi solo la conversione o se vuoi anche chiamare il visore (per esempio Okular) per visualizzare il documento risultante.

Se il file PDF è cifrato, funzionerà solo pdftk, e devi dare la password del documento per eseguire i compiti.

1 pagina + pagina vuota → A4

  Metti insieme una pagina con una pagina vuota su una pagina A4. Ogni volta che due pagine A5 sono messe insieme, sono ruotate di 90 gradi e posizionate orizzontalmente su una pagina A4.

  Ogni volta che due pagine A4 sono messe insieme, sono riscalate, ruotate di 90 gradi e posizionate orizzontalmente su una pagina A4.

1 pagina + duplicato → A4

  Metti insieme una pagina e una sua copia su una pagina A4.

  Se la pagina da duplicare ha dimensioni A4, sarà riscalata per adattarsi alla pagina.

2 pagine → A4

  Metti insieme due pagine consecutive su una pagina A4. Ogni volta che due pagine A5 sono messe insieme, sono ruotate di 90 gradi e posizionate orizzontalmente su una pagina A4.

  Ogni volta che due pagine A4 sono messe insieme, sono riscalate, ruotate di 90 gradi e posizionate orizzontalmente su una pagina A4.

2 pagine (orizzontali) → A4

  Metti insieme due pagine orizzontali consecutive su una pagina A4.

4 pagine → A4

  Metti insieme quattro pagine consecutive su una pagina A4. Le pagine devono essere riscalate per adattarsi alla pagina.

4 pagine (orizzontali) → A4

  Metti insieme quattro pagine orizzontali consecutive su una pagina A4. Le pagine devono essere riscalate per adattarsi alla pagina.

seleziona pagine pari

  Seleziona tutte le pagine pari di un documento.

seleziona pagine dispari

  Seleziona tutte le pagine dispari di un documento.

seleziona pagine pari (ordine inverso)

  Seleziona tutte le pagine pari di un documento e invertine l'ordine.

seleziona pagine dispari (ordine inverso)

  Seleziona tutte le pagine dispari di un documento e invertine l'ordine.

inverti tutte le pagine

  Inverti tutte le pagine di un documento.

decifra un file

  Se il PDF è cifrato, lo puoi decifrare.

seleziona pagine

  Aggiungi un elenco separato da virgole delle pagine o dei loro intervalli, per esempio `1,4-7,9`. Appariranno solo queste pagine nel file PDF prodotto.

elimina pagine

  Aggiungi un elenco separato da virgole delle pagine o dei loro intervalli da rimuovere dal file PDF.

applica una filigrana di sfondo

  Applica una filigrana PDF allo sfondo di un singolo PDF di ingresso. L'assistente usa solo la prima pagina dal PDF di sfondo e la applica a ogni pagina del PDF di ingresso. Questa pagina viene riscalata e ruotata come necessario per adattarsi alla pagina di ingresso.

applica un colore di sfondo

  Applica un colore di sfondo a tutte le pagine del documento attuale. Si può fare una volta sola, perché il secondo colore sarà dietro al primo e quindi non sarà visibile.

applica un timbro in primo piano

  Applica un timbro in primo piano sopra le pagine del documento PDF di ingresso. L'assistente usa solo la prima pagina del PDF del timbro e la applica a ogni pagina del PDF di ingresso. Questa pagina viene riscalata e ruotata come necessario per adattarsi alla pagina in ingresso. Funziona al meglio se la pagina del PDF timbro ha uno sfondo trasparente.

pdftk: scegli parametro

  Puoi chiamare pdftk con un'opzione di tua scelta. Riferisciti al manuale per tutte le opzioni possibili.

pdfpages: scegli parametro

  Puoi chiamare pdfpages con un'opzione di tua scelta. Riferisciti al manuale per tutte le opzioni possibili.

### Proprietà

L'impostazione, la modifica e la rimozione delle proprietà saranno possibili solo se pdftk è installato e se inoltre Kile è stato compilato con la libreria `libpoppler`.

I metadati tradizionali dei PDF includono il titolo, l'autore, l'oggetto, le parole chiave, il creatore, il produttore e le date di creazione e ultima modifica del documento.

### Permessi

Inoltre, l'impostazione, la modifica e la rimozione dei permessi saranno possibili solo se pdftk è installato.

È necessaria una password per impostare o cambiare queste impostazioni del documento. La cifratura PDF è effettuata per bloccare i contenuti del file dietro a questa password, o per imporre certe restrizioni decise dall'autore. L'autore può permettere o proibire:

- la stampa delle pagine

- la modifica delle pagine

- la copia del testo e della grafica dalle pagine

- la modifica o l'aggiunta di annotazioni

- la compilazione dei moduli con dati.

La modifica dei permessi impone sempre la cifratura associata alla sicurezza a 128 bit di Acrobat 5 e 6, e richiede anch'essa una password.

Tieni sempre presente: la cifratura e una password non danno nessuna reale sicurezza per il file PDF. Il contenuto è cifrato, ma la chiave è nota. Dovresti considerarla come una richiesta, cortese ma decisa, di rispettare i desideri dell'autore.

Statistiche del documento
Statistiche del documento

## Statistiche del documento

La finestra delle statistiche sotto File → Statistiche presenta una panoramica statistica di una selezione, un documento o un intero progetto. Include il numero di parole, comandi e ambienti LATEX, e anche il numero di caratteri di ciascun tipo.

Le statistiche ottenute possono essere copiate negli appunti come testo o come una tabella LATEX ben formattata.

Quando selezioni del testo e apri la finestra delle statistiche, ottieni le statistiche del testo attualmente selezionato. Se apri la finestra senza aver selezionato del testo, vengono mostrate le statistiche di tutti i file aperti. Se vuoi le statistiche di tutto il progetto, puoi usare Progetto → Apri tutti i file del progetto per aprire facilmente tutti i file sorgente del progetto.

Si deve fare attenzione all'accuratezza dei numeri. Abbiamo incluso della logica per avere una buona stima, per esempio `K\"uhler` risulta in una parola e un comando con rispettivamente sei e due caratteri. Però ci sono altre combinazioni in cui parte dei comandi viene contata come parola e viceversa. Nota che l'algoritmo è stato sviluppato e provato per le lingue simili all'inglese o al tedesco, quindi non considerare i numeri perfetti. Se devi scrivere un rapporto la cui lunghezza deve avere un certo numero di parole o caratteri, fai prima delle prove per verificare se l'accuratezza di Kile è adatta a te.

Capitolo 8. Tag speciali in LATEX
Tag speciali in LATEX

# Capitolo 8. Tag speciali in LATEX

## Usare la libreria di etichette LATEX

LATEX ha migliaia di etichette per simboli e caratteri speciali. Il modo più facile per inserirli è usare il menu della barra laterale, a sinistra della finestra dell'editor.

Il menu della barra laterale

Sono disponibili i seguenti tipi:

- Usati più spesso

- Relazione

- Operatori

- Frecce

- Matematica varia

- Testo vario

- Delimitatori

- Greco

- Caratteri speciali

- Caratteri cirillici

- Definiti dall'utente

I suggerimenti delle icone mostrato i comandi LATEX e i pacchetti aggiuntivi necessari.

Premere Shift e fare clic su un simbolo farà inserire `$\`comandosimbolo`$`. Similmente, premere Ctrl lo inserirà tra parentesi graffe.

Se inserisci un comando che richiede un pacchetto non incluso nel documento LATEX, vedrai un messaggio nella finestra del registro.

Il primo elenco di simboli contiene i simboli Usati più spesso. I simboli che inserisci saranno aggiunti a questo elenco per poterli ritrovare facilmente. L'ordine dei simboli non verrà cambiato all'aggiunta di nuovi elementi; verrà invece aumentato un contatore. Se il numero di elementi è oltre 30, l'elemento con il conto minore viene rimosso.

L'elenco di simboli Definiti dall'utente può contenere i tuoi simboli. Per crearli devi avere il programma gesimb e il file `definitions.tex` del pacchetto sorgente di Kile. Inoltre ti serve un compilatore LATEX e dvipng (versione 1.7 o successiva). La procedura è creare un file LATEX con `\input{`definitions`}`, che rende disponibili i comandi elencati sotto, ed eseguire `gesymb `mieisimboli.tex` `utente`` (che chiama LATEX e dvipng) per creare le icone. Dopo averle copiate in `$`HOME`/.kde/share/apps/kile/mathsymbols/user/` e aver riavviato Kile puoi usare i tuoi simboli.

In `definitions.tex` sono definiti i seguenti comandi:

- `\command[\opzione]{\simbolo}`: include il simbolo `\simbolo` nell'elenco dei simboli; l'argomento facoltativo `\opzione` specifica il comando che Kile deve inserire. Se non viene dato, viene usato il comando fornito nell'argomento obbligatorio.

- `\mathcommand[\opzione]{\simbolo}`: come sopra, tranne che il comando nell'argomento obbligatorio viene inserito in modalità matematica.

- `\pkgs[argomento]{pacchetto}`: dichiara che il comando dato su questa riga ha bisogno del pacchetto LATEX `pacchetto` con l'argomento facoltativo `argomento`. Questo comando deve stare davanti al comando `\command` e sostituisce qualsiasi specificazione di pacchetti da parte dell'ambiente neededpkgs.

- `\begin{neededpkgs}[argomenti]{pacchetti} ... \end{neededpkgs}`: ha lo stesso effetto come sopra, ma per tutti i comandi inclusi nell'ambiente.

Per completezza, viene qui dato un esempio:

    \documentclass[a4paper,10pt]{article}
    \usepackage{amssymb}
    \input{definitions}
    %
    \begin{document}
    \pagestyle{empty}
    %
    \begin{neededpkgs}{amssymb}
    \mathcommand{\surd}
    \pkgs{amsmath}\mathcommand[\ddddot{}]{\ddddot{a}}
    \mathcommand{\angle}
    \end{neededpkgs}
    \command{\"A}
    \mathcommand{\exists}
    \mathcommand[\stackrel{}{}]{\stackrel{abc}{=}}

    %\begin{neededpkgs}[russian,koi8-r,T2C,]{babel,inputenc,fontenc,mathtext}
    %
    %   \end{neededpkgs}
    % questo dovrebbe includere i pacchetti
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  solo per spiegare il formato
    \end{document}

Usare i bibitem
Usare i bibitem

## Usare i bibitem

`\bibitem` è un comando usato per inserire un riferimento in un ambiente `thebibliography` nel documento. La sintassi per usare `\bibitem` è `\bibitem[etichetta]{chiave}`.

L'`[etichetta]` facoltativa serve per aggiungere il tuo sistema di etichettamento per la voce della bibliografia. Se non viene impostata nessuna etichetta, le voci saranno poste in ordine numerico: [1], [2], [3], eccetera.

L'argomento `{chiave}` è usato per referenziare e collegare i comandi `\bibitem` e `\cite` l'uno all'altro e le informazioni che essi contengono. Il comando `\cite` contiene l'etichetta associata al `\bibitem` desiderato, che è situato all'interno di un ambiente `thebibliography`, e contiene i dati del riferimento. Sia `\bibitem` che il corrispondente `\cite` devono avere la stessa `{chiave}`; il modo più semplice per organizzare le chiavi è il cognome dell'autore. Le graffe secondarie in `{thebibliography}` indicano l'etichetta più lunga che ti aspetti di avere nella bibliografia. Quindi, inserire `{`pippo`}` indica che puoi avere qualsiasi etichetta più corta o lunga uguale all'espressione ``pippo``. Impostare male questo parametro potrebbe risultare in un'indentazione non troppo gradevole nella bibliografia.

La bibliografia è una sezione separata dal documento principale, e un esempio di codice per la bibliografia è il seguente:

    \begin{thebibliography}{50}
            \bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm... ciambelle}. Evergreen Terrace Printing Co.,
                              Springfield, DaQualchePartenegliusa, 1998
    \end{thebibliography}

Poi, il codice sorgente principale conterrebbe l'indirizzo dell'informazione relativa al `\bibitem` usando `\cite`. Quel codice sorgente assomiglierebbe a questo:

    La mia tesi riguardo alla filosofia dei Simpson\copyright viene dal mio libro preferito \cite{Simpson}.

Siccome spesso è difficile ricordarsi l'esatta chiave di citazione una volta che hai molti riferimenti, Kile dà un modo semplice per inserire una citazione. Usando LaTeX → Riferimenti → Cita appare un elenco con tutte le citazioni. Seleziona il riferimento giusto, e una citazione sarà inserita nel documento. Per aggiornare la lista delle chiavi, salva il file, o seleziona Modifica → Aggiorna Struttura, o premi F12. Quando il completamento del codice è abilitato, Kile mostrerà un elenco delle etichette `bibitem` non appena apri un comando `\cite`.

Il risultato finale nella bibliografia del documento sarebbe più o meno come questo:

`[1] Homer J. Simpson. Mmmmm... ciambelle. Evergreen Terrace Printing Co., Springfield, DaqualchepartenegliUSA, 1998.`

Kile può anche lavorare assieme a editor di file BibTEX, come KBibTEX, per facilitare l'inserimento di citazioni. Quando si aggiunge un file BibTEX al progetto, Kile aiuterà a completare i comandi di citazione, come descritto sopra.

Capitolo 9. Menu configurabile dall'utente
Menu configurabile dall'utente

# Capitolo 9. Menu configurabile dall'utente

## Configurazione

Kile supporta un menu configurabile dall'utente, che comparirà come parte del menu di Kile. Lo si può configurare con la finestra di configurazione di Kile, con Impostazioni → Configura Kile → Menu dell'utente.

Hai due scelte per dove mettere questo menu:

- O il Menu dell'utente apparirà nella barra dei menu principale tra i menu LaTeX e Assistente, e l'assistente di configurazione Modifica il menu dell'utente nel menu Assistente;

- O entrambi gli elementi appariranno in fondo al menu LaTeX.

Le etichette definite dall'utente preesistenti da versioni precedenti di Kile vengono trasformate automaticamente nel nuovo menu configurabile dall'utente. Le etichette vengono salvate in un file di nome `usertags.xml`, e come tutti i file di definizione dei menu è reperibile nella cartella locale dei menu dell'utente di Kile: ``KILE_APP_DIR`/usermenu/`, per esempio `/home/utente/.kde/share/apps/kile/usermenu/`.

Puoi usare diversi file di definizione dei menu per diversi compiti. Richiama l'assistente del menu dell'utente con Assistente → Modifica il menu dell'utente o LaTeX → Modifica il menu dell'utente per installare o modificare un file di definizione dei menu.

Assistente
Assistente

## Assistente

Puoi creare nuovi menu o cambiare gli attuali con un comodo assistente di configurazione dei menu dell'utente, accessibile da Assistente → Modifica il menu dell'utente.

Sul lato sinistro vedrai l'albero del menu attuale. Come per un normale menu, sono disponibili tre tipi di elementi:

- voci del menu normali, assegnate ad un'azione;

- sottomenu, che contengono altri elementi;

- separatori, per dare una struttura visibile di tutte le voci.

Per modificare questo menu, usa i sei pulsanti sul lato sinistro. Altre azioni sono disponibili nel menu contestuale degli elementi preesistenti.

Ogni elemento normale del menu è assegnato a uno tra tre tipi di azione, dove ognuno ha diversi attributi impostabili:

- Testo Kile dà la possibilità di creare le tue etichette. Un'etichetta è come una scorciatoia che avvia un comando o scrive del testo inserito di frequente: per esempio, un avvocato potrebbe usare sempre le stesse clausole nei suoi contratti. Questa etichetta sarà inserita alla posizione attuale del cursore alla chiamata di questa azione (vedi sopra). Sono disponibili anche i caratteri meta, vedi Segnaposti.

- Inserisci i contenuti del file: inserisce tutti i contenuti di un file indicato.

- Esegui programma: il risultato prodotto da questo programma può essere inserito nel documento aperto. Anche il carattere meta `%M` è disponibile nella riga di comando di questo programma: il testo selezionato verrà salvato in un file temporaneo, e `%M` indicherà il nome di questo file temporaneo.

Se mancano delle informazioni importanti per un'azione, gli elementi del menu sono colorati in rosso. Questo potrebbe indicare un file mancante.

o un titolo mancante per una voce del menu, che verrà mostrata con dei punti interrogativi, come ???.

Se apri il menu contestuale di un elemento così colorato in rosso, otterrai un'opzione aggiuntiva riguardo a questo errore.

Maggiori informazioni potrebbero essere disponibili con la funzionalità Che cos'è? della maggior parte degli oggetti.

Segnaposti
Segnaposti

## Segnaposti

### Inserire del testo

Ci sono alcuni segnaposti che puoi usare nelle etichette definibili dall'utente: `%C`, `%B`, `%M`, `%E`, `%R` e `%T`.

- `%C`: questo è dove il cursore sarà posizionato dopo l'inserimento di un'etichetta definita dall'utente.

- `%B`: sarà sostituito da un punto (vedi Punti).

- `%M`: sarà sostituito dal testo selezionato.

- `%E`: indica la profondità di rientro del testo in un ambiente.

- `%R`: richiamerà una finestra di riferimento per scegliere un'etichetta precedentemente definita. Questo si può usare per riferirsi a un'etichetta predefinita, selezionabile da un menu a cascata (vedi anche LaTeX → Riferimenti → ref o LaTeX → Riferimenti → pageref).

- `%T`: richiamerà una finestra di citazioni per scegliere una citazione definita in precedenza. Come nell'uso di LaTeX → Riferimenti → Cita, appare un elenco con tutte le chiavi di citazione.

Consideriamo un altro esempio, con la macro seguente `\frac{%M}{%C}`. Per prima cosa, selezioniamo un numero nel testo, poniamo `42`. Adesso invochiamo questa macro e otteniamo `\frac{42}{}` con il cursore posizionato nella seconda coppia di graffe.

### Inserire i contenuti di un file

Se vuoi inserire i contenuti di un file di testo, puoi usare gli stessi segnaposti.

### Eseguire un programma

Se vuoi eseguire un programma esterno, dalla riga di comando viene riconosciuto solo `%M` per il testo selezionato. La selezione verrà salvata in un file temporaneo e il segnaposto `%M` verrà sostituito con il nome di questo file.

Un altro segnaposto è `%S`, che viene sostituito dal nome di base completo del documento attuale senza il percorso. Questo nome di base è costituito da tutti i caratteri del file fino all'ultimo punto (`.`) escluso.

Parametri
Parametri

## Parametri

La maggior parte delle voci dei menu hanno altri parametri che si spiegano da sé che possono essere selezionati. Se alcuni di questi parametri non sono disponibili per qualche tipo di azione, vengono disabilitati.

Ecco un esempio di esecuzione di un programma esterno:

Puoi vedere che viene richiamato uno script `Perl`, che dovrebbe lavorare con la selezione attuale. Il parametro È necessario avere selezionato del testo è spuntato per assicurare la presenza di una selezione. Il risultato di questo script verrà inserito (Inserisci il risultato del programma scelto) e sostituirà la selezione attuale (Sostituisci il testo selezionato, ma non verrà selezionato.

Naturalmente puoi anche chiamare il tuo programma o il tuo script. Per esempio, seleziona una lista di numeri separati da spazi, e chiama uno script o un programma in Perl che trasformi questa selezione in un codice LATEX per una matrice. Qualunque possano essere le tue idee, puoi realizzarle utilizzando la seguente voce di menu dell'utente.

File di definizione dei menu
File di definizione dei menu

## File di definizione dei menu

Puoi installare diversi menu durante l'esecuzione per diversi compiti. Quando richiami l'assistente dei menu dell'utente, viene caricato l'attuale file di definizione dei menu. Se lo modifichi e chiudi la finestra con OK, le tue modifiche verranno salvate e installate come il nuovo menu dell'utente. Chiudere la finestra con Annulla scarterà le modifiche.

Sei anche libero di salvare il file modificato nella cartella dei menu dell'utente o caricare un altro file di definizione dei menu e installarlo. Tutti i file di definizione dei menu dell'utente vanno salvati nella cartella locale dei menu dell'utente di Kile: ``KILE_APP_DIR`/usermenu/`.

Guarda il file di definizione dei menu d'esempio `example.xml` per vedere altre voci del menu coi loro parametri.

Capitolo 10. Gli strumenti di costruzione
Gli strumenti di costruzione

# Capitolo 10. Gli strumenti di costruzione

## Compilazione, conversione e visualizzazione

Per visualizzare il risultato del tuo lavoro, devi prima compilarne il sorgente. Tutti gli strumenti di costruzione sono raggruppati nei menu Costruzione → Compila, Costruzione → Converti, e Costruzione → Visualizza.

Per compilare il codice sorgente per visori come Okular o conversioni successive, puoi usare la scorciatoia Alt+2. Poi puoi visualizzare il file DVI con il visore predefinito con Alt+3, convertire il DVI in un file PS con Alt+4, e visualizzare il file PS con Alt+5.

### BibTEX

Se usi BibTEX per le voci bibliografiche, normalmente devi seguire uno schema di compilazione speciale. Ciò vuol dire chiamare LATEX e poi BibTEX e poi di nuovo LATEX. Fortunatamente Kile è abbastanza intelligente da rilevare da solo se è necessario chiamare strumenti aggiuntivi come BibTEX, makeidx e Asymptote. Questa logica è attivata come impostazione predefinita, ma ciò può essere cambiato a Impostazioni → Configura Kile → Strumenti+Costruzione nella scheda Generale negli strumenti LATEX e PDFLATEX.

### MetaPost e Asymptote

Se vuoi compilare il documento con MetaPost o Asymptote, dei programmi di disegno, puoi farlo con Costruzione → Compila → Metapost, o Costruzione → Compila → Asymptote.

### PDFLATEX

C'è anche un altro modo per compilare il documento, se vuoi un PDF: puoi eseguire PDFLATEX, che compilerà il sorgente direttamente in un file PDF, con Alt+6: puoi quindi visualizzare il file premendo Alt+7.

Alternativamente, puoi convertire un PS in un PDF con Alt+8, o direttamente un DVI in un PDF con Alt+9.

Usare PDFLATEX invece di LATEX può essere solo una questione di semplicità o d'abitudine, ma a volte il comportamento dei due programmi può differire.

### Da LATEX a Web

Infine, potresti voler pubblicare il lavoro sul Web, e non solo su carta. Puoi allora usare il programma latex2html, che può essere chiamato dal menu Costruzione → Converti → Da LaTeX a Web di Kile. Il risultato sarà posizionato in una sottocartella della cartella di lavoro, e potrai vedere il risultato della conversione scegliendo l'elemento Costruzione → Visualizza → Visualizza HTML.

### Passare parametri da riga di comando

Se vuoi passare alcuni parametri da riga di comando specifici agli strumenti di compilazione, conversione e visualizzazione, puoi configurarne la chiamata in Impostazioni → Configura Kile → Strumenti+Costruzione.

Anteprima veloce
Anteprima veloce

## Anteprima veloce

Lavorando con LATEX, servirà sempre un po' di tempo per vedere il risultato. LATEX deve compilare il sorgente, e deve essere avviato il visore. Ciò potrebbe essere fastidioso se hai solo cambiato qualche lettera in un'equazione difficile da scrivere. Kile offre una modalità di Anteprima rapida, dove puoi compilare solo parte del documento e risparmiare molto tempo. Supporta quattro diverse modalità, che possono essere combinate con sette configurazioni.

Tutte le impostazioni devono essere fatte in Impostazioni → Configura Kile → Strumenti+Anteprima.

### Modalità di selezione

L'utente deve selezionare una parte del documento. La voce del menu Costruzione → Anteprima rapida → Selezione o la scorciatoia da tastiera Ctrl+Alt+P,S avvierà i programmi selezionati. Kile prende il preambolo del testo originale, in modo che tutti i pacchetti e i comandi definiti dall'utente siano inclusi. L'utente può scegliere una configurazione tra otto predefinite:

- LaTeX+DVI (visore incorporato)

- LaTeX+DVI (Okular)

- LaTeX+PS (visore incorporato)

- LaTeX+PS (Okular)

- PDFLaTeX+PDF (visore incorporato)

- PDFLaTeX+PDF (Okular)

- XeLaTeX+PDF (visore incorporato)

- XeLaTeX+PDF (Okular)

Ciò dovrebbe bastare per tutte le situazioni per cui ci sia bisogno di una anteprima rapida.

### Modalità ambientale

Molto spesso vorresti avere un'anteprima dell'ambiente attuale, e in particolare gli ambienti matematici, che a volte sono difficili da scrivere. Kile offre un modo molto veloce di farlo. Non c'è bisogno di selezionare, basta scegliere Costruzione → Anteprima rapida → Ambiente o la scorciatoia da tastiera Ctrl+Alt+P,E, e l'ambiente attuale sarà compilato e visualizzato.

### Modalità sottodocumento

Se hai dei progetti con molti documenti, compilare tutto il progetto non è una buona idea, se hai fatto cambiamenti in un documento solo. Kile può compilare e mostrare un'anteprima del sottodocumento attuale. Prende il preambolo del documento principale e compila solo la parte attuale quando selezioni Costruzione → Anteprima rapida → Sottodocumento o la scorciatoia da tastiera Ctrl+Alt+P,D.

### Modalità gruppo matematico

La modalità di anteprima del gruppo matematico permette di vedere il gruppo matematico che stai attualmente modificando. Kile prende il preambolo del documento principale e compila solo il gruppo matematico in cui il cursore si trova quando scegli Costruzione → Anteprima rapida → Gruppo matematico o la scorciatoia da tastiera Ctrl+Alt+P, M.

### Anteprima rapida nella barra in basso

Invece di mostrare l'anteprima in un nuovo documento, Kile può anche essere configurato per usare la barra in basso per fare un'anteprima delle compilazioni. Puoi attivare questa funzionalità nel pannello di configurazione dell'anteprima rapida.

Formati di file grafici
Formati di file grafici

## Formati di file grafici

### LATEX e PDFLATEX

PDFLATEX, quando usato con i pacchetti `graphics` o `graphicx`, può compilare correttamente i file PNG e JPG nei DVI e PDF, ma non è in grado di gestire i file EPS. Di converso, il processo di compilazione LATEX in DVI e conversione a PS e infine PDF supporta EPS, ma non supporta PNG e JPG.

Molti utenti vogliono creare dei documenti PDF, ma vogliono anche usare l'ottimo pacchetto Pstricks per creare grafica PostScript®, o vogliono usare i grafici PostScript® prodotti da programmi matematici e scientifici come Mathematica, Maple o MuPAD. Questi utenti di LATEX devono prima compilare in PostScript®, anche se vogliono creare documenti PDF, perché questi programmi producono del codice PostScript® che non può essere gestito da PDFLATEX. Però non è così difficile, perché Kile può aiutare.

### Conversione della grafica

Per superare questa impasse, quando vuoi includere sia codice PostScript® che file PNG o JPG, hai a disposizione una serie di soluzioni:

- Se hai bisogno di un file in formato PS, ma hai file grafici JPG o PNG, puoi semplicemente prima produrre un DVI con PDFLATEX, e poi usare dvips per creare il file PS. PDFLATEX è un'ottima scelta, se il sorgente non contiene nessun codice PostScript®.

- Puoi convertire i file EPS a PNG o altri formati con applicazioni come Gimp o ImageMagick, e quindi usare PDFLATEX.

- Un modo preferibile è convertire la grafica EPS in PDF con il comando epstopdf, presente in ogni distribuzione di TEX, e quindi usare PDFLATEX. Produce grafica di alta qualità, e puoi anche controllarne il risultato con alcune delle seguenti opzioni:

      -dAutoFilterColorImages=false
              -dAutoFilterGrayImages=false
              -sColorImageFilter=FlateEncode
              -sGrayImageFilter=FlateEncode
              -dPDFSETTINGS=/prepress
              -dUseFlateCompression=true

  Ancora meglio, se il sistema permette `shell-escape`, la conversione può essere fatta al volo. Tutto quello che devi fare è includere il pacchetto epstopdf, che fa parte delle distribuzioni TEX, con il comando `\usepackage{epsdopdf}`. Supponendo che il codice sia

              \includegraphics[width=5cm]{prova.eps}

  Quando chiami PDFLATEX con l'opzione `--shell-escape`, il file grafico `prova.eps` viene convertito automaticamente in `prova.pdf`.

  Questa conversione avverrà ogni volta che esegui PDFLATEX. Se il comando grafico viene dato implicitamente con:

              \includegraphics[width=5cm]{test}

  epstopdf controllerà se c'è già un `prova.pdf` disponibile, in modo da poter saltare la conversione.

- Puoi convertire nell'altro senso, e usare LATEX e la conversione PS-PDF. Questa non è sempre una buona idea, perché l'incapsulazione EPS di file JPG o PNG può produrre file più grandi, che a loro volta producono documenti inutilmente grandi; questo però dipende molto dall'applicazione grafica che usi, perché EPS può incapsulare altri file grafici, ma non tutte le applicazioni supportano perfettamente questa possibilità. Alcune potrebbero anche cercare di ricostruire l'immagine JPG con vettori e vari script, che risulterà in file giganteschi. La conversione di tutti i file grafici in EPS può essere fatta con ImageMagick. Un altro semplice programma che fa correttamente questo processo è jpg2ps.

- Puoi anche usare una conversione automatica. Tutti i file grafici sono convertiti al volo in EPS, e inseriti nel documento PS. Questa è una modalità comoda, ma devi impostare correttamente il sistema. Ciò viene discusso nella sezione sulla grafica EPS.

### Usa il formato giusto per la grafica giusta

- EPS è una specie di linguaggio vettoriale, che descrive tutte le linee e punti di cui l'immagine è composta; non perde molto quando viene ingrandito oltre la sua dimensione predefinita, e si adatta al meglio ai diagrammi e alla grafica vettoriale prodotta nativamente in EPS, che hanno un aspetto chiaro e netto pur mantenendo una dimensione molto ridotta.

- PNG (o lo sconsigliato GIF) è un formato senza perdita, con buone compressione e qualità. È molto buono per diagrammi, scansioni di disegni, o qualsiasi cosa di cui vuoi mantenere la definizione. È a volte esagerato per le foto.

- JPG è un formato con perdita, che comprime i file meglio di PNG al prezzo di qualche perdita nei dettagli delle immagini. Questo è normalmente irrilevante per le foto, ma potrebbe causare una cattiva qualità per diagrammi e disegni, e potrebbe far sparire del tutto le linee più sottili; in questi casi usa EPS o PNG.

Ma ricorda sempre il principio di conservazione della rumenta: nessuna conversione abbellirà una cattiva immagine.

Grafica EPS
Grafica EPS

## Grafica EPS

I file grafici EPS sono il modo tradizionale di inserire i file grafici nei documenti LATEX. Siccome le mailing list sono piene di domande sulla grafica EPS, discuteremo alcuni aspetti importanti e dimostreremo come Kile li supporta.

### LATEX e la grafica EPS

Se hai deciso di usare il classico LATEX per produrre file PS o PDF, probabilmente incorrerai in alcuni problemi con la grafica. Devi usare la grafica EPS (Encapsulated PostScript®), senza file JPEG o PNG. Non dovrebbe essere un problema, perché ci sono molti convertitori come convert dell'eccellente pacchetto ImageMagick. Però ci vuole un po' di tempo.

I file EPS vengono usati sia da LATEX che dai convertitori DVI-PS:

- LATEX scansiona il file EPS per trovare la linea del riquadro di delimitazione, che dice a LATEX quanto spazio riservare per la grafica.

- Il convertitore DVI-PS legge il file EPS e inserisce la grafica nel file PS.

Ciò comporta alcune conseguenze:

- LATEX non legge mai il file EPS se i parametri del riquadro di delimitazione sono specificati nel comando di inserimento della grafica.

- Siccome LATEX non può leggere file non ASCII, non può leggere le informazioni sul riquadro di delimitazione da file di grafica compressi o non EPS.

- La grafica EPS non viene inclusa nel file DVI. Siccome i file EPS devono essere presenti nella conversione del file DVI in PS, i file EPS devono accompagnare i file DVI ovunque.

Ora puoi chiamare LATEX e un convertitore DVI-PS come dvips per creare il documento PostScript®. Se l'obbiettivo è un documento PDF, dovresti eseguire dvips con l'opzione `-Ppdf`, e quindi chiamare ps2pdf. Troverai molti documenti che descrivono questo soluzione.

### L'approccio a PostScript® di Kile

Kile aiuta a ottenere le informazioni sul riquadro di delimitazione. Se hai installato il pacchetto ImageMagick, Kile estrarrà queste informazioni dal file EPS e le inserirà come opzioni. Ciò viene fatto automaticamente, quando selezioni il file di grafica. Ci sono due vantaggi in questa procedura:

- L'informazione viene scansionata nella finestra, e non deve essere fatta da LATEX in seguito.

- È ancora più importante che saranno calcolate la larghezza e l'altezza dell'immagine, quando ne sarà nota la risoluzione. Queste informazioni saranno mostrate in alto nella finestra, e potranno servire da suggerimento quando vorrai riscalare la grafica.

- Kile può anche supportare i file EPS compressi con zip o gzip, che sono molto più piccoli dei file EPS non compressi. Però questa funzionalità può essere usata solo con una particolare configurazione di sistema, come descritto nella sezione sulla grafica bitmap.

### L'approccio a PostScript® e la grafica bitmap

Se il sistema permette `shell-escape`, Kile supporta anche un modo semplice di includere la grafica bitmap, se hai impostato correttamente il sistema TEX. Non è necessario convertire la grafica JPEG o PNG, si può fare automaticamente quando il file DVI viene convertito in PS.

LATEX ha bisogno di alcune informazioni sui suffissi dei file. Il pacchetto `graphicx` cerca un file `graphics.cfg`, che deve essere da qualche parte nel percorso di ricerca per i documenti LATEX. Cerca voci come:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{}%

e sostituisci queste righe con:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       % regole cambiate o nuove
       \DeclareGraphicsRule{.eps.zip}{eps}{.eps.bb}{`unzip -p #1}%   EPS zip
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}%   EPS gzip
       \DeclareGraphicsRule{.jpg}{eps}{}{`convert #1 eps:-}%         JPEG
       \DeclareGraphicsRule{.gif}{eps}{.bb}{`convert #1 eps:-}%      GIF
       \DeclareGraphicsRule{.png}{eps}{.bb}{`convert #1 eps:-}%      PNG
       \DeclareGraphicsRule{.tif}{eps}{.bb}{`convert #1 eps:-}%      TIFF
       \DeclareGraphicsRule{.pdf}{eps}{.bb}{`convert #1 eps:-}%      grafica PDF

Potrai trovare questo file, per esempio in Debian, in `/etc/texmf/latex/graphics.cfg`. Il modo migliore di procedere è copiare questo file nel percorso TEX locale, e poi cambiare la copia. Vedi il manuale della distribuzione di TEX per sapere come ottenere un elenco delle cartelle di TEX.

Con questo file di configurazione puoi inserire grafica bitmap e file EPS compressi con zip o gzip in LATEX. Il comando per la conversione è dato da dvips. Quando guardi al comando di conversione vedrai che non viene creato nessun file aggiuntivo. Il risultato di questo processo di conversione viene incanalato direttamente nel file PS. L'unica cosa che LATEX deve sapere è la dimensione della grafica, e quindi abbiamo bisogno del riquadro di delimitazione, che viene fornito da Kile.

Alcuni dicono che questo modo non è sicuro, devi decidere tu in che modo lavorare. In ogni caso non hai bisogno di un riquadro di delimitazione, perché Kile estrarrà questa informazione da tutti i tipi di grafica.

### PDFLATEX e la grafica EPS

Come già notato, PDFLATEX non è in grado di gestire i file di grafica EPS, ma i convertitori come epstopdf saranno d'aiuto. Il modo migliore è includere il pacchetto `epstopdf`, che deve seguire il pacchetto `graphicx`.

    \usepackage[pdftex]{graphicx}
       \usepackage{epstopdf}

Adesso puoi già includere la grafica EPS, se esegui pdflatex con l'opzione `--shell-escape`, ma possiamo ancora migliorare le cose e gestire anche i file EPS compressi con zip o gzip. Di nuovo, dobbiamo cambiare il file di configurazione grafica `graphics.cfg`, come sopra. Questa volta cerchiamo:

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%

e aggiungiamo alcune righe:

    % pdfTeX is running in pdf mode
       \ExecuteOptions{pdftex}%
       \AtEndOfPackage{%
          \g@addto@macro\Gin@extensions{.eps.gz,.eps.zip}%
          \@namedef{Gin@rule@.eps.gz}#1{{pdf}{.pdf}{`gunzip -c #1 | epstopdf -f
    >\Gin@base.pdf}}%
          \@namedef{Gin@rule@.eps.zip}#1{{pdf}{.pdf}{`unzip -p #1 | epstopdf -f
    >\Gin@base.pdf}}%
       }%

Con queste righe, PDFLATEX è in grado di gestire i file EPS, e ciò dovrebbe risolvere tutte le questioni di grafica.

Documento principale
Documento principale

## Documento principale

Definire il documento come principale permette di lavorare con file separati, che vuol dire avere un documento principale e documenti figli che costituiscono un'opera completa. Dopo aver definito il documento principale, tutti i comandi del menu Strumenti si applicheranno solo a questo documento, anche se starai lavorando sui documenti figli. Puoi anche chiudere il documento principale.

Gestione degli errori
Gestione degli errori

## Gestione degli errori

Dopo aver compilato qualcosa, Kile dà un'occhiata ai messaggi d'errore che sono stati generati. Se ci sono errori o avvertimenti, saranno riportati brevemente nella finestra Registro e messaggi. Si può dare un'occhiata ai messaggi più da vicino selezionando Costruzione → Visualizza registro, o usando la scorciatoia da tastiera Alt+0. Il registro generato è quindi mostrato nella vista Registro e messaggi; gli errori e gli avvertimenti sono evidenziati.

Visualizzazione del registro

Puoi facilmente saltare da un messaggio all'altro nel registro usando gli elementi del menu Costruzione → Errore / Avvertimento LaTeX Successivo / Precedente, o usando i pulsanti corrispondenti nella barra degli strumenti.

Per saltare alla riga del codice LATEX dove è avvenuto l'errore o l'avvertimento, fai clic sull'errore o avvertimento nella vista Registro e messaggi. Kile ti porterà automaticamente alla riga incriminata.

La modalità Sorveglia file
La modalità Sorveglia file

## La modalità Sorveglia file

Quando avvii il comando Costruzione rapida, un visore di qualche tipo sarà chiamato dopo la compilazione. Se non stai usando un visore integrato, ogni volta sarà aperta una nuova finestra.

Se stai sistemando l'aspetto del documento, potresti avviare Costruzione rapida molto spesso, e avere molte finestre di visori aperte sul desktop; per evitare questa confusione, puoi attivare la modalità Sorveglia file, che impedirà a Costruzione rapida di avviare un visore.

Questa modalità è ovviamente inutile con i visori integrati, perché devi chiuderli comunque per tornare a modificare il documento e ricompilare.

Capitolo 11. Navigare nel sorgente LATEX
Navigare nel sorgente LATEX

# Capitolo 11. Navigare nel sorgente LATEX

## Uso della vista strutturale

La vista Struttura mostra la gerarchia del documento creato in Kile, e permette di navigarci rapidamente, mostrandone la segmentazione. Per navigare nel documento, tutto quello che devi fare è fare clic sinistro su un qualsiasi etichetta, capitolo, sezione, sottosezione, etichetta, eccetera, e sarai portato all'inizio dell'area corrispondente.

Se includi un file separato nel sorgente LATEX usando le etichette `\input` o `\include`, questi file saranno rappresentati nella vista Struttura; fare doppio clic sui loro nomi farà mostrare a Kile il file incluso nella finestra dell'editor.

L'albero di gerarchia ha anche un ramo a parte per le etichette di riferimento usate nel testo.

### Usare il menu contestuale

La maggior parte delle voci nella vista a struttura hanno molte voci nel menu contestuale, che puoi aprire con un clic destro del mouse. Guarda la vista strutturale nell'immagine successiva.

Troverai alcune etichette, alcune voci di sezionamento, due ambienti di figure e tre immagini. Se fai clic con il tasto destro del mouse su una delle voci di sezionamento, apparirà un menu con alcuni comandi utili. Tutti i comandi come Seleziona, Elimina o Commenta funzioneranno con tutte le righe appartenenti a questa sezione.

Fare clic su una voce di figura o tabella presenterà alcune azioni relative ai riferimenti, e fare clic con il tasto destro del mouse su una voce di grafica presenterà dei programmi per aprire la grafica.

### Aggiornare la vista strutturale

Per aggiornare la vista a struttura puoi andare a Modifica → Aggiorna struttura, premere F12, o puoi salvare il documento, che farà aggiornare a Kile la sua vista strutturale.

Segnalibri
Segnalibri

## Segnalibri

I segnalibri sono riferimenti a un segmento di testo o una riga all'interno dell'ambiente di Kile. Per usare un segnalibro, seleziona una riga di testo specifica del documento alla quale vorresti tornare, quindi premi Ctrl+B, e Kile ci aggiungerà un segnalibro. Alternativamente, puoi anche impostare un segnalibro evidenziando la riga alla quale vorresti tornare, e scegliere il menu chiamato Segnalibri → Imposta segnalibro.

Per rimuovere tutti i segnalibri, seleziona Segnalibri → Pulisci tutti i segnalibri.

Capitolo 12. Progetti
Progetti

# Capitolo 12. Progetti

## Lavorare con i progetti

In Kile puoi creare e lavorare con progetti. Un progetto è un gruppo di file LATEX, grafici, BibTEX, o di altro tipo, che contengono tutte le informazioni relative al documento completo. Un progetto tipico sarebbe un documento costituito da diversi capitoli, scritti in diversi file `.tex`; tutti potrebbero essere inclusi in un progetto, per rendere più facile da gestire il documento complessivo. Le specificazioni del progetto sono conservate in un file speciale, con estensione `.kilepr`.

Un progetto aggiunge le seguenti funzionalità:

- Non devi impostare un documento principale, Kile lo fa automaticamente.

- I file di progetto possono facilmente essere archiviati assieme andando a Progetto → Archivio.

- La vista File e progetti mostra quali file sono inclusi nel progetto.

- Dopo aver aperto un progetto, ogni file precedentemente aperto sarà ripristinato con la codifica e l'evidenziazione originali.

- Il completamento del codice funziona in tutti i file del progetto.

- Il completamento dei riferimenti funziona in tutti i file del progetto.

- Il completamento delle citazioni funziona in tutti i file del progetto.

- Cerca in tutti i file del progetto.

- Specifica la generazione rapida personalizzata e il comando makeidx.

Puoi trovare tutti i comandi relativi ai progetti nel menu Progetto. Da lì puoi aprire, chiudere e gestire i progetti.

Creare un progetto
Creare un progetto

## Creare un progetto

Per creare un progetto, seleziona Progetto → Nuovo progetto.

Saranno chieste le seguenti informazioni per creare il progetto:

- Il Titolo del progetto (nell'apposito campo di testo).

  Il titolo del progetto verrà usato per creare il nome del file del progetto in lettere minuscole e aggiungendo l'estensione `.kilepr`.

- Una cartella dove salvare il progetto (campo di testo Cartella del progetto).

- Se vuoi creare un nuovo file principale del progetto, spunta l'elemento Crea un nuovo file e aggiungilo a questo progetto.

- Quando riempi la casella Nome del file, devi includere un percorso relativo da dove il file progetto `.kilepr` è conservato al file (vedi l'elemento Cartella del progetto).

- Il tipo di file creato: da un elenco a icone si può scegliere File vuoto, Article, Book, Letter, Report, eccetera.

- Le estensioni per i file predefiniti del progetto possono essere selezionate nel pannello Estensioni. La tua scelta verrà usata per definire quali file aprire quando selezioni Progetto → Apri tutti i file del progetto e negli assistenti di Kile. Le estensioni nel campo di testo vanno separate da spazi.

La vista File e progetti
La vista File e progetti

## La vista File e progetti

La vista File e progetti è un pulsante della barra laterale. Da questa vista, puoi vedere la struttura del progetto, i suoi file, e il nome del file `.kilepr` in cui sono salvate le informazioni del progetto. Aggiunta, rimozione o cambiamento delle opzioni del progetto si fanno attraverso la vista File e progetti.

La vista File e progetti

Aggiunta e rimozione di file
Aggiunta e rimozione di file

## Aggiunta e rimozione di file

Per aggiungere un file al progetto, apri un qualsiasi file TEX, fai clic destro sul suo nome nella vista File e progetti, e seleziona Aggiungi al progetto. Se hai aperto più progetti, apparirà una finestra in cui puoi specificare a quale progetto aggiungerlo.

Puoi anche fare clic destro sul nome del progetto nella vista File e progetti, e selezionare Aggiungi file per far apparire una finestra di selezione file.

Aggiunta di un file a un progetto

Per rimuovere un file da un progetto, fai clic destro su di esso e seleziona Rimuovi dal progetto. Ciò non elimina il file (e nemmeno lo chiude), ma lo rimuove soltanto dalla lista dei file contenuta nel file con estensione `.kilepr`.

### Archiviazione del progetto

Kile permette di fare facilmente una copia di sicurezza del progetto salvandone tutti i file in un singolo archivio (spesso conosciuto come tarball). Per archiviare il progetto, fai clic destro sul nome del progetto nella vista File e progetti, o seleziona Progetto → Archivia.

Come impostazione predefinita, tutti i file di un progetto sono aggiunti all'archivio. Se non vuoi includere un certo file nell'archivio, fai clic destro su di esso nella vista File e progetti, e deseleziona l'opzione Includi in archivio.

L'operazione viene attualmente effettuata eseguendo il comando tar dalla cartella del progetto (dove è situato il file `.kilepr`).

Opzioni dei progetti
Opzioni dei progetti

## Opzioni dei progetti

Kile ha alcune opzioni relative al progetto che possono essere impostate. Per cambiarle, fai clic destro sul titolo del progetto e seleziona Opzioni progetto, e avrai la possibilità di cambiare:

- Il titolo del progetto.

- Estensioni dei file predefinite.

- Il documento principale.

- Il comando di costruzione rapida.

- Le opzioni di makeidx.

Chiusura di un progetto
Chiusura di un progetto

## Chiusura di un progetto

Per chiudere un progetto, seleziona la vista File e progetti dalla barra degli strumenti verticale, fai clic destro sul titolo del progetto, e quindi seleziona Chiudi. Questo chiuderà il progetto, tutti i file associati con il progetto, e inoltre ne aggiungerà il nome in Apri progetto recente nel menu Progetto.

Capitolo 13. Codifica dei documenti
Codifica dei documenti

# Capitolo 13. Codifica dei documenti

L'editor Kile permette di leggere, convertire e salvare il testo nella codifica di caratteri necessaria al documento. Con esso è per esempio possibile usare direttamente i caratteri accentati per l'italiano e per altre lingue come il francese nei documenti LATEX. La selezione della codifica si può fare in due modi:

- Un modo è impostare la codifica del documento usando il sottomenu Impostazioni → Configura Kile → Editor, dove puoi impostare la codifica dei caratteri predefinita per tutti i file.

- Un secondo modo per impostare la codifica di un documento è scegliere la codifica desiderata con l'assistente per creare un nuovo documento.

LATEX di per sé capisce solo ASCII, che rappresenta un insieme molto limitato di caratteri. Quindi non è possibile usare i caratteri accentati direttamente. Per poterli usare, è stata inventata una sintassi speciale: come per esempio `\"e` per `ë`. Il pacchetto inputenc implementa questa capacità, e si include nel preambolo con `\usepackage[latin1]{inputenc}`, dove l'argomento facoltativo specifica la codifica che vuoi usare (oggi, nella maggior parte dei casi `utf8`). Ciò dice a LATEX di tradurre tutte le `ë` che hai scritto in `\"e` prima di compilare. Riferisciti direttamente alla documentazione di inputenc per maggiori informazioni. In ultimo, ma non certo per importanza: assicurati che il file sia davvero salvato nella stessa codifica che hai specificato al pacchetto inputenc!

Questa serie di diverse codifiche di caratteri ha creato diversi problemi: per esempio, non puoi scrivere un corso di turco in francese senza perdere i caratteri speciali di una lingua. C'è accordo generale sul fatto che, prima o poi, tutti si sposteranno a Unicode. Ci sono molte implementazioni di Unicode, e UTF-8 è la più popolare su Linux®; Windows®(R) si affida invece alla più ingombrante e meno flessibile UCS-2. La maggior parte delle distribuzioni hanno già cominciato a impostare la loro codifica predefinita a UTF-8, e quindi ti potrebbe interessare molto usare l'argomento `utf8` per il pacchetto `inputenc`.

## Il pacchetto ucs

Se non hai il pacchetto ucs, puoi procedere come segue:

- Recupera il pacchetto ucs da CTAN.

- Per installarlo, scompatta il file scaricato e mettilo in una cartella elencata nella variabile d'ambiente $`TEXINPUTS`. Questa può essere impostata anche all'interno di Kile.

    \usepackage{ucs}
    \usepackage[utf8]{inputenc}

XeLaTeX
XeLaTeX

## XeLaTeX

Se stai usando `XeLaTeX` basta caricare il pacchetto `xltxtra`, che inoltre caricherà tutti i pacchetti necessari.

    \usepackage{xltxtra}

Supporto CJK
Supporto CJK

## Supporto CJK

Aggiungere il supporto per le lingue ideografiche è piuttosto complicato. Tuttavia, una volta che hai finito, funzionerà piuttosto bene. Oltre a installare dei pacchetti, c'è da fare del lavoro di configurazione aggiuntivo.

### Suggerimento

La tua distribuzione Linux® potrebbe già avere un pacchetto CJK (cinese, giapponese, coreano) pronto per te, quindi ti potresti risparmiare la fatica di installare tutto a mano. Controlla prima di andare avanti!

C'è la possibilità di usare il pacchetto ucs per scrivere brevi inserti di testo CJK, ma quell'opzione è seriamente limitata perché non gestisce, tra l'altro, i ritorni a capo. Noi invece installeremo il pacchetto CJK-LATEX completo e lo faremo funzionare sia per LATEX che per PDFLATEX. Molto di questo materiale è stato ispirato alla pagina Web su come configurare PDFLATEX di Pai H. Chou.

1. Scarica il pacchetto CJK. Copiane i file scompattati in una sottocartella appropriata di $`TEXMF`, come hai fatto prima per il pacchetto ucs (vedi Il pacchetto ucs). I file saranno scompattati in una cartella `CJK/X_Y.Z`; non è fondamentale estrarli, anche se sarà poi più facile mantenerli.

2. Adesso devi scaricare un tipo di carattere che supporti tutti i caratteri CJK di cui hai bisogno. Puoi scegliere qualsiasi file `*.ttf` che li contenga, ma in questa guida useremo Cyberbit. Scompatta il file e rinomina `Cyberbit.ttf` in `cyberbit.ttf`, perché le maiuscole potrebbero confondere il sistema.

   Posiziona `cyberbit.ttf` in una cartella insieme a `Unicode.sfd`, e genera i file `*.tfm` e `*.enc` con il comando `$ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@`. Per qualche motivo, a volte questo non produce le centinaia di file che dovrebbe. Se fosse il tuo caso, puoi scaricare sia i file `*.tfm` che `*.enc`.

   Posiziona i file `*.tfm` in una cartella appropriata, diciamo `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`; i file `*.enc` possono essere installati in `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Adesso abbiamo bisogno di un file di mappatura per connettere i file `*.enc` al tipo di carattere. Scarica `cyberbit.map` e installalo in `$`TEXMF`/pdftex/config/`.

4. Scarica un altro file, `c70cyberbit.fd`, e posizionalo in una cartella appropriata. Puoi scegliere, per esempio, `$`TEXMF`/tex/misc/`.

5. L'ultimo file che dobbiamo generare è un tipo di carattere PostScript® Type 1, necessario per leggere i file DVI generati con LATEX. Esegui il comando `$ ttf2pfb cyberbit.ttf -o cyberbit.pfb`, e copia il file risultante `cyberbit.pfb` in una cartella come `$`TEXMF`/fonts/type1/cyberbit/`.

6. Ora mettiamo `cyberbit.ttf` tra i tipi di carattere dove LATEX lo può trovare. Puoi posizionarlo in una cartella di nome `$`TEXMF`/fonts/truetype/`.

7. Controlla il file di configurazione che trovi a `$`TEXMF`/web2c/texmf.cnf`, e assicurati che la riga contenente `TTFONTS` non sia commentata e punti alla cartella dove hai salvato `cyberbit.ttf`.

8. Per fare sì che PDFLATEX usi i tuoi caratteri CJK, è necessario aggiungere una riga nel file di configurazione `$`TEXMF`/pdftex/config/pdftex.cfg`. Aggiungi `map +cyberbit.map` nel file per completare la configurazione di PDFLATEX.

9. Per configurare LATEX in modo da poter produrre file DVI con caratteri CJK, devi aggiungere una riga nel file `ttfonts.map`. Il file potrebbe essere in una cartella di nome `$`TEXMF`/ttf2pk/`, ma probabilmente dovrai cercarlo. Aggiungici la riga `cyberbit@Unicode@ cyberbit.ttf`.

10. Adesso, devi solo eseguire `texhash` e il sistema dovrebbe essere pronto.

Per controllare se la configurazione è corretta, puoi provare a compilare questo file di testo.

### Risoluzione dei problemi con CJK

Ci sono molte cose che possono andare storte quando si aggiunge il supporto CJK manualmente. Se qualcosa sembra non funzionare, l'elenco seguente ti potrebbe aiutare.

- Ovviamente, siccome usi LATEX come utente e non come root, devi permettere agli utenti normali di accedere ai nuovi file. Assicurati che tutte le cartelle e i file siano accessibili usando il comando chmod.

- Se LATEX scrive un DVI senza problemi, ma non può visualizzarlo, è quasi sicuramente a causa di problemi nella generazione automatica dei caratteri `*.pk`. Dovrebbero essere generati al volo quando si visualizza un file DVI, ma ciò potrebbe non riuscire per vari motivi: per prima cosa ricontrolla accuratamente di aver inserito la nuova riga in `ttfonts.map`. Tuttavia, potrebbe capitare che il comando ttf2pk, che è normalmente chiamato dal visore DVI, sia stato compilato senza supporto per le librerie kpathsea. Se è questo il caso, `$ ttf2pk --version` non nominerà kpathsea. Siccome il supporto di queste librerie è necessario, potresti dover trovare un nuovo pacchetto, o ricompilare da te FreeType 1.

### Come scrivo CJK in Unicode?

Ci sono una serie di diversi motori di inserimento, e la scelta può dipendere anche dai gusti personali. L'autore usa Skim, un trasferimento su KDE del motore Scim. Riferisciti alla documentazione della tua distribuzione per sapere come installare questi programmi. Anche la configurazione di questi programmi può essere difficile, nel caso di Skim dovrai definire una variabile d'ambiente ``XMODIFIERS`="@im=SCIM"` prima di avviare X.

Capitolo 14. Script
Script

# Capitolo 14. Script

## Script con Kile

La funzionalità per gli script di Kile permette l'esecuzione di codice ECMAScript, meglio noto come JavaScript. Troverai molte esercitazioni con informazioni su oggetti (variabili), funzioni e proprietà supportate da JavaScript.

Il supporto per gli script può essere abilitato nella finestra di configurazione di Kile: Impostazioni → Configura Kile... → Kile+Script.

Se gli script sono abilitati, è visibile un pannello aggiuntivo apposito nella barra laterale, dove si possono gestire gli script:

Questo oggetto contiene sei icone, che offrono diverse possibilità:

- Eseguire lo script selezionato.

- Creare un nuovo script.

- Aprire lo script selezionato nell'editor.

- Configurare una sequenza di tasti per lo script selezionato.

- Rimuovere una sequenza di tasti assegnata.

- Aggiornare l'elenco di script disponibili, che sono memorizzati in `$`KDEDIR`/share/apps/kile/scripts/`.

Eseguire uno script
Eseguire uno script

## Eseguire uno script

Puoi eseguire uno script in tre modi diversi:

1. Seleziona lo script desiderato e fai clic sul pulsante Esegui sul lato sinistro dell'oggetto di gestione degli script.

2. Usa una scorciatoia da tastiera.

   Puoi assegnare una scorciatoia da tastiera a uno script con il pulsante Configura nell'oggetto di gestione degli script.

3. Usa un editor di sequenze di tasti. Lo script verrà eseguito se batti la sequenza di tasti assegnata nell'editor.

   Questo metodo può essere esteso in un completamento del testo piuttosto sofisticato. Poniamo che hai scritto uno script che semplicemente inserisce il comando LATEX `\textbf{}` nel documento attuale.

       document.insertText("\\textbf{%C}");

   Se ora batti la sequenza di tasti assegnata `bfx` nel documento, questa sequenza verrà rimossa e lo script eseguito. Inserirà `\textbf{}` e il cursore verrà posizionato tra le graffe.

   Che modo comodo e flessibile di completare il codice!

Riferimento API
Riferimento API

## Riferimento API

L'API qui presentata è disponibile in tutti gli script. Prima del caricamento dei contenuti di uno script, Kile aggiunge diversi prototipi e funzioni al contesto dello script. Questa API di supporto contiene prototipi come cursori e intervalli di testo, ed è localizzata nella cartella ``KILE_APP_DIR`/script-plugins/`.

Gli script di Kile differiscono leggermente da quelli di Kate, che usano un altro metodo visto che possono essere avviati anche dalla riga di comando. Però, tutte le funzioni dell'API di Kate sono disponibili anche nell'API di Kile, quindi trasferire codice JavaScript da Kate a Kile dovrebbe essere molto facile. Essendo però Kile un editor LATEX con molte funzionalità, la sua API per gli script offre molte più possibilità rispetto a quella di Kate.

Osservazione: le descrizioni delle chiamate API disponibili anche dagli script di Kate sono state prese dalla documentazione di Kate.

### Funzioni globali

Questa sezione elenca le funzioni globali.

    void debug(String testo);

  Stampa il `testo` su `stdout` nella console. Il testo stampato è colorato per differenziarlo dal restante output di debug.

### Il prototipo Cursor

Essendo Kile un editor di testo, tutta l'API degli script si basa su cursori e intervalli ovunque possibile. Un Cursor è una semplice tupla `(riga, colonna)` che rappresenta una posizione nel testo del documento.

    Cursor();

  Costruttore: restituisce un Cursor alla posizione `(0,0)`.

  Esempio: `var cursore = new Cursor();`

    Cursor(int riga, int colonna);

  Costruttore: restituisce un cursore alla posizione (riga, colonna).

  Esempio: `var cursore = new Cursor(3,42);`

    Cursor(Cursor altro);

  Costruttore di copia. Restituisce una copia dell'`altro` cursore.

  Esempio: `var copia = new Cursor(altro);`

    Cursor Cursor.clone();

  Restituisce un clone del cursore.

  Esempio: `var clone = cursor.clone();`

    bool Cursor.isValid();

  Controlla se il cursore è valido. Non lo è se la riga o la colonna sono impostate a `-1`.

  Esempio: `var valido = cursor.isValid();`

    Cursor Cursor.invalid();

  Restituisce un nuovo cursore non valido posizionato a `(-1,-1)`.

  Esempio: `var cursoreNonValido = cursor.invalid();`

    int Cursor.compareTo(Cursor altro);

  Confronta un cursore con un `altro`. Restituisce:

  - `-1`, se il cursore è posizionato prima dell'`altro`,

  - `0`, se sono uguali, e

  - `+1`, se il cursore è posizionato dopo l'`altro`.

    bool Cursor.equals(Cursor altro);

  Restituisce `true` se il cursore e l'`altro` sono uguali, altrimenti `false`.

    String Cursor.toString();

  Restituisce un cursore sotto forma di stringa nella forma `Cursor(riga, colonna)`.

### Il prototipo Range

Essendo Kile un editor di testo, tutta l'API per gli script si basa su cursori e intervalli ovunque possibile. Come Cursor è una semplice tupla del tipo `(riga, colonna)` che rappresenta una posizione nel testo del documento, Range si estende sul testo a partire da una posizione del cursore iniziale a una finale.

    Range();

  Costruttore: chiamare `new Range()` restituisce un intervallo `(0, 0) - (0, 0)`.

    Range(Cursor inizio, Cursor fine);

  Costruttore: chiamare `new Range(`inizio`, `fine`)` restituisce l'intervallo dal cursore `inizio` al cursore `fine`.

    Range(int riga_inizio, int colonna_inizio, int riga_fine, int colonna_fine);

  Costruttore. Chiamare `new Range(`riga_inizio`, `colonna_inizio`, `riga_fine`, `colonna_fine`)` restituisce l'intervallo da (`riga_inizio`, `colonna_inizio`) a (`riga_fine`, `colonna_fine`).

    Range(Range altro);

  Costruttore di copia: restituisce una copia dell'`altro` intervallo.

    Range Range.clone();

  Restituisce un clone dell'intervallo.

  Esempio: `var clone = range.clone();`

    bool Range.isValid();

  Restituisce `true` se entrambi i cursori iniziale e finale sono validi, altrimenti `false`.

  Esempio: `var valido = range.isValid();`

    bool Range.invalid();

  Restituisce l'intervallo da `(-1,-1)` a `(-1,-1)`.

    bool Range.contains(Cursor cursore);

  Restituisce `true` se l'intervallo contiene la posizione del `cursore`, altrimenti `false`.

    bool Range.contains(Range altro);

  Restituisce `true` se l'intervallo contiene l'`altro`, altrimenti `false`.

    bool Range.containsColumn(int colonna);

  Restituisce `true` se la `colonna` è nell'intervallo semiaperto `[inizio.colonna, fine.colonna]`, altrimenti `false`.

    bool Range.containsLine(int riga);

  Restituisce `true` se la `riga` è nell'intervallo semiaperto `[inizio.riga, fine.riga]`, altrimenti `false`.

    bool Range.overlaps(Range altro);

  Restituisce `true` se l'intervallo e l'`altro` hanno una regione in comune, altrimenti `false`.

    bool Range.overlapsLine(int riga);

  Restituisce `true` se la `riga` è nell'intervallo `[inizio.riga, fine.riga]`, altrimenti `false`.

    bool Range.overlapsColumn(int colonna);

  Restituisce `true` se la `colonna` è nell'intervallo `[inizio.colonna, fine.colonna]`, altrimenti `false`.

    bool Range.equals(Range altro);

  Restituisce `true` se l'intervallo e l'`altro` sono uguali, altrimenti `false`.

    String Range.toString();

  Restituisce un intervallo sotto forma di stringa nella forma `Range(Cursor(riga, colonna) - Cursor(riga, colonna))`.

### L'API delle viste

Ogni volta che viene eseguito uno script, è presente un oggetto (variabile) globale `view`, che rappresenta l'attuale vista attiva dell'editor. Tutte le funzioni di `view` lavorano con le posizioni del cursore o col testo selezionato. Segue un elenco di tutte le funzioni di `view` disponibili.

    void view.backspace();

  Effettua programmaticamente l'equivalente della pressione del tasto backspace.

    Cursor view.cursorPosition();

  Restituisce la posizione attuale del cursore nella vista.

    void view.setCursorPosition(int riga, int colonna);
    void view.setCursorPosition(Cursor cursore);

  Imposta la posizione attuale del cursore a `riga`, `colonna` o al `cursore` dato.

    void view.cursorLeft();

  Sposta il cursore di una posizione indietro nel testo.

    void view.cursorRight();

  Sposta il cursore di una posizione avanti nel testo.

    void view.cursorUp();

  Sposta il cursore di una riga in su nel documento.

    void view.cursorDown();

  Sposta il cursore di una riga in giù nel documento.

    int view.cursorLine();

  Restituisce la riga sulla quale si trova il cursore.

    int view.cursorColumn();

  Restituisce la colonna sulla quale si trova il cursore.

    void view.setCursorLine(int riga);

  Imposta la riga del cursore alla `riga` data.

    void view.setCursorColumn(int colonna);

  Imposta la colonna del cursore alla `colonna` data.

    Cursor view.virtualCursorPosition();

  Ottieni l'attuale posizione virtuale del cursore. Virtuale vuol dire che il carattere di tabulazione conta più caratteri, come configurato dall'utente (per esempio, una tabulazione può essere otto spazi). La posizione virtuale del cursore dà accesso ai valori visibili dall'utente della posizione attuale del cursore.

    bool view.hasSelection();

  Restituisce `true` se la vista contiene del testo selezionato, altrimenti `false`.

    String view.selectedText();

  Restituisce il testo selezionato. Se non c'è del testo selezionato, la stringa restituita è vuota.

    Range view.selectionRange();

  Restituisce l'intervallo di testo selezionato. L'intervallo di testo non è valido se non c'è testo selezionato.

    void view.setSelection(Range intervallo);

  Imposta il testo selezionato all'`intervallo` dato.

    void view.selectAll();

  Seleziona tutto il testo del documento.

    void view.clearSelection();

  Pulisce la selezione di testo senza rimuoverlo.

    void view.removeSelectedText();

  Rimuovi il testo selezionato. Se la vista non ne ha, non fa nulla.

    void view.selectLine();

  Seleziona il testo della riga attuale.

    void view.selectLine(int riga);

  Seleziona il testo della `riga` data.

    void view.selectLines(int da, int a);

  Seleziona tutto il testo della riga `da` alla riga `a`.

    void view.selectWord();

  Seleziona la parola attuale. Se non ce n'è una alla posizione attuale del cursore, non fa nulla.

    void view.selectLatexCommand();

  Seleziona il comando LATEX attuale. Se non ce n'è uno alla posizione attuale del cursore, non fa nulla.

    void view.selectEnvironment(bool dentro = false);

  Seleziona tutto il testo dell'ambiente LATEX attuale. Se `dentro` è `false`, sarà selezionato il testo dell'ambiente incluse le etichette LATEX circostanti `\begin{...}...\end{...}`, altrimenti le etichette non saranno incluse. Se non viene dato un valore per il parametro, `dentro` è impostato a `false`.

    void view.selectTexgroup(bool dentro = true);

  Seleziona il testo del gruppo LATEX attuale. Se `dentro` è `true`, sarà selezionato solo il gruppo TEX senza le graffe circostanti. Se non viene dato un valore per il parametro, `dentro` è impostato a `true`.

    void view.selectMathgroup();

  Seleziona il testo del gruppo matematico attuale.

    void view.selectParagraph(bool bool righeIntere = true);

  Seleziona il testo di tutto il paragrafo LATEX attuale. Se o`righeIntere` è `true`, la prima e l'ultima riga del paragrafo saranno incluse per intero nella selezione (incluso il carattere di fine riga); altrimenti, la selezione conterrà solo caratteri non di spaziatura.

### L'API dei documenti

Ogni volta che uno script viene eseguito è presente un oggetto (variabile) globale, `document`, che rappresenta il documento attualmente attivo. Segue un elenco di tutte le funzioni di `document` disponibili.

    void document.insertText(String testo);

  Inserisce il `testo` alla posizione attuale del cursore.

    void document.insertText(int riga, int colonna, String testo);
    void document.insertText(Cursor cursore, String testo);

  Inserisce il `testo` alla posizione data del cursore.

    bool document.removeText(int daRiga, int daColonna, int aRiga, int aColonna);
    bool document.removeText(Cursor da, Cursor a);
    bool document.removeText(Range intervallo);

  Rimuove il testo nell'intervallo dato. Restituisce `true` se funziona, o `false` se il documento è in modalità di sola lettura.

    bool document.replaceText(Range intervallo, String testo);

  Sostituisce il testo dell'`intervallo` dato con il testo specificato.

    int document.lines();

  Restituisce il numero di righe nel documento.

    int document.length();

  Restituisce il numero di caratteri nel documento.

    Range document.documentRange();

  Restituisce un intervallo contenente tutto il documento.

    Cursor document.documentEnd();

  Restituisce la posizione del cursore alla fine del documento.

    String document.text();

  Restituisce tutto il contenuto del documento in una sola stringa di testo. I ritorni a capo sono indicati con il carattere `\n`.

    String document.text(int daRiga, int daColonna, int aRiga, int aColonna);
    String document.text(Cursor da, Cursor a);
    String document.text(Range intervallo);

  Restituisce il testo nell'intervallo dato. Si raccomanda di usare le versioni con cursori o intervalli per migliorare la leggibilità del codice.

    bool document.setText(String testo);

  Imposta tutto il testo del documento.

    bool document.clear();

  Rimuove tutto il testo del documento.

    String document.line();

  Restituisce la riga di testo attuale come stringa.

    String document.line(int riga);

  Restituisce la riga di testo richiesta come stringa. La stringa è vuota se la riga richiesta è oltre i limiti.

    int document.lineLength();

  Restituisce la lunghezza della riga attuale.

    int document.lineLength(int riga);

  Restituisce la lunghezza della `riga`.

    bool document.insertLine(String text);

  Inserisce del `testo` nella riga attuale. Restituisce `true` se funziona, o `false` se il documento è in modalità di sola lettura o la riga non è nell'intervallo del documento.

    bool document.insertLine(int riga, String testo);

  Inserisce il `testo` nella `riga` data. Restituisce `true` se funziona, o `false` se il documento è in modalità di sola lettura o la riga non è nell'intervallo del documento.

    bool document.removeLine();

  Rimuove la riga di testo attuale. Restituisce `true` se funziona, o `false` se il documento è in modalità di sola lettura.

    bool document.removeLine(int riga);

  Rimuove la `riga` di testo data. Restituisce `true` se funziona, o `false` se il documento è in modalità di sola lettura o la riga non è nell'intervallo del documento.

    bool document.replaceLine(String testo);

  Sostituisce il testo della riga attuale con il testo specificato.

    bool document.replaceLine(int riga, String testo);

  Sostituisce il testo della `riga` data con il testo specificato.

    bool document.truncateLine();

  Tronca la riga attuale alla `colonna` data o al `cursore` dato. Restituisce `true` se funziona, o `false` se la riga non fa parte dell'intervallo del documento.

    bool document.truncate(int riga, int colonna);
    bool document.truncate(Cursor cursore);

  Tronca la `riga` alla `colonna` data o al `cursore` dato. Restituisce `true` se funziona, o `false` se la riga non fa parte dell'intervallo del documento.

    String document.word();

  Restituisce la parola alla posizione attuale del cursore. Se a questa posizione non si trova nessuna parola, la stringa restituita è vuota.

    String document.wordAt(int riga, int colonna);
    String document.wordAt(Cursor cursore);

  Restituisce la parola alla posizione data del `cursore`. Se a questa posizione non si trova nessuna parola, la stringa restituita è vuota.

    Range document.wordRange();

  Restituisce l'intervallo della parola alla posizione attuale del cursore. Se non si trova una parola, viene restituito `Range.invalid()`, che può essere controllato con `Range.isValid()`.

    String document.latexCommand();

  Restituisce il comando LATEX alla posizione attuale del cursore. Se a questa posizione non si trova nessun comando, la stringa restituita è vuota.

    String document.latexCommandAt(int riga, int colonna);
    String document.latexCommandAt(Cursor cursore);

  Restituisce il comando LATEX alla posizione data del `cursore`. Se a questa posizione non si trova nessun comando, la stringa restituita è vuota.

    Range document.latexCommandRange();

  Restituisce l'intervallo del comando LATEX alla posizione data del `cursore`. Se non si trova una parola, viene restituito `Range.invalid()`, che può essere controllato con `Range.isValid()`.

    String document.charAt(int riga, int colonna);
    String document.charAt(Cursor cursore);

  Restituisce il carattere alla posizione del cursore data.

    String document.firstChar(int riga);

  Restituisce il primo carattere nella `riga` data che non sia uno spazio. Il primo carattere è alla colonna 0. Se la riga è vuota o contiene solo spazi, la stringa restituita è vuota.

    String document.lastChar(int riga);

  Restituisce l'ultimo carattere nella `riga` data che non sia uno spazio. Se la riga è vuota o contiene solo spazi, la stringa restituita è vuota.

    bool document.isSpace(int riga, int colonna);
    bool document.isSpace(Cursor cursore);

  Restituisce `true` se il carattere alla posizione del `cursore` data è uno spazio, altrimenti `false`.

    void document.insertBullet();

  Inserisce un punto di Kile. Ricorda che puoi facilmente passare al punto successivo o precedente. Inoltre, questo evidenzierà questo punto in modo da eliminarlo automaticamente all'inserimento della prima lettera.

    void document.nextBullet();

  Passa al punto successivo, se ce n'è uno.

    void document.previousBullet();

  Passa al punto precedente, se ce n'è uno.

    bool document.hasEnvironment();

  Restituisce `true` se c'è un ambiente LATEX circostante, altrimenti `false`.

    String document.environment(bool dentro = false);

  Restituisce tutto il testo dell'ambiente LATEX circostante. Se `dentro` è `false`, le etichette LATEX `\begin{...}...\end{...}` saranno restituite assieme al testo dell'ambiente, altrimenti verrà restituito solo il testo. Se non viene dato un valore per il parametro, `dentro` verrà considerato `false`. Se non viene rilevato un ambiente, verrà restituita una stringa vuota.

    Range document.environmentRange(bool dentro = false);

  Restituisce l'intervallo dell'ambiente LATEX circostante. Se `dentro` è `false`, sarà restituito l'intervallo incluse le etichette LATEX `\begin{...}...\end{...}`, altrimenti queste verranno escluse. Se non viene dato un valore per il parametro, `dentro` verrà considerato `false`. Se non viene rilevato un ambiente, verrà restituito `Range.invalid()`, che può essere controllato con `Range.isValid()`.

    String document.environmentName();

  Restituisce il nome dell'ambiente LATEX circostante, o una stringa vuota.

    void document.removeEnvironment(bool dentro = false);

  Rimuove il testo dell'ambiente LATEX circostante. Se `dentro` è `false`, sarà rimosso il testo dell'ambiente incluse le etichette LATEX circostanti `\begin{...}...\end{...}`, altrimenti le etichette non saranno rimosse. Se non viene dato un valore per il parametro, `dentro` è impostato a `false`.

    void document.closeEnvironment();

  Inserisci un'etichetta di chiusura di un ambiente, se alla posizione attuale del cursore viene rilevato un ambiente LATEX aperto.

    void document.closeAllEnvironments();

  Inserisci delle etichette di chiusura per tutti gli ambienti LATEX aperti rilevati alla posizione attuale del cursore.

    bool document.hasTexgroup();

  Restituisce `true` se c'è un gruppo LATEX circostante alla posizione attuale del cursore, altrimenti `false`.

    String document.texgroup(bool dentro = true);

  Restituisce il testo del gruppo LATEX circostante. Se `dentro` è `false`, le graffe di questo gruppo LATEX `{...}` saranno restituite assieme al testo, altrimenti verranno escluse. Se non viene dato un valore per il parametro, `dentro` verrà considerato `false`. Se non viene rilevato un gruppo LATEX circostante alla posizione attuale del cursore, verrà restituita una stringa vuota.

    Range document.texgroupRange(bool dentro = true);

  Restituisce l'intervallo del gruppo LATEX circostante Se `dentro` è `false`, sarà restituito l'intervallo incluse le graffe `{...}`, altrimenti queste verranno escluse. Se non viene dato un valore per il parametro, `dentro` verrà considerato `false`. Se non viene rilevato un gruppo, verrà restituito `Range.invalid()`, che può essere controllato con `Range.isValid()`.

    void document.removeTexgroup(bool dentro = true);

  Rimuove il testo del gruppo LATEX circostante Se `dentro` è `false`, sarà rimosso il testo del gruppo incluse le graffe circostanti `{...}`, altrimenti le graffe non saranno rimosse. Se non viene dato un valore per il parametro, `dentro` è impostato a `false`.

    bool document.hasMathgroup();

  Restituisce `true` se c'è un gruppo matematico LATEX circostante alla posizione attuale del cursore, altrimenti `false`.

    String document.mathgroup();

  Restituisce il testo del gruppo matematico LATEX circostante. Se alla posizione attuale del cursore non viene rilevato un gruppo matematico LATEX circostante, viene restituita una stringa vuota.

    Range document.mathgroupRange();

  Restituisce l'intervallo del gruppo matematico LATEX circostante. Se nessun gruppo matematico circostante viene rilevato, viene restituito `Range.invalid()`, che può essere controllato con `Range.isValid()`.

    void document.removeMathgroup();

  Rimuove il testo del gruppo matematico LATEX circostante.

    String document.paragraph();

  Restituisce il testo del paragrafo LATEX attuale.

    Range document.paragraphRange();

  Restituisce l'intervallo del paragrafo LATEX circostante.

    void document.removeParagraph();

  Rimuove il testo del paragrafo LATEX attuale.

    bool document.matchesAt(int riga, int colonna, String testo);
    bool document.matchesAt(Cursor cursore, String testo);

  Restituisce `true` se il `testo` corrisponde a quello presente alla posizione del cursore, altrimenti `false`.

    bool document.startsWith(int riga, String schema, bool salta_spazi = true);

  Restituisce `true` se la riga comincia con lo `schema`, altrimenti `false`. L'argomento `salta_spazi` determina se gli spazi iniziali vanno ignorati.

    bool document.endsWith(int riga, String schema, bool salta_spazi = true);

  Restituisce `true` se la riga finisce con lo `schema`, altrimenti `false`. L'argomento `salta_spazi` determina se gli spazi finali vanno ignorati.

    int document.firstColumn(int riga);

  Restituisce la prima colonna non di spazi nella `riga`. Se nella `riga` ci sono solo spazi, viene restituito `-1`.

    int document.lastColumn(int riga);

  Restituisce l'ultima colonna non di spazi nella `riga`. Se nella `riga` ci sono solo spazi, viene restituito `-1`.

    int document.prevNonSpaceColumn(int riga, int colonna);
    int document.prevNonSpaceColumn(Cursor cursore);

  Restituisce la colonna con caratteri non di spaziatura che comincia alla posizione del cursore data e cercando indietro.

    int document.nextNonSpaceColumn(int riga, int colonna);
    int document.nextNonSpaceColumn(Cursor cursore);

  Restituisce la colonna con caratteri non di spaziatura che comincia alla posizione del cursore data e cercando in avanti.

    int document.prevNonEmptyLine(int riga);

  Restituisce la prossima riga non vuota con caratteri non di spaziatura cercando indietro.

    int document.nextNonEmptyLine(int riga);

  Restituisce la prossima riga non vuota con caratteri non di spaziatura cercando in avanti.

    void document.gotoBeginEnv();

  Vai all'inizio di un ambiente LATEX circostante.

    void document.gotoEndEnv();

  Vai alla fine di un ambiente LATEX circostante.

    void document.gotoBeginTexgroup();

  Vai all'inizio di un gruppo LATEX circostante.

    void document.gotoEndTexgroup();

  Vai alla fine di un gruppo LATEX circostante.

    void document.gotoNextParagraph();

  Vai al paragrafo LATEX successivo.

    void document.gotoPrevParagraph();

  Vai al paragrafo LATEX precedente.

    void document.gotoNextSectioning();

  Vai alla prossima sezione LATEX.

    void document.gotoPrevSectioning();

  Vai alla sezione LATEX precedente.

    void document.gotoLine(int riga);

  Vai alla `riga` indicata.

    void document.insertChapter();

  Inserisci un comando `\chapter` (vedi anche `document.insertSection()`).

    void document.insertSection();

  Inserisci un comando `\section`. Come quando si seleziona la voce del menu LaTeX → Struttura → section, apparirà una finestra in cui si potrà scegliere il titolo e un'etichetta facoltativa per questo comando di struttura.

    void document.insertSubsection();

  Inserisci un comando `\subsection` (vedi anche `document.insertSection()`).

    void document.insertSubsubsection();

  Inserisci un comando `\subsubsection` (vedi anche `document.insertSection()`).

    void document.insertParagraph();

  Inserisci un comando `\paragraph` (vedi anche `document.insertSection()`).

    void document.insertSubparagraph();

  Inserisci un comando `\subparagraph` (vedi anche `document.insertSection()`).

    void document.insertLabel();

  Inserisci un comando `\label`.

    void document.insertReference();

  Inserisce un comando `\ref`. Come quando si seleziona la voce del menu LaTeX → Riferimenti → ref, apparirà una finestra in cui si potrà scegliere tra le etichette già definite, elencate in una casella combinata.

    void document.insertPageref();

  Inserisci un comando `\pageref` (vedi anche `document.insertReference()`).

    void document.insertCitation();

  Inserisci un comando `\cite`.

    void document.insertIndex();

  Inserisci un comando `\index`.

    void document.insertFootnote();

  Inserisci un comando `\footnote`.

    void document.comment();

  Inserisce indicatori di commento per rendere la selezione o la riga attuale un commento.

    void document.uncomment();

  Rimuove gli indicatori di commento dalla selezione o dalla riga attuale.

    void document.uppercase();

  Mette il testo selezionato o la lettera dopo il cursore in maiuscolo.

    void document.lowercase();

  Mette il testo selezionato o la lettera dopo il cursore in minuscolo.

    void document.capitalize();

  Mette le iniziali del testo selezionato o della parola attuale in maiuscolo.

    void document.joinLines();

  Unisce le righe della selezione attuale. Due righe di testo consecutive sono sempre separate da un solo spazio.

    void document.insertIntelligentNewline();

  Inserisci un ritorno a capo intelligente (vedi Ritorno a capo intelligente).

    void document.insertIntelligentTabulator();

  Inserisci un tabulatore intelligente (vedi Tabulatore intelligente).

    void document.editBegin();

  Avvia un gruppo di modifica per un raggruppamento di azioni annullabili. Assicurati di chiamare sempre `editEnd()` con la stessa frequenza di `editBegin()`. Chiamare `editBegin()` usa internamente un contatore di riferimenti, quindi questa chiamata può essere annidata.

    void document.editEnd();

  Chiude un gruppo di modifica. L'ultima chiamata di `editEnd()` (cioè quella corrispondente alla prima chiamata a `editBegin()`) conclude il passo di modifica.

    StringList document.labelList();

  Restituisci tutte le etichette definite come una `Stringlist`, che può essere usata in JavaScript come un array di stringhe.

    StringList document.bibitemList();

  Restituisci tutti gli elementi bibliografici definiti come una `Stringlist`, che può essere usata in JavaScript come un array di stringhe.

    void document.refreshStructure();

  Aggiorna la vista della struttura (vedi Navigare nel sorgente LATEX).

### L'API di Kile

L'oggetto globale (variabile) `kile` è usato per gestire le interazioni di massimo livello con il mondo esterno, i messaggi in ingresso e le interfacce di dialogo. Queste chiamate API si dividono in sotto-oggetti per strutturare questa parte dell'API di scripting. Concettualmente, `kile` è un po' come `window` nell'API di un browser.

- `kile.alert`: riquadri con messaggi

- `kile.input`: ottieni informazioni dall'utente

- `kile.wizard`: richiama uno degli assistenti di Kile

- `kile.script`: ottieni informazioni su uno script in esecuzione

- `kile.file`: operazioni sui file come lettura e scrittura.

#### Avviso

    void kile.alert.information(String testo, String didascalia);

  Mostra una finestra di Informazione. `testo` è la stringa del messaggio e `didascalia` è il titolo del riquadro. Il titolo predefinito è il nome dello script.

    void kile.alert.sorry(String testo, String didascalia);

  Mostra una finestra di Scusa. `testo` è la stringa del messaggio e `didascalia` è il titolo del riquadro. Il titolo predefinito è il nome dello script.

    void kile.alert.error(String testo, String didascalia);

  Mostra una finestra di Errore. `testo` è la stringa del messaggio e `didascalia` è il titolo del riquadro. Il titolo predefinito è il nome dello script.

    String kile.alert.question(String testo, String didascalia);

  Mostra una semplice finestra di Domanda. `testo` è la stringa del messaggio e `didascalia` è il titolo del riquadro. Il titolo predefinito è il nome dello script. La stringa restituita è `yes` o `no`.

    String kile.alert.warning(String testo, String didascalia);

  Mostra una semplice finestra di Avviso. `testo` è la stringa del messaggio e `didascalia` è il titolo del riquadro. Il titolo predefinito è il nome dello script. La stringa restituita è `continue` o `cancel`.

#### Immissione

    String kile.input.getListboxItem(String didascalia, String etichetta, StringList elenco);

  Funzione per permettere all'utente di selezionare un elemento da un elenco mostrato come una casella a cascata. `didascalia` è il testo visualizzato nella barra del titolo, `etichetta` è il testo usato come etichetta per l'elenco ed `elenco` è l'elenco di stringhe inserito nell'elenco.

    String kile.input.getComboboxItem(String didascalia, String etichetta, StringList elenco);

  Funzione per permettere all'utente di selezionare un elemento da un elenco mostrato come una casella combinata `didascalia` è il testo visualizzato nella barra del titolo, `etichetta` è il testo usato come etichetta per l'elenco ed `elenco` è l'elenco di stringhe inserito nell'elenco.

    String kile.input.getText(String didascalia, String etichetta);

  Funzione per ottenere una stringa dall'utente. `didascalia` è il testo visualizzato nella barra del titolo e `etichetta` è il testo usato come etichetta per la casella di immissione.

    String kile.input.getLatexCommand(String didascalia, String etichetta);

  Funzione per ottenere un comando LATEX dall'utente. Ciò vuol dire che sono ammesse solo maiuscole e minuscole. `didascalia` è il testo visualizzato nella barra del titolo e `etichetta` è il testo usato come etichetta per la casella di immissione.

    int kile.input.getInteger(String didascalia, String etichetta, int min = INT_MIN, int max = INT_MAX);

  Funzione per ottenere un numero intero dall'utente. `didascalia` è il testo visualizzato nella barra del titolo. `etichetta` è il testo usato come etichetta per la casella numerica. `min` e `max` sono i valori minimo e massimo ammissibili che l'utente può selezionare; i valori predefiniti sono `INT_MIN` e `INT_MAX`.

    int kile.input.getPosInteger(String didascalia, String etichetta, int min = 1, int max = INT_MAX);

  Funzione per ottenere un numero intero positivo dall'utente. `didascalia` è il testo visualizzato nella barra del titolo. `etichetta` è il testo usato come etichetta per la casella numerica. `min` e `max` sono i valori minimo e massimo ammissibili che l'utente può selezionare; i valori predefiniti sono `1` e `INT_MAX`.

#### Assistente

    void kile.wizard.tabular();

  Richiama l'assistente per tabelle, che aiuta a scrivere un ambiente tabular (vedi Matrici e tabulari).

    void kile.wizard.array();

  Richiama l'assistente per matrici, che aiuta a scrivere un ambiente array (vedi Matrici e tabulari).

    void kile.wizard.tabbing();

  Richiama l'assistente per tabulazioni, che aiuta a scrivere un ambiente tabbing (vedi Matrici e tabulari).

    void kile.wizard.floatEnvironment();

  Richiama l'assistente per flottanti, che aiuta a inserire elementi flottanti (vedi Inserire elementi flottanti).

    void kile.wizard.mathEnvironment();

  Richiama l'assistente matematico, che aiuta a inserire elementi matematic (vedi Inserire ambienti matematici).

    void kile.wizard.postscript();

  Richiama l'assistente per gli strumenti PostScript, che aiuta a manipolare o ridisporre i documenti PostScript (vedi Programmi per PostScript®).

#### Script

    String kile.script.name();

  Restituisce il nome base di uno script in esecuzione (senza percorso ed estensione).

    String kile.script.caption();

  Restituisce una stringa utilizzabile come didascalia nei riquadri d'avviso. Ha l'aspetto di `Script: nome_script.js`.

#### File

    Object kile.file.read(String nome_file);

  Legge i contenuti di un file di testo. Si usa come:

  Esempio: `var ris = kile.file.read("percorso/al/file.txt");`

  Il valore restituito `ris` è un oggetto (o meglio, una mappa) con tre proprietà:

  - status:: presenta il codice di stato dell'operazione, che può essere 0 (nessun errore), 1 (accesso non riuscito), o 2 (accesso negato). Se nessun errore si è verificato, il valore di `ris.status` o `ris["status"]` sarà 0.

  - result:: contiene il testo del file indicato.

  - message:: contiene un messaggio d'errore, se si è verificato un errore.

    Object kile.file.read();

  Lo stesso che `read(nome_file)`, ma non viene dato un nome di file. Apparirà una finestra per selezionare il file da leggere.

    Object kile.file.write(String nome_file, String testo);

  Scrivi il testo dato in un file. Si usa come:

  Esempio: `var ris = kile.file.write("percorso/al/file.txt", "Del testo...");`

  Il valore restituito `ris` è un oggetto (o meglio, una mappa) con due proprietà: `status` e `message` (vedi `read()` per maggiori informazioni).

    Object kile.file.write(String testo);

  Lo stesso che `write(nome_file, testo)`, ma non viene dato un nome di file. Apparirà una finestra per scegliere il nome del file.

    String kile.file.getOpenFileName(String cartella_iniziale, String filtro);

  Crea una finestra modale di selezione dei file e restituisce il nome del file selezionato, o una stringa vuota se non ne è stato selezionato nessuno. Nota che con questo metodo l'utente deve selezionare il nome di un file esistente.

  Parametri:

  - `cartella_iniziale:`: cartella in cui è inizialmente aperta la finestra di selezione dei file.

  - `filtro`: un'espressione con caratteri jolly o un tipo MIME che specifica quali file visualizzare. Riferisciti alla documentazione di `KFileDialog` per maggiori informazioni su questo parametro.

  Entrambi i parametri sono facoltativi. Se ometti `filtro`, saranno visualizzati tutti i file. Se è omessa `cartella_iniziale`, la finestra userà la cartella del documento attuale come punto di partenza.

    String kile.file.getSaveFileName(String cartella_iniziale, String filtro);

  Crea una finestra modale di selezione dei file e restituisce il nome del file selezionato, o una stringa vuota se non ne è stato selezionato nessuno. Nota che con questo metodo l'utente non deve necessariamente selezionare il nome di un file esistente. Vedi `getOpenFileName()` per una spiegazione dei parametri.

Esempi
Esempi

## Esempi

Alcuni esempi potrebbero aiutare a capire come usare l'API di scripting. Questi esempi e altri ancora sono presenti nella cartella di scripting di Kile: ``KILE_APP_DIR`/scripts/`. Ogni script contiene una breve descrizione.

### Esempio 1: sostituire il nome dell'ambiente

Sostituisci un ambiente LATEX circostante con un altro, senza cambiare la posizione del cursore. Per esempio, `\begin{abc}...\end{abc}` verrà cambiato in `\begin{xyz}...\end{xyz}`.

    var range = document.environmentRange(false);
    if ( range.isValid() ) {
            var envname = kile.input.getLatexCommand("Inserisci ambiente","Nuovo nome dell'ambiente:");
            if ( envname != '' ) {
                    replaceEnvCommand(envname,range);
            }
    }
    else {
            kile.alert.sorry("Nessun ambiente LaTeX circostante rilevato.");
    }

    function replaceEnvCommand(newEnv,r)
    {
            var c = view.cursorPosition();

            var envname = document.environmentName();

            if ( envname != "" ) {
                    var beginRange = new Range(r.start,new Cursor(r.start.line,r.start.column+8+envname.length));
                    var endRange = new Range(new Cursor(r.end.line,r.end.column-6-envname.length),r.end);

                    document.editBegin();
                    document.replaceText(endRange,"\\end{"+newEnv+"}");
                    document.replaceText(beginRange,"\\begin{"+newEnv+"}");
                    document.editEnd();
            }
    }

### Esempio 2: sostituire un comando LATEX di carattere

Sostituisci un comando LATEX per il carattere con un altro, quando il cursore è posizionato nel gruppo TeX. La posizione relativa del cursore non verrà modificata. Per esempio `\textbf{abc}` verrà cambiato in `\textit{abc}`.

    var fontCommands = new Array("\\textbf","\\textit","\\textsl","\\texttt",
                                 "\\textsc","\\textrm","\\textsf","\\emph");

    var range = document.texgroupRange(false);
    if ( range.isValid() ) {
            replaceFontCommand(range);
    }
    else {
            kile.alert.sorry("Nessun gruppo TeX circostante rilevato.");
    }

    function replaceFontCommand(r)
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.setCursorPosition(r.start);
            var cmd = document.latexCommand();
            var index = fontCommands.indexOf(cmd);
            if ( index
    >= 0 ) {
                    var cmdRange = document.latexCommandRange();
                    if ( cmdRange.isValid() ) {
                            var newcommand = kile.input.getListboxItem("Choose",
                                                        "Scegli comando di carattere:",buildCmdList(cmd));
                            if ( newcommand != "" ) {
                                    document.replaceText(cmdRange,newcommand);
                                    c.column = c.column - (cmd.length - newcommand.length);
                            }
                    }
    /                view.setCursorPosition(c);
            }
            else {
                    kile.alert.sorry("Nessun comando di carattere circostante rilevato.");
            }
            document.editEnd();
    }

    function buildCmdList(current)
    {
            var result = new Array();
            for ( i=0; i<fontCommands.length; ++i ) {
                    if ( fontCommands[i] != current ) {
                            result.push(fontCommands[i]);
                    }
            }
            return result;
    }

### Esempio 3: circonda il testo selezionato

Circonda il testo selezionato con un comando TeX, senza cambiare la posizione relativa del cursore. Per esempio, `abc` verrà modificato in `\textcommand{abc}`.

    var range = view.selectionRange();

    if ( range.isValid() ) {
            var cmd = kile.input.getLatexCommand("Scegli","Scegli il comando LaTeX circostante:");
            if ( cmd != "" ) {
                    surroundTexCommand("\\"+cmd,range);
            }
    }
    else {
            kile.alert.sorry("Nessuna selezione rilevata.");
    }

    function surroundTexCommand(cmd,r)
    {
            var c = view.cursorPosition();

            document.editBegin();
            view.clearSelection();
            document.insertText(r.end,"}");
            document.insertText(r.start,cmd+"{");

            c.column = c.column + cmd.length + 2;
            view.setCursorPosition(c);
            document.editEnd();
    }

Capitolo 15. Aiuto
Aiuto

# Capitolo 15. Aiuto

## Documenti di aiuto

LATEX è un sistema piuttosto sofisticato, dove le funzionalità di base possono essere espanse da una moltitudine di pacchetti aggiuntivi. Kile fornisce molti modi diversi per aiutare l'utente.

Il sotto-menu Aiuto → Documentazione LaTeX include i collegamenti alla documentazione per tutti i pacchetti inclusi e un riferimento aggiuntivo per LATEX.

Navigatore della documentazione

  Un utile strumento per sfogliare tutti gli argomenti di LATEX. Installa i pacchetti della guida di LATEX della tua distribuzione se è necessario il compendio completo della documentazione.

LaTeX

  Un riferimento non ufficiale per TEX e compagnia. Non è solo una descrizione di tutti i programmi, ma sono inclusi anche alcuni pacchetti importanti. Include anche un manuale di riferimento completo dei comandi LATEX, ideale per cercare un particolare comando di formattazione quando si scrive un documento. Essendo un documento molto grande, in Kile viene separato da tre segnalibri.

Comandi di LaTeX

  Un altro indice alfabetico dei comandi LATEX più comuni.

Ambienti LaTeX

  Un indice alfabetico degli ambienti LATEX più comuni.

Aiuto contestuale
Aiuto contestuale

## Aiuto contestuale

Kile supporta anche un aiuto contestuale, richiamato con Ctrl+Alt+H,K. In impostazioni → Configura Kile → Kile+Aiuto puoi scegliere se vuoi usare il riferimento LATEX di Kile o il sistema di aiuto di teTEX o TeX Live, che è l'impostazione predefinita.

Ricerca delle parole chiave
Ricerca delle parole chiave

## Ricerca delle parole chiave

Non è sempre facile trovare il documento giusto, perché teTEX e TeX Live includono una quantità enorme di documenti di supporto. Per facilitarne il recupero, teTEX e TeX Live includono un programmino chiamato texdoctk, che contiene una banca dati di tutti i documenti di supporto, per il quale Kile fornisce un'interfaccia.

Tutti i documenti sono raggruppati in categorie. Inoltre si possono cercare i nomi dei pacchetti o delle parole chiave. Quindi, Kile mostrerà solo i documenti di supporto corrispondenti alla stringa di ricerca.

Un clic doppio del mouse o del tasto Spazio avvierà un visore per il documento selezionato. Questo può essere uno qualsiasi, non solo un documento DVI, PS, PDF o HTML. Kile terrà conto delle impostazioni di KDE per avviare un visore appropriato.

Aiuto definito dall'utente
Aiuto definito dall'utente

## Aiuto definito dall'utente

Oltre alla documentazione statica di teTEX e TeX Live, Kile supporta anche un'altra modalità più flessibile per i documenti di supporto. Nel menu Aiuto, Kile ha un sottomenu speciale Aiuto dell'utente, dove l'utente può aggiungere dei documenti a sua scelta. Questi possono essere i documenti più importanti di teTEX o TeX Live, o anche documenti scritti da sé. È anche possibile inserire degli URL.

Vai a Impostazioni → Configura Kile → Kile+Aiuto e scegli il pulsante Configura per configurare questo menu Aiuto dell'utente. Puoi aggiungere, rimuovere o spostare le voci, e inserire dei separatori per adattare la struttura del menu.

Premere il pulsante Aggiungi aprirà un'altra finestra, dove puoi modificare il nome della voce del menu e scegliere il file corrispondente o URL. Il secondo pulsante a destra del campo di testo avvia Konqueror, che può essere usato per determinare l'URL giusto.

Dopo aver concluso la configurazione, tutte le voci appariranno nel menu Aiuto di Kile come una voce speciale, Aiuto dell'utente.

Capitolo 16. Riconoscimenti e licenza
Riconoscimenti e licenza

# Capitolo 16. Riconoscimenti e licenza

Kile è un editor di codice sorgente LATEX e TEX open source e facile da usare. Funziona sui sistemi con ambiente desktop KDE installato. KDE è disponibile per diverse architetture, incluso Linux® e altri sistemi simili a Unix.

Molti ringraziamenti sono dovuti a chi lavora per continuare il progetto Kile e a chi sacrifica molte ore del suo tempo per sviluppare gli strumenti che possiamo usare tutti sotto la licenza GNU. Le informazioni aggiornate sui partecipanti si trovano nella finestra Informazioni su Kile nel menu Aiuto.

Molte grazie a tutti i partecipanti!

Copyright 2003-2009 della traduzione italiana di Federico Zenith, `(federico.zenith AT member.fsf.org)`

Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.

Questo programma è concesso in licenza sotto i termini della GNU General Public License.