El manual del Kile

# El manual del Kile

Pechta, Jonathan

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

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

Braun, Thomas

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

Mauch, Felix `<felix_mauch@web.de>`

Traductor: Antoni Bella
revisió 2.1 (22 de maig de 2011)

Dret de reproducció © 2003 Jonathan Pechta

Dret de reproducció © 2003, 2005, 2006 Federico Zenith

Dret de reproducció © 2005, 2006, 2012 Holger Danielsson

Dret de reproducció © 2007 Thomas Braun

Dret de reproducció © 2007, 2011 Michel Ludwig

Dret de reproducció © 2011 Felix Mauch

Avís legal

El Kile és un editor de codi font i intèrpret d'ordres per a TEX i LATEX.

Capítol 1. Prefaci
Prefaci

# Capítol 1. Prefaci

## Requisits

Per a executar el Kile, haureu de tenir instal·lats els components següents al sistema:

- L'entorn d'escriptori K (KDE): El KDE és un popular entorn d'escriptori de codi obert.

- Qt™: Les Qt™ són una IGU escrita en C++ i la biblioteca de xarxa necessària per a compilar el Kile.

- LATEX: és un programa de composició de documents d'alta qualitat. El més probable és que vulgueu el paquet TeX Live (o en sistemes més antics el teTEX), si esteu en un sistema tipus UNIX®.

La majoria d'aquests elements poden estar inclosos a la vostra distribució Linux®. Consulteu la documentació de la distribució, o consulteu el CD o DVD d'instal·lació, per a afegir aquests paquets al vostre ordinador.

El Kile també pot estar disponible com un paquet precompilat per a la vostra distribució Linux®. Si us plau, comproveu al gestor de paquets de la vostra distribució.

Persones a les quals va dirigit aquest document
Persones a les quals va dirigit aquest document

## Persones a les quals va dirigit aquest document

Aquest manual està dirigit a qualsevol persona, independentment de la seva experiència amb LATEX, KDE, Kile o Linux®.

No s'espera que els usuaris avançats llegeixin aquest manual, però s'agrairan qualsevol suggeriment sobre la documentació. Si voleu contribuir amb aquest projecte o la documentació, podeu consultar la pàgina web del Kile.

Necessiteu respostes sobre el Kile? Està encallat en el procés de compilació? Voleu veure implementada una característica nova? La millor manera de fer preguntes tècniques o per a iniciar un debat és utilitzar la nostra llista de correu: `(kile-devel AT lists.sourceforge.net)`.

Capítol 2. Introducció
Introducció

# Capítol 2. Introducció

## Aspectes bàsics

### Quant al Kile

El Kile és un entorn LATEX integrat per a l'escriptori KDE. El Kile ofereix la possibilitat d'utilitzar tota la funcionalitat de LATEX des d'una interfície gràfica, la qual us proporcionarà un accés fàcil, immediat i personalitzat a tots els programes per a la compleció de codi, compilació, postprocessament, depuració, conversió i eines de visualització de LATEX. També ofereix assistents molt pràctics, una referència de LATEX i un potent gestor de projectes.

### El Kile i el component d'edició del Kate

El Kile es basa en el component d'edició del Kate, és a dir, una gran quantitat de les seves capacitats d'edició es deriven del component d'edició del Kate. El Kile amplia aquestes capacitats amb les característiques per a editar documents de LATEX. Per a aprendre més sobre el component d'edició del Kate i les seves capacitats, vegeu la pàgina web del Kate.

### Què és el LATEX?

LATEX és un sistema de processament de text derivat de TEX, un programa desenvolupat originalment el 1977 per Donald Knuth per a ajudar els autors a confeccionar el seu treball d'una manera professional i obtenir una qualitat de disseny parella al treball d'un tipògraf professional. LATEX va ser creat per Leslie Lamport per a proporcionar als autors un tipògraf automàtic, especialment per a facilitar el procés costós i laboriós de composició tipogràfica de fórmules i expressions matemàtiques, les quals estan tancades entre signes de dòlar en LATEX per una raó. Avui dia, els programes de processament de text permeten a qualsevol actuar com a tipògraf, però el que sovint es necessita és un document que simplement es vegi bé, sense haver d'invertir hores per a donar-li forma. LATEX pren aquesta càrrega sobre les seves espatlles, i permet concentrar-vos en el document en lloc del disseny. I sí, es veurà bé!

### Com es pronuncia? Per què aquesta estranya composició tipogràfica?

Hi ha una curiosa tradició perquè els paquets relacionats amb TEX tinguin la pronunciació i composició tipogràfica tan estranya. Se suposa que TEX prové del grec τεχ, en lletres llatines tech. Hi ha un moltes explicacions del perquè, però el més probable és perquè TEX es va concebre originalment per a informes tècnics, i d'aquí que el seu principal punt fort fos la correcció i la facilitat escrivint fórmules matemàtiques, que llavors resultava extremadament car, llarga i frustrant.

Se suposa que es pronuncia de la manera següent: T, E com era d'esperar, X com la ch en alemany, Si no sabeu com sona ch, és més o menys com el so que produeix un gat en xiuxiuejar. El símbol de la IPA que el representa és /ç/. Molta gent informa d'una pronunciació diferent ach (símbol de la IPA és /x/), però segons alguns grecs, la primera versió és la correcta. Haureu de ser conscient que moltes persones pronuncien malament TEX com /teks/ o /tek/.

Finalment, a LATEX la primera LA es pronuncia com la paraula anglesa lay: la idea és que, mentre TEX és difícil, fins i tot un profà pot utilitzar macros de LATEX. Una explicació menys inspiradora, però més realista és que prové del cognom de Leslie Lamport, el creador de LATEX. Ara ja ho sabeu!

LATEX 101
LATEX 101

## LATEX 101

El sistema de composició tipogràfica LATEX és similar a altres llenguatges de marques, com XML, utilitzat en molts tipus de documents (incloent-hi el que esteu llegint), o HTML, utilitzat per a les pàgines web. La idea general al darrere dels llenguatges de marques és tenir un conjunt de paraules clau especials, anomenades etiquetes, que li indiquen a un programa (un processador de text, un navegador web, o al compilador de LATEX) com interpretar el text tancat entre les etiquetes. El Kile ofereix una sèrie d'aquestes etiquetes al menú LaTeX a la barra de menús.

Si bé tractarem de donar-vos una bona idea del que és LATEX, aquest document no és, per descomptat, el llibre definitiu sobre LATEX Si voleu aprendre LATEX en profunditat, possiblement voldreu manllevar un llibre especialitzat en la vostra biblioteca local.

Com amb qualsevol altre llenguatge de marques, els documents LATEX contenen un preàmbul, que defineix les propietats globals, com la mida del paper, la numeració de les pàgines, les dimensions del text a la pàgina, i un cos del document que contindrà el text del document. El preàmbul es compon almenys de l'ordre `\documentclass`. Aquest precedeix al cos del document, que s'inicia amb l'ordre `\begin{document}` i es conclou amb l'ordre `\end{document}`.

Característiques principals del Kile
Característiques principals del Kile

## Característiques principals del Kile

### Assistent d'inici ràpid

L'assistent d'inici ràpid integrat en el Kile és una útil característica per a iniciar-vos en la creació ràpida de documents amb el Kile. Escollint l'assistent des de la barra de menús se us oferiran diverses opcions per a la creació del document. També podeu especificar algunes opcions relacionades amb el document.

Opcions de la classe:

- Classe del document: escull el tipus de document que voleu crear: article, llibre, lletra, informe, scrartcl, scrreprt, scrbook, prosperar, prosper, beamer o un altre definit a mida.

- Mida de la lletra: indica al Kile quina mida en punts (pt) voleu utilitzar.

- Mida del paper: escull la mida o l'estil dels fulls.

- Codificació: En general és una bona idea utilitzar la codificació estàndard del vostre sistema. Cada vegada més sistemes moderns es passen a UTF-8 com a codificació estàndard. Si podeu, utilitzeu utf8 o utf8x (que en realitat és la forma correcta per als documents de LATEX).

- Altres opcions: permet establir opcions addicionals, com ara la impressió, l'esborrany i altres.

Paquets

Llista alguns dels paquets addicionals més comuns utilitzats en LATEX. Marqueu la casella de selecció per a incloure'ls.

Propietats del document:

- Autor: escriviu aquí el vostre nom.

- Títol: afegiu el títol del document.

- Data: especifiqueu la data.

### Plantilles predefinides

Les plantilles predefinides al Kile són:

- Document buit: els més fanàtics comencen des de zero!

- Article: selecciona el format d'article, per a un document prou curt per a no dividir-lo en capítols.

- Informe: selecciona el format d'informe, per a un document de mida mitjana, amb, per exemple, la numeració de les pàgines a la vora exterior de la pàgina.

- Llibre: selecciona el format de llibre, una opció tan potent que s'utilitza per a escriure molts llibres de text universitaris.

- Lletra: selecciona el format de lletra.

- Beamer, HA-Prosper: crear vistoses presentacions en PDF amb un aspecte superior i tota la potència de LATEX.

- Powerdot: Powerdot és la continuació dels paquets `seminar` i `HA-Prosper`. No té tantes opcions com Beamer, però és fàcil d'utilitzar i es poden crear presentacions molt boniques en format PDF.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2: les classes de document de Koma-Script, especialment adaptades a la tipografia alemanya. Utilitzeu-les quan escriviu textos en alemany.

- Xelatex: una modificació de la plantilla `Article` per a utilitzar-la amb `XeLaTeX`.

Tingueu en compte que totes aquestes plantilles es poden ajustar a les necessitats de l'usuari.

Els usuaris nous no s'han de preocupar: aquesta llista sols és una breu descripció de les característiques disponibles, i es pot trobar una descripció més detallada a Inici ràpid.

### Ressaltat de sintaxi

El Kile és similar a altres programes que tracten amb el codi font i l'edició, i ressaltarà automàticament les ordres, les opcions i els elements que s'utilitzen (i dels que s'abusa). El Kile permet identificar fàcilment les àrees problemàtiques: Per exemple, si veieu un gran espai de text de color verd, probablement heu oblidat tancar un entorn matemàtic en algun lloc.

### Compleció automàtica dels entorns

La compleció automàtica dels entorns significa que quan s'inicia un entorn nou escrivint `\begin{environment}`, el Kile automàticament afegirà una ordre coincident `\end{environment}`, amb una línia al mig per al vostre text. Per descomptat, podeu desactivar-ho a Arranjament → Configura el Kile... → LaTeX+Entorns.

### Saltar a un element de l'estructura

Tots els documents normalment s'estructuren en una jerarquia d'algun tipus. LATEX us permet dividir els documents en la jerarquia següent (sent «part» la més alta a la jerarquia, i «subparàgraf» la més baixa):

- \part (part)

- \chapter (capítol)

- \section (secció)

- \subsection (subsecció)

- \subsubsection (subsubsecció)

- \paragraph (paràgraf)

- \subparagraph (subparàgraf)

Mentre esteu veient un document a la vista Estructura, podreu saltar entre els elements fent clic sobre l'element que us agradaria veure.

### Cerca inversa

Quan creeu els vostres propis fitxers de LATEX, la cerca inversa pot ser molt útil. Una vegada creat un fitxer DVI (DeVice Independent File -fitxer independent del dispositiu-) o un fitxer PDF, feu clic amb el botó esquerre del ratolí mentre premeu la tecla Maj al visualitzador i el Kile saltarà a la línia corresponent al codi font de LATEX.

Un DVI és un tipus de fitxer que conté la descripció d'un document amb format, juntament amb altra informació incloent-hi la lletra dels caràcters, i junt amb el PDF és la sortida habitual de TEX o LATEX. Hi ha una sèrie d'utilitats per a visualitzar, convertir i imprimir fitxers DVI a diversos sistemes i dispositius.

### Cerca cap endavant

En utilitzar la cerca inversa, la selecció d'elements en el fitxer DVI o PDF s'associarà amb l'editor, de manera que en fer clic sobre el fitxer DVI o PDF, la finestra principal saltarà a la secció de codi corresponent de LATEX a l'editor. La cerca cap endavant és exactament el contrari. Us permetrà fer clic sobre una secció específica de text en el codi de LATEX, i saltar a la posició associada a la finestra del visualitzador.

La barra d'eines
La barra d'eines

## La barra d'eines

- Nova: inicia un document nou.

- Obre: obre un document nou.

- Tanca: tanca el document.

- Defineix el document actual com a «document mestre»: s'utilitza quan es treballa amb múltiples fitxers. Tenir un document mestre us permetrà treballar amb més facilitat amb altres fitxers `.tex` inclosos en el document. Si esteu utilitzant projectes, també podreu establir-ho a Projecte → Opcions del projecte un document de projecte a nivell màster.

- Creació ràpida: compila el codi font de LATEX i mostra els resultats de forma automàtica si no hi ha errors continguts en el document.

- Mode de vigilància de fitxer: aquest mode «vigilarà» el fitxer DVI per als canvis, i no llançarà una sessió nova de l'Okular després de Creació ràpida.

- Mostra el fitxer del registre: mostra el fitxer `.log`, de manera que pugueu detectar errors.

- Error anterior: salta cap enrere a través del fitxer `.log` i ressalta els errors en el codi font.

- Error següent: salta cap endavant a través del fitxer `.log` i ressalta els errors en el codi font.

- Atura: atura l'eina actual.

- LaTeX: executa LATEX sobre el document actiu.

- ViewDVI: llança el visualitzador de DVI.

- DVItoPS: converteix un DVI a un PostScript® (PS).

- ViewPS: llança el visualitzador de PostScript® (PS).

- PDFLaTeX: executa el PDFLATEX sobre el document actiu.

- ViewPDF: llança el visualitzador de PDF.

- DVItoPDF: converteix un DVI en un PDF.

- PStoPDF: converteix un PS en un PDF.

- ViewHTML: visualitza l'HTML creat.

- ForwardDVI: saltar a la pàgina del fitxer DVI que correspon a la línia actual a l'editor.

- ForwardPDF: salta a la pàgina del fitxer PDF que es correspon amb la línia actual a l'editor.

Si us fixeu en la barra d'eines Edita, observareu tres grans menús desplegables. Els menús desplegables s'han dissenyat per a permetre-us afegir ràpidament certes característiques comunes al vostre document. La primera llista desplegable s'utilitza per a dividir ràpidament el document en parts, capítols, seccions i així successivament. Les ordres disponibles per a afegir segments al vostre codi font de LATEX són:

- part: el nivell més alt de seccionament per a un document.

- chapter (capítol): comença un capítol nou.

- section (secció): crea una secció nova.

- subsection (subsecció): crea una subsecció nova.

- subsubsection (subsubsecció): crea una secció secundària entre una subsecció i un paràgraf.

- paragraph (paràgraf): crea un paràgraf nou.

- subparagraph (subparàgraf): crea un subparàgraf nou.

La llista desplegable anomenada Altres, s'utilitza per a inserir elements al vostre document, com ara índexs, notes al peu i referències. Les ordres disponibles són les següents:

- label (etiqueta): una ordre que produeix una etiqueta per a un capítol, una figura o un altre element.

- index (índex): crea una entrada per a l'índex.

- footnote (nota al peu): crea una nota al peu del vostre document.

- ref (referència): s'utilitza per a fer referència a una etiqueta predefinida, que podeu escollir des d'una llista desplegable.

- pageref (referència de pàgina): igual que ref, però es refereix a una pàgina en lloc d'un element de l'estructura.

- cite (cita): crea una referència amb les dades d'una bibliografia.

El menú desplegable Altres

Seleccionant l'etiqueta per a una referència

Quan s'utilitzi cite, se us mostrarà una llista desplegable de «bibitems», però si esteu utilitzant BibTEX tan sols funcionarà si el fitxer pertany a un projecte. Per a l'edició de fitxers BibTEX es recomana l'ús d'editors especialitzats. L'autor ha obtingut un bon resultat amb el KBibTEX. Per descomptat, també podeu escriure els fitxers BibTEX a mà des del Kile.

L'última llista desplegable anomenada tiny s'utilitza per a ajustar la mida del text. Podeu ajustar la mida del text principal, les notes al peu, i així successivament. Les ordres disponibles són les següents:

- tiny: la més petita.

- scriptsize: molt petita.

- footnotesize: més petita.

- small: petita.

- normalsize: normal.

- large: gran.

- Large: més gran.

- LARGE: encara més gran.

- huge: la més gran.

- Huge: la més gran de totes.

Capítol 3. Inici ràpid
Inici ràpid

# Capítol 3. Inici ràpid

## Escriure un document LATEX amb el Kile per a principiants

Els usuaris del Kile tenen dues opcions quan comencen un document nou: poden utilitzar l'Assistent per a iniciar un document nou, seleccionant el tipus de document que volen crear i opcions com ara la mida de la lletra, la mida de paper, i així successivament. L'altra opció és escriure el codi a mà.

    \documentclass[12pt]{article}
    \begin{document}
            Aqu\'{i} hi ha un munt de text codificat en \LaTeX.
    \end{document}

Cada document en LATEX comença amb l'ordre `\documentclass[optional argument]{class}`, on la classe especifica el tipus de document.

Escrivint el codi d'exemple anterior, el quadre de text donarà el resultat següent:

Text compilat en la sortida DVI

### Important

Per a emprar els caràcters en català cal fer una de les dues coses:

- Escapar els caràcters especials: `\`{o}` (per una «ò» -amb accent tancat-) o `\"{u}` (per a una «ü» -amb dièresi-).

- Utilitzar el paquet `\usepackage[utf8]{inputenc}` per a indicar que l'entrada és en UTF-8.

Les claus que venen després de l'ordre `\documentclass` contenen les opcions per l'ordre. L'opció `[12pt]` defineix la mida de la lletra del vostre article. Si no s'estableix la mida de la lletra al començament, es podrà establir més endavant en el text.

Una vegada escriviu el codi d'exemple al quadre anterior, haureu de compilar el codi font LATEX. La manera més fàcil de compilar LATEX és utilitzar el menú Construeix, o amb el botó Creació ràpida.

Alt+2 és la drecera de teclat per a compilar el codi font.

Haureu de desar el codi font abans de poder compilar. El Kile ho farà automàticament.

Si el document no compila, comproveu el registre d'errors. Quan s'utilitza la clau Creació ràpida, el visualitzador Okular s'hauria de llançar de forma automàtica; si no és així, comproveu el registre.

Entorns
Entorns

## Entorns

Un entorn és un segment de text que es gestiona de manera diferent que la resta del document. Per exemple, podeu crear un informe amb lletra de mida 12, però heu de canviar la mida de la lletra per a un parell de frases. Les ordres `\begin{environment}`, `\huge` i `\end{environment}` us permetran alterar temporalment el text dins de les ordres d'entorn per a tenir una mida major.

Els canvis sols són efectius a partir de `\begin{environment}` fins a `\end{environment}`. No hi ha límits pel que fa a quants canvis es poden fer dins d'un entorn.

Hi ha moltes característiques que podeu afegir al vostre document que el faran més fàcil de llegir i d'utilitzar. Al vostre document podeu afegir característiques com lletres específiques, negreta, cursiva, subratllat, etc., i aquestes ordres acabaran, sigui amb una ordre `\end`, o al final del vostre entorn.

- `\begin{emph}`: aquesta ordre posa el text en cursiva, i és vàlida fins que el codi es troba amb un `\end{emph}`, o un altre entorn. Per a posar en cursiva una paraula en una oració, podeu utilitzar la sintaxi: aquesta és la frase `\emph{som i serem}`.

- `\textbf{Estic posant en negreta el text entre claus}`: Aquesta ordre posa el text en negreta.

- `\quote`: per a crear una cita dins del vostre document, comenceu la vostra cita amb `\begin{quote}` i acabeu-la amb `\end{quote}`.

- `\center`: centra el text.

- `\verse`: crea text desplaçat per a poemes.

- `\itemize`: crea una llista d'elements.

Usar el Kile
Usar el Kile

## Usar el Kile

Ara que us hem donat alguns antecedents sobre com escriure codi utilitzant el llenguatge de marques LATEX, us mostrarem com crear un document pas a pas utilitzant el Kile.

1. Inicieu el Kile.

2. Seleccioneu Assistent → Inici ràpid, després escolliu un format i establiu les vostres preferències a l'assistent.

3. Una vegada que l'assistent hagi introduït text, personalitzeu-lo una mica per a fer que el document sigui més fàcil de llegir, afegiu com a mínim una cita, algun text en negreta, cursiva i un vers per a veure la diferència entre les ordres.

4. Deseu el fitxer i assigneu-li el nom `intro.tex`.

5. Construïu el document utilitzant Alt+2, o el botó anomenat LaTeX.

6. Seleccioneu ViewDVI.

7. Comproveu el text nou.

8. En acabar de veure el document, feu clic al botó Veure de l'editor o premeu Ctrl+E per a tornar a l'editor si esteu utilitzant el visualitzador incrustat, o tanqueu la finestra del visualitzador, si feu servir un visualitzador independent.

Això és! Acabeu de crear el vostre primer document LATEX!

Una vegada hàgiu creat el vostre DVI, sereu capaç d'imprimir el document, convertir-lo en un fitxer PostScript® o PDF. Experimenteu i divertiu-vos!

Fitxers DVI
Fitxers DVI

## Fitxers DVI

DVI vol dir, fitxer independent del dispositiu (DeVice Independent). Aquests fitxers són produïts per TEX o LATEX per a ser llegits per un programa d'algun tipus al vostre ordinador. Hi ha molts tipus diferents de sortides a les quals es pot enviar un `.dvi`, com una impressora, convertidor de fitxer PostScript® o PDF, o a la pantalla de l'ordinador.

### Veure un DVI

Ja heu vist com veure un fitxer DVI a la pantalla utilitzant el botó ViewDVI a la barra d'eines.

### Imprimir un DVI

Per a imprimir un DVI, podeu utilitzar el mateix procediment que vàreu utilitzar per a crear el document anterior (vegeu Usar el Kile). En el pas 7, després feu clic a ViewDVI, seleccioneu Fitxer → Imprimeix al visualitzador, i si teniu correctament configurada la impressora, podreu imprimir el DVI.

### Convertir fitxers DVI

La barra d'eines ofereix les opcions per a convertir un DVI a altres formats. Un cop heu creat un DVI des del vostre codi font LATEX, sereu capaç d'exportar-lo a un format de la vostra elecció utilitzant els botons de la barra d'eines.

Cerca cap endavant entre el Kile i l'Okular
Cerca cap endavant entre el Kile i l'Okular

## Cerca cap endavant entre el Kile i l'Okular

Les funcions de cerca cap endavant us permetran saltar des del vostre editor directament a la posició associada al fitxer DVI o PDF.

El Kile ofereix una configuració d'aquesta opció per a tots els binaris LATEX. Aneu a Arranjament → Configura el Kile... → Eines+Construeix i sempre escolliu la configuració Moderna.

Per a executar una cerca cap endavant, situeu el ​​cursor en una línia del codi font, i feu clic a Cerca cap endavant per a saltar a la posició associada a la finestra del visualitzador DVI o PDF.

Cerca inversa entre el Kile i l'Okular
Cerca inversa entre el Kile i l'Okular

## Cerca inversa entre el Kile i l'Okular

La cerca inversa és una característica molt útil quan esteu escrivint un document LATEX. Si tot és correcte, podeu fer clic a la finestra de l'Okular amb el botó esquerre del ratolí mentre premeu la tecla Maj. Després, el Kile carregarà el fitxer de codi font LATEX i saltarà al paràgraf adequat. Per a utilitzar la cerca inversa, haureu de compilar el fitxer LATEX amb la configuració Moderna.

La cerca inversa no funcionarà a menys que:

- El fitxer de codi font s'hagi compilat amb èxit.

- Que l'Okular conegui quin editor voleu utilitzar.

Amb aquesta característica de l'Okular, un clic amb el botó esquerre del ratolí mentre premeu Maj al document DVI o PDF resultarà en el fet que el Kile obrirà el document LATEX corresponent i intentarà anar a la línia corresponent. Recordeu dir-li a l'Okular utilitzar el Kile com a editor de text, a l'element de menú Arranjament → Configura l'Okular... (a la pàgina Editor) de l'Okular.

Configurant l'Okular

Resoldre errors
Resoldre errors

## Resoldre errors

Si esteu intentant utilitzar la creació ràpida, i el visualitzador DVI no s'obre, el més probable és que hi hagi un error. Si teniu un error, serà visible al fitxer de registre / àrea de missatges, i es donarà un resum de l'error.

El fitxer de registre explicarà l'origen de l'error en el codi. A l'editor, podeu utilitzar els botons a la barra d'eines anomenats Anterior error LaTeX i Següent error LaTeX per a saltar a i des dels errors. El fitxer de registre sempre indica en quina línia es va produir l'error. Per a veure la línia en la qual hi ha hagut un error, feu clic sobre l'error a la finestra de registre, i el Kile us durà a la línia de l'error.

Capítol 4. Començar un document nou
Començar un document nou

# Capítol 4. Començar un document nou

En fer clic al botó de la barra d'eines per a començar un document nou apareixerà un diàleg que us demanarà quin tipus de plantilla voleu utilitzar per a escriure el document. Les opcions per omissió són:

- Document buit

- Article

- Beamer

- Llibre

- HA-Prosper

- Powerdot

- Carta

- Informe

- Scrartcl (del paquet KOMA-Script)

- Scrbook (del paquet KOMA-Script)

- Scrlttr2 (del paquet KOMA-Script)

- Scrreprt (del paquet KOMA-Script)

- PDF

- XeLaTeX

Si heu seleccionat un Document buit, podeu començar a escriure un document des de zero, o utilitzar l'assistent per a iniciar ràpidament un document nou (vegeu Assistent d'inici ràpid).

