> 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/pl/baza-wiedzy/066-how-to-find-and-fix-errors-reported-in-generated-files.md).

# Jak znaleźć i naprawić błędy zgłoszone w wygenerowanych plikach

## Wstęp

Czasami Overleaf zgłasza błędy wynikające z plików o nazwach takich jak `output.toc`, `output.bbl`, itp., ale te pliki *nawet nie istnieją w Twoim projekcie*. Skąd więc takie pliki *się biorą* i, co ważniejsze, jak *odszukaj* i *naprawić* te błędy?

> ![Gen-toc-error.png](/files/189eff3631a9989c5f2ad800b658eabef421b9e7) „Ale ja nawet nie **zgłaszali, że wersja 3 działa wolno** tego `output.toc` pliku w moim projekcie!”

Te „tajemnicze pliki” to artefakty: pliki pomocnicze generowane podczas kompilacji LaTeX-a, ale mogą one również wywoływać błędy, które zwykle wynikają z problemów w kodzie w plikach źródłowych Twojego projektu. Ten artykuł pomocy wykorzystuje [prawdziwy, pełen błędów przykład](#playing-detective-locating-errors-in-generated-files) aby pokazać, jak namierzyć takie błędy aż do ich źródła w Twoim pliku(-ach) źródłowym projektu.

## Pliki generowane podczas procesu kompilacji LaTeX-a

Oprócz pliku wyjściowego `.pdf` plik, proces kompilacji LaTeX-a generuje kilka typów plików zawierających informacje o etykietach, odwołaniach krzyżowych, numerach stron itd. Niektóre pomocnicze typy plików nie są bezpośrednio tworzone przez kompilator LaTeX-a, lecz przez inne narzędzia przetwarzające używane podczas składu: na przykład sformatowane listy odsyłaczy i indeksy. Te wygenerowane pliki muszą być odczytane przez kompilator przy kolejnych przebiegach, aby końcowy `.pdf` plik został wypełniony poprawnymi listami, cytowaniami i odwołaniami krzyżowymi.

Konieczność zapisywania i odczytywania pomocniczych plików danych przez LaTeX oraz powiązane narzędzia przetwarzające oznacza, że może być potrzebnych kilka kroków kompilacji/przetwarzania, zanim cały zestaw danych plików zbiegnie się (ustabilizuje), aby wygenerować końcowy, złożony (stabilny) `.pdf` plik. Typowy cykl składu może wyglądać następująco:

`pdflatex`$$\mapsto$$`bibtex`$$\mapsto$$`pdflatex`$$\mapsto$$`pdflatex`

W lokalnej instalacji LaTeX-a możesz samodzielnie wykonać każdy etap pośredni albo użyć narzędzia budującego, takiego jak [make](https://www.gnu.org/software/make/manual/), [latexmk](https://ctan.org/pkg/latexmk) lub [arara](https://ctan.org/pkg/arara), aby zautomatyzować ten łańcuch procesów. [Overleaf używa latexmk](/latex/pl/baza-wiedzy/064-how-does-overleaf-compile-my-project.md), a ten film pokazuje, co się dzieje za każdym razem, gdy klikasz przycisk „Recompile” w swoim projekcie Overleaf.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/Uo3I2FXEI8H6aFPBZq171/e2139f9575a4db6955dc2278dc08283c/latexmk-ol.mp4>" %}

Zazwyczaj wygenerowane pliki mają tę samą nazwę co `.tex` kompilowany plik; na przykład, jeśli kompilujesz `**main**.tex`, wygenerowane pliki miałyby nazwy `**main**.aux`, `**main**.toc`, `**main**.lof` itd. Jednakże, *w Overleaf* kompilacja `\jobname` jest zawsze ustawiona na `**output**`, więc [wygenerowane pliki](/latex/pl/baza-wiedzy/150-view-generated-files.md) z Twojego projektu Overleaf są zawsze nazywane `**output**.aux`, `**output**.toc`, `**output**.lof` itd. Te wygenerowane pliki można pobrać z projektu Overleaf, ale nie można ich wyświetlać ani edytować w Overleaf.

## Błędy kompilacji zgłaszane z wygenerowanych plików

Błędy w kodzie w głównym projekcie `.tex` pliku mogą zostać przeniesione do wygenerowanych plików. Na przykład nieucieczony `&` % `\section{Introduction & Background}` trafiłby do wygenerowanego `.toc` pliku. Gdy wygenerowany `.toc` plik zostanie następnie odczytany przez kolejny `pdflatex` przebieg kompilacji, pojawi się komunikat o błędzie jako „pochodzący z pliku .toc”. Jednak obecne logi LaTeX-a i raportowanie błędów nie łączą linii w `.toc` pliku (i innych wygenerowanych plikach) z ich pierwotnym miejscem w pliku źródłowym `.tex` pliku: nie musi być od razu oczywiste, gdzie należy poprawić pierwotny błąd.

Oto przykład, jak błędy są prezentowane w innym edytorze LaTeX: choć można kliknąć komunikat błędu, aby otworzyć powiązaną linię w wygenerowanym `.toc` lub `.aux` pliku, nie ma ścieżki prowadzącej od błędu do pierwotnego miejsca w `.tex` pliku. A nawet jeśli poprawisz błąd, zastępując `&` z `\&` w `.toc` pliku, to tak naprawdę nie rozwiązuje problemu: przy następnym kompilowaniu `.tex` pliku, `.toc` plik zostanie wygenerowany ponownie, a ten sam błąd zostanie zapisany ponownie do `.toc` pliku.

![Texstudio-errors-generated-files.gif](/files/ffb8b36f3561ff2b01f4cf8511c7edc07f366a85)

Gdy błąd jest zgłaszany jako pochodzący z wygenerowanych plików, właściwym sposobem rozwiązania jest odnalezienie rzeczywistego błędu źródłowego w plikach źródłowych i poprawienie ich. Komunikaty błędów zwykle zawierają informacje kontekstowe, jakiś tekst lub kod otaczający błąd, więc wyszukiwanie tekstu w plikach źródłowych pomoże je zlokalizować. Same błędy często są typowe: możesz sprawdzić niektóre częste błędy na [tę stronę pomocy](/latex/pl/podstawy-latex-a/05-errors.md), albo w [liście FAQ TeX-a](https://texfaq.org/#errors).

## Najpierw spróbuj wyczyścić wygenerowane pliki

Czasami błędy w wygenerowanych plikach są pozostałościami po poprzedniej kompilacji. Nawet jeśli poprawiłeś błędy w swoim `.tex` pliku i ponownie skompilowałeś, wygenerowane pliki, nadal zawierające błędy, mogą wciąż być odczytywane przez kompilator, powodując te same błędy co wcześniej. Możesz spróbować usunąć wygenerowane pliki przed ponowną kompilacją. Instrukcje, jak to zrobić w Overleaf, znajdziesz [tutaj](/latex/pl/baza-wiedzy/028-clearing-the-cache.md).

Jeśli nadal widzisz te same błędy nawet po usunięciu wszystkich wygenerowanych plików i ponownej kompilacji, prawdopodobnie istnieją rzeczywiste błędy w plikach źródłowych.

## Zabawa w detektywa: lokalizowanie błędów w wygenerowanych plikach

Poniższe sekcje zawierają kilka wskazówek, gdzie szukać takich błędów. Użyjemy następującego *celowo pełnego błędów* przykładowego projektu do naszego śledztwa. Gotowy? Zaczynajmy!

[Otwórz *pełen błędów* projekt Overleaf!](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Demo+of+LaTeX+compile+errors+reported+from+generated+files\&main_document=main.tex\&snip_uri=https%3A%2F%2Fassets.ctfassets.net%2Fnrgyaltdicpt%2F5qdEqgUidaYDHjOlBoKM7K%2F55395921a114edb36ed3d51d7b1c6edb%2Fdemoerrors.zip) Projekt powinien wyglądać mniej więcej tak 😲:

![Obraz pokazujący błędy projektu LaTeX](/files/83b44ba5824ae713b2f3ff62250adf1aad70f82b)

### Błędy z plików .aux

Ta `.aux` plik zawiera informacje o użyciu `\label{...}` deklaracji i `\cite{...}` w `.tex` pliku, więc to są przydatne rzeczy do sprawdzenia.

Przyjrzyjmy się temu pierwszemu błędowi z naszego przykładowego projektu pełnego błędów.

![przykładowy błąd w pliku .aux spowodowany niepoprawną deklaracją \label](/files/0227c00a4b280d49be47d5b25ecb051737772b40)

Błąd `Wstawiono brakujące \endcsname.` w `\alpha` może na pierwszy rzut oka wydawać się dość tajemniczy i nie wygląda na zbyt pomocny w debugowaniu. Ale z tekstu (kontekstu) komunikatu błędu widzimy, że pojawia się gdzieś w pobliżu kodu, który ma `sec:\alpha`, który jest powiązany z jakąś etykietą lub licznikiem ponumerowanym 1.1. Dlatego możemy chcieć uważnie sprawdzić wszelkie `\label{...}` w naszym `.tex` pliki, które zawierają fragment `sec:\alpha`.

Wkrótce powinieneś trafić do linii 37 naszego przykładowego projektu:

```latex
\label{sec:\alpha}
```

Argument przekazany do `\label{...}` nie powinien zawierać żadnych poleceń LaTeX ani sekwencji sterujących, takich jak `\alpha`. Dlatego poprawienie etykiety na coś takiego jak `\label{sec:alpha}`, a także wszelkich odpowiadających `\ref{...}`, wyczyści ten błąd.

Oto kolejny błąd zgłoszony z `.aux` pliku w naszym przykładowym projekcie:

![przykładowy błąd w pliku .aux spowodowany spacją w kluczu \cite{...}](/files/50edf5652032301a698d19eed2a4b13ac9aa698b)

Tym razem kompilator skarży się na białą spację w `\citation`; gdzie klucz zaczyna się od „That”. Zatem chcielibyśmy wyszukać `\cite{That ...}` w naszym `.tex` pliku... i znajdujemy go w linii 23:

```latex
... justo \cite{That mandatory talk} eget magna ...
```

Klucze cytowań nie powinny zawierać znaków spacji, więc spacje w tym `\cite{...}`, a także odpowiadający im klucz BIBTeX w `.bib` pliku, powinny zostać usunięte.

### Błędy z plików .toc

Ta `.toc` plik zawiera wpisy dla `\tableofcontents`. Są one tworzone na podstawie nagłówków sekcji w dokumencie LaTeX, np. `\chapter{...}`, `\section{...}`, itd. Dlatego jeśli widzisz błędy zgłaszane z `.toc` plików, warto sprawdzić nagłówki sekcji zawierające tekst podany w komunikacie błędu.

![przykładowy błąd w pliku .toc spowodowany nieucieczonym & w \section{...}](/files/71980995ea367e04881feffe7051507b70b3e78d)

Wygląda to na nagłówek sekcji, który byłby numerowany jako „1”, i zawiera tekst `Introduction & Welcome`. Szybkie wyszukiwanie w `.tex` pliku doprowadzi nas do linii 12:

```latex
\section{Introduction & Welcome}
```

Ta `&` jest tutaj nieucieczony, więc musimy zmienić go na `\&` w `.tex` pliku.

Kolejny podobny przykład:

![przykładowy błąd w pliku .toc spowodowany poleceniem matematycznym nie w trybie matematycznym w kluczu \section{...}](/files/5e8e9fde5542447fc61b21c146455ca4927e9c5c)

Podobnie naszym przeczuciem byłoby szukanie nagłówka sekcji, który byłby numerowany jako „1.1”, i prawdopodobnie zawierającego `Setting \alpha`. Nasze przeczucie okazuje się trafne, w linii 36 `.tex` plik:

```latex
\subsection{Setting \alpha}
```

`\alpha` jest poleceniem matematycznym, ale zapomnieliśmy tutaj umieścić go w trybie matematycznym, więc musimy to poprawić na

```latex
\subsection{Setting $\alpha$}
```

lub

```latex
\subsection{Setting \(\alpha\)}
```

Czasami błędy pojawiają się w `.toc` pliku z powodu błędów w kodzie używanym do stylizacji wpisów w spisie treści:

![przykładowy błąd w pliku .toc spowodowany nieprawidłowym kodem podczas stylizowania wpisu spisu treści](/files/e9e20b87e21cab15ab816b4943aba1fa7d606aa1)

Tutaj wyszukiwanie z użyciem `\itshae` doprowadzi nas do literówki w linii 5 naszego przykładowego `.tex`: powinno być `\itshape` zamiast tego. W tym przypadku błąd można zlokalizować we wstępie naszego `.tex` pliku, więc możemy go od razu poprawić. Ale jeśli używasz `.cls` lub `.sty` pliku dostarczonego przez Twoją instytucję i podejrzewasz, że błędy wynikają z błędnej konfiguracji w dostarczonych plikach, powinieneś skontaktować się z autorem lub opiekunem szablonu albo pakietu, aby mogli zaktualizować szablon.

### Błędy z plików .lof i .lot

Ta `.lof` plik zawiera wpisy dla `\listoffigures`, i są wypełniane przez `\caption{...}` o wartości `figure` środowiska.

Podobnie, `.lot` plik używa `\caption{...}` z `table` środowisk, aby generować wpisy dla `\listoftables`.

Dlatego jeśli występują błędy LaTeX z `.lof` lub `.lot` plików, powinieneś sprawdzić `\caption{...}` który zawiera odpowiednie fragmenty tekstu.

Na podstawie tego komunikatu błędu wyszukamy `Effects of \alpha and var_coeff` w naszym `\caption{...}`ów, zwłaszcza dla `figure`ów:

![przykładowy błąd w pliku .lof spowodowany poleceniem matematycznym nie w trybie matematycznym w kluczu figury \caption{...}](/files/6ebce1e5e24e3bc4f153f9512b1161159964a59f)

i trafimy do linii 19 w naszym `.tex` plik:

```latex
\caption{Effects of \alpha and var_coeff}
```

Ta `\alpha` powinno być umieszczone w trybie matematycznym; a jeśli `var_coeff` ma być nazwą zmiennej, podkreślenie musi zostać ucieczone. Nie używaj `\verb|var_coeff|` ponieważ może to być dość katastrofalne także w `\caption{...}`, również!

```latex
\caption{Effects of $\alpha$ and \texttt{var\_coeff}}
```

Podobnie, patrząc na ten błąd, wyszukalibyśmy `jakieś przykładowe dane z n^i` % `table` `\caption{...}`, z przeczuciem, że zapomnieliśmy umieścić `n^i` również w trybie matematycznym.

![przykładowy błąd w pliku .lot spowodowany indeksem górnym nie w trybie matematycznym w kluczu tabeli \caption{...}](/files/9b6b5d405c93a7f95e03b181cc66d598f7a25a2d)

I tak poprawiamy linię 31

```latex
\caption{Some sample data with n^i}
```

na

```latex
\caption{Some sample data with $n^i$}
```

### Błędy z plików .bbl

Ta `.bbl` plik zawiera wpisy dla listy odsyłaczy (bibliografii) i jest generowany przez BIBTeX po przetworzeniu `.bib` pliku, używając informacji o stylu z `.bst` pliku. Błędy zgłaszane z `.bbl` zwykle pochodzą z `.bib` pliku.

Oto częsty błąd, który często widzimy w pomocy technicznej Overleaf:

![przykładowy błąd w pliku .bbl spowodowany nieucieczonym & w pliku .bib](/files/26f90414ed5d49cf2bde5c1630e6708fac15d6d0)

Wyszukując `This & that` w `.bib` pliku przykładowego projektu doprowadzi nas do linii 13, gdzie uświadamiamy sobie, że `&` powinno być ucieczone jako `\&` albo zastąpione słowem `i`.

```bibtex
    title   = {This & That},
```

Autorzy często napotykają błędy związane ze znakami Unicode w `.bbl` (a więc w `.bib`) plikach — zwłaszcza jeśli źródła informacji zostały skopiowane i wklejone skądinąd:

![przykładowy błąd w pliku .bbl spowodowany nieobsługiwanym znakiem Unicode w pliku .bib](/files/6b0cc289c1d386b2fcbe3684b3eff1fb011ee837)

Skopiowanie znaku ♣ z komunikatu błędu i wyszukanie go w `.bib` pliku doprowadzi Cię do linii 3:

```bibtex
    title   = {Research ♣ Development},
```

Niektóre znaki Unicode nie są obsługiwane przez `latex` i `pdflatex` kompilatory. Aby uniknąć błędu, możesz spróbować [zmienić kompilator swojego projektu](/latex/pl/baza-wiedzy/026-changing-compiler.md) na `XeLaTeX` lub `LuaLaTeX`. Ale nawet wtedy musiałbyś upewnić się, że Twój projekt jest kompatybilny z tymi kompilatorami oraz że użyłeś czcionki zawierającej glif reprezentujący ♣, aby był poprawnie renderowany w wyjściowym pliku PDF. Dlatego lepiej byłoby użyć odpowiednich poleceń LaTeX:

```bibtex
    title   = {Research $\clubsuit$ Development},
```

Czasami jednak taki znak może być znacznie trudniejszy do zauważenia:

![przykładowy błąd w pliku .bbl spowodowany nieobsługiwanym, niedrukowalnym znakiem Unicode w pliku .bib](/files/7cf92ef4f0731b788b25a593c0a34597e2231ed5)

Tutaj U+3000 jest [znakiem Unicode `IDEOGRAPHIC SPACE`](https://www.fileformat.info/info/unicode/char/3000/index.htm), a więc rzeczywiście jest to biały znak. Może być trudno skopiować dokładnie ten znak z komunikatu błędu, aby można było go wyszukać w `.bib` pliku. Będziemy więc musieli spróbować innego sposobu, aby go zlokalizować, używając `\DeclareUnicodeCharacter` do zastąpienia `U+3000` czymś bardziej widocznym! Dodaj następujące linie do preambuły swojego projektu, przed `\begin{document}`:

```latex
\usepackage{xcolor}
\DeclareUnicodeCharacter{3000}{\textcolor{red}{BAD!!}}
```

Kompilacja projektu sprawi wtedy, że błąd zniknie; ale powinieneś uważnie poszukać BAD!! w wyjściowym pliku PDF:

![wyjściowy PDF zastępujący U+3000 czerwonym BAD!!](/files/f4e047e75e77e395ebecaac7961aa0c603876cca)

Więc teraz wiemy, że ten zły znak znajduje się między `o wartości` i `Wondrous`, dla pozycji bibliograficznej autorstwa „An Author”. Wygląda to całkiem niewinnie w linii 5 `.bib` pliku, ponieważ jest niewidoczny: ale jeśli przepiszesz to `...of Wondrous...` ręcznie zwykłym spacem, błąd zniknie po ponownej kompilacji.

```bibtex
    journal = {Journal of　Wondrous Musings},
```

#### Uwaga dotycząca biblatex

Jeśli używasz `biblatex` pakietu, wtedy podobne błędy w `.bib` plikach prawdopodobnie wszystkie byłyby zgłaszane jako pochodzące z `\\printbibliography` linii w Twoim `.tex` pliku. Proces debugowania jest podobny: użyj krótkich fragmentów tekstu z komunikatów błędów, aby wyszukiwać w swoim `.bib` pliku, by zlokalizować problematyczne linie i je poprawić.

### Błędy z plików .bst

`.bst` pliki są stylami bibliografii, których BIBTeX używa do przetwarzania i formatowania listy odsyłaczy. Jeśli widzisz błędy z `.bst` plików, może to wynikać z błędów w `.bst` samym, zwłaszcza jeśli jest to bardzo, bardzo stary plik stylu, który może już nie być zgodny z nowszymi pakietami LaTeX. Ale może to być też rzeczywiście spowodowane błędami w `.bib` pliku. Najczęstszy błąd w tej kategorii wygląda tak:

![Bst-error-example-01.png](/files/ba9ccda2da98e1ecf73cb9baea8081028f5993ad)

Wpis z kluczem BIBTeX `Someone:etal:2008` ma `autora` pole w linii 12 `.bib` plik:

```bibtex
    author  = {Strange Someone, Night Stranger, and Random Person},
```

W `.bib` pliku, [lista wielu nazwisk](/latex/pl/bibliografia-i-cytowania/01-bibliography-management-with-bibtex.md#multiple-authors) powinna być oddzielona przez `i`, a nie przecinkami ani `&`. Dlatego to `autora` pole należy poprawić na

```bibtex
    author  = {Strange Someone and Night Stranger and Random Person},
```

### Błędy z plików .ttt i .fff

Te typy plików są generowane tylko wtedy, gdy wczytasz [`endfloat` pakietu](https://www.ctan.org/pkg/endfloat), który służy do wymuszenia przeniesienia wszystkich środowisk tabel i rysunków na koniec dokumentu, zgodnie z wymaganiami niektórych czasopism naukowych podczas składania artykułu.

Aby zobaczyć przykładowe błędy z tych wygenerowanych plików, odkomentuj linię 3 `\usepackage{endfloat}` środowisku `.tex` plik w naszym przykładowym projekcie.

![Ttt-error-example-01.png](/files/a76e1f98142da86da2284e99fc3279cc6272e08b)

Ta `.ttt` plik zawiera treści ze wszystkich `table` środowisk w dokumencie, więc wyszukalibyśmy `dummy & data` w `.tex` pliku, zwracając uwagę na tabele. Doszlibyśmy do linii 29 w `.tex` pliku, gdzie widzimy problem: mamy trzy kolumny, o jedną więcej niż zadeklarowane dwie. Zatem może być konieczne usunięcie jednej dodatkowej kolumny; albo powinniśmy wstawić `\\` po `dummy` aby rozpocząć nowy wiersz; albo być może zamierzaliśmy zadeklarować trzy kolumny `c | c | c` w końcu!

![Fff-error-example-01.png](/files/2e988f5bc1c27e724da82d128548e9d8f456c512)

Podobnie, `.fff` plik zawiera treści ze wszystkich `figure` środowisk, a wyszukanie tego z literówką `\includegraphcs` doprowadziłoby nas do linii 18 `.tex` pliku, gdzie możemy to poprawić na `\includegraphics`.

## Dalsza lektura

* [Jak Overleaf kompiluje mój projekt?](/latex/pl/baza-wiedzy/064-how-does-overleaf-compile-my-project.md)
* [Częste błędy LaTeX-a](/latex/pl/podstawy-latex-a/05-errors.md)
* [liście FAQ TeX-a](https://texfaq.org/#errors)


---

# 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/pl/baza-wiedzy/066-how-to-find-and-fix-errors-reported-in-generated-files.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.
