> 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/07-management-in-a-large-project.md).

# Håndtering i et stort projekt

## Introduktion

I store projekter, såsom bøger, gør det lettere at rette fejl og foretage yderligere ændringer, hvis dele af dokumentet holdes i flere .tex-filer. Det er nemmere at finde et bestemt ord eller element i en kort fil. Med dette formål forklarer denne artikel, hvordan man håndterer store projekter.

## Indlæsning og inkludering af filer

De standardværktøjer til at indsætte en LaTeX-fil i en anden er `\input` og `\include`.

**input-kommandoen**

\input{filename}

Brug denne kommando i dokumentets brødtekst til at indsætte indholdet af en anden fil med navnet `filename.tex`; denne fil bør ikke indeholde nogen LaTeX-præambelkode (dvs. ingen `\documentclass`, `\begin{document}` eller `\end{document}` ). LaTeX starter ikke en ny side, før materialet i `filename.tex`. `\input` giver dig mulighed for at indlejre `\input` kommandoer i filer, der allerede er ved at blive indlæst af rodfilen.

**include-kommandoen**

\include{filename}

Brug denne kommando i dokumentets brødtekst til at indsætte indholdet af en anden fil med navnet `filename.tex`; også denne fil bør ikke indeholde nogen LaTeX-præambel. LaTeX starter en ny side, før det indlæste materiale fra `filename.tex`. Sørg for ikke at medtage filendelsen `.tex` i filnavnet, da dette vil forhindre filen i at blive indlæst (filendelsen kan valgfrit medtages med `input` og `import`). Det er ikke muligt at indlejre `include` kommandoer. Hver fil, der bliver `\include`d har sin egen .aux-fil, der gemmer oplysninger om oprettede etiketter og indhold til indholdsfortegnelsen, figurlisten osv. Du kan bruge `\includeonly` med en kommasepareret liste over filnavne (sørg for, at der ikke er foranstillede eller efterfølgende mellemrum). Hvis du gør dette, vil LaTeX kun behandle de filer, der er med på listen. Dette kan bruges til at forbedre kompilationshastigheden, hvis du kun arbejder på en lille del af et større dokument. Sidetal og krydshenvisninger vil dog stadig virke, da .aux-filerne for de udeladte filer stadig vil blive behandlet.

[Åbn et eksempel på et stort projekt på Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Præambel i en separat fil

Hvis præamblen i dit dokument har mange brugerdefinerede kommandoer eller termdefinitioner til [ordlisten](/latex/da/dokumentstruktur/05-glossaries.md), kan du placere den i en separat fil. Den rigtige måde er at oprette en brugerdefineret pakke, som er en fil med filendelsen .sty. Lad os se et eksempel:

```latex
\ProvidesPackage{example}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[latin1]{inputenc}
\usepackage[spanish, english]{babel}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{textcomp}
\usepackage{pgfplots}

\pgfplotsset{width=10cm,compat=1.9}

%Sidehovedstilarter
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textbf{\textit{\nouppercase{\leftmark}}}}
\fancyhead[LO]{\textbf{\textit{\nouppercase{\rightmark}}}}
\fancypagestyle{plain}{ %
\fancyhf{} % fjern alt
\renewcommand{\headrulewidth}{0pt} % fjern også linjerne
\renewcommand{\footrulewidth}{0pt}}

%gør kommandoerne \proof, \qedsymbol og \theoremstyle tilgængelige
\usepackage{amsthm}

%Lineal
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Definition af lemma og lemma-tæller
\newtheorem{lemma}{Lemma}[section]

%Definitionstæller
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

%Korollar-tæller
\newtheorem{corolary}{Corolary}[section]

%Kommandoer for naturlige tal, heltal, topologi, konveks hylster, kugle, skive, dimension, rand og nogle flere
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Eksempelmiljø
\theoremstyle{remark}
\newtheorem{examle}{Example}

%Eksempletæller
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Alle kommandoerne i denne fil kunne have været placeret i præamblen, men hovedfilen ville være blevet forvirrende på grund af denne store mængde kode, og det ville være en besværlig opgave at finde selve dokumentets brødtekst i en så stor fil.

Denne fil kunne også placeres i en normal .tex-fil og importeres med kommandoen `import` (se den [næste afsnit](#importing-files)), men en .sty-fil forhindrer mulige fejl, hvis filen ved et uheld importeres mere end én gang.

Bemærk, at den første linje i eksemplet er

```latex
\ProvidesPackage{example}
```

det betyder, at vi skal importere denne pakke som *eksempel* i hovedfilen, dvs. med kommandoen

```latex
\usepackage{example}
```

som vist i [introduktionen](#introduction).

*Bemærk: En .sty-fil er langt mere fleksibel, den kan bruges til at definere dine egne makroer, og der kan sendes valgfrie parametre, se* [*Skriv din egen pakke*](/latex/da/klassefiler/03-writing-your-own-package.md).

[Åbn et eksempel på et stort projekt på Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Brug af import-pakken

Som nævnt ovenfor er standardværktøjerne til at indsætte en LaTeX-fil i en anden `\input` og `\include`, men de er tilbøjelige til fejl, hvis der er behov for indlejret filimport. Af denne grund kan det være en god idé at overveje pakken **import**.

Nedenfor er et eksempel på en bog, hvor sektioner og brugerdefinerede kommandoer er gemt i separate filer, og hvor billedfilerne for hvert kapitel er gemt i separate mapper sammen med .tex-filen for hvert kapitel.

```latex
\documentclass[a4paper,11pt]{book}
\\usepackage{import}
\usepackage{example}

\usepackage{makeidx}
\makeindex

\begin{document}

\frontmatter
\import{./}{title.tex}

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Additional chapter}
\import{sections/}{section2-1.tex}

