> 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/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.md).

# Drzewo genealogiczne rodziny TeX-a: LaTeX, pdfTeX, XeTeX, LuaTeX i ConTeXt

Historia LaTeX-a sięga aż 1977 roku, kiedy Donald Knuth po raz pierwszy dostrzegł potrzebę programu do składu wysokiej jakości. To niezwykłe świadectwo jakości LaTeX-a, że system, który wtedy wymyślił, jest do dziś najlepszym narzędziem do tego zadania, choć od tamtej pory przez dekady dodano wiele przydatnych ulepszeń. W rzeczywistości LaTeX jest jednym z tych dodatków do oryginalnego systemu opracowanego przez Donalda Knutha, który nosił nazwę [TeX](http://www.tug.org/).

Aby zachować swój prestiż w świecie LaTeX-a, trzeba to pisać z wielką literą T i X oraz wymawiać jak „lej-tek”. Dzieje się tak dlatego, że X w TeX to tak naprawdę wielka chi (χ) z greki. Latex pisany i wymawiany w zwykły sposób to rodzaj gumy!

## Oryginalny TeX

Istnieje cała rodzina narzędzi, które wywodzą się z TeX-a, i na pierwszy rzut oka może to wyglądać jak lista bezsensownych słów: LaTeX, pdfTeX, XeLaTeX, LuaTeX, ConTeXt i tak dalej. Przodkiem wszystkich tych narzędzi jest oczywiście oryginalny program TeX autorstwa Knutha. Przyjmuje on dokument w czystym tekście i przekształca go w pięknie złożony dokument. Knuth był bardzo wymagający, jeśli chodzi o skład, i dbałość o szczegóły w TeX-ie jest wyraźnie widoczna. Przykładowy dokument TeX może wyglądać mniej więcej tak:

```latex
\TeX{} dobrze składa słowa takie jak `fjord', `efficiency',
i `fiasco'. Dobrze radzi sobie także ze składem matematyki, takiej jak,
$a^2 + b^2 = c^2$.
\bye
```

Wynik po przepuszczeniu tego przez program TeX wygląda tak:

![Texsample.png](/files/cae7d72b8112d87b0e1370e1af258075b601141d)

Zauważ, jak połączenia liter „fi”, „fj” i „ff” w przykładowych słowach łączą się ze sobą w przyjemny sposób, oraz jak symbole matematyczne są dobrze rozstawione. W większej skali TeX bardzo dobrze radzi sobie z łamaniem wierszy we właściwych miejscach, tworząc dobrze wyjustowany tekst, z dzieleniem wyrazów tam, gdzie to odpowiednie.

Nie tylko pięknie składa tekst, ale ma też zestaw poleceń, takich jak `\bye` i `\TeX` w powyższym przykładzie. Mogą one robić proste rzeczy, takie jak zmiana rozmiaru czcionki czy zmiana układu tekstu, ale także znacznie potężniejsze, jak utrzymywanie licznika sekcji do odwołań krzyżowych między stronami albo automatyczne tworzenie spisu treści. Program TeX ma wbudowanych około 300 poleceń, ale można też definiować w nim własne. Donald Knuth napisał jeszcze około 600 przydatnych poleceń wewnątrz TeX-a, w pakiecie o nazwie Plain TeX, który ułatwia niektóre typowe zadania składu.

## LaTeX

Polecenia w TeX-ie i Plain TeX-ie są nadal dość podstawowe i niełatwo zrobić z ich pomocą coś skomplikowanego. Aby to ułatwić, Leslie Lamport stworzył [LaTeX](http://www.latex-project.org/) na początku lat 80. XX wieku, aby zapewnić wyższy poziom języka roboczego niż TeX. LaTeX jest zbiorem poleceń zdefiniowanych za pomocą podstawowych poleceń TeX, często na wielu, wielu warstwach abstrakcji. Wszystkie polecenia używane w dokumencie LaTeX są w rzeczywistości tylko złożonymi zestawami poleceń TeX pod spodem, chyba że oczywiście używasz bezpośrednio polecenia TeX! Pojęcia takie jak pakiety (`\usepackage{...}`), środowiska (`\begin{environment} ... \end{environment}`), oraz klasy dokumentów (`\documentclass{...}`) zostały wprowadzone przez Lesliego Lamporta w LaTeX-u.

Tworząc standardowy system pakietów dla LaTeX-a, Leslie Lamport pozwolił społeczności ogromnie się rozwinąć. Obecnie dostępne są tysiące tysięcy pakietów LaTeX-a, które pozwalają składać wszystko, od podrysów po wzory dziewiarskie. Dostępnych jest też wiele klas dokumentów dla różnych typów tekstów, niezależnie od tego, czy piszesz książkę, raport laboratoryjny czy CV. Wielu wydawców i czasopism ma własne niestandardowe klasy dokumentów, które nadają ich publikacjom taki wygląd, jaki sobie życzą.

## pdfTeX

Program TeX jest niezwykle stabilny jak na kawałek oprogramowania mający ponad 20 lat; Knuth ogłosił, że jest kompletny pod względem funkcji w 1989 roku, a od tego czasu wprowadzano jedynie poprawki błędów. Oczywiście nie powstrzymało to znaczącego i trwającego rozwoju LaTeX-a, ponieważ jest on napisany sam w TeX-u. W rzeczywistości stabilność TeX-a pozwoliła rozkwitnąć pakietom takim jak LaTeX, które zostały na nim zbudowane.

Nie znaczy to, że podstawowy program TeX nie doczekał się żadnych postępów w ciągu ostatnich 20 lat. Wręcz przeciwnie — ulepszenia były wprowadzane obok TeX-a, przy zachowaniu stabilności oryginalnego TeX-a. Najważniejszym usprawnieniem lat 90. było stworzenie [pdfTeX](http://www.tug.org/applications/pdftex/) przez Hàna Thế Thànha na potrzeby jego pracy doktorskiej. Oryginalny program TeX zapisuje składany dokument do własnego formatu zwanego DVI (DeVice Independent format), który można później przekształcić w plik PostScript do drukowania. Jednak format PDF pojawił się w 1993 roku i dziś widać wyraźnie, że wygrał jako lepszy format od PostScriptu. Istnieje wiele cech, które sprawiają, że PDF jest lepszy, takich jak hiperłącza między sekcjami, sekcja metadanych, która pozwala zobaczyć spis treści po lewej stronie przeglądarki PDF, oraz obsługa szerszego i nowocześniejszego zakresu formatów obrazów. pdfTeX jest modyfikacją TeX-a, która pozwala mu generować bezpośrednio PDF, a więc korzystać z tych dodatkowych funkcji.

Gdy dziś instalujesz dystrybucję LaTeX-a w swoim systemie, zawiera ona w rzeczywistości dwa różne programy: `folderze tex`, oraz `pdftex`. Zawiera też jeszcze dwa kolejne programy ponad te: `latex` i `pdflatex`, ale są to w rzeczywistości tylko nakładki na `folderze tex` i `pdftex` odpowiednio. Najpierw ładują pakiety LaTeX-a przed przetworzeniem dokumentu, ale pod spodem nadal są TeX-em. Jeśli uruchomisz `latex` lub `folderze tex` to otrzymasz plik DVI, który możesz zamienić na plik PostScript lub PDF, ale jeśli uruchomisz `pdflatex` otrzymasz bezpośrednio plik PDF.

W większości `pdftex` i `pdflatex` są ulepszeniami względem `folderze tex` i `latex`, ale jest jedna wada. Oryginalny TeX i format DVI obsługują pliki Encapsulated PostScript (`.eps`) ponieważ można je łatwo dołączać do plików PostScript (powstających przez konwersję `.dvi` plików do PostScript za pomocą [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)). Jednakże, `pdftex` nie może dołączać plików EPS, i zamiast tego powinieneś używać plików PDF (które można utworzyć z plików EPS poleceniem `epstopdf` które zazwyczaj jest dołączane do dystrybucji LaTeX-a). W zamian za tę wadę pdfTeX dodaje obsługę `.png`, `.jpg` i `.pdf` obrazów, podczas gdy oryginalny TeX obsługuje tylko .eps (za pośrednictwem [`Dvips`](https://www.tug.org/texinfohtml/dvips.html)).

## XeLaTeX i LuaTeX

Jak dotąd widzieliśmy, że TeX ewoluował na dwa różne sposoby od swoich początków: poprzez dodanie łatwiejszych w użyciu poleceń nad oryginalnym systemem (LaTeX) oraz poprzez aktualizacje podstawowego programu, aby obsługiwał wyjście PDF (pdfTeX). Historia jednak się na tym nie kończy i podejmowane są dalsze wysiłki, aby unowocześnić TeX. W 2004 roku Jonathon Kew stworzył [XeTeX](http://tug.org/xetex/), który jest kolejną modyfikacją podstawowego silnika TeX, tym razem po to, by obsługiwać szerszy zakres znaków niż tylko zwykłe angielskie cyfry i litery, a także zapewnić obsługę nowoczesnych formatów czcionek. Dzięki temu pisanie w językach obcych staje się znacznie łatwiejsze, a także pozwala używać w LaTeX-u czcionek, które tradycyjnie były dostępne tylko w edytorze tekstu.

[LuaTeX](http://www.luatex.org/) jest próbą rozszerzenia oryginalnego programu TeX o bardziej sensowny język programowania. Choć w zasadzie można zrobić absolutnie wszystko z wnętrza TeX-a, w praktyce jest to bardzo niezgrabny język programowania, z którym trzeba pracować, jeśli w ogóle można go tak nazwać. Duża część wewnętrznej struktury LaTeX-a jest skomplikowana i trudna do zrozumienia dla osób z zewnątrz, ponieważ trzeba pracować wyłącznie w TeX-ie. LuaTeX został rozszerzony o tytułowy język skryptowy Lua, który jest prostym i stabilnym językiem, idealnym do pisania skomplikowanych makr. Według stanu na 2012 rok nadal jest aktywnie rozwijany i jego API może ulec zmianie, ale nadal jest bardzo użyteczny.

## ConTeXt

Wspomnieliśmy o LaTeX-u jako rozszerzeniu poleceń dostępnych w TeX-u, ale nie jest to jedyny pakiet, który w znaczący sposób rozwinął TeX. [ConTeXt](http://wiki.contextgarden.net/What_is_ConTeXt) jest innym systemem stworzonym w 1990 roku przez Hansa Hagena. LaTeX ma na celu odsunąć użytkownika od konieczności podejmowania decyzji dotyczących typografii i układu (piszesz `\section` i `\emph` ale nie martwisz się o to, co one robią — to zostawione jest klasie dokumentu lub układowi). Z drugiej strony ConTeXt ma zapewniać łatwy interfejs do zaawansowanych funkcji typograficznych. Niestety nie wiem o ConTeXt tyle, ile bym chciał, więc nie mogę się bardziej rozwinąć, ale jeśli kiedykolwiek znajdę czas, by bardziej poeksperymentować z nim, na pewno opiszę swoje odkrycia.

Na koniec, jako uwagę historyczną, powinienem wspomnieć [AMSTeX](http://en.wikipedia.org/wiki/AMS-LaTeX) który był rozszerzeniem makr Plain TeX i był używany przez American Mathematical Society (AMS) w latach 1982–1985. Jego dziedzictwo przetrwało w pakietach AMS-LaTeX, które są podstawą wielu dokumentów LaTeX-a: `\usepackage{amsmath}`.

## Przyszłość

Co przyniesie przyszłość dla TeX-a i LaTeX-a? Jeszcze nie wiem, ale jak kiedyś powiedział Alan Kay:

> Najlepszym sposobem przewidzenia przyszłości jest jej wynalezienie.

W ShareLaTeX mamy nadzieję rozwijać TeX i LaTeX w trzecim kierunku, wprowadzając znaczące ulepszenia do całego procesu pracy z LaTeX-em. Mimo że LaTeX ma już ponad 20 lat, nadal w dużej mierze jest programem wiersza poleceń, którego trzeba używać w niewygodnym cyklu pisania, kompilowania i sprawdzania wyniku. Metody współpracy zazwyczaj opierają się na nieporęcznych wiadomościach e-mail, a nie na usprawnionych procesach dostępnych w edytorach tekstu, takich jak Google Documents.


---

# 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/49-the-tex-family-tree-latex-pdftex-xetex-luatex-and-context.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.
