> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/sv/dokumentstruktur/04-indices.md).

# Index

I vissa stora dokument, till exempel böcker, är det brukligt att göra en alfabetisk lista med de viktigaste termerna. Med LaTeX och stödprogrammet **imakeidx**, kan ett index genereras ganska enkelt.

## Introduktion

Låt oss se ett enkelt fungerande exempel.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex

\begin{document}
\section{Introduction}
I det här exemplet kommer flera nyckelord\index{keywords} att användas
som är viktiga och förtjänar att visas i Index\index{Index}.

Termer som generate\index{generate} och some\index{others} kommer
också att visas.

\printindex
\end{document}
```

[Öppna det här exemplet i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+%0Awhich+are+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+%0Aalso+show+up.+%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Följande bild visar utdata som genereras av exemplet ovan:

![Index1OLV2.png](/files/a4ca08ba7f1cee7ded2cf145d1447a0c59d105c2)

Först inkluderas paketet i preamblen med raden

```latex
\usepackage{imakeidx}
```

Sedan är kommandot `\makeindex` obligatoriskt för att indexet ska fungera och kan ta några parametrar för att anpassa dess utseende, i nästa avsnitt blir detta tydligt.

För att lägga till en post i indexet används kommandot `\index{}` används, där ordet som ska läggas till anges som parameter. Var försiktig, detta skriver inte ut ordet på den aktuella platsen utan bara i indexet.

Slutligen kommer kommandot `\printindex` kommer faktiskt att återge indexet. Om du använder en särskild lokalisering med hjälp av `babel` paketet kommer titeln att översättas därefter.

Obs: i stället för `imakeidx`, kan paketet `makeidx` importeras, men erbjuder färre möjligheter till anpassning.

## Index på Overleaf

När du lägger till ett index i ett projekt på Overleaf är det **viktigt att notera** att för att indexet ska kompileras korrekt måste huvud `.tex` filen ligga i projektets rotkatalog, *utanför alla mappar*. Detta säkerställer att hjälpfilerna som behövs för att generera indexet cachas på ett sätt som gör dem åtkomliga för kompilatorn.

## Poster och underposter

Som nämnts i föregående avsnitt, kommandot `\index` lägger till ordet som skickas till det i indexet, men detta är inte det enda sättet det kan användas på.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex

\begin{document}
\section{Introduction}
I det här exemplet kommer flera nyckelord\index{keywords} att användas
som är viktiga och förtjänar att visas i Index\index{Index}.

Termer som generate\index{generate} och some\index{others} kommer också
att visas. Termer i indexet kan också vara nästlade \index{Index!nested}

\clearpage

\section{Second section}
Det här andra avsnittet\index{section} kan innehålla något särskilt ord,
och utöka de redan använda\index{keywords!used}.

\printindex
\end{document}
```

[Öppna det här exemplet i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+%0Awhich+are+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+also+%0Ashow+up.+Terms+in+the+index+can+also+be+nested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+word%2C+%0Aand+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Följande bild visar utdata som genereras av exemplet ovan:

![Index2OLV2.png](/files/1a85b084d7e43ca4f184de3a363118261d772640)

Det är vanligt att utöka termer i indexet med särskilda adjektiv. Till exempel kan ordet *Field* ha en särskild betydelse om det föregås av adjektivet *finite* eller följs av *av karakteristik 0*, och det kan vara lite omständligt att lägga till olika typer av *Field*som separata poster i indexet. I sådana fall kan du lägga till ett utropstecken "!" som lägger till termerna efter detta tecken som underposter till huvudordet *Field*.

I exemplet har ordet "Index" ordet "nested" som underpost.

## Formatering av indexet

Enkel formatering av indexet, som att ändra indextiteln, lägga till flera kolumner och ändra kolumnbredden, kan enkelt göras genom att skicka valfria värden till `\makeindex`:

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index]

\begin{document}
\section{Introduction}
I det här exemplet kommer flera nyckelord\index{keywords} att användas som
är viktiga och förtjänar att visas i Index\index{Index}.

Termer som generate\index{generate} och some\index{others} kommer också
att visas. Termer i indexet kan också vara nästlade \index{Index!nested}

\clearpage

\section{Second section}
Det här andra avsnittet\index{section} kan innehålla något särskilt ord,
och utöka de redan använda\index{keywords!used}.

