> 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/artykuly-szczegolowe/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.md).

# Boxy i glue: krótkie, ale wizualne wprowadzenie z użyciem LuaTeX

## Wprowadzenie do przyszłych artykułów

Ten wpis jest krótkim wprowadzeniem do kilku kluczowych pojęć/modeli związanych ze składem typograficznym z użyciem $$\mathrm \TeX$$: pudełka i klej — „ustawiając scenę” dla przyszłych artykułów, które omówią to znacznie bardziej szczegółowo. Nadchodzący wpis zbada niskopoziomowe zachowanie $$\mathrm \TeX$$ pudełek przy użyciu $$\mathrm{Lua}\mathrm\TeX$$ do tworzenia diagramów (grafów węzłów), takich jak następujący przykład:

![Graf węzłów pudełka](/files/3a7a8ec2fa8f5f11a533cfd2eb18a333d9c14f6b)

Ten graf węzłów pochodzi z `\hbox{...}` utworzonego przy użyciu następującego $$\mathrm \TeX$$ kodu:

```latex

\hbox to100pt{A\hskip4pt plus3pt minus 2pt B%
\hskip 0pt plus 2fil C\hskip 0pt plus 2fill D\hskip 0pt plus 3fill}
```

który wygląda tak (narysowany z prostokątem ograniczającym):

![Przykładowy \hbox](/files/4c594842a3c7c5d05f24a222328a4f6de9ea869e)

Te grafy węzłów pokazują głęboką, wewnętrzną strukturę $$\mathrm \TeX$$ pudełek — odzwierciedlając sposób, w jaki są przechowywane wewnątrz $$\mathrm \TeX$$ i oferują bezcenny graficzny opis, który pomaga lepiej zrozumieć działanie poleceń konstruujących pudełka, takich jak `\hbox{...}` lub `\vbox{...}`.

## Powrót do podstaw\...

Nawet jako nowy lub okazjonalny, $$\mathrm \LaTeX$$ użytkownik, nie trzeba długo, aby natknąć się na pojęcie $$\mathrm \TeX$$ „pudełek” lub tego, że $$\mathrm \TeX$$ używa modelu „pudełek i kleju” w swoich podstawowych działaniach składu typograficznego. Algorytmy składu typograficznego $$\mathrm \TeX$$ spędzają dużo czasu na tworzeniu, a następnie układaniu w stosy poziomych i pionowych list pudełek. Na przykład, gdy $$\mathrm \TeX$$ składa akapit tekstu i dzieli go na serię wierszy, traktuje tekst akapitu jako strumień lub sekwencję pudełek i używa szerokości, wysokości oraz głębokości tych pudełek znaków (właściwie glifów), aby znaleźć najlepsze łamania wierszy, a następnie dodaje pionową przestrzeń między wierszami składanego tekstu (ten klej nazywa się `\baselineskip`). Każdy składany wiersz akapitu jest sam w sobie pudełkiem (zawierającym inne pudełka — np. znaki), a wiersze składanego akapitu (pudełka) są układane pionowo, aby utworzyć akapit. Ostatecznie powstaje największe ze wszystkich pudeł: składana strona. Oczywiście jest to bardzo uproszczony obraz, ponieważ potrzebna jest również możliwość przesuwania i pozycjonowania tych pudeł oraz $$\mathrm \TeX$$ robi to za pomocą tzw. *glue*: formy „elastycznego odstępu”. Knuth skomentował (na stronie 70 książki The $$\mathrm \TeX \mathrm{book}$$) że „glue” prawdopodobnie powinno być nazywane „sprężyną”, ale termin glue przyjął się wcześnie i — używając gry słów Knutha — przylgnął.

## Wizualizacja składanego akapitu przy użyciu $$\mathrm{Lua}\mathrm\TeX$$