## Plantilles

Els usuaris que utilitzin LATEX, sovint solen utilitzar el mateix preàmbul per a gairebé tots els seus documents. Les plantilles es poden crear, desar i carregar en el Kile perquè sigui més fàcil començar un document nou.

### Crea una plantilla nova

Per a crear una plantilla, primer heu d'obrir un fitxer TEX / LATEX, o crear un fitxer pel vostre compte. El Kile pot generar una plantilla a partir d'un document existent obrint el document que desitgeu i seleccionant Fitxer → Crea una plantilla des del document.

### Configurar les substitucions automàtiques

Quan es crea un document nou seleccionant una plantilla des de Fitxer → Nou, certes combinacions de caràcters seran substituïdes per dades com ara el vostre nom, o la codificació de caràcters que esteu utilitzant. Aquestes variables es poden configurar a Arranjament → Configura el Kile... → Kile+General.

Si esteu dissenyant la vostra pròpia plantilla, és útil conèixer quines combinacions de caràcters són substituïdes per quines variables de plantilla:

- `$$AUTHOR$$`: Aquesta cadena serà substituïda per la variable AUTHOR.

- `$$DOCUMENTCLASSOPTIONS$$`: Aquesta cadena serà substituïda per la variable DOCUMENTCLASSOPTIONS. Normalment això s'utilitza de la manera següent: `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$`: Si s'estableix la variable INPUTENCODING a, per exemple, `latin1` aquesta cadena se substituirà per `\input[latin1]{inputenc}`.

### Crear una plantilla des de l'assistent

La manera més fàcil de crear una plantilla és iniciar l'assistent i, a continuació afegiu les ordres a l'editor. Una vegada tingueu ajustat el document al vostre gust:

1. Deseu el fitxer;

2. Aneu a Fitxer;

3. Escolliu Crea una plantilla des del document;

4. Feu les correccions necessàries a la plantilla;

5. Introduïu un nom de la plantilla nova;

6. Feu clic a D'acord per a afegir la vostra plantilla al menú.

La pròxima vegada que comenceu un document nou, sereu capaç d'escollir la vostra plantilla personalitzada en lloc de les per omissió.

### Crear una plantilla a partir de qualsevol fitxer

Una plantilla es pot crear des de qualsevol fitxer LATEX. Si esteu cercant una manera fàcil de configurar una plantilla, cerqueu una que us agradi a Internet i seguiu els mateixos passos que s'enumeren a Crear una plantilla des de l'assistent.

Per exemple, diguem que voleu crear un pòster A0 en tota regla. Aquests pòsters se solen veure en conferències científiques, i LATEX us ajudarà a crear un cartell atractiu, amb ganxo. Recordeu que necessitareu el paquet `a0poster`, el qual normalment no es troba a les distribucions de TEX estàndard. Podeu descarregar-lo des d'aquí i posar-lo a la mateixa carpeta que el fitxer LATEX.

### Eliminar una plantilla

Per a eliminar una plantilla del Kile, feu el següent:

1. Aneu a Fitxer → Elimina plantilla...;

2. Apareixerà un diàleg amb totes les plantilles de la llista: seleccioneu una plantilla;

3. Feu clic a D'acord i la vostra plantilla serà eliminada.

Les plantilles marcades amb un asterisc (*) no es poden eliminar sense els permisos adequats.

Capítol 5. Editar documents LATEX
Editar documents LATEX

# Capítol 5. Editar documents LATEX

L'editor intern que utilitza el Kile és el Kate. El Kate és un editor de text creat per a programadors, que incorpora la capacitat de llegir i ressaltar molts tipus diferents de fitxers de text, entre els quals destaquen LATEX i BibTEX, podeu accedir a moltes opcions per al Kate directament des del menú Eines del Kile.

Per a aprendre més sobre el Kate i les seves capacitats, vegeu el Manual del Kate. Els usuaris del Kile poden començar a llegir des del capítol «Treballar amb l'editor Kate».

## La referència de LATEX

Les característiques del Kile són una molt pràctica referència de les etiquetes de LATEX, a la qual podeu accedir escollint Ajuda → Referència de LaTeX. Conté una acurada descripció de gairebé totes les ordres que es poden utilitzar en LATEX i la seva sintaxi.

Moviments del cursor
Moviments del cursor

## Moviments del cursor

Per a seleccionar text, disposeu de les opcions següents:

- Premeu el botó esquerre del ratolí i arrossegueu el ratolí per a ressaltar el text.

- Feu un sol clic sobre una paraula per a moure el cursor a una àrea nova.

- Feu doble clic sobre una paraula per a seleccionar la paraula sencera.

- Feu doble clic sobre una paraula i premeu Ctrl per a seleccionar la paraula de TEX sencera. Això significa que fent clic sobre `\par` des de `\par\bigskip` sols se seleccionarà \par.

- Feu clic tres vegades per a seleccionar la frase completa.

Manteniu premut el botó esquerre del ratolí i arrossegueu el text que voleu seleccionar, automàticament es copiarà el text seleccionat al porta-retalls.

Prement la tecla Maj i utilitzant les de fletxa podreu seleccionar porcions del codi font a la finestra de l'editor.

Parèntesis
Parèntesis

## Parèntesis

La compleció de parèntesis és una eina visual emprada a la vista de l'editor per a indicar-vos quins parèntesis coincideixen entre si. Si obriu qualsevol fitxer `.tex`, i seleccioneu qualsevol parèntesi, ja sigui parèntesis (), claudàtors [] o claus {}, l'editor ressaltarà el parèntesi i la seva parella en color groc (aquest color per omissió es pot canviar). De manera que si, per exemple, situeu el cursor sobre les claus a `\section{Introducció}`, les veureu ressaltades en el color groc per omissió, mostrant-vos la ubicació dels parèntesis al començament i al final.

Ressaltat
Ressaltat

## Ressaltat

El Kile té la capacitat de cercar i ressaltar diferents tipus de codi. Per exemple, les ordres de LATEX es distingeixen del text normal, i les fórmules matemàtiques també es ressalten en un color diferent.

Pics
Pics

## Pics

Molts assistents poden inserir pics opcionals, un tipus especial de punt en el text. Les entrades del menú Edita → Pics o les dreceres de teclat corresponents us permetran saltar al pic següent o anterior. Això també ressaltarà el pic de manera que serà eliminat de forma automàtica quan introduïu la primera lletra.

Pic següent (Ctrl+Alt+Fletxa dreta)

  Salta al pic següent al text si és que existeix.

Anterior pic (Ctrl+Alt+Fletxa esquerra)

  Salta al pic anterior al text si és que existeix.

Seleccionar
Seleccionar

## Seleccionar

L'edició és sens dubte un dels aspectes més importants quan s'utilitza un programa com el Kile. Encara que el Kate ja té grans capacitats, el Kile afegeix algunes característiques importants que són especialment necessàries per a escriure codi font LATEX. LATEX sempre necessita una gran quantitat d'entorns i grups, de manera que el Kile implementa ordres especials per a seleccionar-los. A Edita → Selecciona trobareu les ordres següents per al text seleccionat.

Entorn (dintre) (Ctrl+Alt+S,E)

  Selecciona un entorn sense les etiquetes que l'envolten. Si es crida aquesta ordre quan ja hi ha seleccionat un entorn, el Kile ampliarà la selecció a l'entorn següent que l'envolti.

Entorn (fora) (Ctrl+Alt+S,F)

  Selecciona un entorn incloent-hi les etiquetes que l'envolten. Aquesta selecció també es pot ampliar cridant aquesta ordre una altra vegada.

Grup TeX (dintre) (Ctrl+Alt+S,T)

  Selecciona un grup de TEX dins de les claus que l'envolten.

Grup TeX (fora) (Ctrl+Alt+S,U)

  Selecciona un grup de TEX incloent-hi les claus que l'envolten.

Grup matemàtic (Ctrl+Alt+S,M)

  Selecciona el grup matemàtic actual incloent-hi les ordres matemàtiques.

Paràgraf (Ctrl+Alt+S,P)

  Seleccionar un paràgraf sencer, és a dir, un grup de línies de text separades a banda i banda per línies buides. Un paràgraf no sols significa línies contínues de text, com en altres editors de text. Aquest significat ampliat també inclou taules, ordres LATEX i totes les altres línies de codi font. L'única cosa important per al Kile és que aquest tipus de paràgraf estigui separat per dues línies buides.

Línia (Ctrl+Alt+S,L)

  Selecciona la línia de text a la posició actual del cursor.

Paraula TeX (Ctrl+Alt+S,W)

  Selecciona la paraula sota la posició actual del cursor. Aquesta selecció també té un significat extens, ja que aquesta ordre també pot seleccionar ordres LATEX que comencin amb una barra inversa i també poden tenir un inici i un final opcional.

### Seleccionar ordres de LATEX

El Kile té una característica ampliada per a seleccionar ordres LATEX. Si, per exemple, heu escrit

    text \bfseries\itshape més text

i feu doble clic sobre una de les ordres de LATEX, seran seleccionades ambdues. Però sovint sols voldreu seleccionar una de dues o més ordres. Això es pot fer utilitzant la tecla Ctrl i fent doble clic per només seleccionar l'ordre desitjada.

Eliminar
Eliminar

## Eliminar

Per a eliminar algunes parts d'un document podeu seleccionar i després utilitzar la tecla Supr. El Kate també ofereix l'ordre Ctrl+K que esborrarà la línia sencera. Però el Kile ofereix una forma més ràpida amb les seves pròpies ordres per a eliminar. A Edita → Elimina trobareu les ordres següents per a esborrar text.

Entorn (dintre) (Ctrl+Alt+T,E)

  Elimina un entorn sense les etiquetes que l'envolten.

Entorn (fora) (Ctrl+Alt+T,F)

  Elimina un entorn incloent-hi les etiquetes que l'envolten.

Grup TeX (dintre) (Ctrl+Alt+T,T)

  Elimina un grup de TEX dins de les claus que l'envolten.

Grup TeX (fora) (Ctrl+Alt+T,U)

  Elimina un grup de TEX incloent-hi les claus que l'envolten.

Grup matemàtic (Ctrl+Alt+T,M)

  Elimina el grup matemàtic actual incloent-hi les ordres matemàtiques.

Paràgraf (Ctrl+Alt+T,P)

  Elimina un paràgraf sencer. Vegeu l'ordre Selecciona → Paràgraf com es defineix un paràgraf al Kile.

A final de línia (Ctrl+Alt+T,I)

  Elimina el text des de la posició actual del cursor fins al final de la línia.

Paraula TeX (Ctrl+Alt+T,W)

  Elimina la paraula o ordre de LATEX sota la posició actual del cursor.

Entorn
Entorn

## Entorn

Ja s'ha esmentat que els entorns són un punt central a LATEX. Pel que el Kile ofereix cinc ordres sota el submenú Edita → Entorn per a treballar amb LATEX d'una manera senzilla.

Ves al començament (Ctrl+Alt+E,B)

  Aquesta ordre salta al començament de l'entorn actual, sense importar la vostra posició actual. El cursor se situarà directament al davant de l'etiqueta d'entorn que obre.

Ves al final (Ctrl+Alt+E,E)

  Aquesta ordre salta al final de l'entorn actual, sense importar la vostra posició actual. El cursor se situarà directament al darrere de l'etiqueta d'entorn que tanca.

Coincidència (Ctrl+Alt+E,M)

  Quan se situa el cursor al davant de o sobre de l'etiqueta `\begin{environment}`, es mourà cap al final oposat de l'entorn i viceversa.

Tanca (Ctrl+Alt+E,C)

  En escriure un munt d'etiquetes d'entorn imbricades, podeu perdre el control de tots els entorns. Aquesta ordre tancarà l'últim entorn obert, de manera que l'estructura imbricada d'entorns no es trencarà.

Tanca-ho tot (Ctrl+Alt+E,A)

  Tanca tots els entorns oberts, no sols l'entorn obert per darrera vegada.

Grup TEX
Grup TEX

## Grup TEX

El Kile també ofereix algunes ordres especials per a grups de LATEX, els quals són determinats per claus `{...}`. Al submenú Edita → Grup TeX trobareu algunes ordres importants, que es corresponen amb les del menú Edita → Entorn.

Ves al començament (Ctrl+Alt+G,B)

  Aquesta ordre salta al començament del grup actual, sense importar la vostra posició actual. El cursor se situarà directament al davant de la clau que obre.

Ves al final (Ctrl+Alt+G,E)

  Aquesta ordre salta al final del grup actual, sense importar la vostra posició actual. El cursor se situarà directament al darrere de la clau que tanca.

Coincidència (Ctrl+Alt+G,M)

  Quan se situa el cursor al davant de o al darrere d'una clau que obre un grup TEX, es mourà cap al final oposat del grup i viceversa.

Tanca (Ctrl+Alt+G,C)

  Escriure un munt de claus de grup imbricades pot ser un treball de valent. Aquesta ordre tancarà l'últim grup obert, de manera que l'estructura imbricada dels grups TEX no es trencarà.

Cometes dobles
Cometes dobles

## Cometes dobles

En LATEX, s'utilitzen dues cometes simples com a cometes dobles. Per a ajudar-vos a inserir-les de manera eficient, el Kile us permet prémer la tecla " per a inserir dues cometes simples per a obrir. A més, si voleu tancar una cita, també haureu de prémer la tecla ". El Kile serà prou intel·ligent per a reconèixer aquesta situació i inserir dues cometes de tanca per a LATEX.

Per a obtenir cometes dobles literals a l'altre costat, premeu " dues vegades.

Podeu activar o desactivar aquesta inserció automàtica per a obrir i tancar les cometes dobles a la secció Arranjament → Configura el Kile... → LaTeX.

Si també incloeu opcions específiques de l'idioma com `ngerman` o `french`, sereu capaç d'utilitzar les cometes dobles alemanyes o franceses. Hi ha disponibles molts llenguatges més.

Final de línia intel·ligent
Final de línia intel·ligent

## Final de línia intel·ligent

Si premeu les tecles Ctrl+Retorn, el Kile inserirà un salt de línia intel·ligent. Si la posició actual està dins d'un entorn de llista, com `enumerate` o `itemize`, el Kile no només inserirà una línia nova, sinó també afegirà una ordre `\item`.

Si esteu dintre d'un entorn de taula, el Kile acabarà la línia actual amb `\\`, seguit per la línia nova.

Si està dins d'un comentari de LATEX, el Kile començarà la línia següent amb un `%`.

Encara millor, el Kile és prou intel·ligent per a suportar entorns de LATEX predefinits i definits per l'usuari, que es poden afegir a la secció Arranjament → Configura el Kile... → LaTeX.

