Handbok Kile

# Handbok Kile

Jonathan Pechta

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

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

Thomas Braun

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

Felix Mauch `<felix_mauch@web.de>`

Översättare: Stefan Asserhäll
Revision 2.1 (2011-05-22)

Copyright © 2003 Jonathan Pechta

Copyright © 2003, 2005, 2006 Federico Zenith

Copyright © 2005, 2006, 2012 Holger Danielsson

Copyright © 2007 Thomas Braun

Copyright © 2007, 2011 Michel Ludwig

Copyright © 2011 Felix Mauch

Rättsligt Meddelande

Kile är en TEX- och LATEX-källkodseditor och skal.

Kapitel 1. Förord
Förord

# Kapitel 1. Förord

## Krav

För att köra Kile behöver du ha följande komponenter installerade på din dator:

- K-skrivbordsmiljön (KDE): KDE är en populär skrivbordsmiljö med öppen källkod.

- Qt™: Qt™ är ett C++ grafiskt gränssnitt och nätverksbibliotek som behövs för att kompilera Kile.

- LATEX: Typsättningsprogram för dokument med hög kvalitet. Troligen ska du använda paketet TeX Live (eller teTEX på äldre system), om du har ett UNIX®-liknande system.

De flesta av dessa paket kan ingå i din Linux®-distribution, kontrollera distributionens dokumentation eller installations-cd eller dvd för att lägga till paketen i datorn.

Kile kan också redan finnas tillgängligt som ett förkompilerat paket för din Linux®-distribution. Kontrollera med pakethanteraren i distributionen.

Tilltänkt publik
Tilltänkt publik

## Tilltänkt publik

Den här handboken är avsedd för vem som helst, oavsett vilken erfarenhet de har av LATEX, KDE, Kile eller Linux®.

Avancerade användare läser troligen inte handboken, men alla förslag om dokumentationen tas hänsyn till. Om du skulle vilja bidra till projektet eller dokumentationen, konsultera Kiles webbsida.

Behöver du svar på frågor om Kile? Har du fastnat vid kompilering? Vill du se en ny funktion? Det bästa sättet för att ställa tekniska frågor eller inleda en diskussion, är att använda vår e-postlista: `(kile-devel AT lists.sourceforge.net)`.

Kapitel 2. Inledning
Inledning

# Kapitel 2. Inledning

## Grundläggande fakta

### Om Kile

Kile är en integrerad LATEX-miljö för KDE-skrivbordet. Kile ger dig möjlighet att utnyttja alla funktioner som finns i LATEX i ett grafiskt gränssnitt, vilket ger dig en enkel, omedelbar och anpassningsbar möjlighet att komma åt alla program för att kodkomplettera, kompilera, efterbehandla, felsöka, konvertera och visa LATEX. Du får också mycket bekväma guider, en referensmanual till LATEX, och kraftfull projekthantering.

### Kile och editorkomponenten i Kate

Kile är baserat på editorkomponenten i Kate, så en hel del av redigeringsmöjligheterna kommer från själva editorkomponenten i Kate, och Kile utökar möjligheterna med funktioner för att redigera LATEX-dokument. För att lära dig mer om editorkomponenten i Kate, och dess möjligheter, se Kates webbsida.

### Vad är LATEX?

LATEX är ett textbehandlingssystem som är härlett från TEX, ett program som ursprungligen utvecklades under 1977 av Donald Knuth, för att vara till hjälp att skapa en professionell textlayout, och erhålla en kvalitet likvärdigt med den en professionell sättare kan åstadkomma. LATEX skapades av Leslie Lamport för att ge författare automatisk sättning, särskilt för att förenkla den dyra och mödosamma sättningen av matematiska formler och uttryck, som inte av en slump omges av dollartecken i LATEX. Idag låter ordbehandlingsprogram alla användare fungera som sättare, men vad som ofta behövs är ett dokument som helt enkelt ser bra ut, utan att man behöver spendera flera timmar för att få det snyggt. LATEX tar hand om den bördan, och låter dig koncentrera dig på dokumentet, inte layouten. Och ja, resultatet ser bra ut!

### Hur uttalas det? Varför det konstiga sättet att skriva det på?

Det finns en lustig tradition att paket som hör ihop med TEX ska ha konstigast möjliga uttal och skrivsätt. TEX antas ha hämtats från det grekiska τεχ, med latinska bokstäver tech. Det finns många förklaringar, men den troligaste är att TEX ursprungligen var tänkt för tekniska rapporter, och dess främsta förmåga var riktig och enkel sättning av matematiska formler, vilket på den tiden var en extremt dyr, tidsödande och frustrerande uppgift.

Uttalet är tänkt att vara följande: T som väntat, E som vokalen i lätt, och X som i tyska ch. Om du inte vet hur ch låter, är det mer eller mindre som en fräsande katt. I det fonetiska alfabetet är symbolen /ç/. Många rapporterar det annorlunda uttalet ach (fonetiska symbolen /x/), men enligt en del greker, är den första versionen verkligen den rätta. Du bör vara medveten om att många använder det felaktiga uttalet /teks/ eller /tek/.

Till sist, i LATEX uttalas det första LA som lej: idén är att även om ren TEX är svår, kan till och med en nybörjare (på engelska layman) använda LATEX-makron. En mindre inspirerande, men mer realistisk förklaring är att det har sitt ursprung i LATEX skapares efternamn, Leslie Lamport. Så nu vet du!

Grundkurs i LATEX
Grundkurs i LATEX

## Grundkurs i LATEX

LATEX typsättningssystem liknar andra taggspråk som XML, som används för många dokumenttyper (inklusive det du läser nu), eller HTML, som används för webbsidor. Den övergripande idén är att ha särskilda omgivande nyckelord, som kallas taggar, som talar om för ett program (en ordbehandlare, en webbläsare, eller LATEX-kompilatorn) hur texten innesluten av taggarna ska presenteras. Kile erbjuder ett antal sådana taggar i menyn Latex på menyraden.

Även om vi försöker ge dig en god idé om vad LATEX är, kan detta inte vara den definitiva guiden till LATEX. Om du vill lära dig LATEX väl, kanske du kan låna en bok om ämnet på det lokala biblioteket.

Som med andra taggspråk har LATEX en inledning som ställer in globala egenskaper, som pappersstorlek, sidnumrering, textens dimensioner på sidan, och en huvuddel, som innehåller dokumentets text. Inledningen innehåller åtminstone kommandot `\documentclass`, och föregår huvuddelen, som börjar med kommandot `\begin{document}`, och avslutas med kommandot `\end{document}`.

Kiles huvudfunktioner
Kiles huvudfunktioner

## Kiles huvudfunktioner

### Snabbstartsguide

Snabbstartsguiden som är inbyggd i Kile är en användbar funktion för att snabbt börja skapa dokument i Kile. Genom att välja guiden i menyraden, får du flera olika val för att skapa ett dokument. Du kan också direkt ställa in vissa alternativ som hör ihop med dokumentet.

Klassalternativ:

- Dokumentklass: Välj typ av dokument du vill skapa: artikel, bok, brev, rapport, scrartcl, scrreprt, scrbook, prosper, beamer eller annat egendefinierat.

- Typsnittsstorlek: Tala om för Kile vilken punktstorlek (pt) du vill använda.

- Pappersstorlek: Välj storlek eller typ av papper.

- Kodning: I allmänhet är det en god idé att använda systemets standardkodning. Moderna system går mer och mer över till UTF-8 som standardkodning. Om du kan, använd utf8 eller utf8x (som verkligen är rätt stavning för LATEX-dokument).

- Övriga alternativ: Det här låter dig ställa in ytterligare alternativ såsom utskrift, utkast med mera.

Paket

Här listas några av de vanligaste ytterligare paket som används i LATEX. Markera kryssrutan för att inkludera det.

Dokumentegenskaper:

- Författare: Skriv in ditt namn här.

- Titel: Lägg till dokumentets titel här.

- Datum: Ange datum.

### Fördefinierade mallar

De fördefinierade mallarna i Kile är:

- Empty document: Riktiga fantaster börjar från början!

- Article: Ställer in format för en artikel, ett dokument kort nog att inte behöva uppdelas i kapitel.

- Report : Ställer in format för en rapport, ett dokument av mellanstorlek, med till exempel sidnumrering vid sidans ytterkant.

- Book: Ställer in bokformatet, en fullständig variant, så kraftfull att den används för att skriva många universitetsläroböcker.

- Letter: Ställer in brevformat.

- Beamer, HA-Prosper: Skapa trevliga presentationer i PDF med ett överlägset utseende och hela LATEX kapacitet.

- Powerdot: Powerdot är efterföljaren till paketen `seminar` och `HA-Prosper`. Det har inte så många alternativ som Beamer, men det är enkelt att använda och skapar mycket trevliga presentationer i PDF.

- Scrartcl, Scrbook, Scrreprt, Scrlttr2: KOMA-skript dokumentklasser, särskilt anpassade för tysk typografi. Använd dem när du skriver text på tyska.

- Xelatex: En modifierad `artikelmall` att använda med `Xelatex`.

Observera att alla mallar kan anpassas efter användarnas behov.

Nya användare behöver inte oroa sig: den här listan är bara en kortfattad beskrivning av tillgängliga funktioner, och en mer detaljrik beskrivning finns i Komma igång.

### Syntaxfärgläggning

Kile liknar andra program som hanterar källkod och redigering, och färglägger automatiskt kommandon, alternativ och objekt som används (eller missbrukas). På så sätt gör Kile det möjligt att enkelt upptäcka problemområden. Om du till exempel ser att stora delar av texten blir grön, är det troligt att du glömt avsluta en matematisk omgivning någonstans.

### Automatisk komplettering av omgivningar

Automatisk komplettering av omgivningar betyder att när du påbörjar en ny omgivning genom att till exempel skriva `\begin{omgivning}`, lägger Kile automatiskt till kommandot `\end{omgivning}`, med en rad för din text innan. Du kan förstås inaktivera funktionen om du vill från Inställningar → Anpassa Kile...+Latex+Omgivningar.

### Gå till strukturelement

Alla dokument är normalt strukturerade i en hierarki av någon typ. LATEX låter dig dela upp dokument i följande hierarki (part är längst upp i hierarkin och subparagraph längst ner):

- \part

- \chapter

- \section

- \subsection

- \subsubsection

- \paragraph

- \subparagraph

När ett dokument betraktas i strukturvyn, kan du flytta dig mellan element genom att klicka på elementet som du vill se.

### Omvänd sökning

När du skapar dina egna LATEX-filer, kan omvänd sökning vara till stor hjälp. När du väl har skapat en DVI-fil (DeVice Independent File) eller PDF-fil, kan du klicka med musens vänsterknapp i visaren medan Skift hålls nere, och då går Kile till motsvarande rad i LATEX-källkoden.

En DVI är en sorts fil som innehåller en beskrivning av ett formaterat dokument, tillsammans med annan information, inklusive typsnitt för tecken, och är förutom PDF den vanligaste utdatan från TEX eller LATEX. Ett antal verktyg finns för att visa, konvertera och skriva ut DVI-filer på olika system och enheter.

### Sökning framåt

När omvänd sökning används, associeras val av objekt i DVI- eller PDF-filen med editorn, så att när du klickar i en DVI- eller PDF-fil, går huvudfönstret till motsvarande plats i editorns LATEX-kod. Sökning framåt är den exakta motsatsen till detta. Sökning framåt låter dig klicka på en särskild del av texten i LATEX-koden, och gå till motsvarande plats i visarens fönster.

Verktygsraden
Verktygsraden

## Verktygsraden

- Ny: Påbörja ett nytt dokument.

- Öppna: Öppna ett nytt dokument.

- Stäng: Stäng dokumentet.

- Definiera aktuellt dokument som 'Huvuddokument': Det här används när du arbetar med flera filer. Genom att ha ett huvuddokument, kan du enklare arbeta med andra `.tex`-filer som ingår i dokumentet. Om du använder projekt kan du också ställa in ett huvuddokument för hela projektet med Projekt → Projektalternativ.

- Snabbygg: Kompilerar all LATEX-källkod och visar automatiskt resultaten, om det inte finns fel i dokumentet.

- Filbevakningsläge: Det här läget "bevakar" DVI-filen om den ändras, och startar inte en ny Okular-session efter Snabbygg.

- Visa loggfil: Visar `.log`-filen, så att du kan upptäcka fel.

- Föregående fel: Går bakåt genom `.log`-filen och markerar fel i källkoden.

- Nästa fel: Går framåt genom `.log`-filen och markerar fel i källkoden.

- Stoppa: Stoppar aktuellt verktyg.

- Latex: Kör LATEX för det aktiva dokumentet.

- Visa DVI: Startar DVI-visaren.

- DVI till PS: Konverterar DVI till PostScript® (PS).

- Visa PS: Startar PostScript®-visaren (PS).

- PDFLatex: Kör PDFLATEX för det aktiva dokumentet.

- Visa PDF: Startar PDF-visaren.

- DVI till PDF: Konverterar DVI till PDF.

- PS till PDF: Konverterar PS till PDF.

- Visa HTML: Visar HTML som skapats.

- DVI framåtsökning: Gå till sidan i DVI-filen som motsvarar nuvarande rad i editorn.

- PDF framåtsökning: Gå till sidan i PDF-filen som motsvarar nuvarande rad i editorn.

Om du tittar på redigeringsverktygsraden, ser du tre stora kombinationsrutor. De är konstruerade för att användaren snabbt ska kunna lägga till vissa vanliga funktioner i dokumentet. Den första kombinationsrutan används för att snabbt dela upp dokumentet i delar, kapitel, avsnitt och så vidare. Tillgängliga kommandon för att lägga till delar i LATEX-källkoden är:

- part: Högsta sektionsnivån i ett dokument.

- Chapter: Inleder ett nytt kapitel.

- section: Skapar en ny sektion.

- Subsection: Skapar en ny delsektion.

- Subsubsection: Ett sekundärt avsnitt som ligger mellan avsnitt och stycke.

- paragraph: Skapar ett nytt stycke.

- subparagraph: Skapar ett nytt delstycke.

Kombinationsrutan som heter Övrigt, används för att infoga objekt i dokumentet, såsom index, fotnoter och referenser. De tillgängliga kommandona är:

- label: Ett kommando som skapar en rubrik för ett kapitel, figur eller ett annat element.

- index: Skapar en post i indexet.

- footnote: Skapar en fotnot i dokumentet.

- ref: Används för att hänvisa till en fördefinierad rubrik, som du kan välja i en kombinationsruta.

- pageref: Precis som ref, men hänvisar till en sida istället för ett strukturelement.

- cite: Skapar en referens med data från en bibliografi.

Kombinationsrutan Övrigt

Välja etikett för en referens

När cite används visas en kombinationsruta med bibliografiposter, men om du använder BibTEX fungerar det bara om filen hör till ett projekt. Vid redigering av BibTEX-filer rekommenderas användning av en specialiserad editor. Författaren har fått bra resultat med KBibTEX. Du kan förstås också skriva BibTEX-filen för hand inne i Kile.

Den sista kombinationsrutan som heter tiny, används för att ställa in textens storlek. Du har möjlighet att ange huvudtextens storlek, fotnoters storlek och så vidare. Tillgängliga kommandon är:

- tiny: minst.

- scriptsize: mycket litet.

- footnotesize: mindre.

- small: litet.

- normalsize: normalt.

- large: stort.

- Large: större.

- LARGE: ännu större.

- huge: större än stor.

- Huge: störst.

Kapitel 3. Komma igång
Komma igång

# Kapitel 3. Komma igång

## Skriva ett LATEX-dokument med Kile för nybörjare

Användare av Kile har två möjligheter när de påbörjar ett nytt dokument. De kan använda guiden för att påbörja dokumentet, välja vilken dokumenttyp de vill skapa, och alternativ som teckenstorlek, pappersstorlek och så vidare. Annars kan de skriva in koden för hand.

    \documentclass[12pt]{article}
    \begin{document}
            Här är en massa text kodad med \LaTeX.
    \end{document}

Alla dokument i LATEX börjar med kommandot `\documentclass[optional argument]{klass}`, där klass anger dokumenttypen.

Genom att skriva in kodexemplet ovan från textrutan får du följande utmatning:

Kompilerad text i DVI-utdata

Hakparenteserna som följer kommandot `\documentclass` innehåller alternativen för kommandot. Alternativet `[12pt]` ställer in teckenstorleken för artikeln. Om du inte ställer in teckenstorleken i början, kan du ställa in den senare i texten.

När du väl har skrivit in kodexemplet i rutan ovan, måste du kompilera LATEX-källkoden. Det enklaste sättet du kan kompilera LATEX är att använda menyn Bygg eller knappen Snabbygg.

Alt+2 är snabbtangenten för att kompilera din källkod.

Du måste spara källkoden innan du kan kompilera, Kile gör det automatiskt åt dig.

Om dokumentet inte kompilerades, kontrollera loggen efter fel. När tangenten Snabbygg används, ska Okular-visaren startas automatiskt. Om den inte gör det, titta på loggen.

Omgivningar
Omgivningar

## Omgivningar

En omgivning är ett textstycke som hanteras annorlunda från resten av dokumentet. Du skapar till exempel en rapport med teckenstorleken 12 punkter, men du behöver ändra teckenstorleken för några få meningar. Kommandona `\begin{omgivning}`, `\huge` och `\end{omgivning}`, låter dig tillfälligt ändra texten mellan omgivningskommandona så att den blir större än stor.

Ändringar gäller bara från `\begin{omgivning}` till `\end{omgivning}`. Det finns inga begränsningar för hur många ändringar du kan göra inne i en omgivning.

Det finns många funktioner du kan lägga till i dokumentet för att göra det mer läsbart och användarvänligt. Du kan lägga till funktioner som speciella teckensnitt, fetstil, kursivstil, understrykning, etc. i dokumentet, och kommandona avslutas antingen med `\end` eller med slutet på omgivningen.

- `\begin{emph}`: Det här kommandot gör texten kursiv, och gäller till koden kommer fram till ett `\end{emph}` eller en annan omgivning. För att kursivera ett ord i en mening, kan man använda syntaxen: Det här är `\emph{min}` mening.

- `\textbf{Jag gör texten mellan parenteserna till fetstil}`: Kommandot gör texten till fetstil.

- `\qoute`: För att skapa ett citat i dokumentet, inled det med `\begin{quote}` och avsluta det med `\end{quote}`.

- `\center`: Centrerar texten.

- `\verse`: Skapar indragen text för en vers.

- `\itemize`: Skapar en punktlista.

Att använda Kile
Att använda Kile

## Att använda Kile

Nu när vi har givit dig en viss bakgrund om hur man skriver kod med LATEX taggspråk, visar vi hur ett dokument skapas steg för steg med användning av Kile.

1. Starta Kile.

2. Välj Guide → Snabbstart, och välj därefter ett format och ställ in vad du önskar i guiden.

