> 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/overleaf-learn-latex-pt/base-de-conhecimento/149-using-the-stop-on-first-error-compilation-mode.md).

# Usar o modo de compilação Parar no Primeiro Erro

Este artigo explica como usar o **Parar no primeiro erro** modo de compilação do Overleaf, juntamente com a revisão de alguns tópicos importantes de contexto, incluindo:

* O que é um [modo de compilação do LaTeX](#introduction-to-latex-errors-and-compilation)?
* [Modos de compilação no Overleaf](#compilation-modes-on-overleaf)
* Como **Parar no primeiro erro** pode ser [útil para depuração](#benefits-of-using-the-stop-on-first-error-mode)

Para saltar a informação de contexto, pode ir diretamente para a secção que explica [como ativar o modo de compilação Parar no primeiro erro](#the-stop-on-first-error-compilation-mode).

## Introdução aos erros e à compilação em LaTeX

A conversão de um documento LaTeX para um ficheiro PDF composto é o resultado de um processo chamado *compilação*: um programa executável, conhecido como “compilador LaTeX”, lê o conteúdo do seu documento e executa os comandos LaTeX que o constituem para gerar o ficheiro PDF composto.

Ao escrever marcação (código) LaTeX, é bastante natural cometer erros que, durante a compilação, levam o compilador a emitir mensagens de erro que tentam explicar o que o compilador *pensa* considera ter causado o(s) problema(s). Tal como noutras linguagens de programação, um único erro no código LaTeX do seu documento pode desencadear uma cascata de erros, cada um com a sua mensagem correspondente. No Overleaf, as mensagens de erro de compilação são comunicadas ao utilizador através de [uma notificação vermelha junto ao **Recompilar** botão](#overleafs-latex-error-reporting), **Registos e ficheiros de saída** ícone para as ver.

### Tratamento de erros: modos de compilação

Os compiladores LaTeX, também conhecidos como [motores TeX](/latex/overleaf-learn-latex-pt/artigos-aprofundados/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md), têm incorporados (selecionáveis pelo utilizador) *modos de compilação* que determinam como os erros são tratados. A seguinte lista com marcadores utiliza o *seu próprio nome explicativo/descritivo* para cada um desses modos:

* **Tentar compilar apesar dos erros**—em essência, continuar a tentar compilar apesar de encontrar erros, esperando pelo melhor, possivelmente produzindo um ficheiro PDF, mas que pode conter erros de composição.
* **Parar no primeiro erro**—na prática, desistir ao primeiro sinal de problema, fornecer uma mensagem ao utilizador e sair sem criar um PDF. Isto evita desencadear uma cascata subsequente de erros, permitindo-lhe concentrar-se em corrigir o primeiro erro e recompilar o documento.
* **Suspender a compilação para interagir com o utilizador**—pausar a compilação para oferecer ajuda e fornecer mecanismos para que os utilizadores corrijam erros e continuem a compilação. Isto é possível com uma instalação local do LaTeX, mas impraticável no Overleaf.

## Modos de compilação no Overleaf

Para gerir o processo de compilação do LaTeX, o Overleaf utiliza uma [ferramenta de compilação chamada latexmk](/latex/overleaf-learn-latex-pt/base-de-conhecimento/064-how-does-overleaf-compile-my-project.md) que, por predefinição, utiliza um modo de compilação ao qual o Overleaf se refere como **Tentar compilar apesar dos erros:** a ferramenta de compilação tentará produzir um PDF composto, mesmo que existam [erros de compilação LaTeX](/latex/overleaf-learn-latex-pt/nocoes-basicas-de-latex/05-errors.md).

No **Tentar compilar apesar dos erros** no modo de compilação o compilador LaTeX não pára se forem detetados erros; em vez disso, tenta adivinhar da melhor forma a intenção do utilizador e aplica “correções” com base nessa suposição — o código problemático também pode ser “ignorado”. O compilador *pode* regressar a um estado em que o processo de compilação possa eventualmente concluir-se para criar um PDF, embora o PDF produzido possa conter saída incorreta. Muitas vezes, os erros encontrados podem ser demasiado graves, ou numerosos, para o compilador LaTeX corrigir, pelo que pode ainda assim “desistir” sem produzir um PDF.

### Relato de erros de LaTeX do Overleaf

Como referido acima, as mensagens de erro geradas durante a compilação são comunicadas ao utilizador através de uma notificação vermelha junto ao **Recompilar** botão:

![Captura de ecrã que mostra erros de LaTeX comunicados no Overleaf](/files/5c9b31e202eca69f9334bdcf37e63bfba2c8bdda)

Pode clicar no **Registos e ficheiros de saída** ícone para ver mais detalhes sobre o(s) erro(s). Por exemplo, se por engano tivesse escrito `\texbf{word}` em vez de `\textbf{word}`, o Overleaf ainda mostraria uma pré-visualização do PDF compilado juntamente com a mensagem de erro sobre o comando indefinido, mas “word” não estaria a negrito no PDF!

## O modo de compilação Parar no primeiro erro

Os utilizadores podem agora alterar o modo de compilação do LaTeX mudando para o **Parar no primeiro erro** modo que faz com que o Overleaf termine a compilação imediatamente após detetar o primeiro erro.

### Como ativar Parar no primeiro erro

Selecione o pequeno triângulo junto ao **Recompilar** botão e depois escolha **Parar no primeiro erro** do **Recompilar** menu pendente:

![Captura de ecrã que mostra como ativar o modo de compilação Parar no primeiro erro](/files/67e82877ac48c6241db49c973a12ca25197d059f)

#### Âmbito desta definição de modo

O **Parar no primeiro erro** O modo é uma definição por utilizador e por projeto. Ativar este modo irá *contém* afetar os seus outros projetos, ou quaisquer colaboradores no mesmo projeto.

### Desativar Parar no primeiro erro

Quando **Parar no primeiro erro** está ativado, pode voltar ao modo de compilação predefinido selecionando o botão azul **Desativar “Parar no primeiro erro”** localizado na caixa de diálogo que aparece quando ocorre um erro de compilação:

![Captura de ecrã que mostra a mensagem de falha de compilação](/files/1688a1f9b4dd592970ef51b9c2cfc2cdb01e8c86)

Também pode ir ao **Recompilar** menu pendente e selecionar o **Tentar compilar apesar dos erros** modo:

![Captura de ecrã que mostra como desativar o modo de compilação Parar no primeiro erro](/files/fd1ec568d29654bc2b3ffbde36bc8680aa0d6181)

### Notas e conselhos adicionais

Se o seu projeto estiver livre de erros de compilação LaTeX, será mostrada uma pré-visualização do PDF como habitualmente. Se o seu projeto *não* contiver erros de compilação LaTeX, a compilação irá parar imediatamente no primeiro erro. A primeira mensagem de erro é apresentada como se mostra na captura de ecrã abaixo, para que se possa concentrar na depuração do erro no seu código-fonte. Nesta captura de ecrã, o erro deve-se à utilização incorreta de `\caption{...}\label{...}` dentro de um ambiente tabular. A linha 15 deve ser movida para antes de `\begin{tabular}`.

![Captura de ecrã que mostra um erro típico de LaTeX](/files/64b28e5558e98f54e11da2b684c7c72b6aa8ac42)

Clique em **Recompilar** após corrigir cada erro e depois repita este processo de depuração para cada erro de compilação subsequente. Quando o seu projeto estiver livre de erros de LaTeX, o **Parar no primeiro erro** modo mostrará o PDF compilado com sucesso.

### Vantagens de usar o modo Parar no primeiro erro

* **Ajuda a depurar timeouts de compilação.** Alguns tipos de erros de compilação são tão graves (por exemplo, recursão acidental) que podem bloquear o **Tentar compilar apesar dos erros** modo de compilação, levando a um [timeout de compilação](/latex/overleaf-learn-latex-pt/base-de-conhecimento/038-fixing-and-preventing-compile-timeouts.md#fatal-compile-errors-blocking-the-compilation) num projeto do Overleaf. Ativar o **Parar no primeiro erro** modo pode ajudar a localizar e depurar tais erros.
* **Não deixe que os seus erros se acumulem.** Alguns utilizadores podem preferir o comportamento de outros editores de LaTeX, nos quais o processo de compilação pára no primeiro erro de LaTeX encontrado, para que possam corrigir o erro antes de recompilar. Impedir que os erros se propaguem — desencadeando uma avalanche de erros adicionais — evita ter de depurar mais de 100 mensagens de erro de compilação, o que pode tornar-se difícil e algo aborrecido.
* **Ativar o modo Parar no primeiro erro pode detetar rapidamente os seus erros (se existirem).** Se tiver um documento grande ou complexo que demore mais tempo a compilar, o **Tentar compilar apesar dos erros** modo exige que espere até a compilação terminar. Se existirem erros que precise de corrigir, pode ser moroso ter de esperar até poder ver o primeiro erro de compilação e tentar corrigi-lo.
* **Aprender a depurar erros é uma parte essencial de aprender LaTeX.** O **Parar no primeiro erro** modo pode ajudar os iniciantes em LaTeX a aprender e a adotar bons hábitos de codificação em LaTeX desde cedo, talvez acelerando o seu percurso rumo à proficiência em LaTeX. Os erros de LaTeX podem parecer tão bizarros e esotéricos que é muito tentador ignorá-los e deixar o compilador continuar — na esperança de que um PDF acabe por aparecer, mesmo que esse PDF contenha erros de composição. A longo prazo, ignorar erros de compilação pode levar a maus hábitos de codificação que poderiam, eventualmente, pregar-lhe uma partida no futuro, talvez durante a submissão de um artigo importante para uma revista! Se estiver a lecionar uma turma sobre LaTeX, os seus alunos podem usar o **Parar no primeiro erro** modo para desenvolver competências na depuração de erros de LaTeX.

## Erros que não parecem surgir dentro dos seus ficheiros

Se interromper manualmente a compilação no **Tentar compilar apesar dos erros** modo, e depois ativar **Parar no primeiro erro**, a compilação seguinte pode resultar em algumas mensagens de erro aparentemente aleatórias, como `! O ficheiro terminou enquanto se analisava o uso de \@writefile`, que não parecem ter origem nos seus ficheiros. Esses erros podem dever-se a ficheiros truncados gerados pela compilação incompleta anterior e deixados por ela. Nesse caso, poderá querer fazer uma [Recompilar do zero](/latex/overleaf-learn-latex-pt/base-de-conhecimento/028-clearing-the-cache.md) para que a compilação seguinte, ainda no **Parar no primeiro erro** modo, tenha hipótese de começar do zero e mostrar o primeiro erro relevante. Se continuar a receber erros de um ficheiro aparentemente inexistente — por exemplo, `output.aux`, `output.toc` etc. — dê uma vista de olhos a [esta página de ajuda](/latex/overleaf-learn-latex-pt/base-de-conhecimento/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

## Alguns detalhes de nível mais baixo

O **Tentar compilar apesar dos erros** o modo de compilação executa `latexmk` com as seguintes opções:

```latex
latexmk -f -interaction=nonstopmode …
```

O **Parar no primeiro erro** o modo de compilação executará o latexmk com as seguintes opções, em vez disso:

```latex
latexmk -halt-on-error -interaction=nonstopmode …
```

Enquanto está aqui, também poderá interessar-lhe ler mais sobre [como o Overleaf utiliza o `latexmk` ferramenta](/latex/overleaf-learn-latex-pt/base-de-conhecimento/064-how-does-overleaf-compile-my-project.md).


---

# 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/overleaf-learn-latex-pt/base-de-conhecimento/149-using-the-stop-on-first-error-compilation-mode.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.