Tabulador intel·ligent
Tabulador intel·ligent

## Tabulador intel·ligent

Alguns usuaris volen organitzar les columnes en entorns de taula i posar tots els caràcters ampersand & un sota l'altra. El Kile ho intenta admetre. Si premeu Alt+Maj+&, el Kile cercarà el tabulador següent a la fila de dalt. Malgrat tot, a vegades aquest tabulador no es correspondrà amb el tabulador corresponent, el Kile afegirà alguns espais per a ajustar-lo a la posició de la columna amb el tabulador actual.

Capítol 6. Compleció de codi
Compleció de codi

# Capítol 6. Compleció de codi

Encara que el Kate ja ofereix un bon mode de compleció, la compleció de codi estès del Kile suporta alguns mètodes especialment indicats per a LATEX Hi ha integrats cinc modes diferents. Tres d'ells treballen sota demanda, els altres dos són modes de compleció automàtica. Tots els modes es poden configurar per a treballar de moltes maneres diferents en Arranjament → Configura el Kile....

## Compleció automàtica dels entorns

Quan comenceu un entorn nou, escrivint `\begin{environment}`, el Kile automàticament afegirà una ordre `\end{environment}`, amb una línia al mig per al vostre text.

La compleció automàtica es pot desactivar a la secció LATEX de Arranjament → Configura el Kile... → LaTeX+Entorns.

Compleció d'un entorn d'equació

Ordres de LATEX
Ordres de LATEX

## Ordres de LATEX

En escriure algunes lletres, podeu activar aquest mode de compleció per a les ordres de LATEX i paraules normals amb l'element de menú Edita → Completa → Ordre de (La)TeX o la drecera de teclat Ctrl+Maj+Espai. El Kile primer llegirà les lletres des de la posició actual del cursor a l'esquerra i s'aturarà al primer caràcter no lletra o barra inversa. Si aquest patró comença amb una barra inversa, el Kile entrarà en el mode de compleció d'ordres de TEX o LATEX. En cas contrari, entrarà en el mode de diccionari normal, on no trobareu cap ordre de LATEX. Segons el perfil escollit, s'obrirà un quadre de compleció. Veureu totes les ordres o paraules que comencin amb el patró actual. Podreu navegar amb les tecles del cursor a través d'aquesta llista i seleccionar una entrada amb Retorn, o fent doble clic amb el ratolí.

Quan premeu la tecla Retrocés, s'eliminarà l'última lletra del vostre patró, i la llista de compleció podrà créixer. D'altra banda, si escriviu una altra lletra, s'ampliarà el patró i la llista de paraules visibles podria reduir-se.

Si decidiu no seleccionar cap dels suggeriments, podeu deixar aquest diàleg amb Esc.

Veureu que totes les ordres s'escriuen amb una breu descripció dels seus paràmetres. Aquestes descripcions desapareixen quan se selecciona una ordre. De manera opcional, es pot deixar que el Kile insereixi pics en aquests llocs, de manera que podreu saltar amb facilitat a aquestes posicions amb Edita → Pics → Pic següent i inserir el paràmetre que voleu.

Aneu a Arranjament → Configura el Kile... → Kile+Compleció per a configurar una o més d'aquestes llistes. Podeu escollir diferents llistes de paraules per a les ordres de TEX i LATEX i el mode de diccionari per a les paraules normals.

Si escolliu l'opció Mostra les ordres de LaTeX, les entrades de tots els fitxers de llista de paraules escollides (CWL) per a la compleció d'ordres de LATEX es mostraran en una vista separada a la barra lateral del Kile. D'aquesta manera disposareu d'un bon escrutini de les ordres disponibles, així com quins paràmetres i opcions trobareu per a la compleció. També podeu simplement seleccionar una entrada amb un clic del ratolí i serà inserida en el document, amb tots els noms de paràmetres i opcions eliminats.

Com cada llista de paraules escollida es mostrarà en una vista separada, podria haver-hi massa vistes, de manera que la finestra principal del Kile podria ser massa gran per a pantalles petites. Com això es veurà molt lleig, el Kile treballa amb un nombre màxim de vistes permeses, el qual està establert a 10. Si aquest valor és massa gran per a la vostra pantalla, haureu de reduir-lo.

Entorns
Entorns

## Entorns

El mode d'ordres no és útil per a la compleció de codi dels entorns. Sempre haureu d'escriure algunes lletres de `\begin`, i invocant el mode de compleció resultarà en una enorme llista d'etiquetes d'entorn. D'altra banda, els entorns que el Kile utilitza sovint, compten amb un mode especial per a la compleció de codi dels entorns. Oblideu-vos de l'etiqueta d'obertura i escriviu, per exemple, `al`.

Quan crideu el mode de compleció amb Edita → Completa → Entorn o la drecera de teclat Alt+Maj+Espai, l'etiqueta d'obertura serà afegida automàticament i veureu `\begin{al}`. Després d'aquest canvi, la llista de compleció restarà molt menys desordenada.

Ara seleccioneu un entorn, i veurà que també es tancarà automàticament. Encara més, si el Kile el reconeix com un entorn de llista, també inserirà una primera etiqueta `\item`.

Aneu a Arranjament → Configura el Kile... → Kile+Completa per a configurar una o més d'aquestes llistes. Aquest mode utilitza les mateixes llistes de paraules com el mode de compleció per a les ordres de TEX i LATEX.

Abreviatures
Abreviatures

## Abreviatures

El Kile suporta llistes d'abreviatures definides per l'usuari, que són substituïdes sota demanda per cadenes de text més llargues. Mireu a Arranjament → Configura el Kile... → Kile+Completa per a configurar una o més d'aquestes llistes. Per a l'exemple donat, s'ha escollit la llista d'abreviatures a `exemple.cwl`. En aquest fitxer trobareu, per exemple, l'entrada `L=\LaTeX`.

Per exemple, escriviu sols la lletra `L`. Ara invoqueu el mode d'abreviatura del mode de compleció amb l'element de menú Edita → Completa → Abreviatura o la drecera de teclat Ctrl+Alt+Espai, i la lletra `L` se substituirà per la cadena `\LaTeX`.

La compleció d'abreviatures també admet els caràcters de línia nova `%n` i `%C` per a situar el cursor, si aquests caràcters estan presents en el text d'expansió. De manera que si teniu l'entrada

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

al fitxer de compleció, i invoqueu la compleció d'abreviatures, l'expansió tindrà l'aspecte com es veu a continuació, on `x` mostra la posició final del cursor.

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

### Abreviatures

Si escolliu Mostra les abreviatures, es mostraran totes les possibles abreviatures en una vista de la barra lateral. D'aquesta manera disposareu d'un bon escrutini de totes les abreviatures possibles.

Modes d'autocompleció
Modes d'autocompleció

## Modes d'autocompleció

### Ordres de LATEX

També podeu activar un mode de compleció automàtica per a les ordres de LATEX. Quan s'abasti un llindar determinat de lletres (per omissió: 3), s'obrirà una finestra emergent amb una llista de totes les ordres de LATEX coincidents. Podeu seleccionar una d'aquestes ordres, o ignorar aquesta finestra i escriure les lletres addicionals. Les entrades del quadre de compleció sempre canviaran de manera que coincideixin amb la paraula que escriviu.

Aneu a Arranjament → Configura el Kile... → Kile+Completa per a activar o desactivar aquest mode o canviar el llindar.

### Paraules del document

Els diccionaris de grans dimensions no són útils en el mode de compleció automàtica. Tanmateix, hem vist que una gran quantitat de paraules en un document s'escriuen més d'una vegada. De manera que el Kile oferirà una compleció per a totes les paraules en el document que l'usuari ja ha teclejat. Podeu invocar aquesta compleció de manera manual, si premeu les tecles Ctrl+Espai. Tingueu en compte que aquest mode és diferent del mode de compleció per a les ordres de LATEX.

Per a activar aquest mode d'encesa o apagat, aneu a Arranjament → Configura el Kile... → Editor → Edició+Compleció automàtica. En aquest diàleg podreu configurar, si el mode de compleció de paraules al document estarà activat. També hi ha un mode d'autocompleció addicional, on apareixerà un quadre de compleció quan s'abasti un cert llindar.

Escriure fitxers propis de compleció
Escriure fitxers propis de compleció

## Escriure fitxers propis de compleció

L'última especificació del format de fitxer per a la compleció es pot trobar a l'especificació per al format de fitxer CWL.

Els fitxers de compleció es poden instal·lar a la carpeta d'inici de l'usuari al subdirectori `~/.kde/share/apps/kile/complete/<mode>/`, on `<mode>` podrà ser `abbreviation`, `dictionary` o `tex`.

Capítol 7. Assistents i diàlegs
Assistents i diàlegs

# Capítol 7. Assistents i diàlegs

## Assistent d'inici ràpid

Aquest assistent ja s'ha descrit a la secció Assistent d'inici ràpid.

Incloure gràfics
Incloure gràfics

## Incloure gràfics

El diàleg Inclou gràfics facilita la inserció de gràfics tant com sigui possible. Podeu accedir-hi mitjançant la barra de menús amb LaTeX → Inserció d'imatge. Si us plau, mireu Formats de fitxers gràfics i Gràfics EPS per a obtenir una visió general d'alguns fets bàsics sobre el format dels gràfics.

1. Escolliu un fitxer de gràfics. Aquest podrà ser un fitxer JPEG, PNG, PDF, EPS o fins i tot un fitxer comprimit amb ZIP o un fitxer EPS comprimit amb GZIP. Si teniu ImageMagick i el Kile també està configurat per a utilitzar-lo (Arranjament → Configura el Kile... → LaTeX+Gràfics), l'amplada i l'alçada del gràfic es mostraran automàticament. Si ImageMagick pot determinar una resolució, la mida dels gràfics també es mostrarà en centímetres.

2. Decidiu si la imatge estarà centrada a la pàgina.

3. Escolliu si voleu la notació `\graphicspath` per al vostre fitxer de gràfics.

   Per omissió, els fitxers de gràfics han d'estar a la mateixa carpeta que el document mestre. Tanmateix, és possible situar-los en carpetes diferents per a tenir-ho tot més ordenat. Sense una ordre `\graphicspath`, el Kile inclourà el camí per al fitxer de gràfics. Però si utilitzeu `\graphicspath` al preàmbul de la manera següent:

       \graphicspath{{/camí/als/meus/gràfics}{un/altre/camí/a/més/gràfics}}

   i marqueu aquesta opció, el Kile sols farà servir el nom base del fitxer de gràfics.

   Un altre exemple: si establiu una ordre `\graphicspath` com:

       \graphicspath{{./}{càmera/}{imatges/}}

   LATEX cercarà a la carpeta actual, després a `càmera` i finalment a `imatges` per a trobar el vostre fitxer de gràfics.

4. Si escolliu una amplada o una alçada, els gràfics sencers seran escalats proporcionalment. Si ajusteu dos valors alhora per a l'amplada i l'alçada, es podran escalar amb factors diferents, i això podria no ser el que voleu. Vegeu també la informació a la part superior del diàleg per a conèixer la mida original de les imatges.

5. Inseriu un angle per a girar els gràfics en sentit contrari a les agulles del rellotge.

6. La informació al contenidor s'ajustarà automàticament quan escolliu un fitxer de gràfics. Aquesta informació sols és necessària quan es treballa amb LATEX tradicional i gràfics de mapes de bits. Vegeu el debat quant als gràfics EPS.

   Si LATEX necessita un contenidor i no voleu generar un fitxer «bb», el Kile suporta aquesta opció. A l'altre costat, el PDFLATEX us donarà un avís quan vulgueu incloure un gràfic PNG o JPG amb aquesta opció. Aquesta casella de selecció activa o desactiva l'opció del contenidor.

7. Escala la imatge per al factor d'escala desitjat. Per exemple, 0.5 per a reduir a la meitat, o 2 per a duplicar. Quan utilitzeu aquesta opció, no cal que establiu una amplada o alçada per a la imatge.

8. A la pestanya Encongeix la imatge podreu escapçar la imatge en qualsevol de les quatre direccions.

9. Finalment, haureu d'especificar si voleu incrustar aquesta imatge en un entorn de figures. Si voleu que el text s'ajusti al voltant de la figura, utilitzeu l'entorn «wrapfigure» en el seu lloc.

   ### Nota

   Quan escolliu l'entorn «wrapfigure», haureu d'incloure el paquet «wrapfig» al vostre preàmbul.

   En qualsevol cas, podeu inserir una llegenda i una etiqueta per a la vostra imatge. En general, és recomanable afegir un prefix diferent per a cada tipus d'etiqueta. És comú utilitzar el prefix `fig:` per a les imatges.

10. Si escolliu l'entorn de figura, podreu escollir on hauria de situar LATEX preferiblement la figura.

11. A l'entorn «wrapfigure» podeu:

    1. Escollir una regla per a la situació de la figura i decidir si la figura haurà o no de flotar. En un document de dues cares podeu definir si la figura haurà d'estar a l'interior o a l'exterior de la pàgina.

    2. Definiu quantes línies ajustades del text s'establiran al llarg de la figura. Si el deixeu buit, LATEX determinarà per si mateix el millor possible.

    3. Definir un voladís cap al costat escollit. Això és especialment útil quan teniu columnes en el document i voleu que una figura abasti més d'una sola columna o voleu text ajustat a les dues bandes de la figura.

    4. Escolliu l'amplada de la figura. Aquesta hauria de ser una mica més gran que l'amplada real de la imatge, de manera que hi haurà un espai buit entre la figura i el text.

Matrius i taules
Matrius i taules

## Matrius i taules

Una de les tasques més avorrides que podeu fer a LATEX és escriure una matriu o un entorn de taula. Haureu de mantenir un registre de tots els elements, assegureu-vos que l'entorn està ben format, i que totes les coses estan on se suposa que han d'estar. Un bon sagnat ajuda, però hi ha una manera més senzilla: utilitzar les entrades de menú Assistent → Matriu o Assistent → Taula del Kile. Obtindreu un formulari d'entrada amb l'estil d'una matriu que podreu omplir amb les vostres entrades. Aquest diàleg també ofereix algunes opcions per a compondre el material de la taula.

Utilitzant la barra d'eines a la part superior del diàleg podeu establir l'alineació «`align`» d'una cel·la, definir un cert estil de lletra «`font style`», fusionar «`join`» i dividir «`split`» les cel·les, escollir una vora «`border`», i especificar els `colors` de fons i de la lletra. A l'extrem dret hi ha un botó Enganxa. Amb aquest botó podeu inserir una taula del porta-retalls des de dins del diàleg, p. ex., us permetrà copiar i enganxar taules des d'un full de càlcul.

A sota podeu escollir el nombre de files i columnes que voleu, i podeu modificar alguns detalls més sobre la vostra matriu:

- Amb l'opció Nom podeu seleccionar l'entorn a utilitzar per a la matriu o material de la taula.

- Podeu seleccionar l'alineació vertical de la cel·la amb l'opció Paràmetre. Això sols és possible per als entorns que implementen aquesta funció.

- Si existeix per a l'entorn seleccionat, podeu seleccionar Usa la versió preferida. En seleccionar aquesta opció, també haureu d'especificar una Amplada de la taula.

- Les taules de vegades es veuen millor quan seleccioneu l'opció Usa el paquet «booktabs».

- Per descomptat, també podeu fer Centra sobre tota la matriu.

- Insereix pics us ajuda quan voleu introduir el vostre contingut a l'editor. Amb aquesta opció marcada, el Kile inserirà pics com a marcadors de posició per a cada element a la matriu.

L'opció Assistent → Taula mostrarà un diàleg senzill per a configurar ràpidament un entorn de taula. Permet especificar amb facilitat el nombre de files o columnes i l'espai requerit.

Inserir elements flotants
Inserir elements flotants

## Inserir elements flotants

El Kile us ajuda amb la inserció d'elements flotants. Amb Assistent → Elements flotants és molt simple crear una figura nova o entorn de taula.

Per a inserir un entorn nou flotant sols haureu de seguir aquests passos:

1. Escolliu si voleu inserir una figura o una taula.

2. Seleccioneu les regles de posició desitjades.

3. Introduïu una llegenda per a l'element flotant.

4. Escriviu una etiqueta per a l'element flotant nou. El Kile suggerirà automàticament un prefix apropiat, p. ex. «fig:» per a les figures i «tab:» per a les taules.

Inserir en entorns matemàtics
Inserir en entorns matemàtics

## Inserir en entorns matemàtics

Recordar com funcionen tots els diferents elements matemàtics pot ser realment molest. Per descomptat, el Kile pot fer màgia aquí: Assistent → Matemàtica

Opcions:

- Nom: Escull el tipus d'element matemàtic que voleu crear.

- Sense numeració: Això pot activar o desactivar la numeració dels elements numerats com equacions o alineacions.

- Ordre d'espaiat per a separar grups: En un entorn que implementi diversos grups com «alignat», podreu definir un separador d'espai quan tingueu més d'un grup. Podeu introduir qualsevol ordre d'espai aquí, que existeixi en «mathmode», p. ex. \quad.

- Tabulador estàndard: Selecciona el tabulador que utilitzarà. El Kile hauria d'escollir automàticament el més adequat.

- Mode de visualització matemàtica: Per entorns com matrius o llistes podeu escollir amb quin entorn matemàtic s'haurà de mostrar el vostre text matemàtic.

- Usa pics: Amb aquesta opció marcada, el Kile inserirà pics com a marcadors de posició per a cada element del vostre text matemàtic.

Utilitats de PostScript®
Utilitats de PostScript®

## Utilitats de PostScript®

Els fitxers PS no són tan populars com els fitxers PDF, però són una excel·lent base per a la manipulació i reorganització de pàgines. Si necessiteu una sortida PDF, podeu reorganitzar les pàgines amb algunes utilitats de PostScript® i després convertir-les a PDF amb ps2pdf.

L'Assistent de PostScript® sota Assistent → Eines Postscript suggerirà la reorganització més popular. La conversió es realitza mitjançant els programes pstops i psselect, que es poden trobar a la majoria de les distribucions en el paquet `psutils`. Si un d'aquests programes no està disponible, l'element corresponent no serà visible.

Primer escolliu el fitxer d'entrada. Si el Kile troba un fitxer PS corresponent al document mestre actual, s'utilitzarà com a fitxer d'entrada, però també sou lliure d'escollir-ne un altre. A continuació, escolliu un fitxer de sortida i seleccioneu una de les tasques. Finalment, haureu de decidir si voleu fer la conversió, o també invocar l'Okular per a veure el resultat.

1 pàgina A5 + pàgina buida --> A4

  Combina una pàgina A5 amb una pàgina buida sobre una pàgina A4. Quan es combinen dues pàgines A5, es giren 90 graus i s'ajustaran sobre una pàgina A4 en mode horitzontal.

1 pàgina A5 + duplicat --> A4

  Col·loca una pàgina A5 i un duplicat sobre una pàgina A4.

2 pàgines A5 --> A4

  Col·loca dues pàgines A5 consecutives sobre una pàgina A4.

2 pàgines A5L --> A4

  Col·loca dues pàgines A5 consecutives en mode horitzontal sobre una pàgina A4.

4 pàgines A5 --> A4

  Combina quatre pàgines A5 consecutives sobre una pàgina A4. Les pàgines A5 s'hauran d'escalar amb un factor de 0,7 per a ajustar-les a la pàgina.

1 pàgina A4 + pàgina buida --> A4

  Combina una pàgina A4 amb una pàgina buida sobre una pàgina A4. Sempre que es combinen dues pàgines A4 sobre una pàgina A4, s'hauran d'escalar amb un factor de 0.7 i s'ajustaran en el mode apaïsat.

1 pàgina A4 + duplicat --> A4

  Col·loca una pàgina A4 i un duplicat sobre una pàgina A4.

2 pàgines A4 --> A4

  Col·loca dues pàgines A4 consecutives sobre una pàgina A4.

2 pàgines A4L --> A4

  Col·loca dues pàgines A4 consecutives en mode horitzontal sobre una pàgina A4.

Seleccioneu les pàgines parelles

  Selecciona totes les pàgines parelles d'un document.

Seleccioneu les pàgines senars

  Selecciona totes les pàgines senars d'un document.

