> 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/no/dokumentstruktur/04-indices.md).

# Indekser

I noen store dokumenter, for eksempel bøker, er det vanlig å lage en alfabetisk liste som inneholder hovedtermene. Med LaTeX og støtteprogrammet **imakeidx**, kan en indeks genereres ganske enkelt.

## Innledning

La oss se på et enkelt fungerende eksempel.

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

\begin{document}
\section{Innledning}
I dette eksemplet vil flere nøkkelord\index{keywords} bli brukt
som er viktige og fortjener å vises i indeksen\index{Index}.

Begreper som generate\index{generate} og some\index{others} vil
også dukke opp.

\printindex
\end{document}
```

[Åpne dette eksemplet 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ølgende bilde viser resultatet som ble produsert av eksemplet ovenfor:

![Index1OLV2.png](/files/4c5a4937127ee4b9486bab63ba44215bc9f5eda8)

Først inkluderes pakken i innledningen med linjen

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

Deretter er kommandoen `\makeindex` nødvendig for at indeksen skal fungere og kan ta noen parametere for å tilpasse utseendet; i de neste seksjonene vil dette bli tydelig.

For å legge til en oppføring i indeksen brukes kommandoen `\index{}` der ordet som skal legges til settes inn som parameter. Vær forsiktig, dette vil ikke skrive ordet på gjeldende plassering, men bare i indeksen.

Til slutt vil kommandoen `\printindex` faktisk rendere indeksen. Hvis du bruker en spesiell lokalisering ved hjelp av `babel` pakken, vil tittelen bli oversatt tilsvarende.

Merk: i stedet for `imakeidx`, kan pakken `makeidx` importeres, men tilbyr færre tilpasningsmuligheter.

## Indekser på Overleaf

Når du legger til en indeks i et prosjekt på Overleaf, er det **viktig å merke seg** at for at indeksen skal kompileres riktig, må hoved- `.tex` filen ligge i prosjektets rotkatalog, *utenfor alle mapper*. Dette sikrer at hjelpefilene som trengs for å generere indeksen, bufres på en måte som gjør dem tilgjengelige for kompilatoren.

## Oppføringer og underoppføringer

Som nevnt i forrige seksjon, vil kommandoen `\index` legge ordet som sendes til den, til indeksen, men dette er ikke den eneste måten den kan brukes på.

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

\begin{document}
\section{Innledning}
I dette eksemplet vil flere nøkkelord\index{keywords} bli brukt
som er viktige og fortjener å vises i indeksen\index{Index}.

Begreper som generate\index{generate} og some\index{others} vil også
dukke opp. Begreper i indeksen kan også være nestet \index{Index!nested}

\clearpage

\section{Andre seksjon}
Denne andre seksjonen\index{section} kan inneholde et spesielt ord,
og utvide de som allerede er brukt\index{keywords!used}.

\printindex
\end{document}
```