3. När guiden väl har lagt till text, gör några anpassningar för att få dokumentet mer läsbart. Lägg till minst ett citat, lite text med fetstil,kursivstil och en vers för att se skillnaden mellan kommandona.

4. Spara filen och ge den namnet `intro.tex`.

5. Bygg dokumentet med Alt+2 eller knappen som heter Latex.

6. Välj Visa DVI.

7. Kontrollera all din nya text.

8. När du är klar med att titta på dokumentet, klicka på knappen Visa editor eller tryck på Ctrl+E för att återgå till editorn om du använder den inbyggda visningen, eller stäng visningsfönstret om du använder separat visning.

Det är allt! Du har just skapat ditt första LATEX-dokument.

När du väl har skapat DVI-filen, kan du skriva ut dokumentet eller konvertera det till PostScript® eller en PDF-fil om du vill. Roa dig med att experimentera!

DVI-filer
DVI-filer

## DVI-filer

DVI betyder DeVice Independent (enhetsoberoende). Filerna skapas av TEX eller LATEX för att läsas av en drivrutin av någon typ på datorn. Det finns många typer av utmatning som kan användas med `.dvi`, som en skrivare, PDF, PostScript® eller datorns skärm.

### Visa en DVI-fil

Du har redan sett hur man visar en DVI-fil på skärmen genom att använda knappen Visa DVI i verktygsraden.

### Skriva ut en DVI-fil

För att skriva ut en DVI-fil kan du använda samma process som du tidigare använde för att skapa dokumentet (se Att använda Kile). Vid steg 7, efter att ha klickat på Visa DVI, välj Arkiv → Skriv ut i visaren, och om skrivaren är riktigt inställd, kommer du att kunna skriva ut DVI-filen.

### Konvertera DVI-filer

Verktygsraden ger möjlighet att konvertera en DVI-fil till andra format. När du väl har skapat en DVI-fil från din LATEX-källkod, kan du exportera den till formatet du vill ha med knapparna i verktygsraden.

Sökning framåt mellan Kile och Okular
Sökning framåt mellan Kile och Okular

## Sökning framåt mellan Kile och Okular

Funktionerna för sökning framåt låter dig direkt gå från editorn till motsvarande position i DVI- eller PDF-filen.

Kile erbjuder en inställning för det här alternativet med alla LATEX binärfiler. Gå till Inställningar → Anpassa Kile... → Verktyg → Bygg och välj alltid Modern inställning.

För att utföra en sökning framåt, placera markören på en rad i källkoden och klicka på Sökning framåt för att gå till motsvarande position i DVI- eller PDF-visarens fönster.

Omvänd sökning mellan Kile och Okular
Omvänd sökning mellan Kile och Okular

## Omvänd sökning mellan Kile och Okular

Omvänd sökning är en mycket användbar funktion när du skriver ett LATEX-dokument själv. Om allt är riktigt inställt, kan du klicka på Okulars fönster med vänster musknapp medan Skift hålls nere. Därefter laddar Kile LATEX-källfilen och går till rätt stycke. För att använda omvänd sökning, måste du kompilera LATEX-filen med inställningen Modern.

Omvänd sökning kan inte fungera om inte:

- Källkodsfilen har kompilerats med lyckat resultat.

- Okular vet vilken editor du vill använda.

Med den här funktionen i Okular, gör ett klick med vänster musknapp i DVI- eller PDF-dokumentet medan Skift hålls nere, att Kile öppnar motsvarande LATEX-dokument och försöker gå till motsvarande rad. Kom ihåg att tala om för Okular att Kile ska användas som texteditor med Okulars menyalternativ Inställningar → Anpassa Okular... (på sidan Editor).

Anpassa Okular

Lösa upp fel
Lösa upp fel

## Lösa upp fel

Om du försöker använda snabbygg, men DVI-visaren inte öppnas, är det stor chans att du har ett fel. Om du har ett fel, syns det i loggfilen eller meddelandefönstret, och en summering av felet ges.

Loggfilen förklarar orsaken till felet i din kod. I editorn kan du använda knapparna i verktygsraden som heter Föregående Latexfel och Nästa Latexfel för att gå mellan olika fel. Loggfilen anger alltid på vilken rad som felet uppstod. För att se raden där ett fel uppstod, klicka på felet i loggfönstret så går Kile till felets rad.

Kapitel 4. Påbörja ett nytt dokument
Påbörja ett nytt dokument

# Kapitel 4. Påbörja ett nytt dokument

När du klickar på knapparna i verktygsraden för att påbörja ett nytt dokument, visas en dialogruta som frågar om vilken sorts mall du vill använda för att skriva dokumentet. Standardvalen är:

- Tomt dokument

- Artikel

- Beamer

- Bok

- HA-Prosper

- Powerdot

- Brev

- Rapport

- Scrartcl (från KOMA-skriptpaketet)

- Scrbook (från KOMA-skriptpaketet)

- Scrlttr2 (från KOMA-skriptpaketet)

- Scrreprt (från KOMA-skriptpaketet)

- PDF

- Xelatex

Om du väljer Tomt dokument kan du antingen börja skriva dokumentet från början, eller använda guiden för att snabbt påbörja ett nytt dokument (se Snabbstartsguide).

## Mallar

De som ofta använder LATEX har typiskt samma inledning för nästan alla dokument de skapar. Mallar kan skapas, sparas och laddas inne i Kile för att göra det enklare att påbörja ett nytt dokument.

### Skapa en ny mall

För att skapa en ny mall, måste du först antingen öppna en TEX- eller LATEX-fil, eller påbörja en egen fil. Kile kan skapa en mall från ett befintligt dokument genom att öppna önskat dokument och välja Arkiv → Skapa mall från dokument.

### Anpassa automatiska ersättningar

När ett nytt dokument skapas genom att välja en mall med Arkiv → Ny, ersätts vissa teckenkombinationer med data som ditt namn eller teckenkodningen du använder. Dessa variabler kan ställas in under Inställningar → Anpassa Kile... → Inställningar+Allmänt.

När du skapar dina egna mallar är det användbart att veta vilka teckenkombinationer som ersätts med vilka mallvariabler:

- `$$AUTHOR$$`: Den här strängen ersätts med variabeln författare.

- `$$DOCUMENTCLASSOPTIONS$$`: Den här strängen ersätts med variabeln dokumentklassalternativ. Typiskt används detta enligt följande: `\documentclass[$$DOCUMENTCLASSOPTIONS$$]{article}`.

- `$$INPUTENCODING$$`: Om variabeln inmatningskodning är inställd till, låt oss säga `latin1`, ersätts strängen av `\input[latin1]{inputenc}`.

### Skapa en mall från guiden

Det enklaste sättet att skapa en ny mall är att starta guiden, och därefter lägga till kommandon i editorn. När du väl har fått dokumentet som du vill ha det:

1. Spara filen.

2. Gå till Arkiv.

3. Välj Skapa mall från dokument.

4. Gör alla nödvändiga ändringar i mallen.

5. Skriv in ett namn på den nya mallen.

6. Klicka på Ok för att lägga till mallen i menyn.

Nästa gång du startar ett nytt dokument, kommer du kunna välja din anpassade mall istället för standardmallarna.

### Skapa en mall från godtycklig fil

En mall kan skapas från vilken LATEX-fil som helst. Om du söker efter ett enkelt sätt att anpassa en mall, hämta en fil du tycker om på Internet, och följ samma steg som anges under Skapa en mall från guiden.

Du kan till exempel vilja skapa en fullständig A0-affisch. Sådana affischer visas ofta på vetenskapliga konferenser, och LATEX hjälper dig skapa en attraktiv affisch som väcker uppmärksamhet. Du kan hämta en mall för A0-affischer på Jonathan Marchinis hemsida, men många fler är tillgängliga. Kom ihåg att du behöver paketet `a0poster`, som normalt inte ingår i en vanlig TEX-distribution. Ladda ner det härifrån, och placera det i samma katalog som din LATEX-fil.

### Ta bort en mall

För att ta bort en mall från Kile, gör följande:

1. Gå till Arkiv → Ta bort mall....

2. En dialogruta visas där alla mallar listas. Välj en mall.

3. Klicka på Ok, så tas mallen bort.

Mallar markerade med en asterisk (*) kan inte tas bort utan lämpliga rättigheter.

Kapitel 5. Redigera LATEX-dokument
Redigera LATEX-dokument

# Kapitel 5. Redigera LATEX-dokument

Den interna editorn som Kile använder är Kate. Kate är en texteditor skapad för programmerare, som innehåller möjlighet att läsa och färglägga många olika sorters textfiler, bland annat LATEX och BibTEX. Du kan komma åt många av Kates alternativ direkt från menyn Verktyg i Kile.

För att lära dig mer om Kate, och dess möjligheter, se Kates handbok. Användare av Kile kan börja läsa i kapitlet ”Arbeta med Kate-editorn”.

## LATEX-referens

Kile erbjuder en mycket praktisk taggreferens för LATEX, som du kan komma åt genom att välja Hjälp → Latex-referens. Den innehåller en omfattande beskrivning av nästan alla kommandon som du kan använda i LATEX och deras syntax.

Flytta markören
Flytta markören

## Flytta markören

För att markera text, har du följande möjligheter:

- Håll nere vänster musknapp och dra för att markera text.

- Klicka en gång på ett ord för att flytta markören till en ny plats.

- Klicka två gånger på ett ord för att välja hela ordet.

- Klicka två gånger på ett ord och håll nere Ctrl för att markera hela TEX-ordet. Det innebär att klicka på detta sätt på `\par` i `\par\bigskip` bara markerar \par.

- Klicka tre gånger för att välja hela meningen.

Genom att hålla nere musknappen och dra över texten du vill välja, kopieras den automatiskt till klippbordet.

Genom att hålla nere Skift och använda piltangenterna kan du välja delar av källkoden i editorfönstret.

Parenteser
Parenteser

## Parenteser

Komplettering av parenteser är ett visuellt verktyg som editorn använder för att visa dig vilka parenteser som hör ihop. Om du öppnar en fil med filändelsen `.tex`, och markerar vilken parentestyp som helst, som parenteser (), hakparenteser [] eller klamrar {}, så färgläggs matchande parentestyp i gult (den här standardfärgen kan ändras). Om du till exempel placerar markören på en klammer i `\section{Introduktion}`, ser du färgläggning av `\section{Introduktion}` med standardfärgen gult, som visar dig platsen för den inledande och avslutande klammern.

Färgläggning
Färgläggning

## Färgläggning

Kile har möjlighet att leta efter och färglägga olika sorters kod. LATEX-kommandon skiljs till exempel från normal text, och även matematiska formler färgläggs med en annan färg.

Punkter
Punkter

## Punkter

Många guider kan infoga valfria punkter, en särskild sorts bokmärke i texten. Menyalternativen Redigera → Punkter eller motsvarande snabbtangenter låter dig gå till nästa eller föregående punkt. Det markerar också punkten så att den automatiskt tas bort när du skriver in den första bokstaven.

Nästa punkt (Ctrl+Alt+Högerpil)

  Gå till nästa punkt i texten om det finns någon.

Föregående punkt (Ctrl+Alt+Vänsterpil)

  Gå till föregående punkt i texten om det finns någon.

Markera
Markera

## Markera

Redigering är förstås en av huvudaspekterna när du använder ett program som Kile. Även om Kate har stora möjligheter, lägger Kile till vissa viktiga funktioner, som särskilt behövs för att skriva LATEX-källkod. LATEX behöver alltid en stor mängd omgivningar och grupper, så Kile stöder mycket speciella kommandon för att markera dem. Under Redigera → Markera hittar du följande kommandon för att markera text:

Omgivning (inne i) (Ctrl+Alt+S,E)

  Markera en omgivning utan taggarna. Om det här kommandot utförs när en omgivning redan är markerad, expanderar Kile markeringen till den nästa utanförliggande omgivningen.

Omgivning (utanför) (Ctrl+Alt+S,F)

  Markera en omgivning inklusive taggarna. Denna markering kan också expanderas med en andra användning av kommanot.

Tex-grupp (inne i) (Ctrl+Alt+S,T)

  Markera en TEX-grupp innanför de omgivande klamrarna.

Tex-grupp (utanför) (Ctrl+Alt+S,U)

  Markera en TEX-grupp inklusive de omgivande klamrarna.

Matematisk grupp (Ctrl+Alt+S,M)

  Markera den nuvarande matematiska gruppen inklusive matematikkommandon.

Stycke (Ctrl+Alt+S,P)

  Markera ett helt stycke, dvs. en grupp med textrader åtskilda på båda sidor av tomma rader. Ett stycke betyder inte bara kontinuerliga textrader, som i andra texteditorer. Den utökade betydelsen omfattar också tabeller, LATEX-kommandon och andra källkodsrader. Det enda viktiga för Kile är att dessa sorters stycken är omgivna av två tomma rader.

Rad (Ctrl+Alt+S,L)

  Markera textraden på markörens nuvarande position.

Tex-ord (Ctrl+Alt+S,W)

  Markera ordet under nuvarande markörposition. Markeringen har också en utökad mening, eftersom kommandot också kan markera LATEX-kommandon som börjar med ett bakstreck och dessutom kan ha en valfri asterisk i slutet.

### Välj LATEX-kommandon

Kile har en utökad funktion för att välja LATEX-kommandon. Om du till exempel har skrivit

    text \bfseries\itshape mer text

och dubbelklickar på ett av LATEX-kommandona, markeras båda. Men ofta vill du bara markera ett av två eller flera kommandon. Det kan göras med tangenten Ctrl. Du behöver bara trycka på Ctrl-tangenten, så markerar ett dubbelklick bara det önskade kommandot.

Ta bort
Ta bort

## Ta bort

För att ta bort delar av ett dokument kan du förstås markera dem, och därefter använda tangenten Delete. Kate erbjuder också kommandot Ctrl+K som tar bort hela raden. Men Kile erbjuder ett snabbare sätt med sina egna borttagningskommandon. Under Redigera → Ta bort hittar du följande kommandon för att ta bort text:

Omgivning (inne i) (Ctrl+Alt+T,E)

  Ta bort en omgivning utan de omgivande taggarna.

Omgivning (utanför) (Ctrl+Alt+T,F)

  Ta bort en omgivning inklusive de omgivande taggarna.

Tex-grupp (inne i) (Ctrl+Alt+T,T)

  Ta bort en TEX-grupp innanför de omgivande klamrarna.

Tex-grupp (utanför) (Ctrl+Alt+T,U)

  Ta bort en TEX-grupp inklusive de omgivande klamrarna.

Matematisk grupp (Ctrl+Alt+T,M)

  Ta bort den nuvarande matematiska gruppen inklusive matematikkommandon.

Stycke (Ctrl+Alt+T,P)

  Ta bort ett helt stycke. Titta på kommandot Markera → Stycke, för att se hur ett stycke definieras i Kile.

Till radslut (Ctrl+Alt+T,I)

  Ta bort texten från markörens nuvarande position till radens slut.

Tex-ord (Ctrl+Alt+T,W)

  Ta bort ordet eller LATEX-kommandot på markörens nuvarande position.

Omgivning
Omgivning

## Omgivning

Det har redan nämnts att omgivningar spelar en central roll i LATEX. Kile erbjuder alltså fem andra kommandon, för att göra arbetet med LATEX så enkelt som möjligt, i undermenyerna Redigera → Omgivning.

Gå till start (Ctrl+Alt+E,B)

  Kommandot går till början av nuvarande omgivning, var än den aktuella positionen är. Markören placeras direkt före omgivningens inledande tagg.

Gå till slut (Ctrl+Alt+E,E)

  Kommandot går till slutet av nuvarande omgivning, var än den aktuella positionen är. Markören placeras direkt efter omgivningens avslutande tagg.

Matcha (Ctrl+Alt+E,M)

  När markören är placerad framför eller ovanför taggen `\begin{omgivning}`, flyttas den till motsatt ända av omgivningen och tvärtom.

Stäng (Ctrl+Alt+E,C)

  När du skriver en mängd omgivningstaggar inne i varandra, kan du förlora kontroll på alla omgivningarna. Det här kommandot avslutar den senast inledda omgivningen, så att ordningen i omgivningarnas struktur inte bryts.

Stäng alla (Ctrl+Alt+E,A)

  Det här stänger alla inledda omgivningar, inte bara den senaste omgivningen.

TEX-grupp
TEX-grupp

## TEX-grupp

Kile erbjuder också några specialkommandon för LATEX-grupper, som bestäms av parenteser `{...}`. I undermenyn Redigera → Tex-grupp hittar du några viktiga kommandon, som motsvarar de från Redigera → Omgivning.

Gå till början (Ctrl+Alt+G,B)

  Kommandot går till början av nuvarande grupp, var än den aktuella positionen är. Markören placeras direkt före den inledande parentesen.

Gå till slut (Ctrl+Alt+G,E)

  Kommandot går till slutet av nuvarande grupp, var än den aktuella positionen är. Markören placeras direkt efter den avslutande parentesen.

Matcha (Ctrl+Alt+G,M)

  När markören är placerad framför eller efter en inledande parentes i en TEX-grupp, flyttas den till motsatt ända av gruppen och vice versa.

Stäng (Ctrl+Alt+G,C)

  Att skriva många parenteser för grupper inne i varandra kan vara hårt arbete. Kommandot avslutar den senast inledda gruppen, så att ordningen av TEX-grupper inte bryts.

Dubbla citationstecken
Dubbla citationstecken

## Dubbla citationstecken

I LATEX används två enkla citationstecken som dubbla citationstecken. För att hjälpa dig att infoga dem effektivt, låter Kile dig trycka på " för att infoga två inledande enkla citationstecken. Om du dessutom vill avsluta ett citat, måste du också trycka på ". Kile är smart nog att känna igen denna situation och infoga två avslutande citationstecken för LATEX.

För att istället få ett verkligt dubbelt citationstecken, tryck två gånger på ".

Du kan aktivera eller inaktivera att automatiskt infoga inledande och avslutande dubbla citationstecken i Inställningar → Anpassa Kile... → Latex.

Om du dessutom inkluderar språkspecifika alternativ som `ngerman` eller `french`, kan du också använda tyska eller franska dubbla citationstecken. Många ytterligare språk är tillgängliga.

Smart nyrad
Smart nyrad

## Smart nyrad

Om du trycker på Ctrl+Retur, infogar Kile en intelligent nyrad. Om din nuvarande position är inne i en listomgivning som `enumerate` eller `itemize`, infogar Kile inte bara en nyrad, utan lägger också till kommandot `\item`.

Om du är inne i en tabellomgivning, avslutar Kile aktuell rad med `\\`, följt av nyraden.

Om du är inne i en LATEX-kommentar, inleder Kile nästa rad med `%`.

Ännu bättre är att Kile är smart nog att stödja fördefinierade LATEX-omgivningar och användardefinierade omgivningar, som kan läggas till under Inställningar → Anpassa Kile... → Latex.