Seleccioneu les pàgines parelles (ordre invers)

  Selecciona totes les pàgines parelles d'un document en ordre invers.

Seleccioneu les pàgines senars (ordre invers)

  Selecciona totes les pàgines senars d'un document en ordre invers.

Inverteix totes les pàgines

  Inverteix totes les pàgines d'un document.

Copia totes les pàgines (ordenades)

  Copia totes les pàgines d'un document. Haureu d'escollir el nombre de còpies ordenades.

Copia totes les pàgines (desordenades)

  Copia totes les pàgines d'un document. Haureu d'escollir el nombre de còpies sense ordenar.

pstops: escollir un paràmetre

  Hi ha moltes opcions per a les utilitats de PostScript® pstops i psselect. Si necessiteu una molt especial, podeu invocar pstops amb una opció de la vostra elecció. Llegiu el manual per a veure totes les opcions possibles.

psselect: escollir el paràmetre

  Pot invocar psselect amb una opció de la vostra elecció. Llegiu el manual per a veure totes les opcions possibles.

Utilitats PDF
Utilitats PDF

## Utilitats PDF

Molta gent pensa en els PDF com a fitxers congelats, que no es poden modificar. Però això no és cert, ja que hi ha eines excel·lents

- per a la manipulació i reordenació de les pàgines

- per a llegir i actualitzar la informació del document

- per a llegir, establir o canviar alguns permisos

d'un document PDF existent.

L'Assistent PDF del Kile sota Assistent → Eines PDF utilitza dos mètodes diferents per a manipular i reordenar els documents PDF:

- El paquet pdfpages de LATEX, que forma part de cadascuna de les distribucions de LATEX. pdfpages no funciona amb pàgines encriptades.

- pdftk, que és una excel·lent eina de línia d'ordres per a fer coses quotidianes amb documents PDF (vegeu The PDF Toolkit).

Si un d'aquests ajudants, pdfpages o pdftk, no és present al sistema, els elements corresponents no seran visibles. A més, recordeu que pdftk només pot treballar amb fitxers encriptats.

### Reordenar

Si es crida l'assistent PDF del Kile, s'iniciarà amb la targeta de registre `Reordenació`.

Primer escolliu el fitxer d'entrada. Si el Kile troba un fitxer PDF corresponent al document mestre actual, l'utilitzarà com a fitxer d'entrada, però també sou lliure d'escollir-ne un altre. A continuació, escolliu un fitxer de sortida o sobreescriviu l'existent i seleccioneu una de les tasques. Finalment, haureu de decidir si només voleu realitzar la conversió, o també invocar el visualitzador (p. ex., l'Okular) per a veure el resultat.

Si el fitxer PDF està encriptat, només funcionarà pdftk i caldrà indicar la contrasenya d'aquest document per a executar tasques.

1 pàgina + pàgina buida --> A4

  Combina una pàgina amb una pàgina buida sobre una pàgina A4. Quan es combinen dues pàgines A5, es giren 90 graus i s'ajustaran sobre una pàgina A4 en mode horitzontal.

  Quan es combinen dues pàgines A4, s'escalen, es giren 90 graus i s'ajustaran sobre una pàgina A4 en mode horitzontal.

1 pàgina + duplicat --> A4

  Col·loca una pàgina i un duplicat sobre una pàgina A4.

  Si la pàgina que es duplica té una mida A4, s'escalarà per a ajustar-se a la pàgina.

2 pàgines --> A4

  Combina dues pàgines consecutives sobre una pàgina A4. Quan es combinen dues pàgines A5, es giren 90 graus i s'ajustaran sobre una pàgina A4 en mode horitzontal.

  Quan es combinen dues pàgines A4, s'escalen, es giren 90 graus i s'ajustaran sobre una pàgina A4 en mode horitzontal.

2 pàgines (horitzontal) --> A4

  Col·loca dues pàgines consecutives en mode horitzontal sobre una pàgina A4.

4 pàgines --> A4

  Combina quatre pàgines consecutives sobre una pàgina A4. Les pàgines s'hauran d'escalar fins a ajustar-les a la pàgina.

4 pàgines (horitzontal) --> A4

  Combina quatre pàgines consecutives en mode horitzontal sobre una pàgina A4. Les pàgines s'hauran d'escalar fins a ajustar-les a la pàgina.

Seleccioneu les pàgines parelles

  Selecciona totes les pàgines parelles d'un document.

Seleccioneu les pàgines senars

  Selecciona totes les pàgines senars d'un document.

Seleccioneu les pàgines parelles (ordre invers)

  Selecciona totes les pàgines parelles d'un document en ordre invers.

Seleccioneu les pàgines senars (ordre invers)

  Selecciona totes les pàgines senars d'un document en ordre invers.

Inverteix totes les pàgines

  Inverteix totes les pàgines d'un document.

desencripta un fitxer

  Si el fitxer PDF està encriptat, podreu desencriptar-lo.

Selecciona pàgines

  Afegir una llista separada per comes de les pàgines o intervals de pàgines, p. ex., 1,4-7,9. Només apareixeran aquestes pàgines en el fitxer PDF resultant.

Elimina pàgines

  Afegir una llista separada per comes de les pàgines o intervals de pàgines, que s'han d'eliminar del fitxer PDF escollit.

Aplica una marca d'aigua de fons

  S'aplica una marca d'aigua PDF al fons d'un únic PDF d'entrada. L'assistent només utilitza la primera pàgina del PDF de fons i l'aplica a totes les pàgines del PDF d'entrada. Aquesta pàgina s'escalarà i girarà segons sigui necessari per a ajustar-se a la pàgina d'entrada.

Aplica un color de fons

  Aplica un color de fons a totes les pàgines del document actual. Això només es pot fer una vegada, el segon color es posarà al darrere del primer i després no serà visible.

Aplica un segell de primer pla

  Aplica un segell de primer pla a la part superior de les pàgines del document PDF d'entrada. L'assistent només utilitzarà la primera pàgina del segell PDF i l'aplicarà a totes les pàgines del PDF d'entrada. Aquesta pàgina s'escalarà i girarà segons sigui necessari per a ajustar-se a la pàgina d'entrada. Això funciona millor si la pàgina PDF del segell té un fons transparent.

pdftk: escollir un paràmetre

  Podeu invocar pdftk amb una opció de la vostra elecció. Llegiu el manual per a veure totes les opcions possibles.

pdfpages: escollir un paràmetre

  Podeu invocar pdfpages amb una opció de la vostra elecció. Llegiu el manual per a veure totes les opcions possibles.

### Propietats

L'establiment, canvi i eliminació de les propietats només serà possible, si pdftk està instal·lat i si, a més, el Kile es va compilar amb la biblioteca `libpoppler`.

Les metadades PDF tradicionals inclouen el títol del document, autor, tema, paraules clau, autor, productor i les dates de creació i última modificació.

### Permisos

A més, l'establiment, modificació i eliminació de permisos només serà possible, si pdftk està instal·lat.

És necessària una contrasenya per a establir o canviar la configuració del document. A més, L'encriptatge PDF es fa per a bloquejar el contingut del fitxer darrere d'aquesta contrasenya o per a fer complir algunes restriccions imposades per l'autor. De manera que l'autor les pugui permetre o restringir:

- impressió de les pàgines

- modificació de les pàgines

- copia el text i els gràfics de les pàgines

- canvia o afegeix anotacions

- omple els camps de formulari amb les dades.

El canvi dels permisos sempre força l'encriptatge associat amb la seguretat de 128 bits d'`Acrobat` 5 i 6, i també necessita una contrasenya.

Però recordeu sempre: l'encriptatge i una contrasenya no ofereix cap seguretat PDF real. El contingut està encriptat, però la clau és coneguda. L'heu de veure més com una petició cortesa però ferma de respectar els desitjos de l'autor.

Estadístiques del document
Estadístiques del document

## Estadístiques del document

El diàleg de les estadístiques a Fitxer → Estadístiques us ofereix un resum estadístic d'una selecció, un document o un projecte sencer. Inclou el nombre de paraules, les ordres/entorns de LATEX, així com el nombre de caràcters per a cada tipus.

Les estadístiques obtingudes es poden copiar com a text o en un format agradable com una taula de LATEX al porta-retalls.

Quan seleccioneu un text i obriu el diàleg de les estadístiques, obtindreu les estadístiques per al text seleccionat. Si obriu el diàleg sense cap text seleccionat, es mostraran les estadístiques per a tots els fitxers oberts. Per a obtenir les estadístiques per a tot el projecte, podeu utilitzar l'element de menú Projecte → Obre tots els fitxers del projecte per a una manera fàcil i ràpida d'obrir tots els fitxers de codi font del vostre projecte.

Cal una nota de precaució sobre l'exactitud dels números. Hem inclòs alguna lògica per a obtenir una bona estimació, p. ex. K\"uhler dona una paraula i una ordre, amb 6 i 2 caràcters, respectivament. Però hi ha altres combinacions en què les parts de les ordres són comptades com a paraules i viceversa. Tingueu en compte que l'algorisme es va desenvolupar i provar per a idiomes similars a l'anglès o l'alemany. De manera que no preneu els números com a certs. Si escriviu un informe, la longitud haurà de ser un nombre concret de paraules o caràcters, si us plau, feu algunes proves la primera vegada per a comprovar si la precisió del Kile pot satisfer les vostres necessitats.

Capítol 8. Etiquetes especials a LATEX
Etiquetes especials a LATEX

# Capítol 8. Etiquetes especials a LATEX

## Usar la biblioteca d'etiquetes de LATEX

LATEX disposa de milers d'etiquetes per a símbols i caràcters especials. El millor camí per a inserir aquestes etiquetes és utilitzar el menú de la barra lateral, a l'esquerra de la finestra de l'editor.

El menú de la barra lateral

Estan disponibles els tipus següents:

- Usats més freqüentment

- Relació

- Operadors

- Fletxes

- Matemàtics diversos

- Text divers

- Delimitadors

- Grec

- Caràcters especials

- Caràcters ciríl·lics

- Definit per l'usuari

Els consells d'eina de les icones mostren les ordres de LATEX i paquets necessaris addicionals.

En prémer la tecla Maj i fent clic resultarà en un símbol, s'inserirà `$\symbolcmd$`. De manera similar, prement la tecla Ctrl s'inserirà entre claus.

Si inseriu una ordre que necessita un paquet que no està inclòs en el vostre document LATEX, veureu un missatge d'avís a la finestra visualitzador del registre.

La primera llista de símbols conté els símbols Usats més freqüentment. Els símbols inserits seran afegits a aquesta llista, per a una referència ràpida i fàcil. L'ordenament dels símbols no es canviarà després d'afegir símbols nous, però s'incrementarà un comptador de referència. Si el nombre d'elements excedeix de 30, l'element amb un número menor serà eliminat.

La llista de símbols Definit per l'usuari pot mantenir els vostres propis símbols. Per a crear els vostres propis símbols necessitareu el programa «gesymb» i el fitxer «`definitions.tex`» des del paquet de codi font de «kile». De manera addicional necessitareu un compilador de LATEX (quina sorpresa) i dvipng (versió 1.7 o posterior). El procediment consisteix a crear un fitxer LATEX amb `\input{definitions}`, el que farà disponibles les ordres llistades a continuació, i `gesymb mysymbols.tex usuari` (que crida a LATEX i dvipng) crearà les icones. Després copieu-les a `$HOME/.kde/share/apps/kile/mathsymbols/user/` i torneu a iniciar el Kile per a utilitzar els vostres propis símbols.

Les ordres següents estan definides a `definitions.tex`:

- `\command[\optarg]{\symbol}`: Inclou el símbol `\symbol` a la llista de símbols, l'argument opcional `\optarg` especifica l'ordre que haurà d'inserir el Kile. Si no es dona, s'utilitzarà l'ordre en l'argument obligatori.

- `\mathcommand[\optarg]{\symbol}`: Igual que l'anterior, excepte que l'ordre en l'argument obligatori serà inserit en el mode matemàtic.

- `\pkgs[arg]{pkg}`: Declara que l'ordre donat en aquesta línia necessita el paquet `pkg` de LATEX amb l'argument opcional `arg`. Aquesta ordre haurà d'estar al davant de l'ordre `\command` i substitueix qualsevol especificació del paquet per a l'entorn «neededpkgs».

- `\begin{neededpkgs}[pkgs-args]{pkgs} ... \end{neededpkgs}`: Té el mateix efecte que l'anterior, però per a totes les ordres tancades.

Un exemple complet a continuació:

    \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}
    % els paquets s'han d'incloure així
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  només per a explicar el format
    \end{document}

Usar «Bibitems»
Usar «Bibitems»

## Usar «Bibitems»

`\bibitem` és una ordre utilitzada per a introduir una referència en un entorn `thebibliography` en el document. La sintaxi per a utilitzar `\bibitem` és `\bibitem[etiqueta]{clau}`.

L'`[etiqueta]` opcional és perquè afegiu el vostre propi sistema d'etiquetatge per a l'entrada bibliogràfica. Si no hi ha cap etiqueta establerta, les entrades es posaran en ordre numèric: [1], [2], [3], etc.

L'argument `{clau}`, s'utilitza per a referenciar i enllaçar les ordres `\bibitem` i `\cite` entre si i la informació que contenen. L'ordre `\cite` conté l'etiqueta associada amb la `\bibitem` pretesa, que es troba dins d'un entorn `thebibliography`, i conté les dades de referència. Tant la `\bibitem` com la `\cite` corresponent han de tenir la mateixa `{clau}`. La manera més fàcil d'organitzar les claus és pel cognom de l'autor. Les segones `{}` a l'entorn `thebibliography` denoten l'etiqueta bibliogràfica més llarga que espereu tenir. Per tant, la inserció de `{`foo`}` significa que podeu tenir qualsevol etiqueta més curta o tan gran com l'expressió ``foo``. Si no ajusteu correctament aquest paràmetre, podria resultar en un sagnat no tan atractiu de la vostra bibliografia.

La bibliografia és una secció a part del vostre document principal, i un exemple de codi per a la bibliografia es veuria de la manera següent:

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

A continuació, el ​​codi font principal que conté la ubicació de la informació relativa a la `\bibitem` utilitzant `\cite`. El codi font es veuria així:

    La meva tesi sobre la filosofia d'«Els Simpsons»\el copyright ve del meu llibre preferit \cite{Simpson}.

Com sovint és difícil recordar la clau d'una cita exacta quan té moltes referències, el Kile proporciona una manera senzilla per a inserir una cita. Utilitzant LaTeX → Referències → Cita apareixerà una llista amb totes les claus de cita. Seleccioneu la referència correcta i una s'inserirà una cita en el document. Per a actualitzar la llista de claus, deseu el fitxer o Edita → Actualitza l'estructura, o premeu F12. Amb la compleció de codi activada, el Kile us mostrarà una llista de totes les etiquetes `bibitem` tan aviat com obriu una ordre `\cite`.

El resultat final en la bibliografia del vostre document es veuria així:

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

El Kile també pot treballar junt amb els editors de BibTEX, com el KBibTEX perquè sigui més fàcil introduir cites. Quan s'afegeix un fitxer de BibTEX al projecte, el Kile us ajudarà a completar les ordres de cita, tal com s'ha descrit anteriorment.

Capítol 9. Menú configurable per l'usuari
Menú configurable per l'usuari

# Capítol 9. Menú configurable per l'usuari

## Configuració

El Kile implementa un menú configurable per l'usuari, el qual apareixerà com a part del menú del Kile. Aquest menú es pot configurar utilitzant el diàleg de configuració del Kile amb Arranjament → Configura el Kile... → Menú d'usuari.

Teniu dues opcions on col·locar aquest menú:

- Ja sigui l'entrada de menú Menú d'usuari que apareixerà a la barra de menús principal entre els menús LaTeX i Assistent com l'assistent de configuració Edita el menú d'usuari al menú Assistent.

- O ambdós elements apareixeran a la part inferior del menú LaTeX.

Les etiquetes definides per l'usuari ja existents de versions anteriors del Kile es transformaran automàticament en el menú nou configurable per l'usuari. Les etiquetes es desen en un fitxer anomenat `usertags.xml` i igual que tots els fitxers de definició del menú, es poden trobar al directori de menú d'usuari local del Kile: `KILE_APP_DIR/usermenu/`, p. ex. `/home/usuari/.kde/share/apps/kile/usermenu/`.

Podeu utilitzar diferents fitxers de definició del menú per a les diferents tasques. Crideu l'assistent de menú d'usuari Assistent → Edita el menú d'usuari o LaTeX → Edita el menú d'usuari per a instal·lar o modificar un fitxer de definició de menú.

Assistent
Assistent

## Assistent

Podeu crear o modificar menús existents amb un confortable assistent de configuració del menú d'usuari que es troba a Assistent → Edita el menú d'usuari.

A la part esquerra veureu un menú en arbre existent. Com un menú estàndard, estaran disponibles tres tipus diferents d'elements de menú:

- Entrades de menú estàndard, que s'assignen a una acció.

- Submenús, que contenen més elements de menú.

- Separadors, per a aconseguir una estructura visible de totes les entrades.

Per a modificar aquest menú, utilitzeu els sis botons al costat esquerre. Són possibles més accions, disponibles al menú contextual dels elements de menú ja existents.

Cada element de menú estàndard s'assigna a un dels tres tipus d'acció, on cadascun d'ells té atributs diferents, que es poden establir:

- Text: el Kile ofereix la capacitat de crear les vostres pròpies etiquetes. Una etiqueta és similar a una drecera que llança alguna ordre o que escriu textos d'ús freqüent, p. ex., en Joe Sixpack utilitza sovint les frases `Hi, I have been inserted ...`. Aquesta etiqueta serà inserida a la posició actual del cursor, quan es cridi aquesta acció (vegeu a dalt). També estan disponibles els metacaràcters (vegeu Marcadors de posició).

- Insereix el contingut del fitxer: Insereix tot el contingut d'un fitxer donat.

- Executa un programa extern: La sortida d'aquest programa es pot inserir en el document obert. El metacaràcter `%M` també és possible a la línia d'ordres d'aquest programa, atès que el text seleccionat es desarà en un fitxer temporal. Utilitzeu `%M` per al nom de fitxer d'aquest fitxer temporal.

Si no està present alguna informació important per a una acció, els elements de menú seran de color vermell. Aquesta pot tractar d'un fitxer inexistent.

O un títol que falti per a l'entrada de menú, el qual es mostrarà amb signes d'interrogació com `???`.

Si obriu el menú contextual d'un element de menú en color vermell, obtindreu una opció addicional per a obtenir més informació sobre aquest error.

Més informació també pot estar disponible utilitzant la característica Què és això? de la majoria de ginys.

Marcadors de posició
Marcadors de posició

## Marcadors de posició

### Inserir text

Hi ha alguns marcadors de posició que podeu utilitzar en les etiquetes definides per l'usuari: `%C`, `%B`, `%M`, `%E`, `%R` i `%T`.

- `%C`: indica a on se situarà el cursor després d'inserir una etiqueta definida per l'usuari.

- `%B`: serà substituït per un pic (vegeu Pics).

- `%M`: serà substituït pel text seleccionat.

- `%E`: indica la profunditat del sagnat del text dins d'un entorn.

- `%R`: cridarà a un diàleg de referència per a escollir una etiqueta que ja s'ha definit. Això es pot utilitzar per a referir-se a una etiqueta predefinida, que podreu escollir des d'una llista desplegable (vegeu LaTeX → Referències → ref o LaTeX → Referències → ref_pàgina).

- `%T`: cridarà un diàleg de cita per a escollir una cita ja definida. El mateix que utilitzar LaTeX → Referències → cita una llista amb totes les claus de cita que apareixen.

Considerem un altre exemple, amb la macro `\frac{%M}{%C}`. En primer lloc, seleccionem un nombre en el nostre text, diguem `42`. Ara invocarem aquesta macro i obtindrem `\frac{42}{}` amb el cursor situat en el segon parell de claus.

### Inserir el contingut d'un fitxer

Si voleu inserir el contingut d'un fitxer de text, podeu utilitzar els mateixos marcadors de posició.

### Executar un programa

