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

# LaTeX-projekter med flere filer

## Introduktion

I [store LaTeX-dokumenter](/latex/da/dokumentstruktur/07-management-in-a-large-project.md) har man normalt flere `.tex` filer, én for hvert kapitel eller afsnit, og derefter samles de for at generere én enkelt outputfil. Dette hjælper med at holde styr på alting og gør det lettere at fejlfinde dokumentet, men efterhånden som dokumentet bliver større, tager kompileringen længere tid. Det kan være frustrerende, da man normalt kun er interesseret i at arbejde i én bestemt fil ad gangen.

Den naturlige måde at overvinde dette på er at kompilere hver fil separat. Der er to hovedpakker, som gør det muligt at kompilere enkeltfiler i et projekt med flere filer. Det valg, du træffer, afhænger af, hvad du har brug for.

* Med [den **subfiles** pakken](#the-subfiles-package) kan du kompilere hver underfil uafhængigt, og hver underfil vil automatisk bruge preamblen i hovedfilen.
* Med [den **standalone** pakken](#the-standalone-package) hver underfil fungerer som en selvstændig fil, kan underfiler senere samles i et hoveddokument, som vil trække preamblen fra hver af dem. Særligt nyttigt hvis du har brug for at genbruge den samme fil i mere end ét dokument; et tikz-billede er et godt eksempel på dette.

## Bemærkninger om \\\documentclass i Overleaf .tex-filer

Som demonstreret i det følgende videoklip, selv hvis du har angivet dit projekts hoved `.tex` fil, kan du vælge en anden fil at kompilere—forudsat at den indeholder en `\documentclass` deklaration. Men for at sikre, at alle elementer i dit projekt kompileres korrekt—såsom ordlister, adgangs stier til `.bib` filer osv.—anbefaler vi kraftigt, at du kun kompilerer filer, der findes i projektets rodmappe.

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

## pakken subfiles

Denne pakke er velegnet til de fleste situationer, den er virkelig nem at bruge.

Eksemplerne i dette afsnit har følgende hierarkiske filstruktur:

![CompileSubfilesEx1OverleafV2.png](/files/5125328fe2218a9f09534df8893f92a2156a31f7)

### Hovedfilen

I hovedfilen er der brug for to særlige kommandoer.

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

\usepackage{blindtext}

\\usepackage{subfiles} % Bedst indlæst sidst i preamblen

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

\begin{document}

\maketitle

\section{Introduktion}

\\subfile{sections/introduction}

\\section{Andet afsnit}

\\subfile{sections/section2}

\end{document}
```

![CompileSubfilesEx1aOverleafV2.png](/files/e85f2d1f340bdc25e523db8d61168b883c60c34a)

Kompilering pr. fil kræver linjen

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

i preamblen; dette aktiverer `subfiles` pakken. Derefter skal hver ekstern underfil importeres med kommandoen `\\subfile{}`. I eksemplet er filerne `introduction.tex` og `section2.tex` importeret i hovedfilen fra `sections` mappen. Bemærk, at filtypenavnet ikke er obligatorisk.

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

### Underfilerne

Når du har sat din hovedfil op, skal hver underfil have en særlig struktur.

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

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

Hej, her er noget tekst uden en betydning...

\end{document}
```

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

Nu kan denne fil kompileres som en selvstændig fil; dokumentklassen og resten af preamblen vil være den samme som defineret i hoveddokumentet.

Den første kommando her er

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

parameteren inden for klammerne, `../main.tex`, er den relative sti til hoveddokumentet. I dette tilfælde er filen `introduction.tex` inde i mappen `sections`, derfor er filen `main.tex` et niveau over den aktuelle mappe (det er det,  `../` som ../ betyder).

Du skal også bruge `\\subfix` kommandoen med den relative mappesti, når du angiver `\\graphicspath` i `introduction.tex`:

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

Derefter skrives det egentlige indhold inde i `\begin{document}` og `\end{document}`. Alt uden for dette miljø vil blive ignoreret, eller mere specifikt, vil blive betragtet som en del af preamblen. Undgå at efterlade tomme linjer øverst og nederst i filen.

[Åbn en `subfiles` pakkeeksempel 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** giver den samme funktionalitet som **subfiles** og er mere fleksibel, men syntaksen er mere kompleks og mere fejlbehæftet. Den største forskel er, at hver underfil har sin egen preamble.

Eksemplerne i dette afsnit har følgende hierarkiske filstruktur:

![CompileSubfilesEx3OverleafV2.png](/files/f8a1785f7083d7da7c0622ca1db5876c6f9b3f88)

### Hovedfilen

Hovedfilen ligner meget den i ethvert andet projekt med flere filer.

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

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

\begin{document}

\maketitle

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

\\section{Andet afsnit}
\\import{sections/}{section2}

\end{document}
```

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

Linjen

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

aktiverer **standalone** pakken; den bør placeres tidligt i dokumentet. Parameteren inden for klammerne fortæller LaTeX, at preamblen skal importeres fra hver underfil (pakker importeres kun én gang); hvis den udelades, skal du sørge for, at du har alle de nødvendige kommandoer i hoveddokumentets preamble, for at underfilerne kan fungere. Man skal være forsigtig på grund af mulige inkompatibiliteter i de forskellige preambles.

I hoveddokumentets brødtekst importeres hver underfil med `\\import{}{}`. Standardkommandoen `\\input{}` kan også bruges, men den i dette eksempel anbefales til at [håndtere store projekter](/latex/da/dokumentstruktur/07-management-in-a-large-project.md) fordi den forhindrer fejl i indlejrede filer.

[Åbn 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=)

### Underfilerne

Hver underfil skal have sin egen preamble og importere alle de pakker, der er nødvendige for at fungere som et selvstændigt dokument.

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

\begin{document}
Et TikZ-diagram vil blive gengivet under denne linje

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

\blindtext
\end{document}
```

![CompileSubfilesEx4OverleafV2.png](/files/8785f742a8cc733aa6f60abf3c854f71d1e0d512)

Den første linje i underfilen er

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

Dette erklærer, at dette er en fil, der skal bruges med **standalone** pakken; der er to valgfrie parametre i klammerne.

* `class=article`. Sætter `article` som underliggende klasse; enhver anden klasse kan bruges: book, report osv. (undtagen beamer).
* `crop=false`. Hvis denne indstilling udelades, bliver output beskåret til en minimumsstørrelse.

Den næste kommando er ikke obligatorisk

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

men skal bruges i dette eksempel, fordi der er en indlejret **standalone** fil her. Et [tikz-billede](/latex/da/figurer-og-tabeller/05-tikz-package.md) indsættes med [`\\subimport{../}{diagram.tex}`](/latex/da/dokumentstruktur/07-management-in-a-large-project.md#importing-files), du kan se indholdet af 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}
```

[Åbn dette Standalone TikZ-eksempel 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/1f346443c32da805ae58aca276e24eb3dbb5de70)

Dette er hovedfunktionen i **standalone**, du kan importere denne fil i ethvert andet dokument og genbruge koden. For eksempel kan dette diagram senere bruges i en præsentation uden yderligere ændringer.

[Åbn 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=)

## Yderligere læsning

For mere information, se

* [Håndtering i et stort projekt](/latex/da/dokumentstruktur/07-management-in-a-large-project.md)
* [Krydshenvisninger til afsnit og ligninger](/latex/da/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Indeks](/latex/da/dokumentstruktur/04-indices.md)
* [Ordlister](/latex/da/dokumentstruktur/05-glossaries.md)
* [Hyperlinks](/latex/da/dokumentstruktur/09-hyperlinks.md)
* [Sidenummerering](/latex/da/formatering/03-page-numbering.md)
* [Ensidede og dobbeltsidede dokumenter](/latex/da/formatering/08-single-sided-and-double-sided-documents.md)
* [Flere kolonner](/latex/da/formatering/09-multiple-columns.md)
* [Afsnitsformatering](/latex/da/formatering/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Sidestørrelse og margener](/latex/da/formatering/07-page-size-and-margins.md)
* [Tællere](/latex/da/formatering/10-counters.md)
* [Marginnoter](/latex/da/formatering/15-margin-notes.md)
* [Fed, kursiv og understregning](/latex/da/latex-grundlaeggende/03-bold-italics-and-underlining.md)
* [Skriftstørrelser, skrifttypefamilier og stilarter](/latex/da/skrifttyper/01-font-sizes-families-and-styles.md)
* [Skrifttyper](/latex/da/skrifttyper/02-font-typefaces.md)
* [Understøttelse af moderne skrifttyper med XeLaTeX](/latex/da/skrifttyper/03-xelatex.md)
* [Understøttelse af internationale sprog](/latex/da/sprog/03-international-language-support.md)
* [Skriftstørrelser, skrifttypefamilier og stilarter](/latex/da/skrifttyper/01-font-sizes-families-and-styles.md)
* [Kompilering af store projekter](/latex/da/vidensbase/038-fixing-and-preventing-compile-timeouts.md#compiling-big-projects)
* [Indsættelse af billeder](/latex/da/flere-emner/27-inserting-images.md)
* [TikZ-pakken](/latex/da/figurer-og-tabeller/05-tikz-package.md)
* [Skriv din egen pakke](/latex/da/klassefiler/03-writing-your-own-package.md)
* [Skriv din egen klasse](/latex/da/klassefiler/04-writing-your-own-class.md)
* [Den **subfiles** pakkedokumentation](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/subfiles/subfiles.pdf)
* [Den **standalone** pakkedokumentation](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/da/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.