Smart tabulator
Smart tabulator

## Smart tabulator

Vissa användare tycker om att arrangera kolumner i tabellomgivningar och placera alla och-tecken & under varandra. Kile försöker stödja det. Om du trycker på Alt+Skift+&, tittar Kile efter nästa tabulatortecken i raden ovanför. Även om detta tecken inte motsvarar tabulatorn, lägger Kile till några mellanslag för att justera kolumnpositionen till nuvarande tabulator.

Kapitel 6. Kodkomplettering
Kodkomplettering

# Kapitel 6. Kodkomplettering

Även om Kate erbjuder ett bra kompletteringsläge, utökar Kile kodkomplettering för att stödja vissa speciella metoder för LATEX. Fem olika metoder är införlivade. Tre av dem fungerar på begäran, medan de två övriga är automatiska kompletteringslägen. Alla metoder kan ställas in att arbeta på mycket olika sätt med Inställningar → Anpassa Kile....

## Automatisk komplettering av omgivning

När du påbörjar en ny omgivning genom att skriva `\begin{omgivning}`, lägger Kile automatiskt till kommandot `\end{omgivning}`, med en rad för din text emellan.

Automatisk komplettering kan stängas av på sidan LATEX under Inställningar → Anpassa Kile... → Latex+Omgivningar.

Komplettering av en ekvationsomgivning

LATEX-kommandon
LATEX-kommandon

## LATEX-kommandon

När du skrivit några bokstäver kan du aktivera kompletteringsläget för LATEX-kommandon och normala ord med Redigera → Komplettera → (La)tex kommando eller snabbtangenten Ctrl+Skift+Mellanslag. Kile läser först bokstäver från markörens nuvarande position åt vänster och stannar vid det första tecknet som inte är en bokstav eller vid ett bakstreck. Om mönstret börjar med ett bakstreck, går Kile in i kompletteringsläget för TEX- eller LATEX-kommandon. Annars går Kile in i normalt ordläge, där du inte hittar några LATEX-kommandon. Beroende på valt läge, visas en kompletteringsruta. Du ser alla kommandon eller ord vars början matchar nuvarande mönster. Du kan navigera med piltangenterna i listan och välja en post med returtangenten eller ett dubbelklick med musen.

När du trycker på backstegstangenten, tas den sista bokstaven i mönstret bort, och kompletteringslistan kan växa. Å andra sidan, om du skriver en bokstav till utökar den mönstret och den synliga listan med ord kan minska.

Om du bestämmer dig för att inte välja något av förslagen, kan du lämna dialogrutan med Esc.

Du märker att alla kommandon skrivs med en kort beskrivning av deras parametrar. Beskrivningarna plockas förstås bort när du väljer ett kommando. Alternativt kan du låta Kile infoga punkter på platserna, så att du enkelt kan hoppa till platserna med Redigera → Punkter → Nästa punkt och infoga parametern du vill använda.

Gå till Inställningar → Anpassa Kile... → Kile+Komplettera för att ställa in en eller flera av listorna. Du kan välja olika ordlistor för TEX- och LATEX-kommandon och ordlisteläge för vanliga ord.

Om du väljer alternativet Visa Latex-kommandon, visas posterna i alla valda cwl-filer (komprimerade ordlistor) i en separat vy i Kiles sidorad, för komplettering av LATEX-kommandon. Du ser vilka kommandon som är tillgängliga, och vilka parametrar och alternativ som kan eller måste anges för komplettering. Du kan också helt enkelt välja en post med ett musklick, så infogas den i dokumentet, med alla namngivna parametrar och alternativ borttagna.

Eftersom varje vald ordlista visas i en egen separat vy, kan det bli för många vyer, så att Kiles huvudfönster blir större än en liten bildskärm tillåter. Eftersom det ser mycket fult ut, arbetar Kile med ett maximalt antal tillåtna vyer, som normalt är inställt till 10. Om värdet är för stort för din bildskärm, bör du minska det.

Omgivningar
Omgivningar

## Omgivningar

Kommandoläget är inte användbart för kodkomplettering av omgivningar. Du måste alltid skriva in några bokstäver av `\begin`, och att aktivera kompletteringsläge ger en enorm lista med omgivningstaggar som resultat. Å andra sidan används omgivningar så ofta att Kile erbjuder en särskild metod för kodkomplettering av omgivningar. Glöm den inledande taggen och skriv till exempel `al`.

När du anropar kompletteringsläget med Redigera → Komplettera → Omgivning eller snabbtangenten Alt+Skift+Mellanslag, läggs den inledande taggen automatiskt till, och du ser `\begin{al}`. Efter den ändringen är kompletteringslistan mycket mindre nedskräpad.

Markera nu en omgivning, så ser du att den automatiskt avslutas. Förutom det, om Kile känner igen den som en listomgivning, infogas också den första taggen `\item`.

Gå till Inställningar → Anpassa Kile... → Kile+Komplettera för att ställa in en eller flera av listorna. Metoden använder samma ordlistor som komplettering för TEX- och LATEX-kommandon.

Förkortningar
Förkortningar

## Förkortningar

Kile stöder användardefinierade listor med förkortningar, som ersätts av längre textsträngar på begäran . Titta på Inställningar → Anpassa Kile... → Kile+Komplettera för att ställa in en eller flera av dessa listor. För exemplet som ges här måste förkortningslistan i `example.cwl` väljas. I den filen hittar du till exempel posten `L=\LaTeX`.

Skriv till exempel bara bokstaven `L`. Aktivera nu ordkompletteringens förkortningsläge med Redigera → Komplettera → Förkortning eller snabbtangenten Ctrl+Alt+Mellanslag, så ersätts bokstaven `L` av strängen `\LaTeX`.

Komplettering av förkortningar stöder också nyrad `%n`, och `%C` för att placera markören, om dessa tecken förekommer i expansionstexten. Om du alltså har posten

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

i kompletteringsfilen, och utför komplettering av förkortningen, ser expansionen ut som nedan, där `x` visar den slutliga positionen för markören.

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

### Förkortningar

Om du väljer Visa förkortningar, visas alla möjliga förkortningar med en vy i sidoraden. Du får alltså en god överblick av alla möjliga förkortningar.

Automatiska kompletteringslägen
Automatiska kompletteringslägen

## Automatiska kompletteringslägen

### LATEX-kommandon

Du kan också aktivera automatisk komplettering för LATEX-kommandon. När en given tröskel av bokstäver (förval: 3) skrivs in, dyker ett fönster upp med en lista över alla LATEX-kommandon som matchar. Du kan välja ett av kommandona, eller ignorera fönstret och skriva fler bokstäver. Posterna i kompletteringsrutan ändras alltid och matchar det ord du för närvarande har skrivit.

Gå till Inställningar → Anpassa Kile... → Kile+Komplettera för att aktivera eller inaktivera läget, eller för att ändra tröskeln.

### Dokumentord

Stora ordlistor är inte användbara i automatiskt kompletteringsläge. Men vi har märkt att många ord i ett dokument skrivs mer än en gång. Kile erbjuder alltså komplettering av alla ord i dokumentet som användaren redan har skrivit. Du kan utföra kompletteringen manuellt, om du trycker på Ctrl+Mellanslag. Observera att metoden skiljer sig från kompletteringsmetoden för LATEX-kommandon.

Om du vill aktivera eller inaktivera läget, gå till Inställningar → Anpassa Kile... → Editor → Redigering+Automatisk komplettering. I dialogrutan kan du ställa in om kompletteringsläge för ord i dokumentet ska vara aktiverat Det finns också ytterligare en metod för automatisk komplettering, där en kompletteringsruta dyker upp när en viss tröskel nås.

Skriva egna kompletteringsfiler
Skriva egna kompletteringsfiler

## Skriva egna kompletteringsfiler

Den senaste specifikationen av filformatet för kompletteringsfiler finns i specifikationen av CWL-filformatet.

Kompletteringsfiler kan installeras i en användares hemkatalog i underkatalogen `~/.kde/share/apps/kile/complete/<typ>/`, där `<typ>` antingen är `abbreviation`, `dictionary` eller `tex`.

Kapitel 7. Guider och dialogrutor
Guider och dialogrutor

# Kapitel 7. Guider och dialogrutor

## Snabbstartsguide

Den här guiden har redan beskrivits i avsnittet Snabbstartsguide.

Infoga grafik
Infoga grafik

## Infoga grafik

Dialogrutan Infoga grafik gör det så enkelt som möjligt att infoga grafik. Du hittar den via menyraden i LaTeX → Infoga bild. Ta gärna en titt på Grafiska filformat och EPS-grafik för att få en översikt av några grundläggande fakta rörande grafikformat.

1. Välj en grafikfil. Det kan vara en JPEG-fil, PNG-fil, PDF-fil, EPS-fil eller till och med en EPS-fil komprimerad med zip eller gzip. Om du har installerat ImageMagick och dessutom ställt in Kile att använda det (Inställningar → Anpassa Kile... → Latex+Grafik), visas grafikens höjd och bredd automatiskt. Om ImageMagick kan bestämma upplösningen, visas också grafikens storlek i centimeter.

2. Bestäm om bilden ska vara centrerad på sidan.

3. Ett annat exempel: Om du anger kommandot `\graphicspath` som:

   Normalt måste grafikfiler finnas i samma katalog som ditt huvuddokument. Det är dock möjligt att placera dem i andra kataloger för att göra saker och ting snyggare. Utan kommandot `\graphicspath` skulle Kile inkludera sökvägen till grafikfilen. Men om du använder `\graphicspath` i inledningen, som:

       \graphicspath{{/sökväg/till/min/grafik}{annan/sökväg/till/mer/grafik}}

   och markerar alternativet, använder Kile bara grafikfilens basnamn.

   Ett annat exempel: Om du anger kommandot `\graphicspath` som:

       \graphicspath{{./}{kamera/}{bilder/}}

   söker LATEX i aktuell katalog, därefter i `kamera` och till sist i `bilder` för att hitta din grafikfil.

4. Om du antingen väljer bredd eller höjd, skalas hela grafiken proportionellt. Om du ställer in två värden samtidigt för bredd och höjd, kan bredd och höjd skalas med olika faktorer, och det kanske inte är vad du vill. Se också informationen längst upp i dialogrutan för att få reda på grafikens originalstorlek.

5. Ange en vinkel som grafiken ska roteras moturs.

6. Information om omgivande ruta ställs automatiskt in när du väljer en grafikfil. Informationen behövs bara när du arbetar med traditionell LATEX-grafik och punktavbildad grafik. Se beskrivningen av EPS-grafik.

   Om LATEX behöver en omgivande ruta, och du inte vill skapa en bb-fil, stöder Kile det här alternativet. Å andra sidan ger PDFLATEX en varning när du vill inkludera png- eller jpg-grafik tillsammans med alternativet. Den här kryssrutan låter dig aktivera eller inaktivera alternativet med omgivande ruta.

7. Skala bilden med önskad skalfaktor, t.ex. 0,5 för att reducera storleken till hälften, eller 2 för att dubbla den. När du använder det här alternativet behöver du inte ange bildens bredd och höjd.

8. Under fliken Trimma bild kan du beskära din bild i alla fyra riktningar.

9. Slutligen kan du ange om du vill bädda in bilden i en figuromgivning. När du vill att texten ska omsluta figuren, använd omgivningen wrapfigure istället.

   ### Notera

   När du väljer omgivningen wrapfigure behöver du inkludera paketet wrapfig i inledningen.

   I båda fall kan du infoga en rubrik och en etikett. Det är en god idé att lägga till olika prefix för varje typ av etikett. Det är vanligt att använda prefixet `fig:` för bilder.

10. Om du väljer figuromgivningen kan du välja var du helst vill att LATEX ska placera figuren.

11. I omgivningen wrapfigure kan du:

    1. Välja en placeringsregel för figuren och bestämma om figuren ska flyta eller inte. I ett tvåsidigt dokument kan du ange om figuren ska vara på sidans inre eller yttre kant.

    2. Ange i hur många avkortade rader av texten som placeras längs med figuren. Om du lämnar alternativet tomt kommer LATEX bestämma det själv efter bästa förmåga.

    3. Ange ett överdrag till den valda sidan. Det här är särskilt användbart när du har kolumner i ditt dokument och vill att en figur ska sträcka sig över mer än bara en kolumn, eller om du vill ha avkortad text på båda sidor om figuren.

    4. Välj en bredd för figuren. Den bör vara lite större än bildens egentliga bredd, så att det finns lite tomt utrymme mellan figuren och texten.

Fält och tabeller
Fält och tabeller

## Fält och tabeller

En av de tråkigaste uppgifterna man kan göra i LATEX är att skriva en matris eller tabellomgivning. Man måste hålla reda på alla element, försäkra sig om att omgivningen är riktigt inmatad, och att allt finns där det är meningen att det ska vara. Bra indentering hjälper till, men det finns ett enklare sätt: Använd Kiles menyalternativ Guide → Fält eller Guide → Tabell. Då får du ett inmatningsformulär av matristyp som du enkelt kan fylla i med dina värden. Dialogrutan erbjuder också inställningar för att typsätta tabellmaterialet.

Genom att använda verktygsraden längst upp i dialogrutan kan du ställa in en cells `align` (justering), definiera en viss `font style` (teckenstil), `join` (sammanfoga) och `split` (dela) celler, välja `border` (kant), samt ange `color` (färg) för bakgrund och tecken. Allra längst till höger finns knappen `Klistra in`. Med denna knapp kan du infoga en tabell från klippbordet i dialogrutan, vilket låter dig kopiera och klistra in tabeller från exempelvis ett kalkylprogram.

Nedan kan du välja hur många rader och kolumner du vill ha, och du kan finjustera några fler detaljer rörande ditt fält:

- Med alternativet Namn kan du vilja vilken omgivning som ska användas för ditt fält eller tabellmaterial.

- Du kan välja vertikal celljustering med alternativet Parameter. Det är bara aktiverat för omgivningar som stöder funktionen.

- Om den finns i den valda omgivningen kan du välja använd version med asterisk. När du väljer alternativet måste du också ange en tabellbredd.

- Tabeller ser ibland bättre ut när du väljer alternativet Använd paketet booktabs.

- Du kan förstås också Centrera hela fältet.

- Infoga punkter hjälper till när du vill fylla i innehållet i editorn. Med alternativet markerat kommer Kile infoga platsmarkörer för punkter för varje element i fältet.

Alternativet Guide → Tabulering visar en enkel meny för att ställa in en tabuleringsomgivning. Den låter dig enkelt ange antal rader och kolumner, och önskad separation.

Infoga flytande element
Infoga flytande element

## Infoga flytande element

Kile hjälper dig infoga flytande element. Med guiden Guide → Flytande är det mycket enkelt att skapa en ny figur- eller tabellomgivning.

För att infoga ett nytt flytande element, följ bara dessa steg:

1. Välj om du vill infoga en figur eller en tabell.

2. Välj dina placeringsregler.

3. Skriv in ett namn på det flytande elementet.

4. Skriv in en etikett för det nya flytande elementet. Kile kommer automatiskt föreslå ett passande prefix, t.ex. "fig:" för figurer och "tab:" för tabeller.

Infoga en matematikomgivning
Infoga en matematikomgivning

## Infoga en matematikomgivning

Att minnas hur alla olika matematikelementen fungerar kan vara riktigt frustrerande. Kile kan förstås stå för magin här: Guide → Matematik

Alternativ:

- Namn: Välj den typ av matematikelement du vill skapa.

- Utan numrering: Det här kan stänga av numrering för numrerade element, som ekvationer eller justeringar.

- Mellanrumskommando för att separera grupper: I en omgivning som stöder flera grupper som alignat kan du ange en mellanrumsseparator när du har mer än en grupp. Du kan ange vilket mellanrumskommando som helst här, bara det finns i matematikläge, t.ex. \quad.

- Vanlig tabulator: Välj den tabulator som ska användas. Kile bör automatiskt välja den bästa åt dig.

- Matematikvisningsläge: För omgivningar som matriser eller fält kan du välja i vilken matematikomgivning din matematiska text ska visas.

- Använd punkter: Med alternativet markerat kommer Kile infoga platsmarkörer för varje element i din matematiska text.

PostScript®-verktyg
PostScript®-verktyg

## PostScript®-verktyg

PS-filer är inte så populära som PDF-filer, men är en utmärkt grund för behandling och omflyttning av sidor. Om du behöver PDF-utmatning, kan du arrangera om sidor med några PostScript®-verktyg, och därefter konvertera till PDF med ps2pdf.

Postscript-guiden i Guide → Postscript-verktyg föreslår de populäraste omändringarna, men du har frihet att välja själv. Arbetet utförs av programmen pstops och psselect, som du hittar i de flesta distributioner i paketet `psutils`. Om ett av programmen inte är tillgängligt, är inte motsvarande post synlig.

Välj först indatafil. Om Kile hittar en PS-fil som motsvarar det nuvarande huvuddokumentet, är den redan ifylld som indatafil, men du har också frihet att välja en annan fil. Välj därefter utdatafil, och välj en av uppgifterna. Till sist måste du välja om du bara vill göra konverteringen, eller också starta Okular för att titta på resultatet.

1 A5-sida + tom sida --> A4

  Kombinera en A5-sida med en tom sida på en A4-sida. Så fort två A5-sidor kombineras, roteras de 90 grader och arrangeras på A4-sidan med liggande format.

1 A5-sida + duplikat --> A4

  Placera en A5-sida och ett duplikat tillsammans på en A4-sida.

2 A5-sidor --> A4

  Placera två på varandra följande A5-sidor tillsammans på en A4-sida.

2 A5 liggande sidor --> A4

  Placera två på varandra följande liggande A5-sidor tillsammans på en A4-sida.

4 A5-sidor --> A4

  Kombinera fyra på varandra följande A5-sidor tillsammans på en A4-sida. A5-sidorna måste skalas med faktorn 0,7 för att få plats på sidan.

1 A4-sida + tom sida --> A4

  Kombinera en A4-sida med en tom sida på en A4-sida. Så fort två A4-sidor kombineras på en A4-resultatsida, måste de skalas med faktorn 0,7 och arrangeras med liggande format.

1 A4-sida + duplikat --> A4

  Placera en A4-sida och ett duplikat tillsammans på en A4-sida.

2 A4-sidor --> A4

  Placera två på varandra följande A4-sidor tillsammans på en A4-sida.

2 A4 liggande sidor --> A4

  Placera två på varandra följande liggande A4-sidor tillsammans på en A4-sida.

välj jämna sidor

  Välj alla jämna sidor i ett dokument.

välj udda sidor

  Välj alla udda sidor i ett dokument

välj jämna sidor (omvänd ordning)

  Välj alla jämna sidor i ett dokument och vänd på ordningen.

välj udda sidor (omvänd ordning)

  Välj alla udda sidor i ett dokument och vänd på ordningen.