Si voleu executar un programa extern, a la línia d'ordres només es reconeixerà la `%M` per al text seleccionat. La selecció es desarà en un fitxer temporal i el marcador de posició `%M` serà substituït amb aquest nom de fitxer.

Un altre marcador de posició és `%S`, que serà substituït pel nom base complet del document actual sense el camí d'accés. Aquest nom base es compon de tots els caràcters al fitxer fins a (però sense incloure) l'últim caràcter «.».

Paràmetre
Paràmetre

## Paràmetre

La majoria de les entrades al menú poden tenir altres paràmetres autoexplicatius, que es poden seleccionar. Si algun d'aquests paràmetres no estan disponibles per a algun tipus d'acció, aquestes restaran desactivades.

Heus aquí un exemple de l'execució d'un programa extern:

Podeu veure que es crida un script `perl`, que ha de treballar amb la selecció actual. El paràmetre Necessitats el text seleccionat es marca per a assegurar una selecció. La sortida d'aquest script s'inserirà (Insereix la sortida del programa escollit) i substituirà a la selecció actual (Substitueix el text seleccionat), però no serà seleccionat per si mateix.

Per descomptat, també podeu cridar als vostres propis programes o scripts. Per exemple, seleccioneu una llista de números, separats per espais, i crideu a un script o programa en Perl, el qual transformarà aquesta selecció en un codi en LATEX per a una matriu. Siguin quines siguin les vostres idees, podreu adonar-vos utilitzant la següent entrada del menú d'usuari.

Fitxers de definició del menú
Fitxers de definició del menú

## Fitxers de definició del menú

Podeu instal·lar diferents menús en temps d'execució per a diferents tasques. Quan crideu l'assistent menú d'usuari, el fitxer de definició de menú actual serà carregat. Si el modifiqueu i tanqueu el diàleg amb D'acord, els canvis es desaran i s'instal·laran com el menú nou d'usuari. Tanqueu el diàleg amb Cancel·la i es descartaran tots els canvis.

També sou lliure per a desar el fitxer modificat al directori del menú d'usuari o per a carregar un altre fitxer de definició del menú i instal·lar-lo. Tots els fitxers de definició del menú d'usuari s'han de desar al directori de menú d'usuari del Kile: `KILE_APP_DIR/usermenu/`.

Mireu l'exemple del fitxer de definició del menú `exemple.xml` per a veure més entrades de menú amb els seus paràmetres.

Capítol 10. Les eines de construcció
Les eines de construcció

# Capítol 10. Les eines de construcció

## Compilar, convertir i visualitzar

Per a veure el resultat del vostre treball, primer haureu de compilar el codi font. Totes les eines de construcció s'agrupen en els menús Construeix → Compila, Construeix → Converteix, i Construeix → Visualitza.

Per a compilar el vostre codi font per als visualitzadors en pantalla com l'Okular o d'altres, podeu utilitzar la drecera Alt+2. Després podeu visualitzar el fitxer DVI utilitzant el vostre visualitzador predeterminat amb Alt+3, convertir el DVI a un fitxer PS amb Alt+4, i visualitzar el fitxer PS amb Alt+5.

### BibTEX

Si utilitzeu BibTEX per a les vostres entrades bibliogràfiques, en general haureu de seguir un esquema de compilació especial. Això implica cridar a LATEX, després a BibTEX i després a LATEX una altra vegada. Afortunadament el Kile és prou intel·ligent per a detectar automàticament si cal cridar a eines addicionals com BibTEX, makeidx i Asymptote. Aquesta lògica s'activa per omissió i es pot canviar a Arranjament → Configura el Kile... → Eines+Construeix a la pestanya General de les eines LATEX i PDFLATEX.

### MetaPost i Asymptote

Si voleu compilar el vostre document amb MetaPost o Asymptote -els programes de dibuix d'imatges-, podeu fer-ho amb Construeix → Compila → Metapost o Construeix → Compila → Asymptote.

### PDFLATEX

També hi ha una altra manera de compilar el vostre document, si voleu un PDF: podeu executar el PDFLATEX, que compilarà la font directament a un fitxer PDF, amb Alt+6: podreu visualitzar el fitxer compilat prement Alt+7.

De manera alternativa, podeu convertir un PS a un PDF amb Alt+8, o directament un DVI a un PDF amb Alt+9.

Utilitzant el PDFLATEX en lloc de LATEX es pot deure a una qüestió de simplicitat o de costum, però de vegades el comportament dels dos programes pot ser diferent.

### LATEX per a la web

Finalment, possiblement voldreu publicar el vostre treball a la web i no sols en paper. A continuació, podreu utilitzar el programa latex2html, que es pot cridar des del menú del Kile Construeix → Converteix → LaTeX a la web. El resultat serà col·locat en una subcarpeta de la carpeta de treball, i sereu capaç de veure el resultat de la conversió escollint l'element de menú Construeix → Visualitza → ViewHTML.

### Passar paràmetres a la línia d'ordres

Per a passar alguns paràmetres específics de línia d'ordres a les eines de compilació, conversió o visualització, podeu configurar la seva crida a Arranjament → Configura el Kile... → Eines+Construeix.

Vista prèvia ràpida
Vista prèvia ràpida

## Vista prèvia ràpida

Quan treballeu amb LATEX sempre necessitareu algun temps per a veure el resultat. LATEX ha de compilar el codi font i cridar al visualitzador. Això pot ser molest si sols es canvien algunes lletres en una equació difícil de compondre. El Kile ofereix una manera Vista prèvia ràpida, on podreu compilar sols una part d'un document i estalviat molt de temps. És compatible amb quatre modes diferents, que es poden combinar amb set configuracions.

Tota la configuració s'ha de fer a Arranjament → Configura el Kile... → Eines+Vista prèvia.

### Mode de selecció

L'usuari ha de seleccionar una part del document. L'entrada de menú Construeix → Vista prèvia ràpida → Selecció o la drecera de teclat Ctrl+Alt+P,S iniciaran els programes seleccionats. El Kile prendrà el preàmbul del text original, de manera que s'incloguin tots els paquets i ordres definits per l'usuari. L'usuari pot triar una de les vuit configuracions predefinides:

- LaTeX+DVI (visualitzador incrustat)

- LaTeX+DVI (Okular)

- LaTeX+PS (visualitzador incrustat)

- LaTeX+PS (Okular)

- PDFLaTeX+PDF (visualitzador incrustat)

- PDFLaTeX+PDF (Okular)

- XeLaTeX+PDF (visualitzador incrustat)

- XeLaTeX+PDF (Okular)

Això hauria de ser suficient per a totes les situacions per a les quals es requereixi una vista prèvia ràpida.

### Mode entorn

Molt sovint voleu previsualitzar l'entorn actual, i especialment els entorns matemàtics, que de vegades poden ser difícils d'escriure. El Kile ofereix una manera molt ràpida de fer això. La selecció no és necessària, simplement seleccioneu Construcció → Vista prèvia ràpida → Entorn o la drecera de teclat Ctrl+Alt+P, E i es compilarà i mostrarà l'entorn actual.

### Mode subdocument

Si teniu un projecte gran amb un munt de documents, compilar tot el projecte no serà una gran idea, si heu realitzat canvis sols en un únic document. El Kile és capaç de compilar i mostrar una vista prèvia del subdocument actual. Pren el preàmbul del document mestre i sols compilarà la part actual quan escolliu Construeix → Vista prèvia ràpida → Subdocument o la drecera de teclat Ctrl+Alt+P,D.

### Mode grup matemàtic

El mode de vista prèvia del grup matemàtic permet la vista prèvia del grup matemàtic que esteu editant. El Kile pren el preàmbul del document mestre i sols compilarà el grup matemàtic on es trobi el cursor quan escolliu Construeix → Vista prèvia ràpida → Grup matemàtic o la drecera de teclat Ctrl+Alt+P,M.

### Vista prèvia ràpida en la barra inferior

En lloc de mostrar la vista prèvia d'un document nou, també es pot configurar el Kile per a utilitzar la barra inferior per a les compilacions de vista prèvia. Podeu activar aquesta característica en el plafó de configuració de la vista prèvia ràpida.

Formats de fitxers gràfics
Formats de fitxers gràfics

## Formats de fitxers gràfics

### LATEX i PDFLATEX

El PDFLATEX, quan s'utilitza amb els paquets `graphics` o `graphicx`, pot compilar correctament fitxers PNG i JPG en un DVI o PDF, però no és capaç de manejar fitxers EPS. Per contra, el procés de compilació de LATEX a DVI i conversió a PS i potser a PDF sí que suporta EPS, però no suporta PNG i JPG.

Molts usuaris volen crear documents PDF, però també volen utilitzar l'excel·lent paquet Pstricks per a crear gràfics PostScript®, o volen utilitzar la sortida PostScript® de programari matemàtic i científic com Mathematica, Maple o MuPAD. Aquests usuaris de LATEX primer han de compilar en PostScript®, encara que vulguin crear documents PDF, ja que aquests programes generen codi PostScript®, el qual no pot ser manejat pel PDFLATEX. Tanmateix, no és tan difícil com pot semblar, ja que el Kile us ajudarà.

### Conversió de gràfics

Per a superar aquest frustrant bucle, quan vulgueu incloure tant codi PostScript® com fitxers PNG o JPG, disposareu d'un nombre de solucions:

- Si necessiteu un fitxer en format PS, però té gràfics JPG o PNG, també podeu simplement utilitzar el PDFLATEX amb sortida DVI primer, i després executar dvips per a crear el fitxer PS. Podeu veure que el PDFLATEX és una molt bona opció, si la vostra font no conté codi PostScript®.

- Podeu convertir el fitxer EPS a PNG o altres formats amb utilitats com el Gimp o ImageMagick i utilitzar el PDFLATEX.

- Una manera preferida és la de convertir els gràfics EPS a PDF amb epstopdf, el qual ve amb totes les distribucions de TEX i aleshores utilitzar el PDFLATEX. Aquest produeix gràfics d'alta qualitat, fins i tot podeu controlar el resultat amb alguna de les opcions següents:

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

  Millor encara: si el vostre sistema permet `shell-escape`, la conversió es pot fer sobre la marxa. Tot el que heu de fer és incloure el paquet epstopdf, el qual forma part de totes les distribucions de TEX, amb l'ordre `\usepackage{epstopdf}`. Assumint que el codi és

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

  On podreu cridar al PDFLATEX amb l'opció `--shell-escape`, el gràfic `prova.eps` es convertirà automàticament en `prova.pdf`.

  Aquesta conversió es durà a terme cada vegada que executeu el PDFLATEX. Si doneu de forma implícita l'ordre de gràfics

              \includegraphics[width=5cm]{prova}

  epstopdf comprovarà si ja està disponible `prova.pdf`, per a saltar el pas de la conversió.

- Podeu convertir en l'altre sentit, i utilitzar LATEX i la conversió PS-PDF. Això no sempre és una bona idea, ja que l'encapsulació EPS de JPG o PNG pot produir fitxers més grans, que al seu torn produeixen documents innecessàriament grans. Tot i que això depèn en gran manera de la utilitat gràfica que utilitzeu, ja que EPS pot encapsular altres gràfics, però no totes les aplicacions ho implementen correctament. Algunes podrien intentar construir la vostra imatge JPG amb vectors i els diversos scripts creats, el qual resultarà en fitxers gegantins. La conversió de tots els formats gràfics a EPS la podeu fer amb ImageMagick. Un altre programa senzill que fa aquest procés correctament és jpg2ps.

- També podeu utilitzar una conversió automàtica. Tots els fitxers gràfics seran convertits a l'instant a EPS, i s'inseriran al document PS. Aquesta és una forma còmoda, però haureu de configurar el sistema correctament. Això es discuteix a la secció Gràfics EPS.

### Utilitzar el fitxer adequat per a cada gràfic

- EPS és un tipus de llenguatge per a la creació de scripts de vectors gràfics, que descriu totes les línies i punts que formen el gràfic. Es veu bé fins i tot quan s'augmenta més enllà de la seva mida per omissió, i concorda millor amb diagrames i gràfics vectorials produïts de forma nativa en PS, els quals es veuen molt nets i clars mantenint una mida molt petita de bytes.

- PNG (o el GIF en desús) és un format de fitxer sense pèrdua, amb una bona compressió i qualitat. És molt bo per als diagrames, escanejats de dibuixos, o qualsevol cosa de la qual vulgueu conservar la nitidesa. De vegades no funciona bé quan s'utilitza per a fotografies.

- JPG és un format amb pèrdua, que comprimeix millor els fitxers PNG a costa d'alguna pèrdua en el detall de la imatge. Això sol ser irrellevant per a les fotografies, però pot causar una mala qualitat per als diagrames, dibuixos, i pot fer que desapareguin algunes línies fines. En aquests casos utilitzeu EPS o PNG.

Però recordeu sempre: si entreu brossa, traureu brossa! Cap conversió farà bona una mala imatge.

Gràfics EPS
Gràfics EPS

## Gràfics EPS

Els fitxers gràfics EPS són la forma tradicional d'inserir fitxers gràfics en documents LATEX Com les llistes de correu són plenes de preguntes sobre gràfics EPS, debatrem sobre alguns aspectes importants i demostrarem com els implementa el Kile.

### LATEX i els gràfics EPS

Si decidiu utilitzar el LATEX tradicional per a presentar una sortida PS o PDF, probablement us trobareu amb alguns problemes amb els gràfics. Haureu d'utilitzar gràfics EPS (PostScript® encapsulat). No fitxers JPEG o PNG. Això no hauria de ser un problema, ja que hi ha una gran quantitat de convertidors com convert de l'excel·lent paquet ImageMagick. Però, per descomptat, això porta el seu temps.

Els fitxers EPS són utilitzats tant per LATEX com pel convertidor DVI-PS:

- LATEX escaneja el fitxer EPS per a determinar la línia del contenidor, el qual indicarà a LATEX quant espai reservar per als gràfics.

- El convertidor DVI-PS llegirà a continuació el fitxer EPS i inserirà el gràfic al fitxer PS.

Això té algunes implicacions:

- LATEX mai llegirà el fitxer EPS si s'han especificat els paràmetres relatius al contenidor en l'ordre d'inserció dels gràfics.

- Com LATEX no pot llegir els fitxers que no són ASCII, no podrà llegir la informació sobre el contenidor a partir de fitxers comprimits o gràfics no EPS.

- Els gràfics EPS no seran inclosos en el fitxer DVI. Atès que els fitxers EPS han d'estar presents quan el fitxer DVI es converteix a PS, els fitxers EPS s'han d'acompanyar dels fitxers DVI cada vegada que es mouen.

Ara podreu cridar a LATEX, i un convertidor DVI-PS com dvips per a crear el vostre document PostScript®. Si el vostre objectiu és un document PDF, l'haureu d'executar amb l'opció `-Ppdf` i després cridar a ps2pdf. Vostè trobarà una gran quantitat de documents que descriuen aquesta solució.

### La manera PostScript® del Kile

El Kile us ajudarà a obtenir la informació sobre el contenidor. Si teniu instal·lat el paquet ImageMagick, el Kile extraurà aquesta informació del fitxer EPS i la inserirà com una opció. Això es fa automàticament quan seleccioneu el fitxer de gràfics. Hi ha dos avantatges per a procedir d'aquesta manera:

- La informació apareixerà en el diàleg, i no l'haurà d'obtenir LATEX.

- Encara més important és que quan es coneix la seva resolució es poden calcular l'amplada i l'alçada de la imatge. Aquesta informació apareixerà a la part superior del diàleg, i pot servir com una pista quan es volen escalar els gràfics.

- El Kile també suporta fitxers EPS comprimits amb GZIP, que són molt més petits que els fitxers EPS sense comprimir. Tanmateix, aquesta característica sols es pot utilitzar amb una configuració especial del sistema i un canvi de la configuració gràfica local, com es descriu a la secció Gràfics de mapa de bits.

### La manera PostScript® i els gràfics de mapa de bits

Si el vostre sistema permet `shell-escape`, el Kile també implementa una manera fàcil d'incloure gràfics de mapes de bits, si configureu el sistema de TEX correctament. No hi ha necessitat de convertir gràfics JPEG o PNG, això es pot fer automàticament quan el fitxer DVI es converteix a PS.

LATEX necessita una mica d'informació sobre els sufixos dels fitxers. El paquet `graphicx` cerca un fitxer `graphics.cfg`, que ha d'estar en algun lloc en el vostre camí de cerca per a documents de LATEX. Cerqueu entrades de la manera següent:

    \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}{}%

i substituïu aquestes línies amb:

    \DeclareGraphicsRule{.pz}{eps}{.bb}{}%
       \DeclareGraphicsRule{.eps.Z}{eps}{.eps.bb}{}%
       \DeclareGraphicsRule{.ps.Z}{eps}{.ps.bb}{}%
       \DeclareGraphicsRule{.ps.gz}{eps}{.ps.bb}{}%
       % changed or new graphic rules
       \DeclareGraphicsRule{.eps.zip}{eps}{.eps.bb}{`unzip -p #1}%   zipped EPS
       \DeclareGraphicsRule{.eps.gz}{eps}{.eps.bb}{`gunzip -c #1}%   gzipped EPS
       \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:-}%      PDF-graphics

Trobareu aquest fitxer, per exemple en Debian, a `/etc/texmf/latex/graphics.cfg`. La millor manera de procedir és copiar aquest fitxer al vostre camí local de TEX (texpath) i després canviar aquesta còpia. Vegeu el manual de TEX de la vostra distribució per a saber com obtenir una llista de les vostres carpetes de TEX.

Amb aquest fitxer de configuració sereu capaços d'inserir gràfics de mapa de bits o fitxers EPS comprimits amb ZIP i GZIP a LATEX. L'ordre per a la conversió és definida per dvips. Quan us fixeu en l'ordre de conversió veureu que no es crea cap fitxer extra. El resultat del procés de conversió es dirigeix directament al fitxer PS. L'únic que ha de saber LATEX és la mida dels gràfics, i per tant necessitem el contenidor, el qual és proporcionat pel Kile.

Hi ha qui diu que aquest camí no és segur, haureu de decidir sobre com treballar. En qualsevol cas, no necessitareu cap contenidor, ja que el Kile extraurà aquesta informació de tots els tipus de gràfics.

### El PDFLATEX i els gràfics EPS

Com ja s'ha indicat, el PDFLATEX no és capaç de manejar fitxers gràfics EPS, però convertidors com epstopdf us ajudaran. La millor manera de fer-ho és incloure el paquet `epstopdf`, al que seguirà el paquet `graphicx`.

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

Ara ja pots incloure els gràfics EPS, si executeu pdflatex amb l'opció `--shell-escape`, però podem fer-ho encara millor manejant fitxers EPS comprimits amb ZIP o GZIP. Una vegada més hem de canviar el fitxer de configuració de gràfics `graphics.cfg` com anteriorment. Aquesta vegada buscarem:

    % pdfTeX executant-se en mode PDF
       \ExecuteOptions{pdftex}%

i afegirem algunes línies:

    % pdfTeX executant-se en mode PDF
       \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}}%
       }%

Amb aquestes línies, el PDFLATEX serà capaç de manejar fitxers EPS, i esperem que no tingueu més problemes amb els gràfics.

Document mestre
Document mestre

## Document mestre

Definir el vostre document com un mestre us permetrà treballar amb fitxers separats, el que us donarà un document de nivell superior (o document mestre) i documents fills que compondran una obra completa. Una vegada definit el document mestre, amb l'ordre corresponent al menú Arranjament, totes les ordres del menú Eines sols seran d'aplicació a aquest document, fins i tot quan esteu treballant en els documents fills. Encara podreu tancar el document mestre.

Gestió d'errors
Gestió d'errors

## Gestió d'errors

Després de compilar alguna cosa, el Kile dona un cop d'ull als missatges d'error que s'han generat. Si hi ha algun error o avís, se us informarà breument a la finestra Registre i missatges. Podeu profunditzar en els missatges seleccionant Construeix → Mostra el fitxer del registre, o utilitzant la drecera de teclat Alt+0. El registre generat es mostrarà a la vista Registre i missatges. Els errors i els avisos seran ressaltats.

Veure el registre