\chapter{Last chapter}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Som du kan se, er eksemplet en bog med tre kapitler og flere sektioner i en pæn hovedfil, der henter eksterne filer for at generere det endelige dokument. Kommandoen `\frontmatter` i bogdokumentklassen bruges til dokumentets første sider, og denne kommando sætter sidetalstypen til romertal; kommandoen `\mainmatter` nulstiller sidenummereringen og ændrer stilen til arabiske tal, `\backmatter` deaktiverer kapitelnummereringen (egnet til litteraturlisten og appendiks).

```latex
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Først skal du tilføje denne linje til dokumentets præambel:

```latex
\\usepackage{import}
```

Brug derefter `\import{ }{ }`. Det første parameter i klammerne er den mappe, hvor filen er placeret; det kan være relativt til den aktuelle arbejdsmappe eller absolut. Det andet parameter er navnet på filen, der skal importeres

Der findes også kommandoen `\subimport` som har samme syntaks, men hvis den bruges i en af de filer, der importeres i hovedfilen, vil stien være relativ til den underfil. For eksempel er nedenfor indholdet af filen "section1-1.tex", som blev importeret i det foregående eksempel:

```latex
\\section{Første afsnit}

Nedenfor er et enkelt 3D-plot

\begin{figure}[h]
\\centering
\subimport{img/}{plot1.tex}
\caption{Caption}
\label{fig:my_label}
\\end{figure}

[...]
```

Som du kan se, importerer denne fil en [pgf-plot](/latex/da/fag-specifikt/08-pgfplots-package.md) fil ved navn "plot1.tex", som opretter et 3D-plot. Denne fil importeres af

```latex
\subimport{img/}{plot1.tex}
```

fra mappen "img", som er indeholdt i mappen "sections".

Hvis `\import` blev brugt i stedet, ville stien *img/* være relativ til hovedfilen i stedet for mappen "sections", hvor "section1-1.tex" er gemt.

[Åbn et eksempel på et stort projekt på Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Yderligere læsning

For mere information se:

* [LaTeX-projekter med flere filer](/latex/da/dokumentstruktur/08-multi-file-latex-projects.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 skrift, 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)
* [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 ikke helt korte introduktion til LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` pakkedokumentation](ftp://sunsite.icm.edu.pl/pub/CTAN/macros/latex/contrib/import/import.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/07-management-in-a-large-project.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.
