> 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/08-multi-file-latex-projects.md).

# LaTeX-prosjekter med flere filer

## Innledning

I [store LaTeX-dokumenter](/latex/no/dokumentstruktur/07-management-in-a-large-project.md) har man vanligvis flere `.tex` filer, én for hvert kapittel eller seksjon, og deretter slås de sammen for å generere én enkelt utdatafil. Dette bidrar til å holde alt organisert og gjør dokumentet lettere å feilsøke, men når dokumentet blir større tar kompileringen lengre tid. Dette kan være frustrerende siden man vanligvis bare er interessert i å arbeide i én bestemt fil om gangen.

Den naturlige måten å overvinne dette på er å kompilere hver fil separat. Det finnes to hovedpakker som tillater kompilering av enkeltfiler i et flerfilprosjekt. Valget du gjør avhenger av hva du trenger.

* Med [den **subfiles** pakken](#the-subfiles-package) kan du kompilere hver underfil uavhengig, og hver underfil vil automatisk bruke preamblen i hovedfilen.
* Med [den **standalone** pakken](#the-standalone-package) hver underfil fungerer som en uavhengig fil, kan underfilene senere slås sammen i et hoveddokument som vil hente preamblene fra hver av dem. Særlig nyttig hvis du trenger å gjenbruke den samme filen i mer enn ett dokument; en tikz-tegning er et godt eksempel på dette.

## Merknader om \documentclass i Overleaf .tex-filer

Som demonstrert i følgende videoklipp, selv om du har satt prosjektets hoved- `.tex` filen kan du velge en annen fil å kompilere—forutsatt at den inneholder en `\documentclass` deklarasjon. Men for å sikre at alle elementene i prosjektet ditt kompileres riktig—som ordlister, tilgang til stier til `.bib` filer osv.—anbefaler vi på det sterkeste at du bare kompilerer filer som ligger i rotkatalogen til prosjektet ditt.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/U2nGfRx9NwNGX0vWXNebP/1ca4b9a4b2f36d5ca9c0dbaa87f44bfa/maincompile.mp4>" %}

## Pakken subfiles

Denne pakken passer for de fleste situasjoner, den er virkelig enkel å bruke.

Eksemplene i denne delen har følgende hierarkiske filstruktur:

![CompileSubfilesEx1OverleafV2.png](/files/e0790aa64b808c266f7166f77562993e70379c88)

### Hovedfilen

I hovedfilen trengs to spesielle kommandoer.

```latex
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{images/}}

\usepackage{blindtext}

\usepackage{subfiles} % Best last inn i preamblen

\title{Eksempel på pakken subfiles}
\author{Overleaf}
\date{ }

\begin{document}

\maketitle

\section{Innledning}

\subfile{sections/introduction}

\section{Andre seksjon}

\subfile{sections/section2}

\end{document}
```

![CompileSubfilesEx1aOverleafV2.png](/files/7b136fc427cb89fda61b94ddc8b276de1fb1e39e)

Kompilering per fil krever linjen

```latex
\usepackage{subfiles}
```

i preamblen, dette aktiverer `subfiles` pakken. Deretter må hver eksterne underfil importeres med kommandoen `\subfile{}`. I eksemplet er filene `introduction.tex` og `section2.tex` importert i hovedfilen fra `sections` mappen. Legg merke til at filendelsen ikke er obligatorisk.

[Åpne en `subfiles` -pakkeeksempelet i Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

### Underfilene

Når du har satt opp hovedfilen, må hver underfil ha en spesiell struktur.

```latex
\documentclass[../main.tex]{subfiles}
\graphicspath{{\subfix{../images/}}}
\begin{document}
\textbf{Hei, verden!}
\begin{figure}[bh]
\centering
\includegraphics[width=3cm]{overleaf-logo}

\label{fig:img1}
\caption{Overleaf-logo}
\end{figure}

Hei, her er noe tekst uten mening...

\end{document}
```

![CompileSubfilesEx2OverleafV2.png](/files/ff0fbf24ed3a42fde981fe3c7e85acb87cac6bda)

Nå kan denne filen kompileres som en frittstående fil; dokumentklassen og resten av preamblen vil være den samme som er definert i hoveddokumentet.

Den første kommandoen her er

```latex
\documentclass[../main.tex]{subfiles}
```

parameteren i hakeparentesene, `../main.tex`, er den relative stien til hoveddokumentet. I dette tilfellet er filen `introduction.tex` inne i mappen `sections`, dermed er filen `main.tex` ett nivå over den gjeldende mappen (det er dette `../` betyr).

Du må også bruke `\subfix` kommandoen med den relative mappestien når du angir `\graphicspath` i `introduction.tex`:

```latex
\graphicspath{{\subfix{../images/}}}
```

Deretter skrives selve innholdet inn i `\begin{document}` og `\end{document}`. Alt utenfor dette miljøet vil bli ignorert, eller mer spesifikt, vil bli betraktet som en del av preamblen. Unngå å la det være blanke linjer øverst og nederst i filen.

[Åpne en `subfiles` -pakkeeksempelet i Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Pakken standalone

Pakken **standalone** gir samme funksjonalitet som **subfiles** og er mer fleksibel, men syntaksen er mer kompleks og mer utsatt for feil. Hovedforskjellen er at hver underfil har sin egen preamble.

Eksemplene i denne delen har følgende hierarkiske filstruktur:

![CompileSubfilesEx3OverleafV2.png](/files/24eab9b917e93c94263e1ced7539dca6e7a22d48)

### Hovedfilen

Hovedfilen er svært lik den i ethvert annet prosjekt med flere filer.

```latex
\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}

\title{Eksempel på pakken standalone}
\author{Overleaf}
\date{mai 2021}

\begin{document}

\maketitle

\section{Første seksjon}
\import{sections/}{introduction}

\section{Andre seksjon}
\import{sections/}{section2}

\end{document}
```

![CompileSubfilesEx3Overleaf.png](/files/f57e2617641edb41ce263ff07304eaa85c924281)

Linjen

```latex
\usepackage[subpreambles=true]{standalone}
```

aktiverer **standalone** pakken, den bør plasseres tidlig i dokumentet. Parameteren i hakeparentesene forteller LaTeX å importere preamblen fra hver underfil (pakker importeres bare én gang); hvis den utelates, må du sørge for at du har alle nødvendige kommandoer i hoveddokumentets preamble for at underfilene skal fungere. Man må være forsiktig på grunn av mulige inkompatibiliteter i de ulike preamblene.

I brødteksten i hoveddokumentet importeres hver underfil med `\import{}{}`. Standardkommandoen `\input{}` kan også brukes, men den som er i dette eksemplet anbefales for å [håndtere store prosjekter](/latex/no/dokumentstruktur/07-management-in-a-large-project.md) fordi den forhindrer feil i nestede filer.

[Åpne et eksempel på `standalone` pakken i Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

### Underfilene

Hver underfil må ha sin egen preamble og importere alle pakker som trengs for å fungere som et frittstående dokument.

```latex
\documentclass[class=article, crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\usepackage{blindtext}

\begin{document}
En TikZ-figur vil bli gjengitt under denne linjen

\begin{figure}[ht]
\centering
\subimport{../}{diagram.tex}
\label{fig:tikzexample}
\caption{Et pent enkelt diagram}
\end{figure}

\blindtext
\end{document}
```

![CompileSubfilesEx4OverleafV2.png](/files/eec4ef8c235e0d873b09d491add37bcea1864450)

Den første linjen i underfilen er

```latex
\documentclass[class=article, crop=false]{standalone}
```

Dette erklærer at dette er en fil som skal brukes med **standalone** pakken, det finnes to valgfrie parametere inne i hakeparentesene.

* `class=article`. Setter `article` som underliggende klasse; enhver annen klasse kan brukes: book, report osv. (unntatt beamer).
* `crop=false`. Hvis dette alternativet utelates, blir utdataen beskåret til minimal størrelse.

Den neste kommandoen er ikke obligatorisk

```latex
\usepackage[subpreambles=true]{standalone}
```

men må brukes i dette eksemplet fordi det finnes en nestet **standalone** fil her. Et [tikz-bilde](/latex/no/figurer-og-tabeller/05-tikz-package.md) settes inn med [`\subimport{../}{diagram.tex}`](/latex/no/dokumentstruktur/07-management-in-a-large-project.md#importing-files), du kan se innholdet i filen "diagram.tex" nedenfor:

```latex
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Noder
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Linjer
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);

\end{tikzpicture}
\end{document}
```

[Åpne dette eksempelet på Standalone TikZ i Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Standalone+TikZ+example\&snip=%5Cdocumentclass%7Bstandalone%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

![CompileSubfilesEx5.png](/files/4d996341d56debf7281e17b5747014641048c235)

Dette er hovedfunksjonen i **standalone**, du kan importere denne filen i ethvert annet dokument og gjenbruke koden. For eksempel kan dette diagrammet senere brukes i en presentasjon uten ytterligere endringer.

[Åpne et eksempel på `standalone` pakken i Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

## Videre lesning

For mer informasjon, se

* [Håndtering i et stort prosjekt](/latex/no/dokumentstruktur/07-management-in-a-large-project.md)
* [Kryssreferanser mellom seksjoner og ligninger](/latex/no/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Indekser](/latex/no/dokumentstruktur/04-indices.md)
* [Ordlister](/latex/no/dokumentstruktur/05-glossaries.md)
* [Hyperlenker](/latex/no/dokumentstruktur/09-hyperlinks.md)
* [Sidenummerering](/latex/no/formatering/03-page-numbering.md)
* [Ensidige og tosidige dokumenter](/latex/no/formatering/08-single-sided-and-double-sided-documents.md)
* [Flere kolonner](/latex/no/formatering/09-multiple-columns.md)
* [Avsnittsformattering](/latex/no/formatering/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Sidestørrelse og marger](/latex/no/formatering/07-page-size-and-margins.md)
* [Tellere](/latex/no/formatering/10-counters.md)
* [Marginnotater](/latex/no/formatering/15-margin-notes.md)
* [Fet, kursiv og understrekning](/latex/no/grunnleggende-latex/03-bold-italics-and-underlining.md)
* [Skriftstørrelser, skriftfamilier og stiler](/latex/no/skrifter/01-font-sizes-families-and-styles.md)
* [Skrifttyper](/latex/no/skrifter/02-font-typefaces.md)
* [Støtte for moderne skrifter med XeLaTeX](/latex/no/skrifter/03-xelatex.md)
* [Støtte for internasjonale språk](/latex/no/sprak/03-international-language-support.md)
* [Skriftstørrelser, skriftfamilier og stiler](/latex/no/skrifter/01-font-sizes-families-and-styles.md)
* [Kompilering av store prosjekter](/latex/no/kunnskapsbase/038-fixing-and-preventing-compile-timeouts.md#compiling-big-projects)
* [Sette inn bilder](/latex/no/flere-emner/27-inserting-images.md)
* [TikZ-pakke](/latex/no/figurer-og-tabeller/05-tikz-package.md)
* [Skrive din egen pakke](/latex/no/klassefiler/03-writing-your-own-package.md)
* [Skrive din egen klasse](/latex/no/klassefiler/04-writing-your-own-class.md)
* [Den **subfiles** pakkedokumentasjon](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/subfiles/subfiles.pdf)
* [Den **standalone** pakkedokumentasjon](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/standalone/standalone.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/08-multi-file-latex-projects.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.