Podeu saltar d'un missatge al fitxer de registre a un altre utilitzant els elements de menú Build → Següent / Anterior error/avís de LaTeX, o utilitzant els botons de la barra d'eines corresponent.

Per a saltar a la línia en el codi font LATEX font on s'ha produït l'error o avís, feu clic sobre l'error o l'avís a la vista Registre i missatges. El Kile us portarà automàticament a la línia en qüestió.

El mode de vigilància del fitxer
El mode de vigilància del fitxer

## El mode de vigilància del fitxer

Quan llanceu l'ordre Creació ràpida, normalment s'invocarà un visualitzador d'algun tipus després de la compilació. Si no teniu un visualitzador incrustat, cada vegada s'obrirà una finestra nova.

Si voleu ajustar l'aspecte del vostre document, possiblement llançareu Creació ràpida molt sovint, i tindreu moltes finestres del visualitzador obertes a l'escriptori. Per a evitar aquesta confusió, podeu activar el mode Vigilància de fitxer, evitant que la Creació ràpida llanci un visualitzador.

Aquest mode manca d'utilitat amb els visualitzadors incrustats, ja que cal tancar-los per a tornar a editar i compilar el document.

Capítol 11. Navegar pel codi font de LATEX
Navegar pel codi font de LATEX

# Capítol 11. Navegar pel codi font de LATEX

## Utilitzar la vista d'estructura

La vista Estructura mostra la jerarquia de l'estructura del document que s'està creant en el Kile, i us permet navegar ràpidament, mostrant la seva segmentació. Per a navegar pel document, tot el que haureu de fer és fer clic esquerre sobre qualsevol etiqueta, capítol, secció, subsecció, etc., i se us portarà al començament de l'àrea corresponent.

Si incloeu un fitxer LATEX a part al codi font utilitzant les etiquetes `\input` o `\include`, aquests fitxers seran referenciats a la vista Estructura, feu doble clic sobre els seus noms, el qual farà que el Kile obri el fitxer inclòs a la finestra de l'editor.

L'arbre de jerarquia també té una branca separada per a les etiquetes utilitzades en el text.

### Utilitzar el menú contextual

La majoria de les entrades a la vista d'estructura tenen un munt d'entrades al menú contextual, el qual es pot obrir amb un clic dret del ratolí. Així que cerqueu a la vista d'estructura en la imatge següent.

Trobareu algunes etiquetes, algunes entrades de secció, dos entorns de figures i tres imatges. Si feu clic sobre una de les entrades de secció, apareixerà un menú amb algunes ordres d'utilitat. Totes les ordres com Selecciona, Elimina o Comentari treballaran amb totes les línies que pertanyin a aquesta secció.

En fer clic sobre una entrada de figura o de taula s'oferiran algunes accions respecte a les referències i un clic dret sobre una entrada de gràfics s'oferiran alguns programes per a obrir els gràfics.

### Actualitzar la vista d'estructura

Per a actualitzar la vista d'estructura podeu anar a Edita → Actualitza l'estructura, premeu F12, o podeu desar el document, el qual farà que el Kile actualitzi la seva vista Estructura.

Punts
Punts

## Punts

Els punts són la vostra referència a un segment de text o a una línia dins l'entorn del Kile. Per a utilitzar un punt, seleccioneu una línia específica del document a la que us agradaria tornar, a continuació premeu Ctrl+B, i el Kile afegirà un punt a aquesta línia. De manera alternativa, també podeu establir un punt ressaltant una línia i escollint l'element de menú anomenat Punts → Estableix un punt.

Per a eliminar tots els punts, seleccioneu Punts → Neteja tots els punts.

Capítol 12. Projectes
Projectes

# Capítol 12. Projectes

## Treballar amb projectes

Al Kile podeu crear i treballar amb projectes. Un projecte és un grup de LATEX, gràfics, BibTEX, o altres fitxers que contenen tota la informació que s'utilitza per a construir el document complet Un projecte típic seria un document que consta de diversos capítols, escrit en diferents fitxers `.tex`, tots podrien estar inclosos en un projecte, per a fer que el document sigui més fàcil d'utilitzar. Les especificacions del projecte s'emmagatzemen en un fitxer especial, amb extensió `.kilepr`.

Un projecte afegeix les funcionalitats següents:

- No cal que establiu un document mestre, el Kile ho farà automàticament.

- Els fitxers de projecte es poden arxivar junts amb facilitat anant a Projecte → Arxiva.

- La vista Fitxers i projectes mostra quins fitxers estan inclosos en el projecte.

- Després d'obrir un projecte, qualsevol fitxer obert anteriorment serà restaurat amb la codificació i ressaltat originals.

- La compleció de codi funciona en tots els fitxers del projecte.

- La compleció de referència funciona en tots els fitxers del projecte.

- La compleció de cites funciona en tots els fitxers del projecte.

- Cerca en tots els fitxers del projecte.

- Especifica les ordres personalitzades creació ràpida i makeidx.

Podeu trobar totes les ordres relacionades amb el projecte en el menú Projecte. Des d'on podreu obrir, tancar i gestionar els vostres projectes.

Crear un projecte
Crear un projecte

## Crear un projecte

Per a crear un projecte, seleccioneu Projecte → Projecte nou....

Se us demanarà que proporcioneu la informació següent per a crear el vostre projecte:

- Títol del vostre projecte (camp de text Títol del projecte).

  El títol del projecte s'utilitzarà per a crear un nom de fitxer del projecte transformant a minúscules i afegint l'extensió `.kilepr`.

- Una carpeta on s'emmagatzemarà el fitxer del projecte (camp de text Carpeta del projecte).

- Per a crear un fitxer principal nou del projecte marqueu l'element Crea un fitxer nou i afegeix-lo a aquest projecte.

- Quan completeu el quadre Nom de fitxer, haureu d'incloure un camí relatiu on es troba emmagatzemat el fitxer de projecte `.kilepr` (vegeu l'element Carpeta del projecte).

- Tipus del fitxer creat, Fitxer buit, Article, Llibre, Carta, Informe, etc. es poden triar des d'una llista visual a la part inferior del plafó Fitxer.

- Les extensions dels fitxers per omissió en el projecte es poden seleccionar utilitzant el plafó Extensions. La vostra elecció es farà servir per a definir els fitxers que s'obriran quan escolliu l'element de menú Projecte → Obre tots els fitxers del projecte i en els assistents del Kile. Les extensions en el camp de text han d'estar separades per espais.

La vista de fitxers i projectes
La vista de fitxers i projectes

## La vista de fitxers i projectes

La vista Fitxers i projectes és un botó del menú de la barra lateral. Des d'aquesta vista podreu veure l'estructura del vostre projecte, els seus fitxers i el nom del fitxer `.kilepr` que emmagatzema la informació del projecte. Les opcions per a afegir, treure o canviar el projecte es fan mitjançant aquesta.

La vista de fitxers i projectes

Afegir i eliminar fitxers
Afegir i eliminar fitxers

## Afegir i eliminar fitxers

Per a afegir un fitxer al vostre projecte, obriu qualsevol fitxer TEX, feu clic sobre el seu nom a la vista Fitxers i projectes, i seleccioneu Afegeix al projecte. Si teniu oberts múltiples projectes, apareixerà un diàleg on podreu especificar a quin projecte s'ha d'afegir el fitxer.

També podeu fer clic dret sobre el nom del projecte en la vista Fitxers i projectes, i seleccioneu Afegeix fitxers... per a obrir un diàleg de selecció de fitxers.

Afegint un fitxer a un projecte

Per a eliminar un fitxer d'un projecte, feu clic dret sobre seu i seleccioneu Elimina fitxer. Això no eliminarà el fitxer (i tampoc el tancarà), sols l'eliminarà de la llista de fitxers continguts al fitxer `.kilepr`.

### Arxivar el vostre projecte

El Kile permet realitzar còpies de seguretat del vostre projecte emmagatzemant tots els seus fitxers en un sol fitxer comprimit (sovint conegut com un arxiu tar). Per a arxivar el projecte, feu clic dret sobre el seu nom en la vista Fitxers i projectes, o seleccioneu Projecte → Arxiva.

Per omissió, tots els fitxers en un projecte seran afegits a l'arxiu. Si no voleu incloure un determinat fitxer, feu clic sobre aquest a la vista Fitxers i projectes i desmarqueu l'opció Inclou en l'arxiu.

L'operació d'arxivat actualment es realitza executant tar des de la carpeta de projecte (on es troba el fitxer `.kilepr`).

Opcions del projecte
Opcions del projecte

## Opcions del projecte

El Kile té algunes opcions relacionades amb el projecte que es poden ajustar. Per a canviar-les, feu clic sobre el títol del projecte i seleccioneu Opcions del projecte, i tindreu l'opció de canviar:

- El títol del vostre projecte.

- Extensions de fitxer per omissió.

- El document mestre.

- L'ordre Creació ràpida.

- Les opcions de makeidx.

Tancar un projecte
Tancar un projecte

## Tancar un projecte

Per a tancar un projecte, seleccioneu la vista Fitxers i projectes des de la barra d'eines vertical, feu clic dret sobre el títol del projecte, i després seleccioneu Tanca. Això tancarà el projecte, tots els fitxers relacionats amb el projecte, i també afegirà el nom del projecte que acabeu de tancar a Obre un projecte recent... al menú Projecte.

Capítol 13. Codificar el document
Codificar el document

# Capítol 13. Codificar el document

L'editor Kile permet llegir, convertir i desar missatges de text en la codificació de caràcters que necessiti el vostre document. Amb això és possible, per exemple, utilitzar caràcters accentuats, com els que s'utilitzen comunament en italià o francès directament en documents de LATEX. Podeu seleccionar la codificació per al vostre document de dues maneres:

- Una forma d'establir la codificació del document és utilitzant el submenú Arranjament → Configura el Kile... → Editor, on podreu establir la codificació de caràcters per omissió per a tots els fitxers.

- Una segona manera d'establir la codificació d'un document és escollir la codificació desitjada dins de l'assistent per a crear un document nou.

LATEX sols entén ASCII, el que representa un conjunt molt limitat de caràcters. Per tant, no és possible utilitzar caràcters accentuats directament. Per a utilitzar-los, s'ha inventat una sintaxi especial: com per exemple `\"e` per a `ë`. El paquet inputenc està disponible per a ajudar amb això. S'inclou en el preàmbul amb `\usepackage[latin1]{inputenc}`, on l'argument opcional especifica la codificació que voleu utilitzar (avui dia en la majoria dels casos `utf8`). Això li indica a LATEX que tradueixi totes les `ë` que escriviu a `\"e` abans de compilar. Si us plau, consulteu la documentació de inputenc directament per a obtenir més informació. Finalment, però no menys important: recordeu assegurar-vos que el fitxer es desa realment en la mateixa codificació especificada per al paquet inputenc!

Aquesta multitud de diferents taules de codificació de caràcters ha creat nombrosos problemes: per exemple, no podeu escriure un curs de turc en francès sense perdre els caràcters especials d'un dels idiomes. Hi ha un acord general que, tard o d'hora, tothom canviarà a Unicode. Hi ha moltes implementacions d'Unicode i UTF-8 és la més utilitzada a Linux®, en canvi Windows®(R) es basa més aviat en la més incòmoda i menys flexible UCS-2. La majoria de les distribucions ja han començat a establir la seva codificació per omissió a UTF-8, i per tant podríeu estar molt interessats a utilitzar l'argument `utf8` al paquet `inputenc`.

## El paquet ucs

Si no teniu instal·lat el paquet ucs, podeu procedir de la manera següent:

- Obtenir el paquet ucs des de CTAN.

- Per a instal·lar-lo, descomprimiu el fitxer descarregat i el col·loqueu-lo en una carpeta llistada a la vostra variable d'entorn $`TEXINPUTS`. També es pot ajustar dins del Kile.

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

XeLaTeX
XeLaTeX

## XeLaTeX

Si esteu utilitzant `XeLaTeX`, sols haureu de carregar el paquet `xltxtra`. De manera addicional carregarà tots els paquets necessaris.

    \usepackage{xltxtra}

Suport CJK
Suport CJK

## Suport CJK

Afegir suport per a idiomes ideogràfics és molt complicat. Tanmateix, un cop ho hàgiu aconseguit, funcionarà molt bé. La instal·lació d'altres paquets us permetrà treballar amb algunes configuracions extres.

### Suggeriment

La vostra distribució Linux® pot contenir un paquet CJK (xinès, japonès, coreà) preparat, de manera que us estalviareu la molèstia d'haver-lo d'instal·lar manualment. Comproveu-ho abans de seguir endavant!

Hi ha la possibilitat d'utilitzar el paquet ucs per a escriure pedaços de text CJK, però aquesta opció està seriosament limitada, ja que no maneja, entre altres coses, les línies noves. En el seu lloc, instal·larem el complet paquet CJK-LATEX i farem que funcioni per a LATEX i PDFLATEX. Gran part d'aquest material ha estat inspirat per la pàgina sobre com configurar el PDFLATEX d'en Pai H. Chou.

1. Descarregueu el paquet CJK. Copieu els fitxers descomprimits a la subcarpeta corresponent de $`TEXMF`, igual com ho vau fer amb el paquet ucs (vegeu El paquet ucs). Els fitxers es descomprimeixen en una carpeta `CJK/X_Y.Z`. Tot i que no és important una vegada els heu descomprimit, és probable que sigui més ordenat i fàcil de mantenir.

