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

# Håndtering i et stort prosjekt

## Innledning

I store prosjekter, som for eksempel bøker, gjør det lettere å rette feil og foreta videre endringer hvis du holder deler av dokumentet ditt i flere .tex-filer. Det er enklere å finne et bestemt ord eller element i en kort fil. Med dette formålet forklarer denne artikkelen hvordan man håndterer store prosjekter.

## Inndata og inkludering av filer

De standard verktøyene for å sette inn en LaTeX-fil i en annen er `\input` og `\include`.

**input-kommandoen**

\input{filename}

Bruk denne kommandoen i dokumentets kropp for å sette inn innholdet fra en annen fil med navnet `filename.tex`; denne filen skal ikke inneholde noen LaTeX-preambelkode (dvs. ingen `\documentclass`, `\begin{document}` eller `\end{document}` ). LaTeX vil ikke starte en ny side før materialet i `filename.tex`. `\input` lar deg nest `\input` kommandoer i filer som allerede blir inkludert av rotfilen.

**include-kommandoen**

\include{filename}

Bruk denne kommandoen i dokumentets kropp for å sette inn innholdet fra en annen fil med navnet `filename.tex`; igjen skal denne filen ikke inneholde noen LaTeX-preambel. LaTeX vil starte en ny side før behandling av materialet som leses inn fra `filename.tex`. Pass på å ikke inkludere filendelsen `.tex` i filnavnet, ettersom dette vil hindre filen i å bli lest inn (filendelsen kan valgfritt inkluderes med `inndata` og `import`). Det er ikke mulig å nest `include` kommandoer. Hver fil som blir `\include`inkludert har sin egen .aux-fil som lagrer informasjon om opprettede etiketter og innhold til innholdsfortegnelsen, figurlisten osv. Du kan bruke `\includeonly` med en kommaseparert liste over filnavn (pass på at det ikke er mellomrom foran eller bak). Hvis du gjør dette, vil LaTeX bare behandle filene som er med i den listen. Dette kan brukes for å forbedre kompilasjonshastigheten hvis du bare jobber med en liten del av et større dokument. Sidetall og kryssreferanser vil likevel fortsatt fungere, ettersom .aux-filene til filer som er utelatt fortsatt vil bli behandlet.

[Åpne et eksempel på et stort prosjekt 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=)

## Preambel i en separat fil

Hvis preamblen i dokumentet ditt har mange brukerdefinerte kommandoer eller termdefinisjoner for [ordlisten](/latex/no/dokumentstruktur/05-glossaries.md), kan du legge den i en separat fil. Den riktige måten er å opprette en tilpasset pakke, som er en fil med .sty-endelsen. La oss se på 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}

%Hodestiler
\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 linjene også
\renewcommand{\footrulewidth}{0pt}}

%gjør kommandoene \proof, \qedsymbol og \theoremstyle tilgjengelige
\usepackage{amsthm}

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

%Definisjon av lemma og lemma-teller
\newtheorem{lemma}{Lemma}[section]

%Definisjonsteller
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

%Korollar-teller
\newtheorem{corolary}{Corolary}[section]

%Kommandoer for naturlige tall, heltall, topologi, konveks hylse, ball, skive, dimensjon, rand og noen flere
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

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

%Eksempel-teller
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Alle kommandoene i denne filen kunne ha blitt lagt i preamblen, men hovedfilen ville ha blitt forvirrende på grunn av denne store mengden kode, og det ville være en tungvint oppgave å finne selve hoveddelen av dokumentet i en så stor fil.

Denne filen kunne også ha blitt lagt i en vanlig .tex-fil og importert med kommandoen `import` (se [neste delen](#importing-files)), men en .sty-fil hindrer mulige feil hvis filen ved et uhell importeres mer enn én gang.

Legg merke til at den første linjen i eksempelet er

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

dette betyr at vi må importere denne pakken som *eksempel* i hovedfilen, dvs. med kommandoen

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

som vist i [introduksjonen](#introduction).

*Merk: En .sty-fil er langt mer fleksibel, den kan brukes til å definere egne makroer og valgfrie parametere kan sendes inn, se* [*Skrive din egen pakke*](/latex/no/klassefiler/03-writing-your-own-package.md).

[Åpne et eksempel på et stort prosjekt 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=)

## Bruke import-pakken

Som nevnt ovenfor er de standard verktøyene for å sette inn en LaTeX-fil i en annen `\input` og `\include`, men disse er utsatt for feil hvis nestet filimport er nødvendig. Av denne grunn kan det være lurt å vurdere pakken **import**.

Nedenfor er et eksempel på en bok der seksjonene og de brukerdefinerte kommandoene er lagret i separate filer, og der bildefilene for hvert kapittel er lagret i separate mapper sammen med .tex-filen for hvert kapittel.

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

\usepackage{makeidx}
\makeindex

\begin{document}

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

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{Første kapittel}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

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

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

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Som du ser, er eksempelet en bok med tre kapitler og flere seksjoner i en ryddig hovedfil som henter eksterne filer for å generere det endelige dokumentet. Kommandoen `\frontmatter` i bok-dokumentklassen brukes for de første sidene i dokumentet, sidenumreringstypen settes til romertall med denne kommandoen; kommandoen `\mainmatter` tilbakestiller sidenumreringen og endrer stilen til arabisk, `\backmatter` deaktiverer kapittelnummereringen (egnet for litteraturlisten og appendiksene).

```latex
\chapter{Første kapittel}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Først, legg til denne linjen i preamblen til dokumentet ditt:

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

Deretter bruk `\import{ }{ }`. Den første parameteren i klammeparentesene er katalogen der filen ligger; den kan være relativ til gjeldende arbeidskatalog eller absolutt. Den andre parameteren er navnet på filen som skal importeres

Det finnes også kommandoen `\subimport` som har samme syntaks, men hvis den brukes i en av filene som importeres i hovedfilen, vil banen være relativ til den underfilen. For eksempel er nedenfor innholdet i filen «section1-1.tex» som ble importert i det forrige eksempelet:

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

Nedenfor er en enkel 3D-plot

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

[...]
```

Som du ser, importerer denne filen en [pgf-plot](/latex/no/fagspesifikt/08-pgfplots-package.md) fil kalt «plot1.tex» som lager en 3D-plot. Denne filen importeres av

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

fra mappen «img», som ligger i mappen «sections».

Hvis `\import` ble brukt i stedet, ville stien *img/* være relativ til hovedfilen, i stedet for mappen «sections» der «section1-1.tex» er lagret.

[Åpne et eksempel på et stort prosjekt 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=)

## Videre lesning

For mer informasjon, se:

* [LaTeX-prosjekter med flere filer](/latex/no/dokumentstruktur/08-multi-file-latex-projects.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 skrift, kursiv og understreking](/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)
* [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 ikke helt korte introduksjonen til LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` pakkedokumentasjon](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/no/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.