[Åpne dette eksemplet 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ølgende bilde viser resultatet som ble produsert av eksemplet ovenfor:

![Index2OLV2.png](/files/32475f8e2a599f7236c815439193009c82aec14d)

Det er vanlig praksis å utvide begreper i indeksen med spesielle adjektiver. For eksempel, ordet *Field* kan ha en spesiell betydning hvis det innledes av adjektivet *finite* eller etterfølges av *med karakteristikk 0*, og det kan være litt tungvint å legge til forskjellige typer *Field*som egne oppføringer i indeksen. For slike tilfeller kan du legge til et utropstegn "!" som vil legge til begrepene etter dette tegnet som underoppføringer av hovedordet *Field*.

I eksemplet har ordet "Index" ordet "nested" som underoppføring.

## Formatering av indeksen

Enkel formatering for indeksen, som å endre indextittelen, legge til flere kolonner og endre kolonnebredden, kan enkelt gjøres ved å sende valgfrie verdier til `\makeindex`:

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

\begin{document}
\section{Innledning}
I dette eksemplet vil flere nøkkelord\index{keywords} bli brukt som
er viktige og fortjener å vises i indeksen\index{Index}.

Begreper som generate\index{generate} og some\index{others} vil også
dukke opp. Begreper i indeksen kan også være nestet \index{Index!nested}

\clearpage

\section{Andre seksjon}
Denne andre seksjonen\index{section} kan inneholde et spesielt ord,
og utvide de som allerede er brukt\index{keywords!used}.

\printindex
\end{document}
```

[Åpne dette eksemplet 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ølgende bilde viser resultatet som ble produsert av eksemplet ovenfor:

![Index3OLV2.png](/files/1a297373de1170fbeace2a8a1db1d4b90e738885)

I dette eksemplet presenteres indeksen i et trekolonneformat med parameteren `columns=3`, og tittelen endres til "Alphabetical Index" ved hjelp av `title=Alphabetical Index`; disse parameterne sendes til `\makeindex` i innledningen. Se [referanseguiden](#reference-guide) for en liste over tilgjengelige parametere og beskrivelsen av dem.

### Bruk av stilfiler

For ytterligere tilpasning av indeksen kan man bruke en stilfil. Stilfiler informerer `makeindex` om det tiltenkte formatet på sluttresultatet. Stilfiler inneholder en liste med `<key, value>` par. For eksempel, hvis man vil gruppere begrepene i indeksen etter første bokstav og høyrejustere sidenumrene, vil den neste stilfilen gjøre jobben:

```latex
headings_flag 1

"\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 "
```

Nøklene endrer ulike elementer i indeksutdataene:

* `headings_flag 1` aktiverer gruppering ved å sette inn gruppeoverskriften (symboler, tall eller bokstaver) før en ny gruppe.
* `heading_prefix` formaterer overskriften som skal settes inn før en ny bokstav begynner. Den bruker vanlige formateringskommandoer for skrifttype, skriftstørrelse og justering, men backslashene må escapes med dobbel backslash i stedet for én.
* `item_0` er det som settes inn mellom to primæreelementer.
* `delim_*` er skilletegnet som settes inn mellom nøkkelen og det første sidenummeret.

For en fullstendig liste over nøkler og verdier som kan brukes i en .ist-fil, se [Tabellen inkludert i referanseveiledningen](#keys-to-create-styles-files).

Anta at den forrige filen er lagret som "example\_style.ist". For å bruke den i dokumentet legger vi til parameteren `options= -s example_style.ist` til `\makeindex` kommandoen.

```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{Innledning}
I dette eksemplet vil flere nøkkelord\index{keywords} bli brukt som er viktige og fortjener å vises i indeksen\index{Index}.

Begreper som generate\index{generate}, en flott\index{great} liste og noen andre\index{others} begreper som kan være viktige\index{important}
vil også dukke opp. Begreper i indeksen kan også være nestet \index{Index!nested}

\clearpage

\section{Andre seksjon}
Denne andre seksjonen\index{section} kan inneholde et spesielt ord, og utvide de som allerede er brukt\index{keywords!used}.

\printindex
\end{document}
```

[Åpne et eksempel som bruker en indeksstilfil 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ølgende bilde viser resultatet som ble produsert av eksemplet ovenfor:

![Index4OLV2.png](/files/15173c4518a31dac4752e9cd8c93e69009ac43cf)

## Inkludering av indeksen i innholdsfortegnelsen

Som standard er ikke indeksen inkludert i innholdsfortegnelsen; dette kan enkelt justeres.

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

\begin{document}
\tableofcontents

\section{Innledning}
I dette eksemplet vil flere nøkkelord\index{keywords} bli
brukt som er viktige og fortjener å vises i
Indeksen\index{Index}.

Begreper som generate\index{generate} og some\index{others}
vil også dukke opp. Begreper i indeksen kan også være
nestet \index{Index!nested}

\clearpage

\section{Andre seksjon}
Denne andre seksjonen\index{section} kan inneholde et spesielt
ord, og utvide de som allerede er brukt\index{keywords!used}.

\printindex
\end{document}
```

[Åpne dette eksemplet 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ølgende bilde viser resultatet som ble produsert av eksemplet ovenfor:

![Index5OLV2.png](/files/bec68d318d54a72f13fef275e1d4f60b3398f4ff)

Ved å legge til parameteren `intoc` i kommandoen `\makeindex` aktiveres inkluderingen av indextittelen i innholdsfortegnelsen.

## Referanseguide

### Parametere for \makeindex-kommandoen

**tittel**

Tittel som skal settes i begynnelsen av den aktuelle indeksen. Et eksempel presenteres i formatering av indeksen.

**intoc**

Hvis dette alternativet sendes inn, plasseres indextittelen i innholdsfortegnelsen.

**kolonner**

Bruker syntaksen key=value, verdien må være et heltall som representerer antall kolonner. Standardverdien er 2.

**columnsep**

Angir enheter som representerer avstanden mellom kolonnene. Syntaksen må være key=value, for eksempel columnsep=2em.

**columnseprule**

Hvis alternativet sendes inn, vil en vertikal linjal bli rendret mellom kolonnene.

### Nøkler for å lage stilfiler

Den neste tabellen viser nøklene, standardverdiene og beskrivelsene for å lage .ist-stilfiler.

| nøkkel                      | Beskrivelse                                                                                                                                                                                                                                                                                                                 |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `faktisk <char>`            | '@' Symbol som indikerer at den neste oppføringen skal vises i outputfilen.                                                                                                                                                                                                                                                 |
| `arg_close <char>`          | '}' Lukkende skilletegn for argumentet til indeksoppføringen.                                                                                                                                                                                                                                                               |
| `arg_open <char>`           | '{' Åpnende skilletegn for argumentet til indeksoppføringen.                                                                                                                                                                                                                                                                |
| `encap <char>`              | ' Symbol som indikerer at resten av argumentlisten skal brukes som innkapslingskommando for sidenummeret.                                                                                                                                                                                                                   |
| `escape <char>`             | '\\\\' Symbolet som unnslipper den følgende bokstaven, med mindre symbolet foran også er et escape-symbol. Merk: quote brukes til å unnslippe bokstaven som følger umiddelbart etter, men hvis det er innledet av et escape-symbol, behandles det som et vanlig tegn. Disse to symbolene må være forskjellige.              |
| `keyword <string>`          | "\\\indexentry" Kommando som forteller makeindex at argumentet er en indeksoppføring.                                                                                                                                                                                                                                       |
| `level <char>`              | '!' Skilletegn som angir et nytt nivå for underoppføringen.                                                                                                                                                                                                                                                                 |
| `quote <char>`              | '"' Merk: quote brukes til å unnslippe bokstaven som følger umiddelbart etter, men hvis det er innledet av et escape-symbol, behandles den som et vanlig tegn. Disse to symbolene må være forskjellige.                                                                                                                     |
| `range_close <char>`        | ')' Lukkende skilletegn som indikerer slutten på et eksplisitt sideintervall.                                                                                                                                                                                                                                               |
| `range_open <char>`         | '(' Åpnende skilletegn som indikerer begynnelsen på et eksplisitt sideintervall.                                                                                                                                                                                                                                            |
| `preamble <string>`         | "\\\begin{theindex}\n" Forhåndstekst for utdatafilen.                                                                                                                                                                                                                                                                       |
| `postamble <string>`        | "\n\n\\\end{theindex}\n" Ettertekst for utdatafilen.                                                                                                                                                                                                                                                                        |
| `setpage_prefix <string>`   | "\n \\\setcounter{page}{" Prefiks for kommandoen som setter start­sidenummeret.                                                                                                                                                                                                                                             |
| `setpage_suffix <string>`   | "}\n" Suffiks for kommandoen som setter start­sidenummeret.                                                                                                                                                                                                                                                                 |
| `group_skip <string>`       | "\n\n \\\indexspace\n" Vertikalt mellomrom som settes inn før en ny gruppe begynner.                                                                                                                                                                                                                                        |
| `headings_flag <string>`    | 0 Flagg som angir behandlingen av nye gruppeoverskrifter, som settes inn før en ny gruppe (symboler, tall og de 26 bokstavene): positive verdier fører til at en stor bokstav settes inn mellom prefiks og suffiks, og negative verdier fører til at en liten bokstav settes inn (standard er 0, som gir ingen overskrift). |
| `heading_prefix <string>`   | "" Overskriftsprefiks som settes inn før en ny bokstav begynner.                                                                                                                                                                                                                                                            |
| `symhead_positive <string>` | "Symbols" Overskrift for symboler som settes inn hvis headings\_flag er positiv.                                                                                                                                                                                                                                            |
| `symhead_negative <string>` | "symbols" Overskrift for symboler som settes inn hvis headings\_flag er negativ.                                                                                                                                                                                                                                            |
| `numhead_positive <string>` | "Numbers" Overskrift for tall som settes inn hvis headings\_flag er positiv.                                                                                                                                                                                                                                                |
| `numhead_negative <string>` | "numbers" Overskrift for tall som settes inn hvis headings\_flag er negativ.                                                                                                                                                                                                                                                |
| `item_0 <string>`           | "\n \\\item " Kommando som settes inn mellom to primære elementer (nivå 0).                                                                                                                                                                                                                                                 |
| `item_1 <string>`           | "\n \\\subitem " Kommando som settes inn mellom to sekundære elementer (nivå 1).                                                                                                                                                                                                                                            |
| `item_2 <string>`           | "\n \\\subsubitem " Kommando som settes inn mellom to elementer på nivå 2.                                                                                                                                                                                                                                                  |
| `item_01 <string>`          | "\n \\\subitem " Kommando som settes inn mellom et element på nivå 0 og et element på nivå 1.                                                                                                                                                                                                                               |
| `item_x1 <string>`          | "\n \\\subitem " Kommando som settes inn mellom et element på nivå 0 og et element på nivå 1, der elementet på nivå 0 ikke har tilknyttede sidenumre.                                                                                                                                                                       |
| `item_12 <string>`          | "\n \\\subsubitem " Kommando som settes inn mellom et element på nivå 1 og et element på nivå 2.                                                                                                                                                                                                                            |
| `item_x2 <string>`          | "\n \\\subsubitem " Kommando som settes inn mellom et element på nivå 1 og et element på nivå 2, der elementet på nivå 1 ikke har tilknyttede sidenumre.                                                                                                                                                                    |
| `delim_0 <string>`          | ", " Skilletegn som settes inn mellom en nøkkel på nivå 0 og det første sidenummeret (standard: komma etterfulgt av et blanktegn).                                                                                                                                                                                          |
| `delim_1 <string>`          | ", " Skilletegn som settes inn mellom en nøkkel på nivå 1 og det første sidenummeret (standard: komma etterfulgt av et blanktegn).                                                                                                                                                                                          |
| `delim_2 <string>`          | ", " Skilletegn som settes inn mellom en nøkkel på nivå 2 og det første sidenummeret (standard: komma etterfulgt av et blanktegn).                                                                                                                                                                                          |
| `delim_n <string>`          | ", " Skilletegn som settes inn mellom to sidenumre for samme nøkkel på hvilket som helst nivå (standard: komma etterfulgt av et blanktegn).                                                                                                                                                                                 |
| `delim_r <string>`          | "--" Skilletegn som settes inn mellom start- og slutt­sidenumrene i et intervall.                                                                                                                                                                                                                                           |
| `delim_t <string>`          | "" Skilletegn som settes inn på slutten av en sideliste. Dette skilletegnet påvirker ikke oppføringer som ikke har en tilknyttet sideliste.                                                                                                                                                                                 |
| `encap_prefix <string>`     | "\\\\" Første del av prefikset for kommandoen som kapsler inn sidenummeret.                                                                                                                                                                                                                                                 |
| `encap_infix <string>`      | "{" Andre del av prefikset for kommandoen som kapsler inn sidenummeret.                                                                                                                                                                                                                                                     |
| `encap_suffix <string>`     | "}". Suffiks for kommandoen som kapsler inn sidenummeret.                                                                                                                                                                                                                                                                   |
| `line_max <number>`         | 72 Maksimal lengde på en linje i outputen, utover dette brytes linjen.                                                                                                                                                                                                                                                      |
| `indent_space <string>`     | "\t\t" Mellomrom som settes inn foran en ombrutt linje (standard: to tabulatorer).                                                                                                                                                                                                                                          |
| `indent_length <number>`    | 16 Lengde på indent\_space (standard: 16, tilsvarende 2 tabulatorer).                                                                                                                                                                                                                                                       |

## Videre lesning

For mer informasjon, se:

* [Ordlister](/latex/no/dokumentstruktur/05-glossaries.md)
* [Lister over tabeller og figurer](/latex/no/figurer-og-tabeller/03-lists-of-tables-and-figures.md)
* [Innholdsfortegnelse](/latex/no/dokumentstruktur/02-table-of-contents.md)
* [Seksjoner og kapitler](/latex/no/dokumentstruktur/01-sections-and-chapters.md)
* [Hyperlenker](/latex/no/dokumentstruktur/09-hyperlinks.md)
* [Støtte for internasjonale språk](/latex/no/sprak/03-international-language-support.md)
* [Kryssreferanser mellom seksjoner og ligninger](/latex/no/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Håndtering i et stort prosjekt](/latex/no/dokumentstruktur/07-management-in-a-large-project.md)
* [LaTeX-prosjekter med flere filer](/latex/no/dokumentstruktur/08-multi-file-latex-projects.md)
* [Dokumentasjon for imakeidx-pakken](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/no/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.