vänd alla sidor

  Vänd alla sidor i ett dokument.

kopiera alla sidor (sorterade)

  Kopiera alla sidor i ett dokument. Du måste välja antal sorterade kopior.

kopiera alla sidor (osorterade)

  Kopiera alla sidor i ett dokument. Du måste välja antal osorterade kopior.

pstops: välj parameter

  Det finns många väljare för PostScript®-verktygen pstops och psselect. Om du vill ha en mycket speciell, kan du starta pstops med en egen väljare. Läs i manualen om alla tillgängliga väljare.

psselect: välj parameter

  Du kan starta psselect med en egen väljare. Läs i manualen om alla tillgängliga väljare.

PDF-verktyg
PDF-verktyg

## PDF-verktyg

Många betraktar PDF-dokument som färdiga filer, som inte kan modifieras. Men det är inte sant, eftersom det finns utmärkta verktyg

- för att hantera och arrangera om sidor

- för att läsa och uppdatera dokumentinformation

- för att läsa eller ändra vissa rättigheter

i ett befintligt PDF-dokument.

Kiles PDF-guide under Guide → PDF-verktyg använder två olika metoder för att hantera och arrangera om PDF-dokument:

- LATEX-paketet pdfpages vilket ingår i alla distributioner av LATEX. pdfpages fungerar inte med krypterade sidor.

- pdftk, som är ett utmärkt kommandoradsverktyg för att göra vardagliga saker med PDF-dokument (se PDF-verktygslådan).

Om något av dessa hjälpverktyg, pdfpages eller pdftk inte är tillgängligt i systemet, är motsvarande alternativ inte synliga. Kom dessutom ihåg att bara pdftk fungerar med krypterade filer.

### Arrangera om

Om Kiles PDF-guide anropas, startar med registerkortet `Arrangera om`.

Välj först indatafil. Om Kile hittar en PDF-fil som motsvarar det nuvarande huvuddokumentet, är den redan ifylld som indatafil, men du har också frihet att välja en annan fil. Välj därefter utdatafil eller att skriva över den befintliga PDF-filen, och välj en av uppgifterna. Till sist måste du välja om du bara vill göra konverteringen, eller också starta visaren (t.ex. Okular) för att titta på resultatet.

Om PDF-filen är krypterad, fungerar bara pdftk och dokumentets lösenord måste anges för att utföra uppgifter.

1 sida + tom sida --> A4

  Kombinera en sida med en tom sida på en A4-sida. Så fort två A5-sidor kombineras, roteras de 90 grader och arrangeras på A4-sidan med liggande format.

  Så fort två A4-sidor kombineras, skalas de, roteras 90 grader och arrangeras på A4-sidan med liggande format.

1 sida + duplikat --> A4

  Placera en sida och ett duplikat tillsammans på en A4-sida.

  Om sidan som ska dupliceras har A4-storlek, kommer den att skalas för att passa på en sida.

2 sidor --> A4

  Kombinera två på varandra följande sidor tillsammans på en A4-sida. Så fort två A5-sidor kombineras, roteras de 90 grader och arrangeras på en A4-sida med liggande format.

  Så fort två A4-sidor kombineras, skalas de, roteras 90 grader och arrangeras på A4-sidan med liggande format.

2 sidor (liggande) --> A4

  Placera två på varandra följande liggande sidor tillsammans på en A4-sida.

4 sidor --> A4

  Kombinera fyra på varandra följande sidor tillsammans på en A4-sida. Sidorna måste skalas för att få plats på sidan.

4 sidor (liggande) --> A4

  Kombinera fyra på varandra följande liggande sidor tillsammans på en A4-sida. Sidorna måste skalas för att få plats på sidan.

välj jämna sidor

  Välj alla jämna sidor i ett dokument.

välj udda sidor

  Välj alla udda sidor i ett dokument

välj jämna sidor (omvänd ordning)

  Välj alla jämna sidor i ett dokument och vänd på ordningen.

välj udda sidor (omvänd ordning)

  Välj alla udda sidor i ett dokument och vänd på ordningen.

vänd alla sidor

  Vänd alla sidor i ett dokument.

avkoda en fil

  Om PDF-filen är krypterad, kan du avkoda den.

välj sidor

  Lägg till en kommaseparerad lista med sidor eller sidintervall, t.ex. 1,4-7,9. Bara dessa sidor kommer att ingå i den resulterande PDF-filen.

ta bort sidor

  Lägg till en kommaseparerad lista med sidor eller sidintervall, som ska tas bort från den valda PDF-filen.

använd ett vattenmärke i bakgrunden

  Lägger till ett PDF-vattenmärke i bakgrunden av en enstaka PDF-indatafil. Guiden använder bara den första sidan från PDF-filen med bakgrunden och lägger till den på varje sida i PDF-indatafilen. Sidan skalas och roteras efter behov för att passa på indatasidan.

använd en bakgrundsfärg

  Inför en bakgrundsfärg på alla sidor i det aktuella dokumentet. Det kan bara göras en gång, eftersom den andra färgen läggs bakom den första och därmed inte är synlig.

använd en förgrundsstämpel

  Lägger till en förgrundsstämpel över PDF-dokumentets sidor. Guiden använder bara den första sidan från PDF-filen med stämpeln och lägger till den på varje sida i PDF-indatafilen. Sidan skalas och roteras efter behov för att passa på indatasidan. Det fungerar bäst om PDF-sidan har en genomskinlig bakgrund.

pdftk: välj parameter

  Du kan starta pdftk med en egen väljare. Läs i manualen om alla tillgängliga väljare.

pdfpages: välj parameter

  Du kan starta pdfpages med en egen väljare. Läs i manualen om alla tillgängliga väljare.

### Egenskaper

Inställning, tillägg, ändring och borttagning av egenskaper är bara möjligt om pdftk är installerat och Kile dessutom kompilerades med biblioteket `libpoppler`.

Traditionellt innehåller PDF-metadata dokumentets titel, författare, ämne, nyckelord, skapare, producent och datum för det skapades och senast ändrades.

### Rättigheter

Dessutom är det bara möjligt att ställa in, ändra och ta bort rättigheter om pdftk är installerat.

Ett lösenord är nödvändigt för att lägga till eller ändra dokumentens inställningar. Dessutom utförs PDF-kryptering för att låsa filens innehåll med lösenordet, eller upprätthålla mindre restriktioner som författaren infört. Författaren kan alltså tillåta eller förbjuda:

- utskrift av sidor

- ändring av sidor

- kopiering av text och grafik från sidor

- ändring eller tillägg av kommentarer

- att fylla i formulärfält med data

Att ändra rättigheter gör alltid att kryptering utförs som hör ihop med 128-bitars säkerhet i `Acrobat` 5 och 6, och kräver också ett lösenord.

Kom dock alltid ihåg: kryptering och ett lösenord ger inte någon riktig säkerhet för PDF. Innehållet är krypterat, men nyckeln är känd. Det bör mer betraktas som en artig men bestämd begäran om att respektera författarens önskemål.

Dokumentstatistik
Dokumentstatistik

## Dokumentstatistik

Statistikdialogrutan i Arkiv → Statistik ger dig en statistisk översikt av en markering, ett dokument eller ett helt projekt. Den omfattar antal ord, kommandon och omgivningar i LATEX och innehåller också antalet tecken av varje typ.

Statistikvärdena kan kopieras som text eller en snyggt formaterad LATEX-tabell till klippbordet.

När du markerar text och öppnar statistikdialogrutan får du statistiken för texten som för närvarande är markerad. Om du öppnar dialogrutan utan att ha markerat något visas statistik för alla öppna filer. Om du vill ha statistik för hela projektet kan du använda Projekt → Öppna alla projektfiler som ett snabbt och enkelt sätt att öppna alla källfiler i projektet.

Ett varningens ord måste sägas om noggrannheten hos värdena. En del logik för att få en bra uppskattning har inkluderats, t.ex. ger K\"old ett ord och ett kommando, med fyra respektive två tecken. Det finns dock andra kombinationer där delar av kommandon räknas som ord och tvärtom. Man bör också tänka på att algoritmen utvecklades och provades med språk som liknar engelska eller tyska. Ta alltså inte värdena för givet. Om du måste skapa en rapport med ett exakt antal ord eller tecken, gör några försök för att se om Kiles noggrannhet uppfyller dina behov.

Kapitel 8. Specialtaggar i LATEX
Specialtaggar i LATEX

# Kapitel 8. Specialtaggar i LATEX

## Använda LATEX-taggbibliotek

LATEX har tusentals taggar för symboler och specialtecken. Det enklaste sättet att infoga ett specialtecken är att använda menyn i sidoraden, till vänster om redigeringsfönstret.

Sidoradens meny

Följande typer är tillgängliga:

- Oftast använda

- Relationer

- Operatorer

- Pilar

- Diverse matematik

- Diverse text

- Avgränsare

- Grekiska

- Specialtecken

- Kyrilliska tecken

- Användardefinierade

Ikonernas verktygstips visar LATEX-kommandon och ytterligare paket som behövs.

Att hålla nere Skift och klicka på en symbol gör att `$\symbolcmd$` infogas. På liknande sätt infogas krullparenteser genom att hålla nere Ctrl.

Om du infogar ett kommando som kräver ett paket som inte ingår i LATEX-dokumentet, ser du en varning i loggfönstret.

Den första listan med symboler innehåller Oftast använda symboler. Infogade symboler läggs till i listan för snabb och enkel åtkomst. Symbolernas ordning ändras inte när nya symboler läggs till, utan istället ökas en referensräknare. Om antalet objekt överstiger 30, tas objektet med lägst antal referenser bort.

Symbollistan Användardefinierade kan innehålla dina egna symboler. För att skapa egna symboler behöver du programmet gesymb och filen `definitions.tex` från Kiles källkodspaket. Dessutom behöver du en LATEX-kompilator (ingen överraskning) och dvipng (version 1.7 eller senare). Proceduren är att skapa en LATEX-fil med `\input{definitions}`, som gör kommandona listade nedan tillgängliga, och låter `gesymb mysymbols.tex user` skapa ikonerna (då anropas LATEX och dvipng). Efter att de har kopierats till `$HOME/.kde/share/apps/kile/mathsymbols/user/` och Kile har startats om, kan du använda dina egna symboler.

Följande kommandon är definierade i `definitions.tex`:

- `\command[\optarg]{\symbol}`: Inkludera symbolen `\symbol` i symbollistan, det valfria argumentet `\optarg` anger kommandot som Kile ska infoga. Om det inte anges används kommandot i argumentet som krävs.

- `\mathcommand[\optarg]{\symbol}`: Samma som ovan, förutom att kommandot i argumentet som krävs infogas i matematikläge.

- `\pkgs[arg]{pkg}`: Deklarerar att kommandot som anges på raden kräver LATEX-paketet `pkg` med det valfria argumentet `arg`. Kommandot måste vara framför kommadot `\command` och överskrider eventuella paketspecifikationer av omgivningen neededpkgs.

- `\begin{neededpkgs}[pkgs-args]{pkgs} ... \end{neededpkgs}`: Har samma effekt som ovan, men för alla omslutna kommandon.

För fullständighetens skull anges ett exempel här:

    \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}
    % detta skulle behöva inkludera paketen
    % \usepackage{mathtext}
    % \usepackage[T2C]{fontenc}
    % \usepackage[russian]{babel}
    % \usepackage[koi8-r]{inputenc}
    %  bara för att förklara formatet
    \end{document}

Att använda bibliografiposter
Att använda bibliografiposter

## Att använda bibliografiposter

`\bibitem` är ett kommando som används för att lägga till en referens i dokumentet till omgivningen `bibliografin`. Syntaxen för att använda kommandot `\bibitem` är `\bibitem[rubrik]{nyckel}`.

Det valfria `[rubrik]` är till för att du ska kunna lägga till ditt eget rubriksystem för bibliografiposten. Om ingen rubrik anges, läggs posterna till i numerisk ordning: [1], [2], [3] etc.

Argumentet `{nyckel}` används för att referera och länka kommandona `\bibitem` och `\cite` till varandra och informationen de innehåller. Kommandot `\cite` innehåller referensen som hör ihop med önskad `\bibitem`, som finns i omgivningen `bibliografin` och innehåller referensdata. Båda samhörande `\bibitem` och `\cite` måste ha samma `{nyckel}`. Det enklaste sättet att organisera nycklar är med författarens efternamn. De andra klamrarna i omgivningen `bibliografin` anger den längsta bibliografireferensen du kan ha. Så att skriva `{`999`}`, betyder att du kan ha referenser kortare eller lika långa som ``999``. Anges inte parametern på ett riktigt sätt, kan det orsaka mindre attraktiva indenteringar i bibliografin.

Bibliografin är en separat sektion åtskild från huvuddokumentet. Ett exempel på kod för bibliografin skulle kunna se ut som följer:

    \begin{bibliografin}{50}
            \bibitem{Simpson} Homer J. Simpson. \textsl{Mmmmm...munkar}. Evergreen Terrace Printing Co.,
                              Springfield, Någonstans i U.S.A, 1998
    \end{bibliografin}

Därefter skulle din huvudkällkod innehålla platsen för informationen som har att göra med detta `\bibitem` genom att använda `\cite`. Källkoden skulle se ut ungefär så här:

    Min uppsats om filosofin i Simpsons\copyright kommer från min favoritbok \cite{Simpson}.

Eftersom det ofta är svårt att komma ihåg den exakta hänvisningsnyckeln när du har många referenser, tillhandahåller Kile ett enkelt sätt att infoga en referens. Genom att använda Latex → Referenser → Hänvisa dyker en lista med alla hänvisningsnycklar upp.Välj den rätta referensen, så infogas en hänvisning i dokumentet. För att uppdatera listan med nycklar, spara antingen filen, välj Redigera → Uppdatera struktur eller tryck på F12. När kodkomplettering är aktiverad, visar Kile en lista med alla bibliografibeteckningar så fort kommandot `\cite` påbörjas.

Slutprodukten i dokumentets bibliografi ser då ut så här:

`[1] Homer J. Simpson. Mmmmm...munkar. Evergreen Terrace Printing Co., Springfield, Någonstans i U.S.A., 1998.`

Kile kan också arbeta med BibTEX editorprogram som KBibTEX för att göra det enklare att mata in hänvisningar. När en BibTEX-fil läggs till i projektet, hjälper Kile till att komplettera hänvisningskommandon, precis som beskrivs ovan.

Kapitel 9. Användaranpassad meny
Användaranpassad meny

# Kapitel 9. Användaranpassad meny

## Anpassning

Kile stöder en användaranpassad meny, som visas som en del av Kiles meny. Menyn kan ställas in med Kiles inställningsdialogruta med Inställningar → Anpassa Kile → Användarmeny.

Det finns två alternativ där menyn kan placeras:

- antingen visas menyalternativet Användarmeny i huvudmenyn mellan menyalternativen Latex och Guide, och inställningsguiden Redigera användarmeny i menyn Guide

- eller båda alternativen visas längst ner i menyalternativet Latex.

Redan befintliga användardefinierade taggar från äldre versioner av Kile omvandlas automatiskt till den nya användaranpassade menyn. Taggarna sparas i en fil som heter `usertags.xml` och liksom alla menydefinitionsfiler, finns den i Kiles lokala katalog för användarmenyer `KILE_PGM_KAT/usermenu/`, t.ex. `/home/användare/.kde/share/apps/kile/usermenu/`.

Olika menydefinitionsfiler kan användas för olika uppgifter. Använd användarmenyguiden Guide → Redigera användarmeny eller Latex → Redigera användarmeny för att installera eller redigera en menydefinitionsfil.

Guide
Guide

## Guide

Du kan skapa nya eller ändra befintliga menyer med en bekväm guide för anpassning av användarmenyer som finns under Guide → Redigera användarmeny.

På vänster sida visas ett befintligt menyträd. Liksom i en vanlig meny är tre olika sorters menyalternativ tillgängliga:

- vanliga menyalternativ, som tilldelas en åtgärd

- undermenyer, som innehåller fler menyalternativ

- avskiljare, för att ge alla poster en synlig struktur.

Använd de sex knapparna på väster sida för att ändra menyn. Fler möjliga åtgärder är tillgängliga i den sammanhangsberoende menyn för de befintliga menyalternativen.

Varje vanligt menyalternativ tilldelas en av de tre åtgärdstyperna, där var och en av dem har olika egenskaper som kan anges:

- Text: Kile ger dig möjlighet att skapa egna taggar. En tagg liknar en genväg som startar något kommando eller skriver in texter som ofta används, t.ex. använder medelsvensson ofta meningen `Hej, jag har blivit infogad ...`. Taggen infogas på nuvarande markörposition när åtgärden utförs (se ovan). Metatecken är också tillgängliga (se Platsmarkörer).

- Infoga filinnehåll: Infogar det fullständiga innehållet i en angiven fil.

- Kör ett externt program: Utdata från programmet kan infogas i det öppnade dokumentet. Metatecknet `%M` är också möjligt att använda i kommandoraden till programmet, eftersom den markerade texten sparas i en tillfällig fil. Använd `%M` för den tillfälliga filens filnamn.

Om någon viktig information för en åtgärd saknas, markeras menyalternativ med rött. Det kan vara en fil som inte finns.

eller att rubriken saknas för menyalternativet, vilket visas med frågetecken som `???`.

Om den sammanhangsberoende menyn för ett sådant rödfärgat menyalternativ öppnas, får du alternativet ytterligare information med mer information som rör felet.

Mer information kan också vara tillgänglig genom att använda funktionen Vad är det här i de flesta grafiska komponenter.

Platsmarkörer
Platsmarkörer

## Platsmarkörer

### Infoga text

Det finns ett antal platsmarkörer som kan användas i användardefinierade taggar: `%C`, `%B`, `%M`, `%E`, `%R` och `%T`.

- `%C`: Det är här markören placeras efter en användardefinierad tagg infogas.

- `%B`: Ersätts av en punkt (se Punkter).

- `%M`: Ersätts av den markerade texten.

- `%E`: Anger indenteringsdjupet för text inne i en omgivning.

- `%R`: Anropar en referensdialogruta för att välja en etikett som redan har definierats. Det kan användas för att referera till en fördefinierad etikett, som du kan välja i en kombinationsruta (se också Latex → Referenser → ref eller Latex → Referenser → pageref).

- `%T`: anropar en hänvisningsdialogruta för att välja en redan definierad hänvisning. På samma sätt som vid användning av Latex → Referenser → cite dyker en lista med alla hänvisningsnycklar upp.

Låt oss betrakta ett annat exempel, med följande makro `\frac{%M} {%C}`. Först markerar vi ett tal i texten, låt oss säga `42`. Nu anropar vi makrot och erhåller `\frac{42}{}` med markören placerad innanför det andra paret krullparenteser.

### Infoga filinnehåll