2. Ara haureu de descarregar una font que suporti tots els caràcters que necessita CJK. Podeu escollir qualsevol fitxer `*.ttf` els cobreixi, però en aquest cas utilitzarem Cyberbit. Descomprimiu el fitxer i canvieu-ne el nom de `Cyberbit.ttf` a `cyberbit.ttf`, ja que podria la majúscula podria confondre al vostre sistema.

   Col·loqueu `cyberbit.ttf` en una carpeta juntament amb `Unicode.sfd`, i genereu els fitxers `*.tfm` i `*.enc` amb l'ordre `$ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@`. Per alguna raó, de vegades això no produeix els centenars de fitxers necessaris. Si és aquest el vostre cas, podeu descarregar els fitxers `*.tfm` i `*.enc`.

   Col·loqui els fitxers `*.tfm` en una carpeta adequada, diguem `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`. Els fitxers `*.enc` es poden instal·lar a `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Ara necessitem un fitxer de mapa per a connectar els fitxers `*.enc` amb la lletra. Descarregueu `cyberbit.map` i instal·leu-lo a `$`TEXMF`/pdftex/config/`.

4. Descarregueu un altre fitxer, `c70cyberbit.fd`, i poseu-lo en una carpeta adequada. Podeu escollir, per exemple, `$`TEXMF`/tex/misc/`.

5. L'últim fitxer que hem de generar és una font PostScript® de Type 1, necessari per a llegir fitxers DVI generats amb LATEX. Executeu l'ordre `$ ttf2pfb cyberbit.ttf -o cyberbit.pfb` i copieu el resultat `cyberbit.pfb` en una carpeta com `$`TEXMF`/fonts/type1/cyberbit/`.

6. Ara col·loqueu `cyberbit.ttf` entre les fonts on LATEX la pugui trobar. Podeu col·locar-lo en una carpeta amb el nom `$`TEXMF`/fonts/truetype/`.

7. Comproveu el fitxer de configuració que es troba a `$`TEXMF`/web2c/texmf.cnf`, i assegureu-vos que la línia que conté `TTFONTS` està sense comentar i que apunta a la carpeta on heu desat `cyberbit.ttf`.

8. Per a fer possible que el PDFLATEX utilitzi les lletres CJK, cal que afegiu una línia al fitxer de configuració $`$`TEXMF`/pdftex/config/pdftex.cfg`. Afegiu `map +cyberbit.map` al fitxer per a completar la configuració per al PDFLATEX.

9. Per a configurar LATEX de manera que pugui presentar fitxers DVI amb caràcters CJK, cal que afegiu una línia al fitxer `ttfonts.map`. El fitxer pot estar en una carpeta anomenada `$`TEXMF`/ttf2pk/`, però probablement l'haureu de buscar. Afegiu la línia `cyberbit@Unicode@ cyberbit.ttf`.

10. Ara, sols haureu d'executar `texhash` i el sistema hauria d'estar llest.

Per a provar si la configuració és correcta, podeu intentar compilar aquest fitxer de prova.

### Solució de problemes amb CJK

Hi ha moltes coses que poden sortir malament quan es configura el suport CJK manualment. Si alguna cosa sembla no funcionar, la llista següent pot ajudar-vos.

- Òbviament, ja heu executat LATEX com a usuari i no com a root, haureu de permetre que els usuaris normals accedeixin als fitxers nous. Assegureu-vos que totes les carpetes i fitxers són accessibles utilitzant l'ordre chmod.

- Si LATEX escriu un DVI sense problemes, però no el podeu veure, gairebé segur que es deu a alguns problemes en la generació automàtica de les lletres `*.pk`. Se suposa que es generen sobre la marxa mentre esteu veient un fitxer DVI, però això pot fallar per una sèrie de raons: Verifiqueu de nou `ttfonts.map` a la vostra primera línia personalitzada. Tanmateix, podria ocórrer que la vostra ordre ttf2pk, que sol ser invocada pel visualitzador de DVI, s'ha compilat sense suport per a les biblioteques kpathsea. Si és aquest el vostre cas, `ttf2pk `--version`` no farà cap menció de kpathsea. Ja que el suport per aquestes biblioteques és necessari, potser haureu de trobar un paquet nou, o tornar a compilar FreeType 1 vosaltres mateixos.

### Com puc fer entrades CJK en Unicode?

Hi ha una sèrie de motors d'entrada diferents, i escollir-ne un o altre també dependrà de les vostres preferències personals. L'autor utilitza Skim, un port al KDE del motor Scim. Consulteu la documentació de la vostra distribució per a aprendre com instal·lar aquests programes. La configuració d'aquest tipus de programes també pot ser complicada, en el cas de Skim, haureu de definir una variable d'entorn ``XMODIFIERS`="@im=SCIM"` abans d'iniciar X.

Capítol 14. Crear scripts
Crear scripts

# Capítol 14. Crear scripts

## Crear scripts al Kile

La característica de crear scripts del Kile permet l'execució de codi ECMAScript, també conegut com a JavaScript. Trobareu una gran quantitat de guies d'aprenentatge que proporcionen informació sobre els objectes (variables), funcions i propietats suportades per JavaScript.

El suport de creació de scripts es pot activar al diàleg de configuració del Kile: Arranjament → Configura el Kile... → Kile+Crea scripts.

Si la creació de scripts està activada, serà visible un grup addicional de crear scripts a la barra lateral, des d'on es podran gestionar:

Aquest giny conté sis icones, les quals ofereixen tasques diferents:

- Executa l'script seleccionat.

- Crea un script nou.

- Obre l'script seleccionat a l'editor.

- Configura una seqüència de tecles per a l'script seleccionat.

- Elimina una seqüència de tecles assignada.

- Actualitza la llista de scripts disponibles, els quals es troben a `$`KDEDIR`/share/apps/kile/scripts/`.

Executar un script
Executar un script

## Executar un script

Podeu executar un script de tres maneres diferents:

1. Seleccioneu l'script desitjat i feu clic sobre el botó Executa a la part esquerra del giny per a la gestió de scripts.

2. Utilitzeu una drecera de teclat.

   Podeu assignar una drecera de teclat a un script utilitzant el botó Configura al giny per a la gestió de scripts.

3. Utilitzeu un editor per a seqüència de tecles. L'script serà executat, si escriviu a l'editor la seqüència de tecles assignada.

   Aquest mètode es pot estendre a un tipus força sofisticat de compleció de codi. Suposem que heu escrit un script, el qual simplement insereix l'ordre `\textbf{}` de LATEX en el document actual.

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

   Si ara escriviu la seqüència de tecles assignada `bfx` en el vostre document de text, aquesta seqüència de tecles serà eliminada i s'executarà l'script. S'inserirà `\textbf{}` i el cursor se situarà entre les claus.

   Realment és un mètode còmode i potent per a la finalització de codi.

Referència de l'API
Referència de l'API

## Referència de l'API

L'API per a la creació de scripts que es presenta aquí està disponible en tots els scripts. Abans que es carregui el contingut d'un script, el Kile primer afegeix diversos prototips i funcions al context de la creació de scripts. Aquesta utilitat de l'API conté prototips com cursors de text i intervals de text, i està localitzada a la carpeta `KILE_APP_DIR/script-plugins/`.

Els scripts del Kile difereixen lleugerament dels scripts del Kate, els quals utilitzen un altre disseny, ja que també es poden iniciar des de la línia d'ordres. Però totes les funcions de l'API per a crear scripts del Kate també estan disponibles a l'API per a crear scripts del Kile, portar el codi JavaScript del Kate al Kile hauria de ser molt fàcil. Però com el Kile és un editor de LATEX molt ric en característiques, la seva pròpia API per a crear scripts ofereix moltes més possibilitats que la del Kate.

Observació: La descripció de les crides a l'API, que també estan disponibles a la creació de scripts del Kate, han estat agafades de la documentació del Kate.

### Funcions globals

Aquesta secció llista les funcions globals.

    void debug(String text);

  Imprimeix el `text` a `stdout` a la consola. El text imprès restarà en color per a distingir-lo d'una altra sortida de depuració.

### El prototip «Cursor»

Com el Kile és un editor de text, tota l'API per a la creació de scripts es basa en cursors i intervals sempre que és possible. Un cursor és una simple tupla `(línia, columna)` que representa una posició del text en el document.

    Cursor();

  Constructor. Retorna un cursor a la posició `(0,0)`.

  Exemple: `var cursor = new Cursor();`

    Cursor(int línia, int columna);

  Constructor. Retorna un cursor a la posició (línia,columna).

  Exemple: `var cursor = new Cursor(3,42);`

    Cursor(Cursor altre);

  Constructor de còpia: Retorna una còpia del cursor `altre`.

  Exemple: `var copy = new Cursor(altre);`

    Cursor Cursor.clone();

  Retorna una còpia del cursor.

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

    bool Cursor.isValid();

  Comprova si el cursor és vàlid. El cursor no és vàlid, si la línia i/o la columna s'estableix a `-1`.

  Exemple: `var valid = cursor.isValid();`

    Cursor Cursor.invalid();

  Retorna un cursor nou no vàlid situat a `(-1,-1)`.

  Exemple: `var invalidCursor = cursor.invalid();`

    int Cursor.compareTo(Cursor altre);

  Compara aquest cursor al cursor `altre`. Retorna

  - `-1`, si el cursor està situat abans del cursor `altre`,

  - `0`, si tots dos cursors són iguals i

  - `+1`, si el cursor està situat després del cursor `altre`.

    bool Cursor.equals(Cursor altre);

  Retorna `true` (vertader), si aquest cursor i el cursor `altre` són iguals, en cas contrari retornarà `false` (fals).

    String Cursor.toString();

  Retorna el cursor com una cadena de la forma `Cursor(línia, columna)`.

### El prototip «Range»

Com el Kile és un editor de text, tota l'API per a la creació de scripts es basarà en cursors i rangs sempre que és possible. Un cursor és una simple tupla `(línia, columna)` que representa una posició del text en el document, abasta un rang de text des d'una posició de començament del cursor fins a una posició de finalització del cursor.

    Range();

  El constructor. Crida `new Range()` retornant un interval `(0,0) - (0,0)`.

    Range(Cursor inici, Cursor final);

  Constructor: Crida `new Range(`inici`, `final`)` retorna l'interval des del cursor `inici` fins al cursor `final`.

    Range(int iniciLínia, int iniciColumna, int finalLínia, int finalColumna);

  El constructor: Crida `new Range(`iniciLínia`, `iniciColumna`, `finalLínia`, `finalColumna`)` retorna l'interval des de (`iniciLínia`, `iniciColumna`) a (`finalLínia`, `finalColumna`).

    Range(Range altre);

  Constructor de còpia: Retorna una còpia de l'interval `altre`.

    Range Range.clone();

  Retorna una còpia de l'interval.

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

    bool Range.isValid();

  Retorna `true` (vertader), si inici i final del cursor són vàlids, en cas contrari retornarà `false` (fals).

  Exemple: `var valid = range.isValid();`

    bool Range.invalid();

  Retorna l'interval de (-1,-1) a (-1,-1).

    bool Range.contains(Cursor cursor);

  Retorna `true` (vertader) si aquest interval conté la posició de cursor, en cas contrari retornarà `false` (fals).

    bool Range.contains(Range altre);

  Retorna `true` (vertader), si aquest interval conté l'interval `altre`, en cas contrari retornarà `false` (fals).

    bool Range.containsColumn(int columna);

  Retorna `true` (vertader), si `columna` està en l'interval obert mig `[start.column, end.column]`, en cas contrari retornarà `false` (fals).

    bool Range.containsLine(int línia);

  Retorna `true` (vertader), si `línia` està en l'interval obert mig `[start.line, end.line]`, en cas contrari retornarà `false` (fals).

    bool Range.overlaps(Range altre);

  Retorna `true` (vertader), si aquest interval i l'interval `altre` comparteixen una regió comuna, en cas contrari retornarà `false` (fals).

    bool Range.overlapsLine(int línia);

  Retorna `true` (vertader), si `línia` està en l'interval `[start.line, end.line]`, en cas contrari retornarà `false` (fals).

    bool Range.overlapsColumn(int columna);

  Retorna `true` (vertader), si `columna` està en l'interval `[start.column, end.column]`, en cas contrari retornarà `false` (fals).

    bool Range.equals(Range altre);

  Retorna `true` (vertader), si aquest interval i l'interval de `altre` són iguals, en cas contrari retornarà `false` (fals).

    String Range.toString();

  Retorna l'interval com una cadena de la forma `Range(Cursor(línia,columna) - Cursor(línia,columna))`.

### L'API «View»

Sempre que s'està executant un script, hi haurà un objecte global (variable) «`view`» que representa la vista actual de l'editor actiu. Totes les funcions de «`view`» treballen amb les posicions del cursor o el text seleccionat. La següent és una llista de totes les funcions disponibles per a «`view`».

    void view.backspace();

  Realitza la programació equivalent a prémer la tecla de retrocés.

    Cursor view.cursorPosition();

  Retorna la posició actual del cursor en la vista.

    void view.setCursorPosition(int línia, int columna);
    void view.setCursorPosition(Cursor cursor);

  Estableix la posició actual del cursor a `línia`, `columna` o el `cursor` indicat.

    void view.cursorLeft();

  Mou el cursor una posició cap enrere en el text.

    void view.cursorRight();

  Mou el cursor una posició cap endavant en el text.

    void view.cursorUp();

  Mou el cursor una línia cap amunt en el document.

    void view.cursorDown();

  Mou el cursor una línia cap avall en el document.

    int view.cursorLine();

  Retorna a la línia en la qual està situat el cursor.

    int view.cursorColumn();

  Retorna a la columna en la qual està el cursor.

    void view.setCursorLine(int línia);

  Estableix la línia del cursor a la `línia` donada.

    void view.setCursorColumn(int columna);

  Estableix la columna del cursor a la `columna` donada.

    Cursor view.virtualCursorPosition();

  Obté la posició actual del cursor virtual. Virtual vol dir que el caràcter tabulador (TAB) compta amb múltiples caràcters, tal com l'ha configurat l'usuari (p. ex., un TAB són 8 espais). La posició del cursor virtual proporciona accés als valors d'usuari visibles de la posició actual del cursor.

    bool view.hasSelection();

  Retorna `true` (vertader), si la vista conté el text seleccionat, en cas contrari retornarà `false` (fals).

    String view.selectedText();

  Retorna el text seleccionat. Si no hi ha text seleccionat, la cadena retornada estarà buida.

    Range view.selectionRange();

  Retorna l'interval de text seleccionat. L'interval retornat no serà vàlid si no hi ha text seleccionat.

    void view.setSelection(Range rang);

  Estableix el text seleccionat al `rang` indicat.

    void view.selectAll();

  Selecciona tot el text en el document.

    void view.clearSelection();

  Neteja la selecció de text sense eliminar-lo.

    void view.removeSelectedText();

  Elimina el text seleccionat. Si la vista no té cap text seleccionat, no fa res.

    void view.selectLine();

  Selecciona el text a la línia actual.

    void view.selectLine(int línia);

  Selecciona el text a la `línia` indicada.

    void view.selectLines(int des_de, int fins_a);

  Selecciona tot el text des de la línia `des_de` fins a la línia `fins_a`.

    void view.selectWord();

  Selecciona la paraula actual. Si no es troba cap paraula a la posició actual del cursor, no es farà res.

    void view.selectLatexCommand();

  Selecciona l'ordre de LATEX actual. Si no es troba cap ordre a la posició actual del cursor, no es farà res.

    void view.selectEnvironment(bool inside = false);

  Selecciona tot el text d'entorn de LATEX actual. Si el paràmetre `inside` és `false` (fals), es podrà seleccionar tot el text d'entorn, incloses les etiquetes de LATEX circumdants `\begin{...}...\end{...}`, en cas contrari aquestes etiquetes seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`.

    void view.selectTexgroup(bool inside = true);

  Selecciona el text del grup de LATEX actual. Si el paràmetre `inside` és `true` (vertader), només se seleccionarà el grup de TeX sense les claus circumdants. Si no s'especifica cap paràmetre, `inside` restarà establert a `true`.

    void view.selectMathgroup();

  Selecciona el text del grup matemàtic actual.

    void view.selectParagraph(bool wholeLines = true);

  Selecciona el text sencer del paràgraf de LATEX actual. Si el paràmetre `wholeLines` és `true` (vertader), la primera i les últimes línies del paràgraf s'inclouran en la selecció (incloent-hi el caràcter de final de línia), en cas contrari, la selecció només contindrà caràcters sense espais en blanc.

### L'API «Document»