\printindex
\end{document}
```

[Öppna det här exemplet i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%5Bcolumns%3D3%2C+title%3DAlphabetical+Index%5D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+used+which+%0Aare+important+and+deserve+to+appear+in+the+Index%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+will+also+%0Ashow+up.+Terms+in+the+index+can+also+be+nested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+word%2C+%0Aand+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Följande bild visar utdata som genereras av exemplet ovan:

![Index3OLV2.png](/files/5ae4090fbb525cdf6d9e76d1084c0d9c8be90b37)

I det här exemplet presenteras indexet i ett format med tre kolumner med parametern `columns=3`, och titeln ändras till "Alphabetical Index" genom `title=Alphabetical Index`; dessa parametrar skickas till `\makeindex` i preamblen. Se [referensguiden](#reference-guide) för en lista över tillgängliga parametrar och deras beskrivning.

### Använda stilfiler

För ytterligare anpassning av indexet kan man använda en stilfil. Stilfiler informerar `makeindex` om det avsedda formatet för den slutliga utdata. Stilfiler innehåller en lista över `<key, value>` par. Om man till exempel behöver gruppera termerna i indexet efter deras initialbokstav och justera sidnumren åt höger, kommer följande stilfil att göra jobbet:

```latex
headings_flag 1

heading_prefix "\n\\centering\\large\\sffamily\\bfseries%
\\noindent\\textbf{"heading_suffix "}\\par\\nopagebreak\n"

item_0 "\n \\item \\small "

delim_0 " \\hfill "
delim_1 " \\hfill "
delim_2 " \\hfill "
```

Nycklarna ändrar olika element i indexutdata:

* `headings_flag 1` möjliggör gruppering genom att infoga grupphuvudet (symboler, siffror eller bokstäver) före en ny grupp.
* `heading_prefix` formaterar rubriken som ska infogas innan en ny bokstav börjar. Den använder vanliga formateringskommandon för teckensnittsfamilj, teckenstorlek och justering, men snedstrecken måste escapes med ett dubbelt snedstreck i stället för ett.
* `item_0` är det som infogas mellan två primära poster.
* `delim_*` är avgränsaren som infogas mellan nyckeln och det första sidnumret.

För en fullständig lista över nycklar och värden som används i en .ist-fil, se [Tabellen i referensguiden](#keys-to-create-styles-files).

Anta att den föregående filen sparas som "example\_style.ist". För att använda den i dokumentet lägger vi till parametern `options= -s example_style.ist` till `\makeindex` kommandot.

```latex
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index,
           options= -s example_style.ist]

\begin{document}

\tableofcontents

\section{Introduction}
I det här exemplet kommer flera nyckelord\index{keywords} att användas som är viktiga och förtjänar att visas i Index\index{Index}.

Termer som generate\index{generate}, a great\index{great} list och som andra\index{others} termer som kan vara viktiga\index{important}
kommer också att visas. Termer i indexet kan också vara nästlade \index{Index!nested}

\clearpage

\section{Second section}
Det här andra avsnittet\index{section} kan innehålla något särskilt ord, och utöka de redan använda\index{keywords!used}.

\printindex
\end{document}
```

[Öppna ett exempel som använder en indexstilfil på Overleaf](https://www.overleaf.com/project/new/template/20614?id=70756423\&templateName=Using+an+index+style+file\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

Följande bild visar utdata som genereras av exemplet ovan:

![Index4OLV2.png](/files/3e82889888ca983c0c10aba92a23901675db7ca7)

## Inkludera indexet i innehållsförteckningen

Som standard ingår inte indexet i innehållsförteckningen, detta kan enkelt justeras.

```latex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{imakeidx}
\makeindex[columns=3, title=Alphabetical Index, intoc]

\begin{document}
\tableofcontents

\section{Introduction}
I det här exemplet kommer flera nyckelord\index{keywords} att
användas som är viktiga och förtjänar att visas i
Index\index{Index}.

Termer som generate\index{generate} och some\index{others}
kommer också att visas. Termer i indexet kan också vara
nästlade \index{Index!nested}

\clearpage

\section{Second section}
Det här andra avsnittet\index{section} kan innehålla något särskilt
ord, och utöka de redan använda\index{keywords!used}.