Om du vill infoga innehållet i en textfil skulle du kunna använda samma platsmarkörer.

### Kör ett program

Om du vill köra ett externt program känns bara `%M` för markerad text igen på kommandoraden. Markeringen sparas i en tillfällig fil och platsmarkören `%M` ersätts med filnamnet.

En annan platsmarkör är `%S` som ersätts med det nuvarande dokumentets fullständiga basnamn utan sökvägen. Basnamnet består av alla tecken i filen till (men inkluderar inte) det sista punkttecknet '.'.

Parameter
Parameter

## Parameter

De flesta menyalternativ kan ha ytterligare självförklarliga parametrar, som kan markeras. Om några av dessa parametrar inte är tillgängliga för en viss typ av åtgärd är de inaktiverade.

Här är ett exempel på att köra ett externt program:

Du kan se att ett `perl`-skript anropas, vilket arbetar på den nuvarande markeringen. Parametern Behöver markerad text är markerad för att garantera en markering. Utmatning från skriptet infogas (Infoga utmatning från valt program) och ersätter den nuvarande markeringen (Ersätt markerad text), men blir inte själv markerad.

Du kan naturligtvis också anropa dina egna program eller skript. Markera exempelvis en nummerlista åtskild av mellanslag, och anropa ett skript eller Perl-program, som omvandlar markeringen till LATEX-kod för en matris. Vilka idéer du än har, kan du förverkliga dem genom att använda följande alternativ i användarmenyn.

Menydefinitionsfiler
Menydefinitionsfiler

## Menydefinitionsfiler

Du kan installera olika menyer under körning för olika uppgifter. När guiden för användarmenyer anropas, läses den nuvarande menydefinitionsfilen in. Om du ändrar den och stänger dialogrutan med Ok, sparas ändringarna och installeras som en ny användarmeny. Stängs dialogrutan med Avbryt kastas alla ändringar.

Men du har också full frihet att spara den ändrade filen i användarmenykatalogen eller läsa in en annan menydefinitionsfil och installera den. Alla filer med användarmenydefinitioner måste sparas i den lokala användarmenykatalogen i Kile: `KILE_APP_DIR/usermenu/`.

Titta i exemplet på en menydefinitionsfil, `example.xml`, för att se fler menyalternativ med tillhörande parametrar.

Kapitel 10. Byggverktygen
Byggverktygen

# Kapitel 10. Byggverktygen

## Kompilera, konvertera och visa

För att visa resultatet av arbetet, måste du först kompilera källkoden. Alla byggverktyg är grupperade tätt tillsammans i menyerna Bygg → Kompilera, Bygg → Konvertera och Bygg → Visa.

För att kompilera källkoden för att visa på skärmen med program som Okular, eller för ytterligare konvertering, kan du använda snabbtangenten Alt+2. Därefter kan du visa DVI-filen med ditt eget förvalda visningsprogram med Alt+3, konvertera DVI till en PS-fil med Alt+4, och visa PS-filen med Alt+5.

### BibTEX

Om du använder BibTEX för bibliografiposter, måste du oftast följa ett speciellt kompileringsförfarande.Det betyder att anropa LATEX, därefter BibTEX och sedan LATEX ytterligare två gånger. Tursamt nog är Kile smart nog att automatiskt detektera om det är nödvändigt att anropa ytterligare verktyg som BibTEX, makeidx och Asymptote. Logiken är normalt aktiverad och kan ändras i Inställningar → Anpassa Kile... → Verktyg+Bygg under fliken Allmänt för LATEX- och PDFLATEX-verktygen.

### MetaPost och Asymptote

Om du vill kompilera dokumentet med MetaPost eller Asymptote, program för att rita bilder, kan du göra det med Bygg → Kompilera → MetaPost eller Bygg → Övrigt → Asymptote.

### PDFLATEX

Det finns också ett annat sätt att kompilera dokumentet, om du vill ha PDF: Du kan köra PDFLATEX som kompilerar källkoden direkt till en PDF-fil, med Alt+6. Därefter kan du direkt titta på den kompilerade filen genom att trycka på Alt+7.

Du kan alternativt konvertera PS till PDF med Alt+8, eller direkt från DVI till PDF med Alt+9.

Att använda PDFLATEX istället för LATEX kan bara vara fråga om enkelhet eller vana, men ibland kan beteendet hos de två programmen skilja sig åt.

### LATEX till HTML

Slutligen kanske du vill publicera arbetet på Internet och inte bara på papper. Då kan du använda programmet latex2html som kan anropas från Kiles meny Bygg → Konvertera → Latex till HTML. Resultatet läggs in en underkatalog till arbetskatalogen, och du kan se resultatet av konverteringen genom att välja menyalternativet Bygg → Visa → Visa HTML.

### Skicka med kommandoradsväljare

Om du vill ange några särskilda kommandoradsväljare till verktygen för att kompilera, konvertera eller visa dina filer, kan du anpassa anropen under Inställningar → Anpassa Kile...+Verktyg+Bygg.

Snabbgranskning
Snabbgranskning

## Snabbgranskning

Du behöver alltid en viss tid för att titta på resultatet när du arbetar med LATEX. LATEX måste kompilera källkoden, och visningsprogrammet måste anropas. Det kan vara irriterande om du bara ändrade några bokstäver i en ekvation som var svår att typsätta. Kile erbjuder en Snabbgranskning, där du enbart kan kompilera en del av ett dokument och spara mycket tid. Den stöder fyra olika lägen, som kan kombineras med sju inställningar.

Alla inställningar måste göras i Inställningar → Anpassa Kile... → Verktyg+Förhandsgranskning.

### Markeringsläge

Användaren måste markera en del av dokumentet. Menyalternativet Bygg → Snabbgranskning → Markering eller snabbtangenten Ctrl+Alt+P, S startar valda program. Kile tar inledningen av originaltexten, så att alla paket och användardefinierade kommandon inkluderas. Användaren kan välja en av åtta fördefinierade inställningar:

- Latex+DVI (inbäddad visning)

- Latex+DVI (Okular)

- Latex+PS (inbäddad visning)

- Latex+PS (Okular)

- PDFLatex+PDF (inbäddad visning)

- PDFLatex+PDF (Okular)

- Xelatex+PDF (inbäddad visning)

- Xelatex+PDF (Okular)

Det bör vara tillräckligt för alla situationer då en snabbgranskning behövs.

### Omgivningsläge

Du vill ofta förhandsgranska nuvarande omgivning, och särskilt matematiska omgivningar, som ibland kan vara svåra att skriva. Kile erbjuder ett mycket snabbt sätt att göra det. Ingen markering krävs, välj bara Bygg → Snabbgranskning → Omgivning eller snabbtangenten Ctrl+Alt+P, E så kompileras den nuvarande omgivningen och visas.

### Underdokumentläge

Om du har ett stort projekt med många dokument, är det inte en god idé att kompilera hela projektet. Om du bara har gjort ändringar i ett enda dokument. Kile klarar av att kompilera och visa en förhandsgranskning av det nuvarande underdokumentet. Inledningen tas från huvuddokumentet, och bara den nuvarande delen kompileras, när du väljer Bygg → Snabbgranskning → Underdokument eller snabbtangenten Ctrl+Alt+P, D.

### Matematiskt gruppläge

Förhandsgranskning av matematisk grupp låter dig förhandsgranska den matematiska grupp som du för närvarande redigerar. Kile tar Inledningen från huvuddokumentet, och bara den matematiska gruppen som markören befinner sig i kompileras, när du väljer Bygg → Snabbgranskning → Matematisk grupp eller snabbtangenten Ctrl+Alt+P, M.

### Snabbgranskning i nedre raden

Istället för att visa förhandsgranskningen i ett nytt dokument, kan Kile också ställas in att använda den nedre raden för förhandsgranskning av kompilering. Du kan aktivera funktionen i inställningsrutan för snabbgranskning.

Grafiska filformat
Grafiska filformat

## Grafiska filformat

### LATEX och PDFLATEX

PDFLATEX, när det används med paketen `graphics` eller `graphicx`, kan kompilera PNG- och JPG-filer till DVI eller PDF, men kan inte hantera EPS-filer. Omvänt så stöds EPS av processen att kompilera med LATEX till DVI och konvertera till PS och slutligen PDF, men den stöder inte PNG och JPG.

Många användare vill skapa PDF-dokument, men vill också använda det utmärkta paketet Pstricks för att skapa PostScript®-grafik, eller vill använda PostScript®-utmatning från matematisk eller vetenskaplig programvara som Mathematica, Maple eller MuPAD. Dessa användare av LATEX måste först kompilera PostScript® även om de vill skapa PDF-dokument, eftersom programmen skapar PostScript®-kod som inte kan hanteras av PDFLATEX. Det är dock inte så svårt som det kan låta, eftersom Kile hjälper till.

### Konvertering av grafik

För att klara av den här irriterande rundgången, när du vill inkludera både PostScript® och PNG- eller JPG-filer, finns det ett antal sätt att gå förbi den:

- Om du behöver en fil med PS-format, men har JPG- eller PNG-grafik, kan du också helt enkelt först använda PDFLATEX med DVI-utmatning, och därefter köra dvips för att skapa PS-filen. Du märker att PDFLATEX; är ett mycket bra val om din källkod inte innehåller någon PostScript®-kod alls.

- Du kan konvertera EPS-filer till PNG eller andra format med verktyg som Gimp eller ImageMagick, och använda PDFLATEX.

- Sättet som föredras är att konvertera EPS-grafik till PDF-grafik med epstopdf, som levereras med alla TEX-distributioner, och därefter använda PDFLATEX. Det producerar grafik med hög kvalitet, och du kan till och med styra resultatet med några av följande väljare:

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

  Ännu bättre: Om systemet tillåter `shell-escape`, kan konvertering göras i farten. Allt du behöver göra är att inkludera paketet epstopdf, som ingår i alla TEX-distributioner, med kommandot `\usepackage{epstopdf}`. Antag att din kod är

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

  När du anropar PDFLATEX med väljaren `--shell-escape`, konverteras grafikfilen `test.eps` automatiskt till `test.pdf`.

  Konverteringen utförs varje gång du kör PDFLATEX. Om ditt grafikkommando anges implicit:

              \includegraphics[width=5cm]{test}

  kontrollerar epstopdf om `test.pdf` redan är tillgänglig, så att det konverteringssteget kan hoppas över.

- Du kan konvertera åt andra hållet, och använda LATEX med PS-PDF konvertering. Det rekommenderas inte, eftersom en EPS-inkapsling av JPG- eller PNG-filer kan ge större EPS-filer, som i sin tur ger onödigt stora dokument. Det här är dock ytterst beroende på vilket grafikprogrammet du använder, eftersom EPS kan inkapsla annan grafik, men alla program stöder inte detta perfekt. En del kan verkligen försöka bygga JPG-bilden med vektorer och diverse skript, vilket resulterar i gigantiska filer. Konvertering av alla grafikformat till EPS kan göras av ImageMagick. Ett annat enkelt program som utför processen riktigt är jpg2ps.

- Du kan också använda automatisk konvertering. Alla grafikfiler konverteras i farten till EPS, och infogas i PS-dokumentet. Det är ett bekvämt sätt, men du måste ställa in systemet riktigt. Detta beskrivs i avsnittet EPS-grafik.

### Använd rätt fil för rätt sorts grafik

- EPS är ett sorts grafiskt vektorskriptspråk, som beskriver alla linjer och punkter som grafiken består av. Det ser bra ut till och med när det förstoras mer än normalstorleken, och passar bäst för diagram och vektorgrafik som skapats direkt i EPS. De ser mycket klara och skarpa ut, medan de behåller en mycket liten storlek.

- PNG (eller det mindre lämpliga GIF) är ett förlustfritt filformat , med bra komprimering och kvalitet. Det är mycket bra för diagram, inlästa ritningar, eller någonting vars skärpa måste bibehållas. Det är ibland för mycket av det goda när det används för fotografier.

- JPEG är ett format med förlust, som komprimerar bilder bättre än PNG till priset av en viss förlust av detaljer i bilden. Det har ofta ingen betydelse för fotografier, men kan orsaka dålig kvalitet för diagram eller ritningar, och kan få vissa tunna linjer att försvinna helt. I dessa fall, använd EPS eller PNG.

Men kom alltid ihåg: Skräp in, skräp ut! Ingen konvertering kan få en dålig bild att bli bra.

EPS-grafik
EPS-grafik

## EPS-grafik

EPS-grafikfiler är det traditionella sättet att infoga grafikfiler i LATEX-dokument. Eftersom e-postlistor är fulla med frågor angående EPS-grafik, beskriver vi några viktiga aspekter och demonstrerar hur Kile stöder dem.

### LATEX och EPS-grafik

Om du bestämde dig för att använda det traditionella LATEX för att skapa PS- eller PDF-utmatning, stöter du troligen på vissa problem med grafik. Du måste använda EPS-grafik (Encapsulated PostScript®), inte JPEG- eller PNG-filer. Det ska inte vara något problem, eftersom det finns många konverteringsprogram som convert från det utmärkta paketet ImageMagick. Men det kräver förstås en viss tid.

EPS-filerna används både av LATEX och DVI-PS konverteringen:

- LATEX söker igenom EPS-filen efter den omgivande rutan, som talar om för LATEX hur mycket utrymme som ska reserveras för grafiken.

- Konverteringen DVI-PS läser därefter EPS-filen och infogar grafiken i PS-filen.

Det leder till vissa följder:

- LATEX läser aldrig EPS-filen om den omgivande rutans parametrar anges i kommandot för att infoga grafik.

- Eftersom LATEX bara kan läsa filer som innehåller ASCII, kan det inte läsa informationen om den omgivande rutan från komprimerade eller andra filer än EPS-grafikfiler.

- EPS-grafiken infogas inte i DVI-filen. Eftersom EPS-filerna måste vara tillgängliga när DVI-filen konverteras till PS, måste EPS-filerna följa med DVI-filerna så fort de flyttas.

Nu kan du anropa LATEX och ett DVI-PS konverteringsverktyg som dvips för att skapa ditt PostScript®-dokument. Om målet är ett PDF-dokument, ska du köra dvips med väljaren `-Ppdf` och därefter anropa ps2pdf. Du hittar många dokument som beskriver denna lösningen.

### Sättet med PostScript® i Kile

Kile hjälper dig att hitta information om den omgivande rutan. Om du har installerat paketet ImageMagick, hämtar Kile informationen från EPS-filen och infogar den som ett alternativ. Det görs automatiskt när du väljer grafikfilen. Det finns två fördelar med att gå till väga så här:

- Informationen är redan inläst i dialogrutan, och det behöver inte göras senare av LATEX.

- Ännu viktigare är att bildens bredd och höjd kan beräknas när upplösningen är känd. Informationen visas längst upp i dialogrutan, och kan fungera som en ledtråd när du vill skala grafiken.

- Kile kan också stödja EPS-filer komprimerade med zip eller gzip, som är mycket mindre än okomprimerade EPS-filer. Men funktionen kan bara användas med en särskild systeminställning, och en ändring av din lokala grafikinställning, som beskrivs i avsnittet Punktavbildad grafik.

### Sättet med PostScript® och punktavbildad grafik

Om systemet tillåter `shell-escape`, stöder Kile också ett enkelt sätt att infoga punktavbildad grafik, om du ställer in TEX-systemet riktigt. Det finns inget behov av att konvertera JPEG- eller PNG-grafik, det kan göras automatiskt när DVI-filen konverteras till PS.

LATEX behöver viss information om filändelserna. Paketet `graphicx` letar efter filen `graphics.cfg` som måste finnas någonstans i din sökväg för LATEX-dokument. Sök efter poster som:

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

och ersätt raderna med:

    \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

Du hittar till exempel filen under `/etc/texmf/latex/graphics.cfg` på Debian. Det bästa sättet att gå tillväga är att kopiera filen till din lokala Tex-sökväg och därefter ändra kopian. Se TEX-distributionens manual för att ta reda på hur du får fram en lista med dina TEX-kataloger.

Med den här inställningsfilen har du möjlighet att infoga punktavbildad grafik och EPS-filer komprimerade med zip eller gzip i LATEX. Kommandot för konvertering ges av dvips. När du tittar på konverteringskommandot ser du att ingen extra fil skapas. Resultatet av konverteringsprocessen skickas direkt till PS-filen. Det enda som LATEX måste känna till är grafikens storlek, och därför behöver vi den omgivande rutan, som tillhandahållls av Kile.

Vissa säger att det är ett osäkert sätt. Du måste bestämma dig för hur du vill arbeta. Hur som helst behöver du ingen omgivande ruta, eftersom Kile extraherar informationen från alla typer av grafik.

### PDFLATEX och EPS-grafik

Som redan har nämnts, kan inte PDFLATEX hantera EPS-grafikfiler, men konverteringsverktyg som epstopdf kan hjälpa. Det bästa sättet är att inkludera paketet `epstopdf`, som måste följa paketet `graphicx`.

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

Nu kan du redan infoga EPS-grafik om du kör pdflatex med väljaren `--shell-escape`, men vi kan göra det ännu bättre och också hantera EPS-filer komprimerade med zip eller gzip. Återigen måste vi ändra grafikinställningsfilen `graphics.cfg` enligt ovan. Denna gången söker vi efter:

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

och helt enkelt lägga till några rader:

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

Med dessa rader kan PDFLATEX hantera EPS-filer, och förhoppningsvis ska det inte uppstå fler problem rörande grafik.

Huvuddokument
Huvuddokument

## Huvuddokument

Att definiera dokumentet som huvuddokument, gör att du kan arbeta med olika filer, vilket ger ett överliggande dokument (eller huvuddokument) och underliggande dokument som utgör ett helt verk. Efter att ha definierat huvuddokumentet, med motsvarande kommando i menyn Inställningar, gäller alla kommandon i menyn Verktyg bara detta dokument, även om du arbetar i underliggande dokument. Du kan till och med stänga huvuddokumentet.

Felhantering
Felhantering

## Felhantering

Efter du har kompilerat någonting, tittar Kile på de felmeddelanden som genererades. Om det finns några fel eller varningar, rapporteras de kortfattat i fönstret Logg och meddelanden. Man kan ta en närmare titt på meddelanden genom att välja Bygg → Visa loggfil, eller med snabbtangenten Alt+0. Loggen som skapade visas då i fönstret Logg och meddelanden, med fel och varningar markerade.

Visa loggen

Du kan enkelt gå från ett meddelande i loggfilen till ett annat, genom att använda menyalternativen Bygg → Nästa/Föregående Latexfel/varning, eller genom att använda motsvarande knappar i verktygsraden.

För att gå till raden in LATEX källkod där felet eller varningen uppstod, klicka på felet eller varningen i fönstret Logg och meddelanden. Kile visar automatiskt raden som orsakade problemet.

Filbevakningsläget
Filbevakningsläget

## Filbevakningsläget