Korzystanie z $$\mathrm{Lua}\mathrm\TeX$$, składany akapit można przetworzyć tak, aby wyświetlić składniki użyte do jego złożenia: pudełka znaków i elastyczny klej używany do wstawiania odstępów między słowami. Stworzyliśmy prosty [$$\mathrm{Lua}\mathrm\TeX$$ (zwykły $$\mathrm \TeX$$) projekt](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj) aby to zademonstrować:

[![Screenshot of Overleaf](/files/7b9802d6e539f44b91e3336dd8ecffea627e0301)](https://www.overleaf.com/latex/examples/using-a-luatex-callback-to-parse-typeset-paragraphs/mzbpwxtjshsj)

Kod projektu został napisany, aby zilustrować ten wpis, i nie jest pełną implementacją „parsera” akapitu — ignoruje wiele $$\mathrm{Lua}\mathrm \TeX$$ typów węzłów i został zaprojektowany wyłącznie po to, aby ilustrować idee omówione w tym wpisie.

![pudełek i kleju](/files/fa3ae826ef44250900d0bc10e69a4ffa1cb89af8)

W poniższej sekcji powiększonego obrazu można zobaczyć poszczególne wiersze akapitu zaznaczone jako szare pasy — zauważ, że między wierszami jest biała przestrzeń: pionowy klej, który $$\mathrm \TeX$$ wstawia podczas ich układania w stos, aby utworzyć akapit. Jeśli chcesz dowiedzieć się więcej o pionowym kleju wstawianym między wierszami w składanym akapicie, użyj Google, aby znaleźć artykuły omawiające `\baselineskip` i `\lineskiplimit`.

![parsowany akapit pokazujący pudełka i klej](/files/057ee6b31475284b9ee343ff6eaa0be9143c3263)

Gdy $$\mathrm \TeX$$ gdy czyta i składa akapit, konwertuje znaki odstępu międzywyrazowego na bryłki kleju, których dokładna wartość jest właściwością używanej czcionki. Podczas składu te kleje międzywyrazowe są rozciągane lub kurczone o wielkość uznaną za konieczną do uzyskania estetycznego łamania wiersza. Na powyższym obrazie należy zauważyć następujące rzeczy:

* szare pasy wyznaczają granice poszczególnych wierszy składanego akapitu;
* każdy znak jest pokazany w pudełku, które określa jego wymiary (tak jak $$\mathrm \TeX$$ widzi go);
* żółte pudełka pokazują klej, który $$\mathrm \TeX$$ został wstawiony między słowa, aby uzyskać estetyczne łamanie wiersza. Zwróć uwagę na następujące rzeczy:
* szerokość kleju międzywyrazowego różni się w zależności od wiersza, ponieważ $$\mathrm \TeX$$ rozciąga go lub kurczy, aby uzyskać każde łamanie wiersza;
* w trzecim wierszu klej po znaku kropki jest szerszy niż inne kleje w tym samym wierszu.
* czerwona ramka pokazuje, gdzie jawny `\hbox{...}` został użyty. Definicja `\TeX` polecenia umieszcza literę E w `\hbox{...}` tak, aby można ją było obniżyć, by utworzyć $$\mathrm \TeX$$ logo.

Na końcu naszego przykładowego akapitu znajduje się długi pas kleju, który nazywa się `\parfillskip`: jest to wstawiane przez $$\mathrm \TeX$$ silniki składu, aby wypełnić miejsce w ostatnim wierszu. ![parfillskip glue](/files/cafb8bf34873b688ed1638a06c12c44b8a9a1267)

### Do następnego wpisu

Mamy nadzieję, że ten wpis stanowił użyteczne wprowadzenie do zasady pudełek i kleju używanej w $$\mathrm \TeX$$. W nadchodzącym wpisie użyjemy $$\mathrm{Lua}\mathrm\TeX$$ aby znacznie głębiej zagłębić się w treść $$\mathrm \TeX$$ pudełek — używając grafów węzłów, takich jak przykład pokazany na początku tego artykułu.


---

# 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/artykuly-szczegolowe/11-boxes-and-glue-a-brief-but-visual-introduction-using-luatex.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.
