> 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/kunskapsbas/038-fixing-and-preventing-compile-timeouts.md).

# Åtgärda och förebygga timeouts vid kompilering

När du klickar på **Återkompilera** knappen i ditt Overleaf-projekt startar du en process som läser dina projektfiler och konverterar dem till en sättningsklar PDF. Om du får ett fel om att kompileringen har timeat ut betyder det att kompileringsprocessen inte kunde slutföras inom [tidsgränsen för ditt Overleaf-abonnemang](/latex/sv/kunskapsbas/119-overleaf-plan-limits.md).

Även om det är möjligt att vissa projekt är för stora eller för komplexa för att skapa en PDF inom den givna tiden, kan kompilerings-timeouts ofta åtgärdas eller förebyggas.

## Steg för att lösa kompilerings-timeouts

Följ dessa steg för att identifiera och åtgärda vanliga problem som orsakar kompilerings-timeouts:

1. [Kontrollera om det finns kompileringsfel och åtgärda dem med **Stoppa vid första felet** mode](#first-errors)
2. [Försök med **Fast\[draft\]** läget och optimera dina bildstorlekar](#second-images)
3. [Utvärdera ditt projekt med avseende på tidskrävande moment](#third-assess)

Utöver att följa dessa steg bör du också läsa rekommendationerna om vad du ska göra i [specifika timeout-situationer](#anchor-advice) samt vad [bästa praxis](#anchor-best) du bör följa för att förebygga kompilerings-timeouts.

Även om många projekt kan kompileras inom den tid som erbjuds på Overleafs gratisplan, kan du, om du förbereder ett stort eller komplext dokument, [prenumerera på en premiumplan](https://www.overleaf.com/user/subscription/plans) för att få mer kompileringstid.

## Steg 1: Kontrollera om det finns kompileringsfel och åtgärda dem

Vissa kompileringsfel, eller en uppbyggnad av flera fel, kan helt blockera [latexmk-byggprocessen](https://learn.overleaf.com/learn/Kb/How_does_Overleaf_compile_my_project%3F) och leda till en kompilerings-timeout. För att hitta och åtgärda fel, slå på **Stoppa vid första felet** kompileringsläget under **Återkompilera** rullgardinsmenyn:

![Skärmbild som visar hur du aktiverar kompileringsläget Stoppa vid första felet](/files/ac9291dc41e08cd553714409b62c5bc1db709937)

Den [**Stoppa vid första felet**](/latex/sv/kunskapsbas/149-using-the-stop-on-first-error-compilation-mode.md) kompileringsläget gör exakt vad du kan förvänta dig — det stoppar kompileringen omedelbart när ett fel uppstår. När detta händer genereras ingen PDF och ett meddelande som beskriver felet visas. Genom att slå på **Stoppa vid första felet** kan du hitta och åtgärda varje fel i projektet tills projektet är fritt från fel.

Om du klickar på varje felmeddelande kommer du till raden i källkoden som orsakar problemet så att du kan rätta din kod. Flera vanliga fel förklaras på [den här sidan](/latex/sv/latex-grunder/05-errors.md), och några LaTeX-felsökningsförslag listas på [den här sidan](/latex/sv/fragor-och-svar/81-tips-and-tricks-for-troubleshooting-latex.md). Se också avsnittet [i denna artikel](#anchor-fatal) som listar några vanliga **allvarliga kompileringsfel** som orsakar kompilerings-timeouts.

## Steg 2: Försök kompilera i läget Fast \[draft]

Att inkludera många eller stora bildfiler i ditt projekt kan avsevärt öka tiden som krävs för att kompilera projektet.

En metod som kan hjälpa till att avgöra om bildbearbetning är orsaken till timeouten är att försöka kompilera i **Snabb \[utkast]** läget **Snabb \[utkast]** alternativet i **menyn Kompilera om**. Detta ersätter all grafik med rutor och gör att PDF-filen kompileras mycket snabbare:

![Inställning av utkastkompileringsläge för ett Overleaf-projekt](/files/1d01f1bb59620b3d36088a93769e9801d1737b98)

Om ditt dokument kompileras i **Snabb \[utkast]** läge men inte kan slutföra kompileringen i **Normal** läge, kan orsaken vara stora eller många bildfiler.

### Optimering av bildfiler

Om du har använt flera stora PNG- eller JPEG-filer med hög upplösning kan bearbetningen av dessa filer öka tiden som behövs för att kompilera ditt projekt, ibland avsevärt. Se till att:

* Använd PDF-filer i stället för PNG-filer för diagram och kurvor.
* Reservera JPEG-filer för fotografier.

För ytterligare råd se: [Optimera stora bildfiler](/latex/sv/kunskapsbas/113-optimising-very-large-image-files.md).

## Steg 3: Utvärdera ditt projekt med avseende på tidskrävande moment och allvarliga fel

Om både **Stoppa vid första felet** och **Fast\[draft]** kompileringslägena fortfarande leder till en kompilerings-timeout kan du behöva undersöka vidare för att identifiera orsaken till timeouten och förhoppningsvis åtgärda den.

1\. [Granska listan över tidskrävande arbetssätt och paket som kan sakta ner kompileringen](#anchor-slow)

2\. [Granska listan över vanliga allvarliga fel som kan leda till timeouts](#anchor-fatal)

3\. [Kontrollera råden för specifika timeout-scenarier som bäst beskriver din situation](#anchor-advice)

### Tidskrävande arbetssätt och paket

Vissa arbetssätt och paket kan leda till mycket långsam kompilering, och till och med till timeouts.

**Att inkludera komplexa TikZ- eller pgfplots-ritningar**

`TikZ` och [`pgfplots`](https://ctan.org/pkg/pgfplots?lang=en) ger utmärkt grafik men de kan [ta lång tid att kompilera](https://tex.stackexchange.com/a/254946/226). Det finns [flera sätt att externt generera TikZ-bilderna](/latex/sv/fragor-och-svar/60-i-have-a-lot-of-tikz-matlab2tikz-or-pgfplots-figures-so-i-m-getting-a-compilation-timeout.-can-i.md) så att LaTeX inte behöver rita om dem varje gång den skapar en ny PDF.

**Användning av paketet mhchem**

Nyare versioner av [`mhchem` paketet](https://ctan.org/pkg/mhchem?lang=en) kan ta längre tid att kompilera. Beroende på vad du använder det till kan [`chemformula` paketet](https://ctan.org/pkg/chemformula) minska tiden som behövs för kompilering. Om du redan har använt `mhchem`, kan du försöka byta direkt till `chemformula` som ersättning:

```latex
% \usepackage{mhchem}
\usepackage{chemformula}
\let\ce\ch
```

* **Obs**: det finns skillnader i syntax och funktioner mellan `mhchem` och `chemformula`, så detta kanske inte alltid fungerar bra. Till exempel, `\ce{2H2O}` kommer att visas korrekt med `mhchem`, men med `chemformula` måste du skriva detta som `\ch{2 H2O}` med ett mellanslag efter den inledande `2`.

**Att inkludera spårnings- eller felsökningsanrop**

Om du råkar ha ett `\tracingall` kommando i ditt dokument kan det skriva en *stor mängd* data till `.log`. Registrering och bearbetning `\tracingall` av data i `.log` filen kan göra att kompileringen blir extremt långsam. Det rekommenderas att ta bort `\tracingall` anropen, eller om du behöver använda liknande metoder för felsökning att använda [`spårning` paketet](http://ctan.org/pkg/trace) .

**Användning av paketet acro**

Användare av [`acro` paketet](https://www.ctan.org/pkg/acro) har [rapporterat att version 3 är långsam](https://github.com/cgnieder/acro/issues/205) med att läsa in akronymdeklarationer. En följd av `acro`ökade kompileringstid är möjligheten att utlösa en kompilerings-timeout; lyckligtvis finns en lösning: att använda version 2 av `acro` paketet.

Att byta från version 3 tillbaka till version 2 kan kräva att du redigerar ditt projekt för att säkerställa att det är kompatibelt med version 2:s alternativ, funktioner och kommandon. Dokumentation för version 2 finns tillgänglig, i tidigare källkodsutgåvor som kan [laddas ner från GitHub](https://github.com/cgnieder/acro/releases/tag/v2.10).

Här är några saker att kontrollera när du går tillbaka till version 2 — den här listan är långt ifrån komplett:

1. Ändra projektets huvud `.tex` till:
   * ändra `\usepackage{acro}` till `\usepackage{acro}[=v2]`
   * ändra `include=...` alternativnyckeln för `\printacronyms` till `include-classes=...`
2. Inom valfritt `\DeclareAcronym` kommando, se till att `tag=...` alternativnyckeln ändras till `class=...`.

Se till [`acro` att version 2.10:s dokumentation](https://github.com/cgnieder/acro/releases/tag/v2.10) för kommandon och alternativ som finns i version 2 men inte i version 3.

**Användning av EPS- eller SVG-bilder**

Användning av EPS- eller SVG-bilder kan kräva extra bearbetning för att konvertera dem till PDF-format. Denna extra bearbetning ökar tiden som behövs för att kompilera ditt projekt.

* Medan **latex** kompilatorn stöder EPS-bilder direkt, stöder **pdfLaTeX** kompilatorn inte EPS-bilder, så ett extra steg krävs för att konvertera dessa till PDF-bilder när den kompilatorn används. Bearbetningen hanteras av `epstopdf` paketet som använder `Ghostscript` för att konvertera EPS-filerna till PDF. Detta konverteringssteg kan avsevärt öka tiden som behövs för att kompilera projektet.
* SVG-bildfiler stöds inte direkt av någon LaTeX-kompilator och kräver användning av `svg` paketet och `\includesvg` kommandot som det tillhandahåller. `svg` paketet använder `inkscape` för att konvertera SVG-bilder till PDF. Detta konverteringssteg kan avsevärt öka tiden som behövs för att kompilera projektet.

För snabbare resultat som kan hjälpa till att undvika kompilerings-timeouts, använd PDF-versioner av dina bilder i stället för EPS- eller SVG-format.

**Användning av paketet tabularray**

Den `tabularray` paketet erbjuder ett alternativ till standardkommandona och miljöerna för att implementera tabeller i LaTeX. Tyvärr körs `tabularray` paketet mycket långsamt, särskilt för större tabeller och sådana som använder vissa kolumntyper. För närvarande rekommenderas standardmetoder för tabelldefinition framför `tabularray` på grund av hänsyn till kompileringstiden.

**Att skapa en oändlig loop i ett kommando**

Under kompileringen kan LaTeX-kommandon, mycket sällan, utlösa en ”oändlig loop”. Oändliga loopar orsakas oftast av buggar i paket eller i användardefinierade kommandon.

Om du misstänker att du kan ha en loop, kontrollera om du av misstag skapade en [rekursiv](https://en.wikipedia.org/wiki/Recursion) definition i något av dina egna kommandon, till exempel `\newcommand{\foo}{\foo}`.

### Några orsaker till allvarliga kompileringsfel

Nedan följer några kända orsaker till allvarliga fel.

**Att inkludera tomma rader i känsliga titlingskommandon**

LaTeX-klasser och tidskriftsmallar tillhandahåller ofta särskilda kommandon för att ange delar av ett dokuments titel. Dessa kommandon är vanligtvis avsedda att innehålla enkla argument, och att använda dem på oväntade sätt kan leda till kompileringsfel och till och med timeouts. Viktigast av allt, kommandon som `\author{...}`, `\date{...}` och `\title{...}` får inte innehålla tomma rader.

**Att inkludera för många fasta flytande objekt**

Om du har för många tabeller eller figurer som använder `[H]` placeringsmarkören från `float` paketet kan det få LaTeX att hamna i en oändlig loop när det försöker hitta lämpliga platser för dem alla. Överväg att ersätta alla `[H]` med `[hbt!]` och vid behov ett enstaka `\clearpage` för att få ut alla tabeller och figurer i kön innan du infogar en sidbrytning.

**Fel i kommandot \caption och tabular-miljöer**

Här är en lista över tabellrelaterade problem att vara medveten om — generellt sett, försök vara försiktig när du sätter tabeller!

* `\caption{...}` bör alltid placeras *utanför* den `tabular` miljön eftersom det kan orsaka allvarliga fel om [`caption` paketet](https://ctan.org/pkg/caption) är laddat, som visas i följande exempel:

  ```latex
  \documentclass{article}
  \usepackage{caption}
  \begin{document}

  \begin{table}
      \begin{tabular}{c|c}
          \caption{Caption}% \caption{...} ska vara UTANFÖR tabular-miljön
          a & b \\
          c & d \\
      \end{tabular}
  \end{table}
  \end{document}
  ```

  [Öppna detta exempel **som utlöser ett timeoutfel i Overleaf**](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Overleaf+timeout+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bcaption%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Btable%7D%0A++++%5Cbegin%7Btabular%7D%7Bc%7Cc%7D%0A++++++++%5Ccaption%7BCaption%7D%25+%5Ccaption%7B...%7D+should+be+OUTSIDE+the+tabular+environment%0A++++++++a+%26+b+%5C%5C%0A++++++++c+%26+d+%5C%5C%0A++++%5Cend%7Btabular%7D%0A%5Cend%7Btable%7D%0A%5Cend%7Bdocument)
* Observera i kontrast att `longtable` miljön *gör* kräver `\caption{...}` inom den, vilket visas av ett exempel i vår [hjälpartikel om tabeller](/latex/sv/figurer-och-tabeller/01-tables.md#multi-page-tables).
* `\caption{...}` får inte innehålla `\\`, `\newline`, `\centering`, `\raggedright` osv.
* Med vissa mallar eller paket, `\ref{...}` eller `\cite{...}` inom en `\caption` kan behöva föregås av `\protect` för att undvika allvarliga fel; till exempel, `\protect\cite{...}`.
* Kontrollera om det finns ofullständiga `\cmidrule{...}` inom `tabular` miljöer; den kräver ett intervall av kolumner så du måste skriva `\cmidrule{3-3}` i stället för bara `\cmidrule{3}` om du vill ha ett horisontellt streck som bara spänner över en kolumn.
* Undvik nästlade `tabular` miljöer. Ta en titt på [`makecell` paketet](https://ctan.org/pkg/makecell?lang=en) om du vill lägga till manuella radbrytningar i en tabellcell, eller `p{...}` kolumntyp och/eller [`tabularx`](https://ctan.org/pkg/tabularx) paketet om du letar efter sätt att skapa kolumner som automatiskt radbryter långa rader.
* Om du har tabellrader som börjar med `[...` kan du behöva lägga till `\relax` efter `\\` på föregående rad.

**Användning av paketet soul eller changes**

Om du använder [`soul`](https://ctan.org/pkg/soul) eller [`changes`](https://ctan.org/pkg/changes) paketet för att markera text eller stryka text, då `\cite` och `\ref` kan behöva föregås av `\protect`; till exempel, `\protect\cite{...}`.

**Användning av tikzpicture**

Kontrollera om det saknas `;` i slutet av path-/node-kommandon och `]` i slutet av parameterlistor i `tikzpicture`s.

**Användning av paketet breqn**

Den [`breqn`](https://ctan.org/pkg/breqn) paketets `dmath` miljö kan hamna i oändliga loopar; ersätt med `align` och bryt raderna manuellt vid behov.

**Användning av paketet babel**

Vissa [`babel`](https://ctan.org/pkg/babel) språkalternativ ändrar betydelsen av vissa tecken vilket kan orsaka problem när dessa tecken används i sitt ”normala” sammanhang; till exempel i matematikläge. För att undvika detta, prova att använda alternativet `shorthands=off` när du laddar babel (t.ex., `\usepackage[shorthands=off]{babel}`).

**Användning av paketet jabbrv**

Vissa mallar använder [`jabbrv` paketet](https://github.com/compholio/jabbrv) för att automatiskt förkorta tidskriftsnamn (se [detta Overleaf-exempel](https://www.overleaf.com/latex/templates/automatic-journal-abbreviations/mxfsdscmvxcr)). När ett tidskriftsfält i `.bib` filen innehåller accentuerade Unicode-tecken (t.ex. Biología), kan detta blockera kompileringen och orsaka en timeout i Overleaf. LaTeX-kommandon måste användas i stället, t.ex. `Biolog{\'i}a` eller så kan du [ändra projektets kompilator](/latex/sv/kunskapsbas/026-changing-compiler.md) till `XeLaTeX` eller `LuaLaTeX`, vilka båda har inbyggt stöd för att läsa Unicode-tecken.

## Råd för några specifika timeout-situationer

### Mitt projekt kompilerade utan några fel, men nu ser jag en kompilerings-timeout

En liten ändring kan ibland orsaka en kompilerings-timeout. För att hjälpa till att identifiera orsaken till problemet och åtgärda det, prova dessa steg:

1. Använd [Kompilera om från grunden](/latex/sv/kunskapsbas/028-clearing-the-cache.md) för att rensa bort eventuella föråldrade genererade filer som kan orsaka problem.
2. Använd [Overleafs historikfunktion](/latex/sv/fler-amnen/49-using-the-history-feature.md) för att hitta dina senaste ändringar. Se listan över orsaker till allvarliga kompileringsfel ovan.
3. Använd [Stoppa vid första felet](/latex/sv/kunskapsbas/149-using-the-stop-on-first-error-compilation-mode.md) alternativet för att hitta och åtgärda eventuella fel som du av misstag har introducerat.

Det är möjligt att en liten ändring har lett till ett allvarligt kompileringsfel - se [listan ovan över allvarliga kompileringsfel](#anchor-fatal) för några möjliga orsaker.

### Jag har just laddat upp ett projekt till Overleaf och får en kompilerings-timeout

Det kan vara så att ditt projekt saknar en viktig fil eller ett viktigt paket, eller att det är organiserat på ett sätt som orsakar problem för Overleafs kompileringsprocess.

* Om ett projekt kompilerades utan problem på din lokala dator men inte går att kompilera på Overleaf kan det vara så att du använder en annan version av **TeX Live** på din egen dator. Du kan [ändra versionen av TeX Live för ditt projekt](https://www.overleaf.com/blog/new-feature-select-your-tex-live-compiler-version) för att bättre matcha den version som framgångsrikt kompilerade ditt projekt lokalt.
* Ditt uppladdade projekt kanske inte har en optimal filstruktur för Overleaf. Om din huvud-.tex-fil ligger i en mapp kan kompilatorn ha problem med att hitta vissa filberoenden. Om din huvud-.tex-fil ligger i en mapp, försök att omstrukturera ditt projekt så att huvud-.tex-filen ligger på högsta nivån i projektet.

Genom att följa [instruktionerna ovan för att hitta och åtgärda fel](#first-errors) kan man ofta identifiera saknade filer, problem med TeX Live-versionen och problem med projektets organisation.

### Jag gjorde en kopia av ett projekt som kompilerade, men nu får jag en kompilerings-timeout

Nya projekt, inklusive kopior av befintliga projekt, använder som standard den senaste versionen av TeX Live. Om ditt ursprungliga projekt använde en äldre version av TeX Live kan det vara inkompatibiliteter med den senaste versionen som orsakar problem. Försök [att ändra TeX Live-versionen](https://www.overleaf.com/blog/new-feature-select-your-tex-live-compiler-version) på din nya kopia så att den matchar versionen i originalprojektet.

### Jag kan inte få mitt projekt att kompilera när jag inkluderar alla avsnitt, men var och en kompilerar bra för sig

Följ [råden ovan om att använda kompileringsalternativet Fast\[draft\]](#second-images) för att se om hela projektet kan kompileras i läget Fast\[draft].

I vissa fall är det möjligt att kompilera ett stort projekt framgångsrikt i två steg: först genom att köra i läget Fast\[draft], och sedan genom att kompilera i normalläge.

Kontrollera varje avsnitt i ditt projekt för att identifiera möjliga orsaker till långsam kompilering. Dessa kan inkludera [stora bildfiler som kan optimeras](#anchor-optimize), eller andra [tidskrävande arbetssätt eller paket](#anchor-slow).

### Mitt projekt timear ut ibland, men det kan inte kompileras pålitligt

Ditt projekt kanske kör mycket nära den maximala kompileringstiden. Följ råden ovan för [att åtgärda fel](#first-errors), [optimera bilder](#second-images), och [undvika tidskrävande arbetssätt eller paket](#third-assess).

## Bästa praxis för att förebygga kompilerings-timeouts

Det är mycket bättre att förebygga att kompilerings-timeouts inträffar än att behöva hantera den ibland stressande processen att åtgärda dem när de väl har uppstått. Dessa rekommendationer bör hjälpa dig att förebygga kompilerings-timeouts eller snabbt återhämta dig från dem när de inträffar.

### Åtgärda alla kompileringsfel när de uppstår

Kompileringsfel indikeras av den röda notifikationsbubblan bredvid knappen Kompilera om, som beskrivs på [den här sidan](/latex/sv/fragor-och-svar/81-tips-and-tricks-for-troubleshooting-latex.md). Om du klickar på den röda bubblan ser du felmeddelandena. Om du klickar på varje felmeddelande kommer du till motsvarande rad i källkoden, så att du kan rätta din kod. Vi rekommenderar att fel rättas så snart som möjligt, eftersom om de får byggas upp kan det leda till svårfelsökta och allvarliga fel i framtiden.

[Den här sidan](/latex/sv/latex-grunder/05-errors.md) förklarar flera vanliga kompileringsfel. Om du har svårt att förstå ett felmeddelande leder ofta en sökning på nätet med texten från felet dig till ett blogginlägg eller foruminlägg där felet förklaras och lösningar erbjuds.

### Märk versioner av ditt projekt före större ändringar eller viktiga milstolpar

Använd [Overleafs historikfunktion](/latex/sv/fler-amnen/49-using-the-history-feature.md) att märka versioner av ditt projekt, så att du enkelt kan jämföra ditt nuvarande projekt med tidigare versioner. Detta kan hjälpa dig att snabbt hitta nya källor till kompileringsfel.

### Organisera dina filer

Det är lättare att hitta och åtgärda problem om ditt projekt är väl organiserat. Dessutom kan god projekthantering göra att du kan kompilera specifika delar av ditt projekt, vilket gör det lättare att identifiera områden som kan bidra till onormalt långa kompileringstider. Vänligen [se här](/latex/sv/dokumentstruktur/07-management-in-a-large-project.md) för råd om hur du hanterar stora projekt.

## Mer information om kompilering och kompileringstid

### Vad är egentligen ”kompilering”?

Kompilering är processen att omvandla din LaTeX-kod till en satt PDF-fil. [Läs mer om hur Overleaf kompilerar LaTeX-projekt](/latex/sv/kunskapsbas/064-how-does-overleaf-compile-my-project.md).

### Gränser för skälig användning

Vissa stora eller komplexa dokument kan ta längre tid att kompilera än timeout-gränsen på Overleafs gratisplan, och kan kräva den förlängda kompileringstid som finns tillgänglig på vår [betalda planer](https://www.overleaf.com/user/subscription/plans). Vissa projekt kan till och med behöva längre kompileringstid än vad som finns tillgängligt på våra betalplaner. I sådana fall kan du behöva ladda ner ditt projekt och kompilera det lokalt.

### Fortfarande fast?

Om du har en kompileringstimeout som du inte kan lösa med hjälp av råden här, vänligen [meddela oss](https://www.overleaf.com/contact).


---

# 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/kunskapsbas/038-fixing-and-preventing-compile-timeouts.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.