När du startar kommandot Snabbygg, anropas normalt någon form av visning efter kompileringen. Om du inte använder inbyggd visning, öppnas ett nytt fönster varje gång.

Om du justerar dokumentets utseende, kanske du startar Snabbygg mycket ofta, och har många visningsfönster öppna på skrivbordet. För att undvika förvirring, kan du aktivera läget Filbevakningsläge som förhindrar att Snabbygg startar visningen.

Läget är förstås oanvändbart med inbyggd visning, eftersom du ändå måste stänga den för att komma tillbaka till redigering av dokumentet och omkompilering.

Kapitel 11. Navigera i LATEX-källkoden
Navigera i LATEX-källkoden

# Kapitel 11. Navigera i LATEX-källkoden

## Användning av strukturvyn

Vyn Struktur visar hierarkin för dokumentet som skapas i Kile, och låter dig snabbt navigera i dokumentet, genom att visa dokumentets delar. För att navigera i dokumentet är allt du behöver göra att vänsterklicka på en rubrik, ett kapitel, ett avsnitt, ett delavsnitt, etc., så kommer du till början av motsvarande område.

Om du inkluderar en separat LATEX-fil i källkoden med taggarna `\input` eller `\include`, refereras de till i vyn Struktur. Att dubbelklicka på dess namn gör att Kile visar den inkluderade filen i redigeringsfönstret.

Strukturträdet har också en särskild gren för etiketter som används i texten.

### Använda den sammanhangsberoende menyn

De flesta posterna i strukturvyn har många alternativ i den sammanhangsberoende menyn, som du kan visa med ett högerklick av musen. Betrakta strukturvyn i följande bild:

Du hittar några etiketter, några sektionsposter, två figuromgivningar och tre bilder. Om du högerklickar på en av sektionsposterna, visas en meny men några användbara kommandon. Alla kommandon som Markera, Ta bort eller Kommentera fungerar för alla rader som hör till sektionen.

Att klicka på en figur- eller tabellpost erbjuder vissa åtgärder gällande referenser, och ett högerklick på en grafisk post erbjuder vissa program för att visa grafiken.

### Uppdatera strukturvyn

För att uppdatera strukturvyn kan du antingen använda Redigera → Uppdatera struktur, trycka på F12, eller spara dokumentet, vilket gör att Kile uppdaterar strukturvyn.

Bokmärken
Bokmärken

## Bokmärken

Bokmärken är användarens referens till ett textstycke eller en rad inne i Kile-miljön. För att använda ett bokmärke, markera en viss rad i dokumentet som du skulle vilja kunna komma tillbaka till, och tryck därefter Ctrl+B, så lägger Kile automatiskt till ett bokmärke på raden. Som ett alternativ kan du också lägga till ett bokmärke genom att markera raden du skulle vilja kunna komma tillbaka till, och välja menyalternativet Bokmärken → Växla bokmärke.

För att ta bort alla bokmärken, välj Bokmärken → Rensa alla bokmärken.

Kapitel 12. Projekt
Projekt

# Kapitel 12. Projekt

## Arbeta med projekt

Du har möjlighet att skapa och arbeta med projekt i Kile. Ett projekt är en gruppering av LATEX, BibTEX eller andra filer som innehåller all information som används för att bygga det fullständiga dokumentet. Ett typiskt projekt skulle vara ett dokument som består av flera kapitel, skrivna i olika `.tex`-filer. Alla skulle då kunna ingå i ett projekt, för att göra hela dokumentet enklare att hantera. Projektets specifikation lagras i en särskild fil, med filändelsen `.kilepr`.

Ett projekt lägger till följande funktioner:

- Du behöver inte ange huvuddokument, utan Kile gör det automatiskt.

- Projektfiler kan enkelt arkiveras tillsammans genom att välja Projekt → Arkivera

- Vyn Filer och projekt visar vilka filer som ingår i projektet.

- Efter ett projekt har öppnats, återställs alla filer som tidigare var öppna med ursprunglig kodning och färgläggning.

- Kodkomplettering fungerar över alla projektfiler.

- Referenskomplettering fungerar över alla projektfiler.

- Hänvisningskomplettering fungerar över alla projektfiler.

- Sök i alla projektfiler.

- Ange egna snabbygg- och makeidx-kommandon.

Alla projektrelaterade kommandon hittar man i menyn Projekt. Där kan man öppna, stänga och hantera projekt.

Skapa ett projekt
Skapa ett projekt

## Skapa ett projekt

För att skapa ett projekt, välj Projekt → Nytt projekt....

Du blir tillfrågad om att ge följande information för att kunna skapa projektet:

- Projektets namn (textfältet Projekttitel).

  Projekttiteln används för att skapa ett namn på projektfilen genom att omvandla till små bokstäver och lägga till filändelsen `.kilepr`.

- En katalog där projektfilen lagras (textfältet Projektkatalog).

- Om du vill skapa en ny huvudfil i projektet, markera alternativet Skapa en ny fil, och lägg till den i projektet.

- När du fyller i rutan Filnamn, måste du ta med en relativ sökväg från platsen där projektfilen `.kilepr` är lagrad (se alternativet Projektkatalog).

- Den skapade filens typ, Tom fil, Artikel, Bok, Brev, Rapport, etc., kan väljas i en lista synlig längst ner i rutan Arkiv.

- Filändelser för standardfilerna i projektet kan väljas i rutan Filändelser. Valet används för att definiera filer som ska öppnas när menyalternativet Projekt → Öppna alla projektfiler väljes, och Kiles guider. Filändelserna i textfältet ska skiljas åt med mellanslag.

Fil- och projektvyn
Fil- och projektvyn

## Fil- och projektvyn

Vyn Filer och projekt visas med en knapp i sidoradens meny. I vyn kan du se projektets struktur, dess filer och namnet på filen `.kilepr` som lagrar projektinformationen. Lägga till filer, ta bort filer, eller ändra alternativ i projektet görs via vyn Filer och projekt.

Fil- och projektvyn

Lägga till och ta bort filer
Lägga till och ta bort filer

## Lägga till och ta bort filer

För att lägga till en fil i projektet, öppna vilken TEX-fil som helst, klicka på namnet i vyn Filer och projekt och välj Lägg till i projekt. Om du har flera öppna projekt, dyker en dialogruta upp där du får ange i vilket projekt filen ska läggas till.

Du kan också högerklicka på projektets namn i vyn Filer och projekt och välja Lägg till filer... för att visa en filvalsdialogruta.

Lägga till en fil i ett projekt

För att ta bort en fil från ett projekt, högerklicka på den och välj Ta bort fil. Det här tar inte bort själva filen (och stänger den inte heller), utan tar bara bort den från listan med filer som finns i filen med filändelsen `.kilepr`.

### Arkivera projekt

Kile låter dig enkelt säkerhetskopiera projektet genom att lagra alla dess filer i ett enda arkiv (ofta kallat ett tar-arkiv). För att arkivera projektet, högerklicka på dess namn i vyn Filer och projekt, eller välj Projekt → Arkivera.

Normalt läggs alla filer i ett projekt till i arkivet. Om du inte vill lägga till en viss fil i arkivet, högerklicka på den i vyn Filer och projekt och avmarkera alternativet Inkludera i arkiv.

Arkiveringskommandot åstadkoms för närvarande genom att köra tar från projektkatalogen (där filen `.kilepr` finns).

Projektalternativ
Projektalternativ

## Projektalternativ

Kile har bara några få alternativ som kan ställas in för projektet. För att ändra dem, högerklicka på projektets namn och välj Projektalternativ, så får du möjlighet att ändra:

- Projektets namn.

- Förvalda filändelser.

- Huvuddokumentet.

- Snabbyggkommandot.

- Väljare för makeidx.

Stänga ett projekt
Stänga ett projekt

## Stänga ett projekt

För att stänga ett projekt, välj vyn Filer och projekt i den vertikala verktygsraden, högerklicka på projektnamnet, och välj Stäng. Då stängs projektet, alla filer som hör ihop med det, och dessutom läggs namnet på projektet som du just stängde till i kombinationsrutan Öppna senaste projekt... i menyn Projekt.

Kapitel 13. Dokumentkodning
Dokumentkodning

# Kapitel 13. Dokumentkodning

Kile-editorn låter dig läsa, konvertera och spara texten med kodningen som dokumentet behöver. Det ger dig möjlighet att exempelvis använda tecken med accent som ofta används i italienska, franska eller svenska direkt i LATEX-dokument. Att välja kodning för ett dokument kan göras på två sätt:

- Ett sätt att ange dokumentkodningen är att använda undermenyn Inställningar → Anpassa Kile... → Editor där du kan ställa in förvald teckenkodning för alla filer.

- Ett andra sätt att ange kodningen för ett dokument är att välja den önskade kodningen inne i guiden för att skapa ett nytt dokument.

LATEX själv förstår bara ASCII-tecken, vilket representerar en mycket begränsad uppsättning tecken, så du har inte möjlighet att använda bokstäver med accent eller specialtecken direkt. För att använda dem ändå, skapades en särskild syntax, som till exempel `\"a` för `ä`. Paketet inputenc är tillgängligt för att hjälpa till med detta. Det infogas i inledningen med `\usepackage[latin1]{inputenc}`, där det valfria argumentet är kodningen som du vill använda (i de flesta fall `utf8`). Det talar om för LATEX att översätta alla `ä` du skrev till `\"a` innan kompilering. Titta direkt i dokumentationen om inputenc för mer information om det. Sist men inte minst, kom ihåg att försäkra dig om att filen verkligen är kodad med samma kodning som du anger för inputenc.

Mängden olika tabeller för teckenkodning har orsakat åtskilliga problem: Du kan till exempel inte skriva en kurs i turkiska på franska utan att ett av språkens specialtecken går förlorade. Det finns en allmän överenskommelse att alla, förr eller senare, ska byta till Unicode. Det finns många implementeringar av Unicode, och UTF-8 är den mest lyckade på Linux®. Windows®(R) förlitar sig på det mer ohanterliga och mindre flexibla UCS-2. Vissa distributioner, som RedHat, har redan börjat ställa in förvald kodning till UTF-8, och därför kan det vara mycket intressant att använda argumentet `utf8` för paketet `inputenc`.

## Paketet ucs

Om du inte har installerat ucs-paketet, kan du fortsätta på följande sätt:

- Hämta paketet ucs från CTAN.

- Packa upp den nerladdade filen och placera den i en katalog som anges i miljövariabeln $`TEXINPUTS`, för att installera det. Det kan också ställas in i Kile.

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

Xelatex
Xelatex

## Xelatex

Om du använder `Xelatex` kan du helt enkelt läsa in paketet `xltxtra`. Det läser in alla paket som krävs.

    \usepackage{xltxtra}

Stöd för CJK
Stöd för CJK

## Stöd för CJK

Att lägga till stöd för språk med ideogram är rätt besvärligt. När du väl har gjort det, fungerar det dock riktigt bra. Förutom att installera paket, behöver visst extra inställningsarbete utföras.

### Tips

Din Linux®-distribution kanske redan har paketet CJK (kinesiska, japanska, koreanska) klart åt dig, så du kan bli besparad besväret att installera allt för hand. Kontrollera det innan du går vidare!

Möjligheten att använda ucs-paketet för att skriva korta snuttar med CJK-text finns, men alternativet har allvarliga begränsningar eftersom det inte hanterar bland annat nyrader. Vi installerar istället det fullständiga CJK-LATEX paketet och får det att fungera både för LATEX och PDFLATEX. Mycket av materialet här är inspirerat av Pai H. Chous sida om hur PDFLATEX ställs in.

1. Ladda ner paketet CJK. Kopiera de uppackade filerna till en lämplig underkatalog under $`TEXMF`, precis som du gjorde med paketet ucs tidigare (se Paketet ucs). Filerna packas upp i katalogen `CJK/X_Y.Z`. Det är inte viktigt att flytta dem, även om det blir snyggare och enklare att underhålla.

2. Nu måste du ladda ner ett teckensnitt som stöder alla CJK-tecken som du behöver. Du kan välja vilken `*.ttf`-fil som helst som täcker dem, men i den här genomgången använder vi Cyberbit. Packa upp filen och byt namn på `Cyberbit.ttf` till `cyberbit.ttf`, eftersom stora bokstäver kan förvirra systemet.

   Placera `cyberbit.ttf` i en katalog tillsammans med `Unicode.sfd`, och skapa filerna `*.tfm` och `*.enc` med kommandot `$ ttf2tfm cyberbit.ttf -w cyberbit@Unicode@`. Av någon anledning skapar detta inte alltid de hundratals filer som det ska. Om det skulle inträffa i ditt fall, kan du ladda ner både `*.tfm`- och `*.enc`-filerna.

   Placera `.tfm`-filerna i lämplig katalog, såsom `$`TEXMF`/fonts/tfm/bitstream/cyberbit/`, `.enc`-filerna kan installeras i `$`TEXMF`/pdftex/enc/cyberbit/`.

3. Nu behöver vi en avbildningsfil för att koppla ihop `.enc`-filerna med teckensnittet. Ladda ner `cyberbit.map` och installera den i `$`TEXMF`/pdftex/config/`.

4. Ladda ner en annan fil, `c70cyberbit.fd`, och placera den i lämplig katalog. Du kan till exempel välja `$`TEXMF`/tex/misc/`.

5. Den sista filen vi måste skapa är ett PostScript® Typ 1 teckensnitt, som behövs för att läsa DVI-filer som skapas med LATEX. Kör kommandot $ ttf2pfb cyberbit.ttf -o cyberbit.pfb och kopiera resultatet `cyberbit.pfb` till en katalog såsom `$`TEXMF`/fonts/type1/cyberbit/`.

6. Låt oss nu placera `cyberbit.ttf` bland teckensnitten där LATEX kan hitta den. Du skulle kunna placera den i en katalog som heter `$`TEXMF`/fonts/truetype/`.

7. Kontrollera inställningsfilen som du hittar med `$`TEXMF`/web2c/texmf.cnf`, och försäkra dig om att raden som nämner `TTFONTS` inte är bortkommenterad och pekar på katalogen där du sparade `cyberbit.ttf`.

8. För att göra det möjligt för PDFLATEX att använda dina CJK-teckensnitt, är det nödvändigt att lägga till en rad i inställningsfilen `$`TEXMF`/pdftex/config/pdftex.cfg`. Lägg till `map +cyberbit.map` i filen för att färdigställa inställningen av PDFLATEX.

9. För att ställa in LATEX så att du kan skapa DVI-filer med CJK-tecken, måste du lägga till en rad i filen `ttfonts.map`. Filen kan finnas i en katalog som heter `$`TEXMF`/ttf2pk/`, men du måste troligen leta efter den. Lägg till raden `cyberbit@Unicode@ cyberbit.ttf` i den.

10. Nu behöver du bara köra `texhash` så ska systemet vara klart.

För att testa om din inställning är riktig, kan du försöka kompilera den här testfilen.

### Felsökning av CJK

Det finns många saker som kan gå fel när CJK-stöd läggs till för hand. Om något inte verkar fungera, kan följande checklista hjälpa dig:

- Eftersom du kör LATEX som en användare och inte som systemadministratör, måste du förstås tillåta vanliga användare att komma åt de nya filerna. Försäkra dig om att alla kataloger och filer kan kommas åt med kommandot chmod.

- Om LATEX skriver DVI utan problem, men du inte kan visa det, beror den nästan säkert på något problem med de automatiskt skapade `*.pk`-tecknensnitten. Det är meningen att de ska skapas i farten när en DVI-fil visas, men det kan misslyckas av ett antal olika orsaker: kontrollera först i `ttfonts.map` efter din egna rad. Det kan dock inträffa att kommandot ttf2pk, som oftast anropas av DVI-visaren, har kompilerats utan stöd för biblioteken kpathsea. Om så är fallet, nämner `ttf2pk `--version``inte kpathsea. Eftersom stöd för dessa bibliotek är nödvändigt, måste du hitta ett nytt paket eller kompilera om FreeType 1 själv.

### Hur matar man in CJK med Unicode?

Det finns ett antal olika inmatningsprogram, och valet kan bero på vad du personligen föredrar. Upphovsmannen använder Skim, en överföring av programmet Scim till KDE. Titta i din distributions dokumentation för att ta reda på hur man installerar programmen. Inställning av sådana program kan också vara besvärlig. I fallet med Skim måste du definiera miljövariabeln ``XMODIFIERS`="@im=SCIM"` innan du startar X.

Kapitel 14. Skript
Skript

# Kapitel 14. Skript

## Skript i Kile

Skriptfunktionaliteten i Kile gör det möjligt att köra Ecmascript-kod, allmänt känt som JavaScript. Det finns en mängd handledningar som ger information om objekt (variabler), funktioner och egenskaper som stöds av JavaScript.

Skriptstöd kan aktiveras i Kiles inställningsdialogruta: Inställningar → Anpassa Kile... → Kile+Skript.

Om skript är aktiverade, visas en ytterligare skriptpanel i sidoraden där skript kan hanteras:

Komponenten innehåller sex ikoner som tillhandahåller olika aktiviteter:

- Kör det markerade skriptet.

- Skapa ett nytt skript.

- Öppna det markerade skriptet i editorn.

- Anpassa en tangentsekvens för det markerade skriptet.

- Ta bort en tilldelad tangentsekvens.

- Uppdatera listan med tillgängliga skript, som alla finns i `$`KDEDIR`/share/apps/kile/scripts/`.

Köra ett skript
Köra ett skript

## Köra ett skript

Du kan köra ett skript på tre olika sätt:

1. Markera önskat skript och klicka på knappen Kör på vänster sida i skripthanteringskomponenten.

2. Använda en snabbtangent.

   Du kan tilldela en snabbtangent till ett skript genom att använda knappen Anpassa i skripthanteringskomponenten.

3. Använda en tangentsekvens i editorn. Skriptet körs när den tilldelade tangentsekvensen skrivs in i editorn.

   Metoden kan utökas till en ganska sofistikerad sorts kodkomplettering. Låt oss anta att du har skrivit ett skript som helt enkelt infogar LATEX-kommandot `\textbf{}` i det nuvarande dokumentet.

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

   Om du nu skriver den tilldelade tangentsekvensen `bfx` i textdokumentet, tas tangentsekvensen bort och skriptet körs. Det kommer att infoga `\textbf{}` och markören placeras mellan krullparenteserna.

   Vilken bekväm och kraftfull metod för kodkomplettering.

Referens till programmeringsgränssnittet
Referens till programmeringsgränssnittet

## Referens till programmeringsgränssnittet

Programmeringsgränssnittet för skript som beskrivs här är tillgängligt i alla skript. Innan skriptets innehåll läses in, lägger Kile först till en mängd prototyper och funktioner i skriptsammanhanget. Detta bekväma programmeringsgränssnitt innehåller prototyper som textmarkörer och textintervall och finns i katalogen `KILE_APP_DIR/script-plugins/`.