Sempre que s'està executant un script, hi haurà un objecte global (variable) «`document`» que representa la vista actual del document actiu. La següent és una llista de totes les funcions disponibles de «`document`».

    void document.insertText(String text);

  Insereix el `text` a la posició actual del cursor.

    void document.insertText(int línia, int columna, String text);
    void document.insertText(Cursor cursor, String text);

  Insereix el `text` a la posició donada del cursor.

    bool document.removeText(int des_deLínia, int des_deColumna, int fins_aLínia, int fins_aColumna);
    bool document.removeText(Cursor des_de, Cursor fins_a);
    bool document.removeText(Range rang);

  Elimina el text dins de l'interval donat. Retorna `true` (vertader) en cas d'èxit, o `false` (fals), si el document està en mode de només lectura.

    bool document.replaceText(Range rang, String text);

  Substitueix el text de l'interval donat amb el text especificat.

    int document.lines();

  Retorna el nombre de línies en el document.

    int document.length();

  Retorna el nombre de caràcters en el document.

    Range document.documentRange();

  Retorna un rang que abasta tot el document.

    Cursor document.documentEnd();

  Retorna la posició actual del cursor del final del document.

    String document.text();

  Retorna el contingut complet del document en una cadena de text única. Els salts de línia estan marcats amb el caràcter de línia nova `\n`.

    String document.text(int des_deLínia, int des_deColumna, int fins_aLínia, int fins_aColumna);
    String document.text(Cursor des_de, Cursor fins_a);
    String document.text(Range rang);

  Retorna el text en l'interval donat. Es recomana utilitzar el cursor i la versió basada en l'interval per a una millor lectura del codi font.

    bool document.setText(String text);

  Estableix el text a tot el document.

    bool document.clear();

  Elimina tot el text en el document.

    String document.line();

  Retorna la línia de text actual com a cadena.

    String document.line(int línia);

  Retorna la línia de text donada com a cadena. La cadena estarà buida si la línia demanada està fora de l'interval.

    int document.lineLength();

  Retorna la longitud de la línia actual.

    int document.lineLength(int línia);

  Retorna la longitud de la `línia`.

    bool document.insertLine(String s);

  Insereix text en la línia actual. Retorna `true` (vertader) en cas d'èxit, o `false` (fals), si el document està en mode de només lectura o la línia no està en l'interval document.

    bool document.insertLine(int línia, String s);

  Insereix text en la línia donada. Retorna `true` (vertader) en cas d'èxit, o `false` (fals), si el document està en mode de només lectura o la línia no està en l'interval document.

    bool document.removeLine();

  Elimina la línia de text actual. Retorna `true` (vertader) en cas d'èxit, o `false` (fals), si el document està en mode de només lectura.

    bool document.removeLine(int línia);

  Elimina la línia de text donada. Retorna `true` (vertader) en cas d'èxit, o `false` (fals), si el document està en mode de només lectura o la línia no està en l'interval document.

    bool document.replaceLine(String text);

  Substitueix el text de la línia actual amb el text especificat.

    bool document.replaceLine(int línia, String text);

  Substitueix el text de la línia donada amb el text especificat.

    bool document.truncateLine();

  Trunca la línia actual a la columna o la posició donada del cursor. Retorna `true` (vertader) en cas d'èxit, o `false` (fals) si la línia donada no forma part de l'interval del document.

    bool document.truncate(int línia, int columna);
    bool document.truncate(Cursor cursor);

  Trunca la línia donada a la columna o la posició donada del cursor. Retorna `true` (vertader) en cas d'èxit, o `false` (fals) si la línia donada no forma part de l'interval del document.

    String document.word();

  Retorna la paraula a la posició actual del cursor. Si no es troba cap paraula en aquesta posició del cursor, la cadena retornada estarà buida.

    String document.wordAt(int línia, int columna);
    String document.wordAt(Cursor cursor);

  Retorna la paraula a la posició donada del cursor. Si no es troba cap paraula en aquesta posició del cursor, la cadena retornada estarà buida.

    Range document.wordRange();

  Retorna l'interval de la paraula a la posició donada del cursor. Si no es troba cap paraula, es retornarà `Range.invalid()`, el qual es pot provar amb `Range.isValid()`.

    String document.latexCommand();

  Retorna l'ordre de LATEX a la posició actual del cursor. Si no es troba cap ordre en aquesta posició del cursor, la cadena retornada estarà buida.

    String document.latexCommandAt(int línia, int columna);
    String document.latexCommandAt(Cursor cursor);

  Retorna l'ordre de LATEX a la posició donada del cursor. Si no es troba cap ordre en aquesta posició del cursor, la cadena retornada estarà buida.

    Range document.latexCommandRange();

  Retorna l'interval de l'ordre de LATEX a la posició donada del cursor. Si no es troba l'ordre de LATEX, es retornarà `Range.invalid()`, el qual es pot provar amb `Range.isValid()`.

    String document.charAt(int línia, int columna);
    String document.charAt(Cursor cursor);

  Retorna el caràcter a la posició donada del cursor.

    String document.firstChar(int línia);

  Retorna el primer caràcter en la `línia` donada que no és un espai en blanc. El primer caràcter és a la columna 0. Si la línia està buida o només conté espais en blanc, la cadena retornada estarà buida.

    String document.lastChar(int línia);

  Retorna l'últim caràcter de la `línia` donada que no és un espai en blanc. Si la línia està buida o només conté espais en blanc, la cadena retornada estarà buida.

    bool document.isSpace(int línia, int columna);
    bool document.isSpace(Cursor cursor);

  Retorna `true` (vertader), si el caràcter a la posició donada del cursor és un espai en blanc, en cas contrari retornarà `false` (fals).

    void document.insertBullet();

  Insereix un pic del Kile. Recordeu que podeu saltar amb facilitat al pic següent o anterior. Això també ressaltarà aquest pic, eliminant-lo de forma automàtica en introduir la primera lletra.

    void document.nextBullet();

  Salta al següent pic al text si és que existeix.

    void document.previousBullet();

  Salta al pic anterior al text si és que existeix.

    bool document.hasEnvironment();

  Retorna `true` (vertader) si es troba un entorn de LATEX circumdant, d'altra manera `false` (fals).

    String document.environment(bool inside = false);

  Retorna tot el text d'entorn de LATEX circumdant. Si el paràmetre `inside` és `false` (fals), es podrà seleccionar tot el text d'entorn, incloses les etiquetes de LATEX circumdants `\begin{...}...\end{...}`, en cas contrari aquestes etiquetes seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`.

    Range document.environmentRange(bool inside = false);

  Retorna l'interval de l'entorn de LATEX circumdant. Si el paràmetre `inside` és `false` (fals), es podrà seleccionar tot l'interval de l'entorn, incloses les etiquetes de LATEX circumdants `\begin{...}...\end{...}`, en cas contrari aquestes etiquetes seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`. Si no es troba l'entorn de LATEX, es retornarà `Range.invalid()`, el qual es pot provar amb `Range.isValid()`.

    String document.environmentName();

  Retorna el nom de l'entorn de LATEX circumdant o una cadena buida.

    void document.removeEnvironment(bool inside = false);

  Elimina el text d'entorn de LATEX circumdant. Si el paràmetre `inside` és `false` (fals), es podrà eliminar tot el text d'entorn, incloses les etiquetes de LATEX circumdants `\begin{...}...\end{...}`, en cas contrari aquestes etiquetes seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`.

    void document.closeEnvironment();

  Insereix una etiqueta de tancament de l'entorn, si es troba un entorn de LATEX obert a la posició actual del cursor.

    void document.closeAllEnvironments();

  Insereix etiquetes de tancament a tots els entorns de LATEX oberts, si es troben a la posició actual del cursor.

    bool document.hasTexgroup();

  Retorna `true` (vertader) si es troba un grup de LATEX circumdant a la posició actual del cursor, d'altra manera `false` (fals).

    String document.texgroup(bool inside = true);

  Retorna el text del grup de LATEX circumdant. Si el paràmetre `inside` és `false` (fals), es retornarà el text d'aquest grup de LATEX incloent-hi les claus `{...}`, en cas contrari seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`. La cadena retornada restarà buida, si no es troba un grup de LATEX circumdant a la posició actual del cursor.

    Range document.texgroupRange(bool inside = true);

  Retorna l'interval del grup de LATEX circumdant Si el paràmetre `inside` és `false` (fals), l'interval inclourà les claus `{...}` circumdants, en cas contrari seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`. Si no es troba el grup, es retornarà `Range.invalid()`, el qual es pot provar amb `Range.isValid()`.

    void document.removeTexgroup(bool inside = true);

  Elimina el text del grup de LATEX circumdant. Si el paràmetre `inside` és `false` (fals), s'eliminarà tot en aquest grup de LATEX, incloses les claus circumdants `{...}`, en cas contrari seran excloses. Si no s'especifica cap paràmetre, `inside` restarà establert a `false`.

    bool document.hasMathgroup();

  Retorna `true` (vertader) si es troba un grup matemàtic de LATEX circumdant a la posició actual del cursor, d'altra manera `false` (fals).

    String document.mathgroup();

  Retorna el text del grup matemàtic de LATEX circumdant. La cadena retornada serà buida si no es troba cap grup matemàtic de LATEX circumdant a la posició actual del cursor.

    Range document.mathgroupRange();

  Retorna l'interval de l'entorn matemàtic de LATEX circumdant. Si no es troba cap grup matemàtic circumdant, es retornarà `Range.invalid()`, el qual es pot provar amb `Range.isValid()`.

    void document.removeMathgroup();

  Elimina el text del grup matemàtic de LATEX circumdant.

    String document.paragraph();

  Retorna el text del paràgraf de LATEX actual.

    Range document.paragraphRange();

  Retorna l'interval del paràgraf de LATEX circumdant.

    void document.removeParagraph();

  Elimina el text del paràgraf de LATEX actual.

    bool document.matchesAt(int línia, int columna, String text);
    bool document.matchesAt(Cursor cursor, String text);

  Retorna `true` (vertader), si el `text` donat coincideix a la posició del cursor corresponent, en cas contrari retornarà `false` (fals).

    bool document.startsWith(int línia, String patró, bool skipWhiteSpaces = true);

  Retorna `true` (vertader), si la línia comença amb `patró`, en cas contrari retornarà `false` (fals). L'argument `skipWhiteSpaces` controla si s'han d'ometre els espais en blanc davanters.

    bool document.endsWith(int línia, String patró, bool skipWhiteSpaces = true);

  Retorna `true` (vertader), si la línia acaba amb `patró`, en cas contrari retornarà `false` (fals). L'argument `skipWhiteSpaces` controla si s'han d'ometre els espais en blanc finals.

    int document.firstColumn(int línia);

  Retorna la primera columna que no està en blanc en la `línia` donada. Si només hi ha espais en blanc en la línia, el valor retornat serà `-1`.

    int document.lastColumn(int línia);

  Retorna la darrera columna que no està en blanc en la `línia` donada. Si només hi ha espais en blanc en la línia, el valor retornat serà `-1`.

    int document.prevNonSpaceColumn(int línia, int columna);
    int document.prevNonSpaceColumn(Cursor cursor);

  Retorna la columna no buida que conté caràcters no en blanc a partir de la posició donada del cursor i cercant cap enrere.

    int document.nextNonSpaceColumn(int línia, int columna);
    int document.nextNonSpaceColumn(Cursor cursor);

  Retorna la columna no buida que conté caràcters no en blanc a partir de la posició donada del cursor i cercant cap endavant.

    int document.prevNonEmptyLine(int línia);

  Retorna la línia següent no buida que conté caràcters no en blanc a la cerca cap enrere.

    int document.nextNonEmptyLine(int línia);

  Retorna la línia següent no buida que conté caràcters no en blanc a la cerca cap endavant.

    void document.gotoBeginEnv();

  Va al començament d'un entorn de LATEX circumdant.

    void document.gotoEndEnv();

  Va al final d'un entorn de LATEX circumdant.

    void document.gotoBeginTexgroup();

  Va al començament d'un grup de LATEX circumdant.

    void document.gotoEndTexgroup();

  Va al final d'un grup de LATEX circumdant.

    void document.gotoNextParagraph();

  Va al següent paràgraf de LATEX.

    void document.gotoPrevParagraph();

  Va a l'anterior paràgraf de LATEX.

    void document.gotoNextSectioning();

  Va a la següent secció de LATEX.

    void document.gotoPrevSectioning();

  Va a l'anterior secció de LATEX.

    void document.gotoLine(int línia);

  Va a la `línia` donada.

    void document.insertChapter();

  Insereix una ordre `\chapter` (vegeu també `document.insertSection()`).

    void document.insertSection();

  Insereix una ordre `\section`. Com escollir l'entrada de menú LaTeX → Seccionat → secció que farà aparèixer un diàleg, des d'on podreu escollir el títol i una etiqueta opcional per aquesta ordre de seccionament.

    void document.insertSubsection();

  Insereix una ordre `\subsection` (vegeu també `document.insertSection()`).

    void document.insertSubsubsection();

  Insereix una ordre `\subsubsection` (vegeu també `document.insertSection()`).

    void document.insertParagraph();

  Insereix una ordre `\paragraph` (vegeu també `document.insertSection()`).

    void document.insertSubparagraph();

  Insereix una ordre `\subparagraph` (vegeu també `document.insertSection()`).

    void document.insertLabel();

  Insereix una ordre `\label`.

    void document.insertReference();

  Insereix una ordre `\ref`. Com escollir l'entrada de menú LATEX → Referències → ref que farà aparèixer un diàleg, des d'on podreu escollir entre les etiquetes ja definides, les quals s'enumeren en un quadre combinat.

    void document.insertPageref();

  Insereix una ordre `\pageref` (vegeu també `document.insertReference()`).

    void document.insertCitation();

  Insereix una ordre `\cite`.

    void document.insertIndex();

  Insereix una ordre `\index`.

    oid document.insertFootnote();

  Insereix una ordre `\footnote`.

    void document.comment();

  Insereix marcadors de comentari per a fer un comentari de la selecció o línia actual.

    void document.uncomment();

  Elimina els marcadors de comentari de la selecció o línia actual.

    void document.uppercase();

  Canvia a majúscules el text seleccionat o la lletra després del cursor.

    void document.lowercase();

  Canvia el text seleccionat o la lletra després del cursor a minúscules.

    void document.capitalize();

  Posa en majúscula la primera lletra del text seleccionat o la paraula actual.

    void document.joinLines();

  Uneix les línies de la selecció actual. Dues línies de text successives sempre estaran separades amb un únic espai.

    void document.insertIntelligentNewline();

  Insereix un salt de línia intel·ligent (vegeu Final de línia intel·ligent).

    void document.insertIntelligentTabulator();

  Insereix un tabulador intel·ligent (vegeu Tabulador intel·ligent).

    void document.editBegin();

  Comença un grup d'edició per a agrupar desfer/refer. Assegureu-vos de cridar sempre `editEnd()` tan aviat com crideu `editBegin()`. La crida `editBegin()` utilitza internament un comptador de referència, és a dir, aquesta crida es pot niar.

    void document.editEnd();

  Finalitza un grup d'edició. L'última crida de `editEnd()` (és a dir, una per a la primera crida de `editBegin()`) finalitza el pas d'edició.

    StringList document.labelList();

  Retorna totes les etiquetes definides com a `StringList`, les quals es poden utilitzar en JavaScript com una matriu de cadenes.

    StringList document.bibitemList();

  Retorna tots els «bibitem» definits com a `StringList`, els quals es poden utilitzar en JavaScript com una matriu de cadenes.

    void document.refreshStructure();

  Actualitza la vista de l'estructura (vegeu Navegar pel codi font de LATEX).

### L'API del Kile

L'objecte global (variable) «`kile`» s'utilitza per a manejar les interaccions del nivell principal amb el món exterior, missatge d'entrada i les interfícies de diàleg. Aquestes crides a l'API es divideixen en subobjectes per a estructurar aquesta part de l'API per a la creació de scripts. Conceptualment, «`kile`» és semblant a un objecte «`window`» en l'API d'un navegador.

- `kile.alert`: quadres de missatge

- `kile.input`: obté l'entrada de l'usuari

- `kile.wizard`: crida un dels assistents del Kile

- `kile.script`: obté informació sobre un script en execució

- `kile.file`: operacions amb fitxers, com ara la lectura o l'escriptura.

#### Alerta

    void kile.alert.information(String text, String llegenda);

  Mostra un diàleg informatiu. `text` serà la cadena del missatge i `llegenda` el títol del quadre de missatge. El títol per omissió serà el nom de l'script.

    void kile.alert.sorry(String text, String llegenda);

  Mostra un diàleg em sap greu. `text` serà la cadena del missatge i `llegenda` el títol del quadre de missatge. El títol per omissió serà el nom de l'script.

    void kile.alert.error(String text, String llegenda);

  Mostra un diàleg d'error. `text` serà la cadena del missatge i `llegenda` el títol del quadre de missatge. El títol per omissió serà el nom de l'script.

    String kile.alert.question(String text, String llegenda);

  Mostra un diàleg de pregunta. `text` serà la cadena del missatge i `llegenda` el títol del quadre de missatge. El títol per omissió serà el nom de l'script. La cadena retornada serà `sí` o `no`.

    String kile.alert.warning(String text, String llegenda);

  Mostra un diàleg d'avís. `text` serà la cadena del missatge i `llegenda` el títol del quadre de missatge. El títol per omissió serà el nom de l'script. La cadena retornada serà `continua` o `cancel·la`.

#### Entrada

    String kile.input.getListboxItem(String llegenda, String etiqueta, StringList llista);

  Funció perquè l'usuari seleccioni un element d'una llista, que es mostrarà com un quadre de llista. `llegenda` serà el text que es mostrarà a la barra de títol, `etiqueta` serà el text que apareixerà com a etiqueta per a la llista i `llista` serà la llista de cadenes que s'inseriran a la llista.

    String kile.input.getComboboxItem(String llegenda, String etiqueta, StringList llista);

  Funció perquè l'usuari seleccioni un element d'una llista, que es mostrarà com un quadre combinat. `llegenda` serà el text que es mostrarà a la barra de títol, `etiqueta` serà el text que apareixerà com a etiqueta per a la llista i `llista` serà la llista de cadenes que s'inseriran a la llista.

    String kile.input.getText(String llegenda, String etiqueta);

  Funció per a obtenir una cadena de l'usuari. `llegenda` serà el text que es mostrarà a la barra de títol i `etiqueta` serà el text que apareixerà com a etiqueta per a editar la línia.

    String kile.input.getLatexCommand(String llegenda, String etiqueta);

  Funció per a obtenir una ordre de LATEX de l'usuari. Això vol dir que només es permeten lletres majúscules i minúscules. `llegenda` serà el text que es mostrarà a la barra de títol i `etiqueta` serà el text que apareixerà com a etiqueta per a editar la línia.

    int kile.input.getInteger(String llegenda, String etiqueta, int min = ENTER_MÍN, int max = ENTER_MÀX);

  Funció per a obtenir un nombre enter de l'usuari. `llegenda` serà el text que es mostrarà a la barra de títol i `etiqueta` serà el text que apareixerà com a etiqueta per al botó de selecció de valors. `min` i `max` són els valors mínims i màxims permesos que l'usuari podrà triar. Els valors per omissió seran `ENTER_MÍN` i `ENTER_MÀX`.

    int kile.input.getPosInteger(String llegenda, String etiqueta, int min = 1, int max = ENTER_MÀX);

  Funció per a obtenir un enter positiu de l'usuari. `llegenda` serà el text que es mostrarà a la barra de títol i `etiqueta` serà el text que apareixerà com a etiqueta per al botó de selecció de valors. `min` i `max` són els valors mínims i màxims permesos que l'usuari podrà triar. Els valors per omissió seran `1` i `ENTER_MÀX`.

#### Assistent

    void kile.wizard.tabular();

  Crida a l'assistent tabular, el qual us ajudarà a escriure un entorn tabular (vegeu Matrius i taules).

    void kile.wizard.array();

  Crida a l'assistent de Matriu, el qual us ajudarà a escriure un entorn de matriu (vegeu Matrius i taules).

    void kile.wizard.tabbing();

  Crida a l'assistent de Tabulació, el qual us ajudarà a escriure un entorn de tabulació (vegeu Matrius i taules).

    void kile.wizard.floatEnvironment();

  Crida a l'assistent d'Elements flotants, el qual us ajudarà a inserir elements flotants (vegeu Inserir elements flotants).

    void kile.wizard.mathEnvironment();

  Crida a l'assistent Matemàtica, el qual us ajudarà a inserir entorns matemàtics (vegeu Inserir en entorns matemàtics).

    void kile.wizard.postscript();

  Crida a l'assistent Eines Postscript, el qual us pot ajudar a manipular o reorganitzar els documents PostScript (vegeu Utilitats de PostScript®).

#### Script

    String kile.script.name();

  Retorna el nom base d'un script en execució (sense el camí i l'extensió).

    String kile.script.caption();

  Retorna una cadena, la qual es podrà utilitzar com a una llegenda dels quadres d'alerta. S'assembla a `Script: nom_script.js`.

#### Fitxer

    Object kile.file.read(String nom_fitxer);

  Llegeix el contingut d'un fitxer de text. S'utilitza com

  Exemple: `var res = kile.file.read("camí/al/fitxer.txt");`

  El valor retornat de `res` serà un objecte (millor: un mapa), amb tres propietats:

  - estat: Indica el codi d'estat de l'operació, el qual pot ser 0 (sense error), 1 (accés fallit) o 2 (accés denegat). Per tant, si no hi ha errors, el valor de `res.status` o `res["status"]` serà 0.

  - resultat: Conté el text del fitxer donat.

  - missatge: Contindrà un missatge d'error si es produeix un error.

    Object kile.file.read();

  El mateix que `read(nom_fitxer)`, però sense donar cap fitxer. Apareixerà un diàleg que us permetrà seleccionar el fitxer a llegir.

    Object kile.file.write(String nom_fitxer, String text);

  Escriu el text especificat en un fitxer. S'utilitza com segueix

  Exemple: `var res = kile.file.write("camí/al/fitxer.txt","Algun text...");`

  El valor retornat de `res` serà un objecte (millor: un mapa) amb dues propietats: `estat` i `missatge` (vegeu `read()` per a més informació).

    Object kile.file.write(String text);

  El mateix que `write(nom_fitxer,text)`, però sense donar cap fitxer. Apareixerà un diàleg per a triar un nom de fitxer.

    String kile.file.getOpenFileName(String iniciDirectori, String filtre);

  Crea un diàleg de manera de fitxer i retornarà el nom del fitxer seleccionat, o una cadena buida si no s'ha triat cap fitxer. Tingueu en compte que amb aquest mètode l'usuari haurà de seleccionar un nom de fitxer existent.

  Paràmetres:

  - startDir: Directori d'inici del diàleg obert.

  - filter: Un intèrpret d'ordres estàndard o un filtre de tipus MIME que indicarà el tipus de fitxers a mostrar. Consulteu la documentació de KFileDialog per a més informació sobre aquest paràmetre.

  Tots dos paràmetres són opcionals. Si ometeu `filtre`, es mostraran tots els fitxers. Si, a més, ometeu `iniciDirectori`, el diàleg tindrà el directori del document actual com a punt de partida.

    String kile.file.getSaveFileName(String iniciDirectori, String filtre);

  Crea un diàleg de manera de fitxer i retornarà el nom del fitxer seleccionat, o una cadena buida si no s'ha triat cap fitxer. Tingueu en compte que amb aquest mètode l'usuari no haurà de seleccionar un nom de fitxer existent. Vegeu `getOpenFileName()` per a una explicació dels paràmetres.

Exemples
Exemples

## Exemples

Alguns exemples poden ajudar a entendre com utilitzar l'API per a crear scripts. Aquests exemples i alguns més es troben al directori per a crear scripts del Kile: `KILE_APP_DIR/scripts/`. Cada script conté una petita descripció.

### Exemple 1: substituir el nom d'entorn

Substitueix un entorn de LATEX circumdant amb un altre, on la posició relativa del cursor no serà canviada. `\begin{abc}...\end{abc}`, per exemple es pot canviar a `\begin{xyz}...\end{xyz}`.

    var range = document.environmentRange(false);
    if ( range.isValid() ) {
            var envname = kile.input.getLatexCommand("Introduïu l'entorn","Nom nou de l'entorn:");
            if ( envname != '' ) {
                    replaceEnvCommand(envname,range);
            }
    }
    else {
            kile.alert.sorry("No s'ha trobat un entorn de LaTeX circumdant.");
    }

    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();
            }
    }

### Exemple 2: substituir una ordre de lletra de LATEX

Substitueix una ordre de lletra de LATEX circumdant amb una altra ordre de lletra, quan el cursor està situat dins del grup de TeX. La posició relativa del cursor no serà canviada. `\textbf{abc}`, per exemple, es pot canviar a `\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("No s'ha trobat un grup de TeX circumdant.");
    }

    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",
                                                        "Tria l'ordre de lletra:",buildCmdList(cmd));
                            if ( newcommand != "" ) {
                                    document.replaceText(cmdRange,newcommand);
                                    c.column = c.column - (cmd.length - newcommand.length);
                            }
                    }
    /                view.setCursorPosition(c);
            }
            else {
                    kile.alert.sorry("No s'ha trobat una ordre de lletra circumdant.");
            }
            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;
    }

### Exemple 3: envoltar el text seleccionat

Envolta el text seleccionat amb una ordre de TeX, on la posició relativa del cursor no serà canviada. `abc` per exemple es podrà canviar a `\texcommand{abc}`.

    var range = view.selectionRange();

    if ( range.isValid() ) {
            var cmd = kile.input.getLatexCommand("Tria","Tria una ordre de LaTeX circumdant:");
            if ( cmd != "" ) {
                    surroundTexCommand("\\"+cmd,range);
            }
    }
    else {
            kile.alert.sorry("No s'ha trobat una selecció.");
    }

    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();
    }

Capítol 15. Ajuda
Ajuda

# Capítol 15. Ajuda

## Documents d'ajuda

LATEX és un sistema molt sofisticat, on les característiques bàsiques es poden ampliar amb una gran varietat de paquets addicionals. El Kile proporciona nombroses maneres diferents per a ajudar l'usuari.

L'element de menú Ajuda → Documentació de LaTeX inclou enllaços sobre la documentació per a tots els paquets inclosos i una referència de LATEX addicional.

Navegador de documentació

  Una eina útil per a explorar tots els temes de LATEX. Si us plau. Instal·leu els paquets d'ajuda de LATEX per a la vostra distribució si necessiteu tot el compendi de la documentació.

LaTeX

  Una completa referència no oficial de TEX i companyia. No és només una descripció de tots els programes, sinó que també s'esmenten alguns paquets importants. També inclou un complet manual de referència de les de LATEX -ideal per a cercar una peça de format en particular en escriure un document-. Com aquest document és molt extens, el Kile el separa en tres punts.

Ordres de LaTeX

  Un altre índex alfabètic de les ordres més comunes de LATEX.

Entorns de LaTeX

  Un índex alfabètic dels entorns més comuns de LATEX.

Ajuda sensible al context
Ajuda sensible al context

## Ajuda sensible al context

El Kile també implementa una ajuda sensible al context, la qual es crida amb Ctrl+Alt+H,K. En Arranjament → Configura el Kile... → Kile+Ajuda podreu escollir si voleu utilitzar la referència de LATEX del Kile o el sistema d'ajuda de teTEX i TeX Live, el qual és la configuració per omissió.

Cercar paraules clau
Cercar paraules clau

## Cercar paraules clau

No sempre és fàcil trobar el document correcte, ja que teTEX/TeX Live venen amb un gran nombre de documents d'ajuda. Per tal de facilitar aquest procés, teTEX i TeX Live ofereixen un petit programa anomenat texdoctk. El qual proporciona una base de dades de tots els documents d'ajuda, per al qual, el Kile ofereix una interfície fàcil d'utilitzar.

Tots els documents estan agrupats en categories. A més, es pot cercar pel nom del paquet o per paraula clau. El Kile sols mostrarà els documents d'ajuda que coincideixin amb la cadena de cerca.

Un doble clic del ratolí o la tecla Espai iniciarà un visualitzador per al document seleccionat. Aquest pot ser un document arbitrari, no sols un document DVI, PS, PDF o HTML. El Kile prendrà la configuració del KDE per tal d'iniciar un visualitzador adequat.

Ajuda definida per l'usuari
Ajuda definida per l'usuari

## Ajuda definida per l'usuari

A més de la documentació estàtica de teTEX i TeX Live, el Kile també suporta una manera variable més flexible per als documents d'ajuda. Al menú Ajuda del Kile té un submenú especial Ajuda a l'usuari, on l'usuari pot afegir documents de la seva elecció. Aquests poden ser els documents més importants de la documentació de teTEX/TeX Live, o fins i tot documents escrits per si mateix. També és possible introduir-hi alguns URL.

Aneu a Arranjament → Configura el Kile... → Kile+Ajuda i escolliu el botó Configura per a configurar aquest menú Ajuda a l'usuari. Podeu afegir, eliminar o moure les entrades de menú, i inserir separadors per a optimitzar la seva estructura.

En prémer el botó Afegeix s'obrirà un altre diàleg, on podreu editar el nom de l'entrada de menú, i escollir el fitxer o URL corresponent. El segon botó a la dreta del camp de text llança el Konqueror, el qual es pot utilitzar per a determinar l'URL correcte.

Després de finalitzar la configuració, totes les entrades apareixeran al menú Ajuda del Kile com una entrada de menú especial d'Ajuda a l'usuari.

Capítol 16. Crèdits i llicència
Crèdits i llicència

# Capítol 16. Crèdits i llicència

El Kile és un editor de codi font LATEX / TEX de codi obert fàcil d'utilitzar. S'executa en sistemes amb l'entorn d'escriptori KDE instal·lat. El KDE està disponible per a diverses arquitectures, incloent-hi Linux® i altres sistemes Unix.

Donem gràcies a les persones que s'esforcen per continuar amb el projecte Kile i per a aquells que sacrifiquen moltes hores del seu temps per a desenvolupar eines que tothom pot utilitzar sota la llicència GNU. Podeu trobar informació actualitzada sobre els col·laboradors al diàleg Quant al Kile al menú Ajuda.

Moltes gràcies a tots els implicats!

Traductor de la documentació: Antoni Bella `(antonibella5 AT yahoo.com)`

Aquesta documentació està llicenciada d'acord amb les clàusules de la Llicència de Documentació Lliure de GNU.

Aquest programa està llicenciat d'acord amb les clàusules de la Llicència Pública General de GNU.