\printindex
\end{document}
```

[Öppna det här exemplet i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Index+example+3\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%5BT1%5D%7Bfontenc%7D%0A%5Cusepackage%7Bimakeidx%7D%0A%5Cmakeindex%5Bcolumns%3D3%2C+title%3DAlphabetical+Index%2C+intoc%5D%0A%0A%5Cbegin%7Bdocument%7D%0A%5Ctableofcontents%0A%0A%5Csection%7BIntroduction%7D%0AIn+this+example%2C+several+keywords%5Cindex%7Bkeywords%7D+will+be+%0Aused+which+are+important+and+deserve+to+appear+in+the+%0AIndex%5Cindex%7BIndex%7D.%0A%0ATerms+like+generate%5Cindex%7Bgenerate%7D+and+some%5Cindex%7Bothers%7D+%0Awill+also+show+up.+Terms+in+the+index+can+also+be+%0Anested+%5Cindex%7BIndex%21nested%7D%0A%0A%5Cclearpage%0A%0A%5Csection%7BSecond+section%7D%0AThis+second+section%5Cindex%7Bsection%7D+may+include+some+special+%0Aword%2C+and+expand+the+ones+already+used%5Cindex%7Bkeywords%21used%7D.%0A%0A%5Cprintindex%0A%5Cend%7Bdocument%7D)

Följande bild visar utdata som genereras av exemplet ovan:

![Index5OLV2.png](/files/018875266b06ce35daa6db221b1f308f9abc87af)

Genom att lägga till parametern `intoc` till kommandot `\makeindex` aktiveras att indextiteln inkluderas i innehållsförteckningen.

## Referensguide

### Parametrar för kommandot \makeindex

**title**

Titel som ska sättas i början av det specifika indexet. Ett exempel presenteras i formateringen av indexet.

**intoc**

Om detta alternativ anges läggs indextiteln till i innehållsförteckningen.

**columns**

Använder syntaxen key=value, värdet måste vara ett heltal som representerar antalet kolumner. Standardvärdet är 2.

**columnsep**

Anger enheter som representerar avståndet mellan kolumnerna. Syntaxen måste vara key=value, till exempel columnsep=2em.

**columnseprule**

Om alternativet anges visas en vertikal linje mellan kolumnerna.

### Nycklar för att skapa stilfiler

Följande tabell visar nycklarna, standardvärdena och beskrivningarna för att skapa .ist-stilfiler.

| key                         | Beskrivning                                                                                                                                                                                                                                                                                                           |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `actual <char>`             | '@' Symbol som anger att nästa post ska visas i utdatafilen.                                                                                                                                                                                                                                                          |
| `arg_close <char>`          | '}' Avslutande avgränsare för argumentet till indexposten.                                                                                                                                                                                                                                                            |
| `arg_open <char>`           | '{' Inledande avgränsare för argumentet till indexposten.                                                                                                                                                                                                                                                             |
| `encap <char>`              | ' Symbol som anger att resten av argumentlistan ska användas som det omslutande kommandot för sidnumret.                                                                                                                                                                                                              |
| `escape <char>`             | '\\\\' Symbol som escape:ar följande bokstav, om inte symbolen före den också är en escapesymbol. Obs: citationstecknet används för att escape:a bokstaven som följer direkt efter det, men om det föregås av en escapesymbol behandlas det som ett vanligt tecken. Dessa två symboler måste vara olika.              |
| `keyword <string>`          | "\\\indexentry" Kommando som talar om för makeindex att dess argument är en indexpost.                                                                                                                                                                                                                                |
| `level <char>`              | '!' Avgränsare som anger en ny nivå av underpost.                                                                                                                                                                                                                                                                     |
| `quote <char>`              | '"' Obs: citationstecknet används för att escape:a bokstaven som följer direkt efter det, men om det föregås av en escapesymbol behandlas det som ett vanligt tecken. Dessa två symboler måste vara olika.                                                                                                            |
| `range_close <char>`        | ')' Avslutande avgränsare som anger slutet på ett explicit sidintervall.                                                                                                                                                                                                                                              |
| `range_open <char>`         | '(' Inledande avgränsare som anger början på ett explicit sidintervall.                                                                                                                                                                                                                                               |
| `preamble <string>`         | "\\\begin{theindex}\n" Förord till utdatafilen.                                                                                                                                                                                                                                                                       |
| `postamble <string>`        | "\n\n\\\end{theindex}\n" Efterord till utdatafilen.                                                                                                                                                                                                                                                                   |
| `setpage_prefix <string>`   | "\n \\\setcounter{page}{" Prefix till kommandot som anger startsidnumret.                                                                                                                                                                                                                                             |
| `setpage_suffix <string>`   | "}\n" Suffix till kommandot som anger startsidnumret.                                                                                                                                                                                                                                                                 |
| `group_skip <string>`       | "\n\n \\\indexspace\n" Vertikalt utrymme som ska infogas innan en ny grupp börjar.                                                                                                                                                                                                                                    |
| `headings_flag <string>`    | 0 Flagga som anger hur nya grupphuvuden ska hanteras, vilka infogas före en ny grupp (symboler, siffror och de 26 bokstäverna): positiva värden gör att en versal bokstav infogas mellan prefix och suffix, och negativa värden gör att en gemen bokstav infogas (standard är 0, vilket inte producerar något huvud). |
| `heading_prefix <string>`   | "" Rubrikprefix som ska infogas innan en ny bokstav börjar.                                                                                                                                                                                                                                                           |
| `symhead_positive <string>` | "Symbols" Rubrik för symboler som ska infogas om headings\_flag är positivt.                                                                                                                                                                                                                                          |
| `symhead_negative <string>` | "symbols" Rubrik för symboler som ska infogas om headings\_flag är negativt.                                                                                                                                                                                                                                          |
| `numhead_positive <string>` | "Numbers" Rubrik för siffror som ska infogas om headings\_flag är positivt.                                                                                                                                                                                                                                           |
| `numhead_negative <string>` | "numbers" Rubrik för siffror som ska infogas om headings\_flag är negativt.                                                                                                                                                                                                                                           |
| `item_0 <string>`           | "\n \\\item " Kommando som ska infogas mellan två primära poster (nivå 0).                                                                                                                                                                                                                                            |
| `item_1 <string>`           | "\n \\\subitem " Kommando som ska infogas mellan två sekundära poster (nivå 1).                                                                                                                                                                                                                                       |
| `item_2 <string>`           | "\n \\\subsubitem " Kommando som ska infogas mellan två poster på nivå 2.                                                                                                                                                                                                                                             |
| `item_01 <string>`          | "\n \\\subitem " Kommando som ska infogas mellan en post på nivå 0 och en post på nivå 1.                                                                                                                                                                                                                             |
| `item_x1 <string>`          | "\n \\\subitem " Kommando som ska infogas mellan en post på nivå 0 och en post på nivå 1, där posten på nivå 0 inte har några associerade sidnummer.                                                                                                                                                                  |
| `item_12 <string>`          | "\n \\\subsubitem " Kommando som ska infogas mellan en post på nivå 1 och en post på nivå 2.                                                                                                                                                                                                                          |
| `item_x2 <string>`          | "\n \\\subsubitem " Kommando som ska infogas mellan en post på nivå 1 och en post på nivå 2, där posten på nivå 1 inte har några associerade sidnummer.                                                                                                                                                               |
| `delim_0 <string>`          | ", " Avgränsare som ska infogas mellan en nyckel på nivå 0 och dess första sidnummer (standard: kommatecken följt av ett blanksteg).                                                                                                                                                                                  |
| `delim_1 <string>`          | ", " Avgränsare som ska infogas mellan en nyckel på nivå 1 och dess första sidnummer (standard: kommatecken följt av ett blanksteg).                                                                                                                                                                                  |
| `delim_2 <string>`          | ", " Avgränsare som ska infogas mellan en nyckel på nivå 2 och dess första sidnummer (standard: kommatecken följt av ett blanksteg).                                                                                                                                                                                  |
| `delim_n <string>`          | ", " Avgränsare som ska infogas mellan två sidnummer för samma nyckel på vilken nivå som helst (standard: kommatecken följt av ett blanksteg).                                                                                                                                                                        |
| `delim_r <string>`          | "--" Avgränsare som ska infogas mellan start- och slutsidnumren i ett intervall.                                                                                                                                                                                                                                      |
| `delim_t <string>`          | "" Avgränsare som ska infogas i slutet av en sidlista. Denna avgränsare påverkar inte poster som inte har någon associerad sidlista.                                                                                                                                                                                  |
| `encap_prefix <string>`     | "\\\\" Första delen av prefixet för kommandot som kapslar in sidnumret.                                                                                                                                                                                                                                               |
| `encap_infix <string>`      | "{" Andra delen av prefixet för kommandot som kapslar in sidnumret.                                                                                                                                                                                                                                                   |
| `encap_suffix <string>`     | "}". Suffix för kommandot som kapslar in sidnumret.                                                                                                                                                                                                                                                                   |
| `line_max <number>`         | 72 Maximal längd på en rad i utdata, varefter en rad bryts.                                                                                                                                                                                                                                                           |
| `indent_space <string>`     | "\t\t" Utrymme som ska infogas framför en rad som bryts över (standard: två tabbar).                                                                                                                                                                                                                                  |
| `indent_length <number>`    | 16 Längd på indent\_space (standard: 16, motsvarande 2 tabbar).                                                                                                                                                                                                                                                       |

## Vidare läsning

För mer information, se:

* [Ordlistor](/latex/sv/dokumentstruktur/05-glossaries.md)
* [Listor över tabeller och figurer](/latex/sv/figurer-och-tabeller/03-lists-of-tables-and-figures.md)
* [Innehållsförteckning](/latex/sv/dokumentstruktur/02-table-of-contents.md)
* [Avsnitt och kapitel](/latex/sv/dokumentstruktur/01-sections-and-chapters.md)
* [Hyperlänkar](/latex/sv/dokumentstruktur/09-hyperlinks.md)
* [Stöd för internationella språk](/latex/sv/sprak/03-international-language-support.md)
* [Korsreferenser mellan avsnitt och ekvationer](/latex/sv/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Hantering i ett stort projekt](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md)
* [Flerfils-LaTeX-projekt](/latex/sv/dokumentstruktur/08-multi-file-latex-projects.md)
* [Dokumentation för paketet imakeidx](http://mirror.math.ku.edu/tex-archive/macros/latex/contrib/imakeidx/imakeidx.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/sv/dokumentstruktur/04-indices.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