Skript i Kile skiljer sig något från skript i Kate, som använder en annan konstruktion eftersom de också kan startas från kommandoraden. Men alla funktioner i Kates programmeringsgränssnitt för skript är också tillgängliga i Kiles programmeringsgränssnitt för skript, så att flytta JavaScript-kod från Kate till Kile bör vara mycket enkelt. Men eftersom Kile är en LATEX-editor med mycket omfattande funktioner, erbjuder dess egna programmeringsgränssnitt för skript många fler möjligheter än det i Kate.

Anmärkning:Beskrivningen av anrop i programmeringsgränssnittet, som också är tillgängliga i Kates skript, är hämtade från Kates dokumentation.

### Globala funktioner

Det här avsnittet listar globala funktioner.

    void debug(String text);

  Skriver ut `text` på `standardutmatningen` i terminalen. Den utskrivna texten är färglagd för att skilja den från annan felsökningsutmatning.

### Prototypen för Cursor

Eftersom Kile är en texteditor är alla programmeringsgränssnitt baserade på markörer och intervall om det är möjligt. En markör (Cursor) ärett enkelt par `(rad, kolumn)`, som representerar en textposition i dokumentet.

    Cursor();

  Konstruktor. Returnerar en markör på position `(0, 0)`.

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

    Cursor(int rad, int kolumn);

  Konstruktor. Returnerar en markör på position (rad, kolumn).

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

    Cursor(Cursor annan);

  Kopieringskonstruktor. Returnerar en kopia av markören `annan`.

  Exempel: `var copy = new Cursor(other);`

    Cursor Cursor.clone();

  Returnerar en klon av markören.

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

    bool Cursor.isValid();

  Kontrollera om markören är giltig. Markören är ogiltig om rad och/eller kolumn har värdet `-1`.

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

    Cursor Cursor.invalid();

  Returnerar en ny ogiltig markör placerad på `(-1, -1)`.

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

    int Cursor.compareTo(Cursor annan);

  Jämför den här markören med markören `annan`. Returnerar

  - `-1`, om den här markören är placerad innan markören `annan`,

  - `0`, om båda markörerna är lika, och

  - `+1`, om den här markören är placerad efter markören `annan`.

    bool Cursor.equals(Cursor annan);

  Returnerar `sant` om den här markören och markören `annan` är lika, annars `falskt`.

    String Cursor.toString();

  Returnerar markören som en sträng på formen `Cursor(rad, kolumn)`.

### Prototyp för Range

Eftersom Kile är en texteditor är alla programmeringsgränssnitt baserade på markörer och intervall om det är möjligt En markör (Cursor) är ett enkelt par `(rad, kolumn)`, som representerar en textposition i dokumentet. Ett intervall (Range) omfattar text från en markörs startposition till en markörs slutposition.

    Range();

  Konstruktor. Att anropa `new Range()` returnerar intervallet `(0, 0) - (0, 0)`.

    Range(Cursor start, Cursor slut);

  Konstruktor: Anrop av `new Range(`start`, `slut`)` returnerar intervallet från markören `start` till markören `slut`.

    Range(int startrad, int startkolumn, int slutrad, int slutkolumn);

  Konstructor: Anrop av `new Range(`startrad`, `startkolumn`, `slutrad`, `slutkolumn`)` returnerar intervallet från (`startrad`, `startkolumn`) till (`slutrad`, `slutkolumn`).

    Range(Range annan);

  Kopieringskonstruktor: Returnerar en kopia av intervallet `annan`.

    Range Range.clone();

  Returnerar en klon av intervallet.

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

    bool Range.isValid();

  Returnerar `sant` om både start- och slutmarkörerna är giltiga, annars `falskt`.

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

    bool Range.invalid();

  Returnerar intervallet från (-1, -1) till (-1, -1).

    bool Range.contains(Cursor markör);

  Returnerar `true` om intervallet innehåller markörpositionen, annars `false`.

    bool Range.contains(Range annan);

  Returnerar `sant` om det här intervallet innehåller intervallet `annat`, annars `falskt`.

    bool Range.containsColumn(int kolumn);

  Returnerar `sant` om `kolumn` är i det halvöppna intervallet `[startkolumn, slutkolumn)`, annars `falskt`.

    bool Range.containsLine(int rad);

  Returnerar `sant` om `rad` är i det halvöppna intervallet `[startrad, slutrad)`, annars `falskt`.

    bool Range.overlaps(Range annan);

  Returnerar `sant` om det här intervallet och intervallet `annat` delar ett gemensamt område, annars `falskt`.

    bool Range.overlapsLine(int rad);

  Returnerar `sant` om `rad` är i intervallet `[startrad, slutrad]`, annars `falskt`.

    bool Range.overlapsColumn(int kolumn);

  Returnerar `sant` om `kolumn` är i intervallet `[startkolumn, slutkolumn]`, annars `falskt`.

    bool Range.equals(Range annan);

  Returnerar `sant` om det här intervallet och intervallet `annat` är lika, annars `falskt`.

    String Range.toString();

  Returnerar intervallet som en sträng på formen `Range(Cursor(rad, kolumn), Cursor(rad, kolumn))`.

### Programmeringsgränssnittet för vyn

När ett skript håller på att köras, finns det ett globalt objekt (variabel) `view` som representerar den för närvarande aktiva editorvyn. Alla funktioner i `view` arbetar med markörpositioner eller markerad text. Det följande är en lista med alla tillgängliga funktioner i `view`.

    void view.backspace();

  Utför motsvarigheten till att trycka på backstegstangenten programmatiskt.

    Cursor view.cursorPosition();

  Returnerar den nuvarande markörpositionen i vyn.

    void view.setCursorPosition(int rad, int kolumn);
    void view.setCursorPosition(Cursor markör);

  Ställ in den nuvarande markörpositionen till antingen `rad`, `kolumn` eller till angiven `markör`.

    void view.cursorLeft();

  Flyttar markören en position bakåt i texten.

    void view.cursorRight();

  Flyttar markören en position framåt i texten.

    void view.cursorUp();

  Flyttar markören en rad uppåt i dokumentet.

    void view.cursorDown();

  Flyttar markören en rad neråt i dokumentet.

    int view.cursorLine();

  Returnerar raden där markören för närvarande är placerad.

    int view.cursorColumn();

  Returnerar kolumnen där markören för närvarande är placerad.

    void view.setCursorLine(int rad);

  Ändra markörens rad till angiven `rad`.

    void view.setCursorColumn(int kolumn);

  Ändra markörens kolumn till angiven `kolumn`.

    Cursor view.virtualCursorPosition();

  Hämta den nuvarande virtuella markörpositionen. Virtuell betyder att tabulatortecknet (TAB) räknas som flera tecken, enligt vad som är inställt av användaren (t.ex. en tabulator är 8 mellanslag). Den virtuella markörpositionen ger tillgång till den nuvarande markörpositionens värde som användaren ser.

    bool view.hasSelection();

  Returnerar `true` om vyn har markerad text, annars `false`.

    String view.selectedText();

  Returnerar den markerade texten. Om ingen text är markerad, är den returnerade strängen tom.

    Range view.selectionRange();

  Returnerar det markerade textintervallet. Det returnerade intervallet är ogiltigt om det inte finns någon markerad text.

    void view.setSelection(Range intervall);

  Ställer in markerad text till angivet `intervall`.

    void view.selectAll();

  Markerar hela texten i dokumentet.

    void view.clearSelection();

  Rensar textmarkeringen utan att ta bort texten.

    void view.removeSelectedText();

  Tar bort den markerade texten. Om vyn inte har någon markerad text, händer ingenting.

    void view.selectLine();

  Markerar texten på nuvarande rad.

    void view.selectLine(int rad);

  Markerar texten på angiven `rad`.

    void view.selectLines(int från, int till);

  Markerar hela texten från rad `från` till rad `till`.

    void view.selectWord();

  Markerar aktuellt ord. Om inget ord hittas vid markörens position händer ingenting.

    void view.selectLatexCommand();

  Markerar aktuellt LATEX-kommando. Om inget kommando hittas vid markörens position händer ingenting.

    void view.selectEnvironment(bool inuti = false);

  Markerar hela texten i den nuvarande LATEX-omgivningen. Om`inuti` är `false`, markeras omgivningstexten inklusive LATEX-taggarna `\begin{...}...\end{...}`, annars ingår inte taggarna. Om ingen parameter anges, sätts `inuti` till `false`.

    void view.selectTexgroup(bool inuti = true);

  Markerar texten i den nuvarande LATEX-omgivningen. Om`inuti` är `true`, markeras bara textgruppen utan omgivande krullparenteser. Om ingen parameter anges, sätts `inuti` till `true`.

    void view.selectMathgroup();

  Markerar texten i aktuell matematikgrupp.

    void view.selectParagraph(bool wholeLines = true);

  Markerar hela texten i det nuvarande LATEX-stycket. Om `wholeLines` är `true`, ingår styckets första och sista rader helt och hållet (inklusive radslutstecken), annars innehåller markeringen bara tecken som inte är blanktecken.

### Programmeringsgränssnittet för dokumentet

Så snart ett skript körs, finns ett globalt objekt (variabel) `document` som representerar det nuvarande aktiva dokumentet. Det följande är en lista över tillgängliga funktioner för `document`.

    void document.insertText(String text);

  Infogar `text` vid aktuell markörposition.

    void document.insertText(int rad, int kolumn, String text);
    void document.insertText(Cursor markör, String text);

  Infogar `text` vid angiven markörposition.

    bool document.removeText(int frånrad, int frånkolumn, int tillrad, int tillkolumn);
    bool document.removeText(Cursor från, Cursor till);
    bool document.removeText(Range intervall);

  Tar bort text i det givna intervallet. Returnerar `sant` om det lyckas, eller `falskt` om dokumentet är skrivskyddat.

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

  Ersätter texten i det givna intervallet med den angivna texten.

    int document.lines();

  Returnerar antal rader i dokumentet.

    int document.length();

  Returnerar antal tecken i dokumentet.

    Range document.documentRange();

  Returnerar ett intervall som omfattar hela dokumentet.

    Cursor document.documentEnd();

  Returnerar aktuell markörposition för dokumentets slut.

    String document.text();

  Returnerar dokumentets hela innehåll i en enda textsträng. Nya rader är markerade med nyradstecknet `\n`.

    String document.text(int frånrad, int frånkolumn, int tillrad, int tillkolumn);
    String document.text(Cursor från, Cursor till);
    String document.text(Range intervall);

  Returnerar texten i det angivna intervallet. Det rekommenderas att använda markör- och intervallbaserade versioner för bättre läsbarhet hos källkoden.

    bool document.setText(String text);

  Anger hela dokumentets text.

    bool document.clear();

  Tar bort hela texten i dokumentet.

    String document.line();

  Returnerar aktuell textrad som en sträng.

    String document.line(int rad);

  Returnerar den givna textraden som en sträng. Strängen är tom om den begärda raden är utanför tillgängligt intervall.

    int document.lineLength();

  Returnerar den aktuella radens längd.

    int document.lineLength(int rad);

  Returnerar längden på `rad`.

    bool document.insertLine(String s);

  Infogar text på den nuvarande raden. Returnerar `true` om det lyckas, eller `false` om dokumentet är skrivskyddat eller raden inte ingår i dokumentets intervall.

    bool document.insertLine(int rad, String s);

  Infogar text på den givna raden. Returnerar `sant` om det lyckas, eller `falskt` om dokumentet är skrivskyddat eller raden inte ingår i dokumentets intervall.

    bool document.removeLine();

  Tar bort den nuvarande textraden. Returnerar `true` om det lyckas, eller `false` om dokumentet är skrivskyddat.

    bool document.removeLine(int rad);

  Tar bort den givna textraden. Returnerar `sant` om det lyckas, eller `falskt` om dokumentet är skrivskyddat eller raden inte ingår i dokumentets intervall.

    bool document.replaceLine(String text);

  Ersätter texten på aktuell rad med den angivna texten.

    bool document.replaceLine(int rad, String text);

  Ersätter texten på den givna raden med angiven text.

    bool document.truncateLine();

  Avkorta den nuvarande raden från angiven kolumn eller markörposition. Returnerar `true` om det lyckas, eller `false` om den angivna raden inte ingår i dokumentets intervall.

    bool document.truncate(int rad, int kolumn);
    bool document.truncate(Cursor markör);

  Avkortar den givna raden på den givna kolumnen eller markörpositionen. Returnerar `sant` om det lyckas, eller `falskt` om den givna raden inte ingår i dokumentets intervall.

    String document.word();

  Returnerar ordet på den nuvarande markörpositionen. Om inget ord hittas på markörpositionen, är den returnerade strängen tom.

    String document.wordAt(int rad, int kolumn);
    String document.wordAt(Cursor markör);

  Returnerar ordet på den angivna markörpositionen. Om inget ord hittas på markörpositionen, är den returnerade strängen tom.

    Range document.wordRange();

  Returnerar intervallet för ordet vid den angivna markörpositionen. Om inget ord hittas, returneras `Range.invalid()`, vilket kan kontrolleras med `Range.isValid()`.

    String document.latexCommand();

  Returnerar LATEX-kommandot på den nuvarande markörpositionen. Om inget kommando hittas vid markörpositionen är den returnerade strängen tom.

    String document.latexCommandAt(int rad, int kolumn);
    String document.latexCommandAt(Cursor markör);

  Returnerar LATEX-kommandot på den angivna markörpositionen. Om inget kommando hittas på markörpositionen, är den returnerade strängen tom.

    Range document.latexCommandRange();

  Returnerar intervallet för LATEX-kommandot vid den angivna markörpositionen. Om inget kommando hittas, returneras `Range.invalid()`, vilket kan kontrolleras med `Range.isValid()`.

    String document.charAt(int rad, int kolumn);
    String document.charAt(Cursor markör);

  Returnerar tacknet på den angivna markörpositionen.

    String document.firstChar(int rad);

  Returnerar det första tecknet på angiven `rad` som inte är ett blanktecken. Det första tecknet finns på kolumn 0. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.

    String document.lastChar(int rad);

  Returnerar det sista tecknet på angiven `rad` som inte är ett blanktecken. Om raden är tom, eller bara innehåller blanktecken, är den returnerade strängen tom.

    bool document.isSpace(int rad, int kolumn);
    bool document.isSpace(Cursor markör);

  Returnerar `sant` om tecknet på den givna markörpositionen är ett blanktecken, annars `falskt`.

    void document.insertBullet();

  Infoga en Kile punkt. Kom ihåg att du enkelt kan gå till nästa eller föregående punkt. Detta markerar också punkten så att den automatiskt tas bort när den första bokstaven skrivs in.

    void document.nextBullet();

  Gå till nästa punkt i texten om det finns någon.

    void document.previousBullet();

  Gå till föregående punkt i texten om det finns någon.

    bool document.hasEnvironment();

  Returnerar `true` om en omgivande LATEX-omgivning hittas, annars `false`.

    String document.environment(bool inuti = false);

  Returnerar hela texten i den nuvarande LATEX-omgivningen. Om`inuti` är `false`, returneras omgivningstexten inklusive LATEX-taggarna `\begin{...}...\end{...}`, annars ingår inte taggarna. Om ingen parameter anges, sätts `inuti` till `false`. Om ingen omgivning hittas är den returnerade strängen tom.

    Range document.environmentRange(bool inuti = false);

  Returnerar intervallet i den nuvarande LATEX-omgivningen. Om`inuti` är `false`, returneras intervallet inklusive LATEX-taggarna `\begin{...}...\end{...}`, annars ingår inte taggarna. Om ingen parameter anges, sätts `inuti` till `false`. Om inget kommando hittas, returneras `Range.invalid()`, vilket kan kontrolleras med `Range.isValid()`.

    String document.environmentName();

  Returnerar namnet på den omgivande LATEX-omgivningen eller en tom sträng.

    void document.removeEnvironment(bool inuti = false);

  Tar bort texten i den nuvarande LATEX-omgivningen. Om`inuti` är `false`, tas omgivningstexten inklusive LATEX-taggarna `\begin{...}...\end{...}` bort, annars ingår inte taggarna. Om ingen parameter anges, sätts `inuti` till `false`.

    void document.closeEnvironment();

  Infoga en avslutande omgivningstagg, om en öppen LATEX-omgivning hittas på markörens nuvarande position.

    void document.closeAllEnvironments();

  Infoga avslutande omgivningstaggar, för alla öppna LATEX-omgivningar som hittades på markörens nuvarande position.

    bool document.hasTexgroup();

  Returnerar `true` om en omgivande LATEX-grupp hittas vid markörens nuvarande position, annars `false`.

    String document.texgroup(bool inuti = true);

  Returnerar texten i den omgivande LATEX-gruppen. Om`inuti` är `false`, returneras texten i LATEX-gruppen inklusive omgivande krullparenteser `{...}`, annars ingår de inte. Om ingen parameter anges, sätts `inuti` till `false`. Den returnerade strängen tom om ingen omgivande LATEX-grupp hittas på markörens nuvarande position.

    Range document.texgroupRange(bool inuti = true);

  Returnerar intervallet i den omgivande LATEX-gruppen. Om`inuti` är `false`, returneras intervallet inklusive omgivande krullparenteser `{...}`, annars ingår de inte. Om ingen parameter anges, sätts `inuti` till `false`. Om ingen grupp hittas, returneras `Range.invalid()`, vilket kan kontrolleras med `Range.isValid()`.

    void document.removeTexgroup(bool inuti = true);

  Tar bort texten i den omgivande LATEX-gruppen. Om`inuti` är `false`, tas texten i LATEX-gruppen inklusive omgivande krullparenteser `{...}` bort, annars ingår de inte. Om ingen parameter anges, sätts `inuti` till `false`.

    bool document.hasMathgroup();

  Returnerar `true` om en omgivande LATEX-matematikgrupp hittas, annars `false`.

    String document.mathgroup();

  Returnerar den omgivande LATEX-matematikgruppens text. Den returnerade strängen är tom om ingen omgivande LATEX-matematikgrupp hittas vid markörens nuvarande position.

    Range document.mathgroupRange();

  Returnerar intervallet för den omgivande LATEX-matematikgruppen. Om ingen matematikgrupp hittas, returneras `Range.invalid()`, vilket kan kontrolleras med `Range.isValid()`.

    void document.removeMathgroup();

  Tar bort den omgivande LATEX-matematikgruppens text.

    String document.paragraph();

  Returnerar det nuvarande LATEX-styckets text.

    Range document.paragraphRange();

  Returnerar intervallet för det omgivande LATEX-stycket.

    void document.removeParagraph();

  Tar bort det nuvarande LATEX-styckets text.

    bool document.matchesAt(int rad, int kolumn, String text);
    bool document.matchesAt(Cursor markör, String text);

  Returnerar `sant` om given `text` matchar på den motsvarande markörpositionen, annars `falskt`.

    bool document.startsWith(int rad, String mönster, bool hoppa-över-blanktecken = true);

  Returnerar `true` om raden börjar med `mönster`, annars `false`. Parametern `hoppa-över-blanktecken` bestämmer om inledande blanktecken ignoreras.

    bool document.endsWith(int rad, String mönster, bool hoppa-över-blanktecken = true);

  Returnerar `true` om raden slutar med `mönster`, annars `false`. Parametern `hoppa-över-blanktecken` bestämmer om avslutande blanktecken ignoreras.

    int document.firstColumn(int rad);

  Returnerar det första tecknet som inte är ett blanktecken på given `rad`. Om det bara finns blanktecken på raden, är returvärdet `-1`.

    int document.lastColumn(int rad);

  Returnerar det sista tecknet som inte är ett blanktecken på given `rad`. Om det bara finns blanktecken på raden, är returvärdet `-1`.

    int document.prevNonSpaceColumn(int rad, int kolumn);
    int document.prevNonSpaceColumn(Cursor markör);

  Returnerar kolumnen med ett tecken som inte är ett blanktecken med början på given markörposition genom att söka bakåt.

    int document.nextNonSpaceColumn(int rad, int kolumn);
    int document.nextNonSpaceColumn(Cursor markör);

  Returnerar kolumnen med ett tecken som inte är ett blanktecken med början på given markörposition genom att söka framåt.

    int document.prevNonEmptyLine(int rad);

  Returnerar nästa rad som inte är tom och som innehåller tecken som inte är blanktecken, genom att söka bakåt.

    int document.nextNonEmptyLine(int rad);

  Returnerar nästa rad som inte är tom och som innehåller tecken som inte är blanktecken, genom att söka framåt.

    void document.gotoBeginEnv();

  Gå till början av en omgivande LATEX-omgivning.

    void document.gotoEndEnv();

  Gå till slutet av en omgivande LATEX-omgivning.

    void document.gotoBeginTexgroup();

  Gå till början av en omgivande LATEX-grupp.

    void document.gotoEndTexgroup();

  Gå till slutet av en omgivande LATEX-grupp.

    void document.gotoNextParagraph();

  Gå till nästa LATEX-stycke.

    void document.gotoPrevParagraph();

  Gå till föregående LATEX-stycke.

    void document.gotoNextSectioning();

  Gå till nästa LATEX-avsnitt.

    void document.gotoPrevSectioning();

  Gå till föregående LATEX-avsnitt.

    void document.gotoLine(int rad);

  Gå till angiven `rad`.

    void document.insertChapter();

  Infoga kommandot `\chapter` (se också `document.insertSection()`).

    void document.insertSection();

  Infoga kommandot `\section`. Som när menyalternativet Latex → Sektioner → section används, dyker en dialogruta upp där du kan välja rubrik och en valfri etikett för det här sektionskommandot.

    void document.insertSubsection();

  Infoga kommandot `\subsection` (se också `document.insertSection()`).

    void document.insertSubsubsection();

  Infoga kommandot `\subsubsection` (se också `document.insertSection()`).

    void document.insertParagraph();

  Infoga kommandot `\paragraph` (se också `document.insertSection()`).

    void document.insertSubparagraph();

  Infoga kommandot `\subparagraph` (se också `document.insertSection()`).

    void document.insertLabel();

  Infoga kommandot `\label`.

    void document.insertReference();

  Infoga kommandot `\ref`. Som när menyalternativet LATEX → Referenser → ref används, dyker en dialogruta upp där du kan välja bland redan definierade etiketter som listas i en kombinationsruta.

    void document.insertPageref();

  Infoga kommandot `\pageref` (se också `document.insertReference()`).

    void document.insertCitation();

  Infoga kommandot `\cite`.

    void document.insertIndex();

  Infoga kommandot `\index`.

    void document.insertFootnote();

  Infoga kommandot `\footnote`.

    void document.comment();

  Infogar kommentarmarkörer så att markeringen eller nuvarande rad blir en kommentar.

    void document.uncomment();

  Tar bort kommentarmarkörer från markeringen eller nuvarande rad.

    void document.uppercase();

  Ändra den markerade texten eller bokstaven efter markören till stora bokstäver.

    void document.lowercase();

  Ändra den markerade texten eller bokstaven efter markören till små bokstäver.

    void document.capitalize();

  Ändra den inledande bokstaven för orden i den markerade texten eller i aktuellt ord till stor bokstav.

    void document.joinLines();

  Sammanfogar raderna i den nuvarande markeringen. Två textrader i följd åtskiljs alltid av ett enda mellanslag.

    void document.insertIntelligentNewline();

  Infoga en smart nyrad (se Smart nyrad).

    void document.insertIntelligentTabulator();

  Infoga en smart tabulator (se Smart tabulator).

    void document.editBegin();

  Startar en redigeringsgrupp för gruppering av ångra/gör om. Försäkra dig om att alltid anropa `editEnd()` lika många gånger som du anropar `editBegin()`. Att anropa `editBegin()` använder en referensräknare internt, dvs. anropet kan nästlas.

    void document.editEnd();

  Avslutar en redigeringsgrupp. Det sista anropet av `editEnd()` (dvs. det för det första anropet till `editBegin()`) avslutar redigeringssteget.

    StringList document.labelList();

  Returnerar alla definierade etiketter som en `StringList`, vilken kan användas i JavaScript som ett fält av strängar.

    StringList document.bibitemList();

  Returnerar alla definierade bibitems som en `StringList`, vilken kan användas i JavaScript som ett fält av strängar.

    void document.refreshStructure();

  Uppdaterar strukturvyn (se Navigera i LATEX-källkoden).

