> 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/138-understanding-underfull-and-overfull-box-warnings.md).

# Zrozumienie ostrzeżeń o pudełkach niepełnych i przepełnionych

## Wstęp

Po złożeniu dokumentu LaTeX Overleaf często wyświetla komunikaty informujące o zbyt małym lub zbyt dużym `\hbox` (lub `\vbox`), a także o tzw. `badness` w przypadku pudełek zbyt małych lub o tyle, o ile pudełka są zbyt duże. Po pierwsze, ważne jest, aby zauważyć, że te komunikaty nie są błędami—[zobacz poniżej, aby uzyskać więcej informacji](#overfull-or-underfull-boxes-are-not-errors). Są to *ostrzeżenia* albo, dokładniej mówiąc, „komunikaty diagnostyczne”, które pochodzą z wnętrza silnika TeX używanego do składu dokumentu LaTeX.

W tym artykule pomocy przedstawimy wstępne informacje o źródle i przyczynie tych komunikatów oraz omówimy kilka typowych problemów wraz z proponowanymi rozwiązaniami. Dla czytelników zainteresowanych większą liczbą szczegółów opublikowaliśmy towarzyszący artykuł w Galerii Overleaf: [Badanie pudełek zbyt małych lub zbyt dużych oraz obliczeń badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). Listę dodatkowych zasobów można również znaleźć [na końcu tego artykułu](#further-reading).

## Czy mój projekt ma ostrzeżenia o zbyt dużych lub zbyt małych pudełkach?

Aby sprawdzić, czy Twój projekt zgłasza te ostrzeżenia, musisz kliknąć ikonę pokazane na zrzucie ekranu poniżej. Nawet jeśli dokument skompilował się bez błędu, bardzo często pojawiają się te komunikaty i każdy, kto jest stosunkowo nowy w TeX/LaTeX, może się zastanawiać, co one oznaczają i czy powinien się nimi martwić.

![Zrzut ekranu pokazujący, że Overleaf zgłasza zbyt małe lub zbyt duże pudełka](/files/324989ad232bd048a62dc3635c38e640681c7c50)

Podczas składu dokumentu LaTeX będzie starał się dopasować fragmenty treści do granic o określonym „rozmiarze”; na przykład podczas składu akapitów i łamania wierszy na określoną długość — najłatwiej pokazać to za pomocą polecenia takiego jak `\parbox`. Jeśli spróbujemy złożyć następujący akapit przy szerokości wiersza 50pt:

```latex
\parbox{50pt}{Some text typeset using a \texttt{\string\parbox}}
```

Overleaf zgłasza dwa `Zbyt mały \hbox...` ostrzeżenia:

![Zrzut ekranu pokazujący, że Overleaf zgłasza zbyt małe pudełka](/files/d8623077be3a37c91dc1a06568e4fbbd1af10c23)

Te `Zbyt mały \hbox...` ostrzeżenia pojawiają się, ponieważ silnik TeX nie może wygenerować „ładnych” podziałów wierszy w ramach ograniczeń tej \parbox. W silnikach TeX każdy wiersz składanego akapitu staje się \hbox, którą silnik następnie sprawdza i raportuje, potencjalnie generując ostrzeżenia dla wszelkich wierszy złożonego tekstu, które silnik TeX klasyfikuje jako „niepożądane”.

Jak widać na poniższych obrazach, wiersze tekstu są niezwykle rozciągnięte, a ostrzeżenia TeX-a `Zbyt mały \hbox...` informują o tym — choć w tym przykładzie jest to wyraźnie widoczne.

![Zrzut ekranu pokazujący parbox](/files/69cb4fa7e356f076dbd5143e151caec81a04ed5d)

Uwaga: w tym przykładzie można uniknąć tych ostrzeżeń, używając \raggedright:

```latex
\parbox{50pt}{\raggedright Some text typeset using a \texttt{\string\parbox}}
```

![Zrzut ekranu pokazujący parbox](/files/61fdac09eb0f84519789773ad8c10492be8cb5a4)

## Pudełka zbyt duże i zbyt małe

Ta `\parbox` przykład pokazuje znacznie bardziej ogólny problem: podczas przetwarzania kodu LaTeX używany do składu dokumentu silnik TeX (pdfTeX, XeTeX lub LuaTeX) może uznać, że żądania LaTeX-a skutkują składem treści, która nie „mieści się ładnie” w granicach dostarczonego lub żądanego pudełka. Jeśli tak jest, silnik TeX zgłasza ostrzeżenia, a Twój materiał zostanie złożony, ale rezultat może czasami nie być estetycznie zadowalający i prawdopodobnie trzeba będzie to poprawić. Warto zrozumieć znaczenie tych komunikatów i rozpoznawać, kiedy trzeba podjąć działania, aby je usunąć.

Te ostrzeżenia związane z pudełkami mają postać

```
Zbyt duży \hbox (<wartość>pt za szeroki) ... w linii/liniach ...
Zbyt duży \vbox (<wartość>pt za wysoki) ... w linii/liniach ...
Zbyt mały \hbox (badness <wartość>) ... w linii/liniach ...
Zbyt mały \vbox (badness <wartość>) ... w linii/liniach ...
```

Jedna `\hbox` odnosi się do *poziomego pudełka* w którym silnik TeX umieszcza obok siebie listę elementów i `\vbox` odnosi się do *pionowego pudełka* w którym silnik TeX układa elementy jeden na drugim.

Jeśli materiału jest zbyt mało, silnik TeX zgłosi `Zbyt mały \hbox` lub `Zbyt mały \vbox` ostrzeżenie:

* **Pudełka zbyt małe** nie zawierają wystarczającej ilości materiału, aby wypełnić przydzielone im wymiary (pudełka), a silnik TeX musiał „rozciągnąć” zawartość, aby spróbować wypełnić tę przestrzeń. Dla pudełek zbyt małych Overleaf zgłosi również tzw. „badness” TeX-a (`badness <wartość>`), która jest miarą tego, jak bardzo TeX musiał „rozciągnąć” Twoją treść, aby wypełnić przewidzianą dla niej przestrzeń. Wartości badness zwykle mieszczą się w zakresie od 0 do 10000.

Jeśli materiału jest zbyt dużo, silnik TeX zgłosi ostrzeżenie \`Zbyt duży \hbox\` albo ostrzeżenie \`Zbyt duży \vbox\`:

* **Pudełka zbyt duże** mają zbyt dużo treści, aby zmieścić się w przydzielonych im wymiarach (pudełka), i TeX nie może „wtłoczyć” ich w dostępne miejsce. Silnik TeX zgłasza ilość (`<wartość>`), w punktach, o ile treść przekracza dostępną przestrzeń — Twój materiał jest zbyt szeroki dla danego `\hbox` lub zbyt wysoki dla danego `\vbox`.

## Pudełka zbyt duże lub zbyt małe nie są błędami

Jak wspomniano, komunikaty o zbyt dużych/zbyt małych `\hbox` lub `\vbox` nie są błędami, lecz „diagnostycznymi komunikatami ostrzegawczymi” generowanymi przez silnik TeX (pdfTeX, XeTeX lub LuaTeX) używany do składu dokumentu LaTeX. Chociaż *zgłaszane* do Ciebie przez Overleaf, te ostrzeżenia nie są *wygenerowanym* przez Overleaf: pochodzą z wnętrza silników TeX. Podczas składu są one zapisywane do pliku `.log` —pliku tekstowego tworzonego przez silnik TeX w celu rejestrowania szeregu informacji podczas przetwarzania kodu LaTeX. Overleaf przetwarza plik `.log` w celu wyodrębnienia komunikatów ostrzegawczych silnika TeX o zbyt dużych/zbyt małych `\hbox` lub `\vbox` i wyświetla je w interfejsie Overleaf. Pomaga to zlokalizować i wskazać fragmenty dokumentu, które mogą wymagać edycji, aby uzyskać możliwie najlepszy skład.

## Czy powinienem się martwić tymi ostrzeżeniami?

Użytkownicy nowi w TeX/LaTeX mogą być zaniepokojeni tymi ostrzeżeniami, zastanawiając się, czy wskazują one na poważny problem z ich dokumentem, ale często jest tak, że większość z nich można bezpiecznie zignorować. Jednak te ostrzeżenia czasami wskazują fragment dokumentu, który rzeczywiście wymaga sprawdzenia i może wymagać edycji, aby poprawić widoczne rezultaty składu.

Może to wymagać odrobiny praktyki, aby interpretować te komunikaty, więc jeśli jesteś nowy w TeX/LaTeX, warto poświęcić czas na zbudowanie doświadczenia, lokalizując miejsce w swoim kodzie źródłowym, które wygenerowało ostrzeżenie. Dzięki temu szybko nauczysz się rozpoznawać ostrzeżenia, które rzeczywiście wskazują problemy wymagające interwencji.

## Jak mogę znaleźć źródło ostrzeżenia?

1. W interfejsie Overleaf kliknij komunikat ostrzegawczy, a edytor przewinie się do odpowiedniego miejsca w kodzie źródłowym LaTeX.
2. Na lewo od miejsca w kodzie źródłowym znajduje się mały żółty trójkąt z wykrzyknikiem (!).
3. Jeśli najedziesz wskaźnikiem myszy na trójkąt, Overleaf wyświetli komunikat ostrzegawczy.

Ten krótki klip wideo pokazuje powyższe kroki.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/1S1CW2vbVGRHnCXmsbjgAX/096e314caba0c1bafb762a528761e24d/findwarning.mp4>" %}

## Jak mogę znaleźć w PDF miejsce odpowiadające mojemu kodowi LaTeX?

Po zlokalizowaniu kodu LaTeX, który wygenerował dane ostrzeżenie, możesz przejść do odpowiedniego miejsca w PDF, używając strzałek znajdujących się na pasku podziału oddzielającym panele edytora i wygenerowanego PDF.

![Zrzut ekranu pokazujący parbox](/files/53e93add8333353fb8733fb97052515b2f806fd0)

Jeśli nie widzisz tych strzałek, nasz artykuł pomocy [Jak przejść do kodu źródłowego z wygenerowanego PDF (SyncTeX)](/latex/pl/baza-wiedzy/069-how-to-jump-to-the-source-code-from-the-typeset-pdf-synctex.md) pokazuje, jak je włączyć.

## Typowe problemy i jak je naprawić

* Możesz użyć [pakiet microtype](https://ctan.org/pkg/microtype?lang=en) który wykorzystuje rozszerzenia mikrototypograficzne wprowadzone przez pdfTeX — zapewniając wyższą jakość składu, co może także prowadzić do mniejszej liczby wadliwych pudełek.
* Jeśli masz problemy z adresami URL i łamaniem wierszy, możesz dodać opcję `breaklinks` do `hyperref` pakiet: `\usepackage[breaklinks]{hyperref}`.
* Podobnie jak `\parbox`, `środowiska minipage` mogą powodować ostrzeżenia o zbyt dużych lub zbyt małych pudełkach, gdy silnik TeX próbuje łamać akapity na wiersze:

```latex

\begin{minipage}{width}
tekst...
\end{minipage}
```

Jeśli to możliwe, zwiększ wartość `width` aby dać silnikowi TeX większą szansę na wygenerowanie dobrych podziałów wierszy — i/lub użyj [pakiet microtype](https://ctan.org/pkg/microtype?lang=en).

### Uwagi dotyczące używania \\\\

`\\` jest makrem (symbolem sterującym), którego dokładna definicja może zależeć od kontekstu, w jakim jest używane — doskonałe omówienie/wyjaśnienie można znaleźć w tej [odpowiedzi na tex.stackexchange](https://tex.stackexchange.com/a/55481).

* `\\` nie powinno być używane do dodawania pionowego odstępu między akapitami — jest to uważane za bardzo złą praktykę.
* `\\` jest przeznaczone wyłącznie do łamania wierszy (podobnie jak Shift+Enter w Microsoft Word). Poprawnym sposobem tworzenia nowego akapitu w LaTeX jest oddzielanie akapitów pustymi liniami w kodzie źródłowym.
* Zamiast używać `\\` (lub `\newline`/`\vspace`) do symulowania podziałów akapitów lub zwiększania odstępów między akapitami, zalecanym rozwiązaniem do ustawiania odstępu między akapitami jest załadowanie pakietu [parskip](https://ctan.org/pkg/parskip) : umieść `\usepackage{parskip}` w preambule dokumentu.
* Używanie `\\` w całych akapitach dokumentu może zakłócać algorytmy LaTeX obliczające optymalne miejsca umieszczania floatów, łamania stron itd. i może powodować błędy kompilacji w dużym dokumencie.
* Prawidłowe użycie `\\` jest wyjaśnione w odpowiedziach na [tex.stackexchange](https://tex.stackexchange.com/). Na przykład zobacz:
  * [Kiedy używać `\par` a kiedy `\\`, `\newline`, lub pustych linii](https://tex.stackexchange.com/a/82666)
  * [Co robi `\\*` ?](https://tex.stackexchange.com/a/55481)

## Kontrolowanie, które pudełka TeX zgłasza

Silniki TeX udostępniają szereg niskopoziomowych poleceń pierwotnych, których można użyć, aby kierować heurystyką TeX-a i ustawić wartość progową określającą, jak „złe” musi być pudełko, zanim TeX je zgłosi. Oto kilka linków dla czytelników zainteresowanych tymi poleceniami:

* [\hfuzz i \vfuzz](/latex/pl/prymitywy-tex-latex/06-hfuzz.md)
* [\hbadness i \vbadness](/latex/pl/prymitywy-tex-latex/05-hbadness.md)

## Dalsza lektura

Dla dalszych informacji na temat użycia przez TeX pudełek i kleju zainteresowanym czytelnikom polecamy te zasoby:

* Artykuł Overleaf [Jak TeX oblicza ustawienia kleju w \hbox](/latex/pl/artykuly-szczegolowe/24-how-tex-calculates-glue-settings-in-an-hbox.md).
* 17-stronicowy artykuł Overleaf napisany jako uzupełnienie tego materiału pomocy: [Badanie pudełek zbyt małych lub zbyt dużych oraz obliczeń badness](https://www.overleaf.com/latex/examples/exploring-underfull-or-overfull-boxes-and-badness-calculations/wpfsjnbkrfhv). Artykuł ten omawia również prymitywy TeX `\hfuzz` i `\hbadness`.
* FAQ TeX pod adresem <https://texfaq.org/FAQ-overfull.html>.
* [tex.stackexchange](https://tex.stackexchange.com/) zawiera bogactwo porad od czołowych ekspertów TeX/LaTeX.


---

# 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/138-understanding-underfull-and-overfull-box-warnings.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.
