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

# LaTeX-projekt med flera filer

## Introduktion

I [stora LaTeX-dokument](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md) man har vanligtvis flera `.tex` filer, en för varje kapitel eller avsnitt, och sedan sammanfogas de för att generera en enda utdata. Detta hjälper till att hålla allt organiserat och gör det enklare att felsöka dokumentet, men ju större dokumentet blir desto längre tar kompileringen. Detta kan vara frustrerande eftersom man vanligtvis bara är intresserad av att arbeta i en viss fil varje gång.

Det naturliga sättet att övervinna detta är att kompilera varje fil separat. Det finns två huvudsakliga paket som tillåter kompilering av enskilda filer i ett projekt med flera filer. Valet du gör beror på vad du behöver.

* Med [den **subfiles** paketet](#the-subfiles-package) kan du kompilera varje underfil oberoende och varje underfil kommer automatiskt att använda preamblen i huvudfilen.
* Med [den **standalone** paketet](#the-standalone-package) varje underfil fungerar som en oberoende fil, underfiler kan senare sammanfogas i ett huvuddokument som hämtar preamblerna från var och en av dem. Särskilt användbart om du behöver återanvända samma fil i mer än ett dokument, en tikz-figur är ett bra exempel på detta.

## Anmärkningar om \documentclass i Overleaf .tex-filer

Som visas i följande videoklipp, även om du har ställt in projektets huvud `.tex` fil kan du välja en annan fil att kompilera—förutsatt att den innehåller en `\documentclass` deklaration. För att dock säkerställa att alla delar av ditt projekt kompileras korrekt—såsom ordlistor, åtkomst till sökvägar till `.bib` filer osv.—rekommenderar vi starkt att du endast kompilerar filer som finns i projektets rotkatalog.

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

## Paketet subfiles

Detta paket passar för de flesta situationer, det är verkligen enkelt att använda.

Exemplen i detta avsnitt har följande hierarkiska filstruktur:

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

### Huvudfilen

I huvudfilen behövs två särskilda kommandon.

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

\usepackage{blindtext}

\usepackage{subfiles} % Bäst laddas sist i preamblen

\title{Exempel på paketet subfiles}
\author{Overleaf}
\date{ }

\begin{document}

\maketitle

\section{Introduktion}

\subfile{sections/introduction}

\section{Andra avsnittet}

\subfile{sections/section2}

\end{document}
```

![CompileSubfilesEx1aOverleafV2.png](/files/5b0ce609963adb86ac8753e098b09b1f4be31840)

Kompilering per fil kräver raden

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

i preamblen, detta aktiverar `subfiles` paketet. Sedan måste varje extern underfil importeras med kommandot `\subfile{}`. I exemplet är filerna `introduction.tex` och `section2.tex` importeras till huvudfilen från `sections` mappen. Observera att filändelsen inte är obligatorisk.

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

### Underfilerna

När du har ställt in huvudfilen måste varje underfil ha en särskild struktur.

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

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

Hej, här är lite text utan någon betydelse...

\end{document}
```

![CompileSubfilesEx2OverleafV2.png](/files/1d064a43a8ef5e91016876b2d1282de3407b0d97)

Nu kan denna fil kompileras som en fristående fil, dokumentklassen och resten av preamblen kommer att vara samma som de som definieras i huvuddokumentet.

Det första kommandot här är

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

parametern inom hakparenteserna, `../main.tex`, är den relativa sökvägen till huvuddokumentet. I detta fall är filen `introduction.tex` finns i mappen `sections`, alltså är filen `main.tex` en nivå ovanför den aktuella mappen (det är detta som `../` betyder).

Du kommer också att behöva använda `\subfix` kommandot med den relativa mappsökvägen när du anger `\graphicspath` i `introduction.tex`:

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

Sedan skrivs det faktiska innehållet inuti `\begin{document}` och `\end{document}`. Allt utanför denna miljö kommer att ignoreras, eller mer specifikt, betraktas som en del av preamblen. Undvik att lämna tomma rader högst upp och längst ned i filen.

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

## Paketet standalone

Paketet **standalone** erbjuder samma funktionalitet som **subfiles** och är mer flexibelt, men syntaxen är mer komplex och benägen för fel. Den största skillnaden är att varje underfil har sin egen preambel.

Exemplen i detta avsnitt har följande hierarkiska filstruktur:

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

### Huvudfilen

Huvudfilen är mycket lik den i vilket annat projekt som helst med flera filer.

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

\title{Exempel på paketet standalone}
\author{Overleaf}
\date{maj 2021}

\begin{document}

\maketitle

\section{Första avsnittet}
\import{sections/}{introduction}

\section{Andra avsnittet}
\import{sections/}{section2}

\end{document}
```

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

Raden

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

aktiverar **standalone** paketet, det bör placeras tidigt i dokumentet. Parametern inom hakparenteserna säger åt LaTeX att importera preambeln från varje underfil (paket importeras endast en gång), om den utelämnas, se till att du har alla nödvändiga kommandon i huvuddokumentets preambel för att underfilerna ska fungera. Man måste vara försiktig på grund av möjliga inkompatibiliteter i de olika preamblerna.

I huvuddokumentets brödtext importeras varje underfil med `\import{}{}`. Det vanliga `\input{}` kommandot kan också användas, men det som används i detta exempel rekommenderas för att [hantera stora projekt](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md) eftersom det förhindrar fel i nästlade filer.

[Öppna ett exempel på `standalone` paketet i Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

### Underfilerna

Varje underfil måste ha sin egen preambel och importera alla paket som behövs för att fungera som ett fristående dokument.

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

\begin{document}
En TikZ-figur kommer att renderas under denna rad

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

\blindtext
\end{document}
```

![CompileSubfilesEx4OverleafV2.png](/files/6b46b368ab4636040cde1577a38e7072a22f1b39)

Den första raden i underfilen är

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

Detta deklarerar att detta är en fil som ska användas med **standalone** paketet, det finns två valfria parametrar inom hakparenteserna.

* `class=article`. Anger `article` som underliggande klass, vilken annan klass som helst kan användas: book, report osv. (utom beamer).
* `crop=false`. Om detta alternativ utelämnas kommer utmatningen att beskäras till minimal storlek.

Nästa kommando är inte obligatoriskt

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

men måste användas i detta exempel eftersom det finns en nästlad **standalone** fil här. En [TikZ-figur](/latex/sv/figurer-och-tabeller/05-tikz-package.md) infogas med [`\subimport{../}{diagram.tex}`](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md#importing-files), du kan se innehållet i filen "diagram.tex" nedan:

```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}
```

[Öppna detta fristående TikZ-exempel 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/989fb85b49c27341a3225367753ba7ebfb829caa)

Detta är huvudfunktionen i **standalone**, du kan importera den här filen i vilket annat dokument som helst och återanvända koden. Till exempel kan detta diagram senare användas i en presentation utan ytterligare ändringar.

[Öppna ett exempel på `standalone` paketet i Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

## Vidare läsning

För mer information, se

* [Hantering i ett stort projekt](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md)
* [Korsreferenser till avsnitt och ekvationer](/latex/sv/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Sakregister](/latex/sv/dokumentstruktur/04-indices.md)
* [Ordlistor](/latex/sv/dokumentstruktur/05-glossaries.md)
* [Hyperlänkar](/latex/sv/dokumentstruktur/09-hyperlinks.md)
* [Sidnumrering](/latex/sv/formatering/03-page-numbering.md)
* [Ensidiga och dubbelsidiga dokument](/latex/sv/formatering/08-single-sided-and-double-sided-documents.md)
* [Flera kolumner](/latex/sv/formatering/09-multiple-columns.md)
* [Styckeformatering](/latex/sv/formatering/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Sidstorlek och marginaler](/latex/sv/formatering/07-page-size-and-margins.md)
* [Räknare](/latex/sv/formatering/10-counters.md)
* [Marginalanteckningar](/latex/sv/formatering/15-margin-notes.md)
* [Fetstil, kursiv och understrykning](/latex/sv/latex-grunder/03-bold-italics-and-underlining.md)
* [Teckenstorlekar, typsnittsfamiljer och stilar](/latex/sv/typsnitt/01-font-sizes-families-and-styles.md)
* [Typsnitt](/latex/sv/typsnitt/02-font-typefaces.md)
* [Stöd för moderna typsnitt med XeLaTeX](/latex/sv/typsnitt/03-xelatex.md)
* [Stöd för internationella språk](/latex/sv/sprak/03-international-language-support.md)
* [Teckenstorlekar, typsnittsfamiljer och stilar](/latex/sv/typsnitt/01-font-sizes-families-and-styles.md)
* [Kompilering av stora projekt](/latex/sv/kunskapsbas/038-fixing-and-preventing-compile-timeouts.md#compiling-big-projects)
* [Infoga bilder](/latex/sv/fler-amnen/27-inserting-images.md)
* [TikZ-paketet](/latex/sv/figurer-och-tabeller/05-tikz-package.md)
* [Skriv ditt eget paket](/latex/sv/klassfiler/03-writing-your-own-package.md)
* [Skriv din egen klass](/latex/sv/klassfiler/04-writing-your-own-class.md)
* [Den **subfiles** paketdokumentation](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/subfiles/subfiles.pdf)
* [Den **standalone** paketdokumentation](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/sv/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.
