> 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/uk/baza-znan/149-using-the-stop-on-first-error-compilation-mode.md).

# Використання режиму компіляції «Зупинятися на першій помилці»

Ця стаття пояснює, як використовувати **Зупинятись на першій помилці** режим компіляції Overleaf, а також розглядає деякі важливі теми передісторії, зокрема:

* Що таке [режим компіляції LaTeX](#introduction-to-latex-errors-and-compilation)?
* [Режими компіляції в Overleaf](#compilation-modes-on-overleaf)
* Як **Зупинятись на першій помилці** може бути [корисно для налагодження](#benefits-of-using-the-stop-on-first-error-mode)

Щоб пропустити довідкову інформацію, ви можете одразу перейти до розділу, що пояснює [як увімкнути режим компіляції «Зупинятися на першій помилці»](#the-stop-on-first-error-compilation-mode).

## Вступ до помилок LaTeX і компіляції

Перетворення документа LaTeX на верстований PDF-файл є результатом процесу, який називається *компіляція*: виконувана програма, відома як «компілятор LaTeX», читає вміст вашого документа й виконує його складові команди LaTeX, щоб згенерувати верстований PDF-файл.

Під час написання розмітки LaTeX (коду) цілком природно робити помилки, які під час компіляції змушують компілятор виводити повідомлення про помилки, що намагаються пояснити, що компілятор *вважає* спричинило проблему(и). Як і в інших мовах програмування, одна помилка у коді LaTeX вашого документа може викликати ланцюг помилок, кожна з відповідним повідомленням. В Overleaf повідомлення про помилки компіляції показуються користувачу через [червоне сповіщення поруч із **Перекомпіляція** кнопку](#overleafs-latex-error-reporting), і ви можете натиснути на **Журнали та вихідні файли** піктограму, щоб переглянути їх.

### Опрацювання помилок: режими компіляції

Компілятори LaTeX, також відомі як [рушії TeX](/latex/uk/dokladni-statti/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md), мають вбудовані (які користувач може вибрати) *режими компіляції* які визначають, як обробляються помилки. У наведеному нижче маркованому списку використано власну пояснювальну/описову назву Overleaf *власна пояснювальна/описова назва* для кожного з цих режимів:

* **Намагатися компілювати попри помилки**—по суті, продовжувати намагатися компілювати, попри виникнення помилок, сподіваючись на краще; можливо, буде створено PDF-файл, але він може містити помилки верстки.
* **Зупинятись на першій помилці**—фактично «здаватися» за першої ознаки проблеми, показати повідомлення користувачу й завершити роботу без створення PDF. Це дозволяє уникнути подальшого ланцюга помилок, зосередитися на виправленні самої першої помилки та повторно скомпілювати документ.
* **Призупинити компіляцію для взаємодії з користувачем**—призупинити компіляцію, щоб надати допомогу й механізми для виправлення помилок та продовження компіляції. Це можливо за локальної інсталяції LaTeX, але непрактично в Overleaf.

## Режими компіляції в Overleaf

Для керування процесом компіляції LaTeX Overleaf використовує [засіб збірки під назвою latexmk](/latex/uk/baza-znan/064-how-does-overleaf-compile-my-project.md) який за замовчуванням використовує режим компіляції, який Overleaf називає **Намагатися компілювати попри помилки:** засіб збірки спробує створити верстований PDF, навіть якщо є [помилки компіляції LaTeX](/latex/uk/osnovi-latex/05-errors.md).

У **Намагатися компілювати попри помилки** У режимі компіляції компілятор LaTeX не зупиняється, якщо виявлено помилки; натомість він намагається «вгадати» намір користувача й застосовує «виправлення» на основі цього припущення — проблемний код також може бути «пропущено». Компілятор *може* повернутися до стану, в якому процес компіляції зрештою може завершитися створенням PDF, хоча створений PDF може містити неправильний вивід. Часто виявлені помилки можуть бути надто серйозними або численними, щоб компілятор LaTeX міг їх виправити, тож він усе одно може «здатися» без створення PDF.

### Повідомлення Overleaf про помилки LaTeX

Як зазначено вище, повідомлення про помилки, згенеровані під час компіляції, показуються користувачу через червоне сповіщення поруч із **Перекомпіляція** кнопкою:

![Знімок екрана, що показує помилки LaTeX, відображені в Overleaf](/files/ef328ac0fdb2f6f3c8935ed1bea33ac32ede5df7)

Ви можете натиснути на **Журнали та вихідні файли** піктограму, щоб переглянути докладнішу інформацію про помилку(и). Наприклад, якщо б ви помилково набрали `\\texbf{word}` замість `\\textbf{word}`, Overleaf усе одно показав би попередній перегляд скомпільованого PDF разом із повідомленням про помилку щодо невизначеної команди, але «word» не був би напівжирним у PDF!

## Режим компіляції «Зупинятися на першій помилці»

Тепер користувачі можуть змінювати режим компіляції LaTeX, перемкнувшись на **Зупинятись на першій помилці** режим, який змушує Overleaf негайно завершувати компіляцію після виявлення першої помилки.

### Як увімкнути «Зупинятися на першій помилці»

Виберіть маленький трикутник поруч із **Перекомпіляція** кнопкою, а потім виберіть **Зупинятись на першій помилці** з **Перекомпіляція** випадному меню:

![Знімок екрана, що показує, як увімкнути режим компіляції «Зупинятись на першій помилці»](/files/6a51b629ba590ce70d1b727b140796ab61f5d958)

#### Сфера дії цього налаштування режиму

Функція **Зупинятись на першій помилці** режим є налаштуванням для окремого користувача й окремого проєкту. Увімкнення цього режиму *не* не вплине на ваші інші проєкти чи на будь-яких співавторів у тому самому проєкті.

### Вимкнення режиму «Зупинятися на першій помилці»

Коли **Зупинятись на першій помилці** увімкнено, ви можете повернутися до режиму компіляції за замовчуванням, вибравши синю кнопку **Вимкнути «Зупинятися на першій помилці»** розташовану в діалоговому вікні, яке з’являється, коли виникає помилка компіляції:

![Знімок екрана, що показує повідомлення про збій компіляції](/files/dae3d97721079e27140b4d8e2e9c920ec513d34a)

Ви також можете перейти до **Перекомпіляція** розкривного меню та вибрати **Намагатися компілювати попри помилки** режим:

![Знімок екрана, що показує, як вимкнути режим компіляції «Зупинятися на першій помилці»](/files/ed5f66ce9381227d811af91bc2f33e47dec8241c)

### Додаткові примітки та поради

Якщо у вашому проєкті немає помилок компіляції LaTeX, попередній перегляд PDF буде показано як завжди. Якщо ваш проєкт *не* містить помилки компіляції LaTeX, компіляція негайно зупиниться на першій помилці. Повідомлення про першу помилку відображається, як показано на знімку екрана нижче, щоб ви могли зосередитися на налагодженні помилки у своєму вихідному коді. На цьому знімку екрана помилка спричинена неправильним використанням `\\caption{...}\\label{...}` у середовищі tabular. Рядок 15 слід перенести перед `\begin{tabular}`.

![Знімок екрана, що показує типову помилку LaTeX](/files/68b9a5622db852edd95fdd5a4226111c1f3d2019)

Натисніть на **Перекомпіляція** після виправлення кожної помилки, а потім повторіть цей процес налагодження для кожної наступної помилки компіляції. Коли у вашому проєкті не буде помилок LaTeX, **Зупинятись на першій помилці** режим покаже успішно скомпільований PDF.

### Переваги використання режиму «Зупинятися на першій помилці»

* **Допомагає налагоджувати тайм-аути компіляції.** Деякі типи помилок компіляції настільки серйозні (наприклад, випадкова рекурсія), що можуть заблокувати **Намагатися компілювати попри помилки** режим компіляції, що призводить до [тайм-ауту компіляції](/latex/uk/baza-znan/038-fixing-and-preventing-compile-timeouts.md#fatal-compile-errors-blocking-the-compilation) у проєкті Overleaf. Увімкнення **Зупинятись на першій помилці** режиму може допомогти знайти й налагодити такі помилки.
* **Не дозволяйте помилкам накопичуватися.** Деякі користувачі можуть надавати перевагу поведінці інших редакторів LaTeX, у яких процес компіляції зупиняється на першій знайденій помилці LaTeX, щоб можна було виправити помилку перед повторною компіляцією. Запобігання каскаду помилок — лавині подальших помилок — дозволяє уникнути налагодження 100+ повідомлень про помилки компіляції, що може бути складно й досить виснажливо.
* **Увімкнення режиму «Зупинятися на першій помилці» може швидко виявити ваші помилки, якщо вони є.** Якщо у вас великий або складний документ, який компілюється довше, **Намагатися компілювати попри помилки** режим вимагає чекати, доки компіляція завершиться. Якщо є помилки, які потрібно виправити, може забирати багато часу очікування, перш ніж ви зможете побачити першу помилку компіляції та спробувати її виправити.
* **Навчитися налагоджувати помилки — важлива частина вивчення LaTeX.** Функція **Зупинятись на першій помилці** режим може допомогти початківцям LaTeX рано навчитися й виробити хороші звички кодування LaTeX, можливо, пришвидшивши їхній шлях до впевненого володіння LaTeX. Помилки LaTeX можуть здаватися настільки дивними й езотеричними, що дуже спокусливо ігнорувати їх і дозволяти компілятору продовжувати — сподіваючись, що PDF зрештою з’явиться, навіть якщо цей PDF містить помилки верстки. У довгостроковій перспективі ігнорування помилок компіляції може призвести до поганих звичок кодування, які зрештою можуть підвести вас у майбутньому, можливо, під час подання важливої журнальної статті! Якщо ви викладаєте курс LaTeX, ваші студенти можуть використовувати **Зупинятись на першій помилці** режим, щоб розвивати навички налагодження помилок LaTeX.

## Помилки, які, здається, не виникають у ваших файлах

Якщо ви вручну зупините компіляцію в **Намагатися компілювати попри помилки** режимі, а потім увімкнете **Зупинятись на першій помилці**, наступна компіляція може призвести до деяких на вигляд випадкових повідомлень про помилки, наприклад `! Файл завершився під час сканування використання \@writefile`, які, здається, не походять із ваших файлів. Такі помилки можуть бути спричинені обрізаними файлами, згенерованими й залишеними після попередньої неповної компіляції. У такому разі вам може знадобитися виконати [Повторна компіляція з нуля](/latex/uk/baza-znan/028-clearing-the-cache.md) так, щоб наступна компіляція, і далі в **Зупинятись на першій помилці** режимі, мала шанс почати з чистого аркуша й показати першу релевантну помилку. Якщо ви й далі отримуєте помилки з нібито неіснуючого файлу — наприклад, `output.aux`, `output.toc` тощо — погляньте на [цю довідкову сторінку](/latex/uk/baza-znan/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

## Деякі деталі нижчого рівня

Функція **Намагатися компілювати попри помилки** режим компіляції запускається `latexmk` з такими прапорцями:

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

Функція **Зупинятись на першій помилці** режим компіляції натомість запускатиме latexmk з такими прапорцями:

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

Поки ви тут, вам також може бути цікаво дізнатися більше про [як Overleaf використовує `latexmk` інструмент](/latex/uk/baza-znan/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/uk/baza-znan/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.