### Programmeringsgränssnittet för Kile

Det globala objektet (variabeln) `kile` används för att hantera interaktion på toppnivå med den omgivande världen, indatameddelanden och dialogrutegränssnitt. Dessa anrop till programmeringsgränssnittet är uppdelade i delobjekt för att strukturera den här delen av skriptgränssnittet. Begreppsmässigt påminner `kile` något om `window` i ett programmeringsgränssnitt för webbläsare.

- `kile.alert`: Meddelanderutor

- `kile.input`: Hämta inmatning från användaren

- `kile.wizard`: Anropa en av guiderna i Kile

- `kile.script`: Hämta information om ett skript som kör

- `kile.file`: Åtgärder med filer, som läs och skriv.

#### Meddelanden

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

  Visa en informationsdialogruta. `text` är meddelandets sträng och `rubrik` är meddelanderutans namn. Standardnamnet är skriptets namn.

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

  Visa dialogrutan Tyvärr. `text` är meddelandets sträng och `rubrik` är meddelanderutans namn. Standardnamnet är skriptets namn.

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

  Visa en feldialogruta. `text` är meddelandets sträng och `rubrik` är meddelanderutans namn. Standardnamnet är skriptets namn.

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

  Visa en enkel frågedialogruta. `text` är meddelandets sträng och `rubrik` är meddelanderutans namn. Standardnamnet är skriptets namn. Den returnerade strängen är antingen `yes` eller `no`.

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

  Visa en enkel varningsdialogruta. `text` är meddelandets sträng och `rubrik` är meddelanderutans namn. Standardnamnet är skriptets namn. Den returnerade strängen är antingen `continue` eller `cancel`.

#### Inmatning

    String kile.input.getListboxItem(String rubrik, String etikett, StringList lista);

  Funktion för att låta användaren välja ett objekt i en lista, som visas som en listruta. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för listan och `lista` är stränglistan som infogas i rutan.

    String kile.input.getComboboxItem(String rubrik, String etikett, StringList lista);

  Funktion för att låta användaren välja ett objekt i en lista, som visas som en kombinationsruta. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för listan och `lista` är stränglistan som infogas i rutan.

    String kile.input.getText(String rubrik, String etikett);

  Funktion för att hämta en sträng från användaren. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för radeditorn.

    String kile.input.getLatexCommand(String rubrik, String etikett);

  Funktion för att hämta ett LATEX-kommando från användaren. Det betyder att bara små och stora bokstäver tillåts. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för radeditorn.

    int kile.input.getInteger(String rubrik, String etikett, int min = INT_MIN, int max = INT_MAX);

  Funktion för att hämta ett heltal från användaren. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för nummerrutan. `min` och `max` är det minsta och största tillåtna värdet som användaren kan välja. Förvalda värden är `INT_MIN` och `INT_MAX`.

    int kile.input.getPosInteger(String rubrik, String etikett, int min = 1, int max = INT_MAX);

  Funktion för att hämta ett positivt heltal från användaren. `rubrik` är texten som visas i namnlisten, `etikett` är texten som syns som etikett för nummerrutan. `min` och `max` är det minsta och största tillåtna värdet som användaren kan välja. Förvalda värden är `1` och `INT_MAX`.

#### Guider

    void kile.wizard.tabular();

  Anropar tabellguiden som hjälper till att skriva en tabellomgivning (se Fält och tabeller).

    void kile.wizard.array();

  Anropar fältguiden som hjälper till att skriva en fältomgivning (se Fält och tabeller).

    void kile.wizard.tabbing();

  Anropar tabulatorguiden som hjälper till att skriva en tabulatoromgivning (se Fält och tabeller).

    void kile.wizard.floatEnvironment();

  Anropar flytguiden som hjälper till att infoga flytande element (se Infoga flytande element).

    void kile.wizard.mathEnvironment();

  Anropar matematikguiden som hjälper till att infoga matematikomgivningar (se Infoga en matematikomgivning).

    void kile.wizard.postscript();

  Anropar Postscript-verktygsguiden som kan hjälpa till att hantera eller arrangera om Postscript-dokument (se PostScript®-verktyg).

#### Skript

    String kile.script.name();

  Returnerar basnamnet på ett skript som kör (utan sökväg och filändelse).

    String kile.script.caption();

  Returnerar en sträng som kan användas som rubrik i underrättelserutor. Det ser ut som `Script: scriptname.js`.

#### Fil

    Object kile.file.read(String filnamn);

  Läser innehållet i en textfil. Det används på följande sätt:

  Exempel: `var res = kile.file.read("path/to/file.txt");`

  Returvärdet `res` är ett objekt (eller bättre: en avbildning) med tre egenskaper:

  - status: Anger åtgärdens statuskod, som kan vara 0 (inget fel), 1 (åtkomst misslyckades) eller 2 (åtkomst nekades). Så om inget fel uppstod är värdet av `res.status` eller `res["status"]` 0.

  - result: Innehåller den angivna filens text.

  - message: Innehåller ett felmeddelande om ett fel uppstod.

    Object kile.file.read();

  Samma sak som `read(filnamn)`, men inget filnamn anges. En dialogruta kommer att visas för att välja filen att läsa.

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

  Skriv den angivna texten till en fil. Det används på följande sätt:

  Exempel: `var res = kile.file.write("sökväg/till/fil.txt","Någon text...");`

  Returvärdet `res` är ett objekt (eller bättre: en avbildning) med två egenskaper: `status` och `message` (se `read()` för mer information).

    Object kile.file.write(String text);

  Samma sak som `write(filename,text)` men inget filnamn anges. En dialogruta dyker upp för att välja ett filnamn.

    String kile.file.getOpenFileName(String startkatalog, String filter);

  Skapar en fildialogruta och returnerar det valda filnamnet eller en tom sträng om inget väljes. Observera att med den här metoden måste användaren välja ett befintligt filnamn.

  Parametrar:

  - startkatalog: Den öppnade dialogrutans startkatalog.

  - filter: En sträng med jokertecken för skalet eller ett Mime-typfilter som anger vilka filer som ska visas. Se dokumentationen av KFileDialog för mer information om parametern.

  Båda parametrar är valfria. Om `filter` utelämnas visas alla filer. Om dessutom `startkatalog` utelämnas använder dialogrutan det nuvarande dokumentets katalog som startpunkt.

    String kile.file.getSaveFileName(String startkatalog, String filter);

  Skapar en fildialogruta och returnerar det valda filnamnet eller en tom sträng om inget väljes. Observera att med den här metoden behöver användaren inte välja ett befintligt filnamn. Se `getOpenFileName()` för en förklaring av parametrarna.

Exempel
Exempel

## Exempel

Några exempel kan hjälpa till att förstå hur skriptgränssnittet används. Dessa exempel och ytterligare några finns i Kiles skriptkatalog: `KILE_APP_DIR/scripts/`. Varje skript innehåller en kortfattad beskrivning.

### Exempel 1: Ersätt omgivningsnamn

Ersätt en omgivande LATEX-omgivning med en annan, där den relativa markörpositionen inte ändras. `\begin{abc}...\end{abc}` kan exempelvis ändras till `\begin{xyz}...\end{xyz}`.

    var range = document.environmentRange(false);
    if ( range.isValid() ) {
            var envname = kile.input.getLatexCommand("Ange omgivning","Nytt omgivningsnamn:");
            if ( envname != '' ) {
                    replaceEnvCommand(envname,range);
            }
    }
    else {
            kile.alert.sorry("Ingen omgivande Latex-omgivning hittades.");
    }

    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();
            }
    }

### Exempel 2: Ersätt ett LATEX teckensnittskommando

Ersätt ett omgivande LATEX-teckensnittkommando med ett annat teckensnittkommando där markören är placerad inne i tex-gruppen. Den relativa markörpositionen ändras inte. `\textbf{abc}` kan exempelvis ändras till `\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("Ingen omgivande Tex-grupp hittades.");
    }

    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",
                                                        "Choose font command:",buildCmdList(cmd));
                            if ( newcommand != "" ) {
                                    document.replaceText(cmdRange,newcommand);
                                    c.column = c.column - (cmd.length - newcommand.length);
                            }
                    }
    /                view.setCursorPosition(c);
            }
            else {
                    kile.alert.sorry("Inget omgivande teckensnittkommando hittades.");
            }
            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;
    }

### Exempel 3: Omge markerad text

Omge markerad text med ett Tex-kommando där den relativa markörpositionen inte ändras. `abc` kan exempelvis ändras till `\texkommando{abc}`.

    var range = view.selectionRange();

    if ( range.isValid() ) {
            var cmd = kile.input.getLatexCommand("Välj","Välj omgivande Latex-kommando:");
            if ( cmd != "" ) {
                    surroundTexCommand("\\"+cmd,range);
            }
    }
    else {
            kile.alert.sorry("Ingen markering hittades.");
    }

    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();
    }

Kapitel 15. Hjälp
Hjälp

# Kapitel 15. Hjälp

## Hjälpdokument

LATEX är ett rätt avancerat system, där de grundläggande funktionerna kan utökas med en stor variation av ytterligare paket. Kile tillhandahåller en mängd olika typer av hjälp för att stödja användaren.

Undermenyn Hjälp → Latex-dokumentation omfattar dokumentation av alla paket som ingår och ytterligare referensdokumentation för LATEX.

Dokumentationsbläddrare

  Ett praktiskt verktyg för att bläddra bland alla LATEX-ämnen. Installera LATEX hjälppaket från distributionen om du behöver den fullfjädrade dokumentationssamlingen.

Latex

  En fullständig inofficiell referensdokumentation för TEX och tillhörande program. Det är inte bara en beskrivning av alla program, utan vissa viktiga paket nämns också. Det omfattar också en fullständig referensmanual för LATEX-kommandon, ideal för att slå upp en viss typ av formatering medan ett dokument skrivs. Eftersom dokumentet är verkligt omfattande, delar Kile upp det med tre viktiga bokmärken.

Latex-kommandon

  Ett annat alfabetiskt index över de vanligaste kommandona i LATEX.

Latex-omgivningar

  Ett alfabetiskt index över de vanligaste omgivningarna i LATEX.

Sammanhangsberoende hjälp
Sammanhangsberoende hjälp

## Sammanhangsberoende hjälp

Kile stöder också sammanhangsberoende hjälp, vilken anropas med Ctrl+Alt+H, K. I Inställningar → Anpassa Kile... → Kile+Hjälp kan du välja om du vill använda Kiles LATEX-referens eller hjälpsystemet i teTEX eller TeX Live, som är förvald inställning.

Söka efter nyckelord
Söka efter nyckelord

## Söka efter nyckelord

Det är inte alltid lätt att hitta rätt dokument, eftersom teTEX och TeX Live levereras med en enorm mängd hjälpdokument. För att förenkla processen erbjuder teTEX och TeX Live ett litet program som kallas texdoctk. Det tillhandahåller en databas med alla hjälpdokument, som Kile tillhandahåller ett andvändarvänligt gränssnitt för.

Alla dokument är grupperade i olika kategorier. Dessutom kan man söka efter paketnamn eller nyckelord. Kile visar därefter bara hjälpdokument som motsvarar söksträngen.

Ett dubbelklick med musen, eller mellanslagstangenten, startar visning av dokumentet. Det kan vara ett godtyckligt dokument, inte bara DVI-, PS-, PDF- eller HTML-dokument. Kile använder inställningarna i KDE för att starta lämpligt visningsprogram.

Användardefinierad hjälp
Användardefinierad hjälp

## Användardefinierad hjälp

Förutom den statiska teTEX- och TeX Live-dokumentationen, stöder Kile också ett smidigare sätt för hjälpdokument. I menyn Hjälp har Kile en särskild undermeny Användarhjälp, där användaren kan lägga till dokument som han eller hon själv väljer. De kan vara de viktigaste dokumenten i teTEX- och TeX Live-dokumentationen, eller till och med egenframställda dokument. Det är också möjligt att ange webbadresser.

Gå till Inställningar → Anpassa Kile... → Kile+Hjälp och välj knappen Anpassa för att ställa in menyn Användarhjälp. Man kan lägga till, ta bort eller flytta menyalternativ, och dessutom infoga avskiljare för att få en bättre struktur.

Genom att klicka på knappen Lägg till visas en annan dialogruta, där du kan redigera menyalternativets namn, och välja motsvarande fil eller webbadress. Den andra knappen till höger om textfältet startar Konqueror som kan användas för att bestämma den riktiga webbadressen.

Efter inställningen har slutförts visas alla valda alternativ i Kiles meny Hjälp som ett särskilt menyalternativ Användarhjälp.

Kapitel 16. Tack till och licens
Tack till och licens

# Kapitel 16. Tack till och licens

Kile är en användarvänlig LATEX/TEX-källkodseditorf. Den kör på system med KDE:s skrivbordsmiljö installerad. KDE är tillgängligt för flera arkitekturer inklusive Linux® och andra Unix-liknande system.

Stort tack går till alla som anstränger sig för att Kile-projektet ska kunna fortsätta, och de som offrar många timmar av sin tid för att utveckla verktyg som vi alla kan använda under GNU-licens. Aktuell information om bidragsgivare finns i dialogrutan Om Kile från Hjälp-menyn.

Många tack till alla inblandade!

Översättning Stefan Asserhäll `(stefan.asserhall AT bredband.net)`

Den här dokumentationen licensieras under villkoren i GNU Free Documentation License.

Det här programmet licensieras under villkoren i GNU General Public License.