TeX (wymowa IPA: /tɛx/ jak gr.) – komputerowy system profesjonalnego składu drukarskiego, obejmujący zarówno specjalny język, jak i kompilator przygotowujący pliki w formacie DVI, oraz programy przekształcające pliki DVI na format wymaganych przez urządzenia graficzne (drukarki, naświetlarki). TeX do składu nie używa plików z fontami, jak dzieje się to w większości programów do składu tekstu, lecz plików z metrykami fontów, czyli informacjami o wymiarach znaków, odstępach między nimi oraz innymi zależnościami, ale bez opisu kształtów znaków. Metryki fontów zapisane są w plikach TFM (TeX Font Metric). Dopiero program drukujący dodaje do informacji z pliku DVI opisy fontów i przygotowuje dane w formacie urządzenia drukującego[1][2].
Używa się go przy składaniu tekstów naukowych (np. matematycznych), ponieważ umożliwia budowanie złożonych wyrażeń, w tym skomplikowanych wzorów matematycznych. Nie mniej ważny jest szeroki zakres dostępnych gotowych pakietów poleceń rozwiązujących problemy związane z tworzeniem publikacji, są to np. automatyczne numerowanie równań, tworzenie skorowidzów, tabel, spisu skrótów, wstawianie ilustracji.
Nazwa
Litery Τ, Ε i Χ reprezentują greckie litery, odpowiednio
tau, epsilon oraz chi tworzące początek greckiego słowa τέχνη (technē) oznaczającego sztukę lub rzemiosło, od którego pochodzi wyraz technika.
W tekstach złożonych za pomocą TeX-a jego nazwa jest zapisywana jako . W technologii uniemożliwiającej użycie właściwego kerningu oraz obniżenia „E” program jest nazywany „TeX”.
Powstanie i rozwój
TeX został napisany w języku WEB, który z kolei produkuje programy w języku Pascal. Przy okazji powstał język METAFONT, przeznaczony do opisu fontów, w którym zostały stworzone fonty domyślnie używane przez TeX – ich krój nosi nazwę Computer Modern.
Program powstał w Stanach Zjednoczonych na Uniwersytecie Stanforda. Jego twórcą jest Donald E. Knuth, amerykański matematyk i informatyk. Program powstał, ponieważ prof. Knuth nie był zadowolony z wyglądu swojej książki The Art of Computer Programming. Postanowił wziąć sprawy w swoje ręce i stworzyć język programowania, który umożliwiłby skład tekstu wysokiej jakości. Początkowo profesor zakładał, że prace zajmą najwyżej pół roku, jednak jego oszacowanie było błędne – ostatecznie program został ukończony po ok. ośmiu latach, w 1985 roku. Z tą chwilą rozwój programu został zatrzymany, były poprawiane jedynie błędy, a numer wersji został określony na 2.0[3].
Profesor Knuth wyznaczył nagrodę pieniężną za każdy znaleziony w jego programie błąd. W roku 1985 nagroda wynosiła 1 cent, była podwajana co rok aż do 327 dolarów i 68 centów[4].
Począwszy od wersji 3 systemu TeX, to jest od roku 1990[3], każda kolejna podwersja oznaczana jest kolejnym dziesiętnym przybliżeniem liczby π, co oznacza, że w systemie wprowadzane są wyłącznie poprawki[5] przybliżające system do doskonałości. Bieżąca wersja, opublikowana w styczniu 2021 roku, ma numer 3.141592653[6]. Knuth w swoistym testamencie[7] polecił, aby z chwilą jego śmierci numer wersji określić jako π i nie dokonywać już żadnych zmian.
Implementacje i rozszerzenia
We współczesnych dystrybucjach oprócz programu TeX dostępne są jego rozszerzone wersje, z których część jest nadal rozwijana. Najpopularniejsze z nich to:
pdfTeX – rozszerzenie pozwalające tworzyć bezpośrednio pliki w formacie PDF, jednak z zachowaniem kompatybilności, to jest z możliwością tworzenia plików DVI,
eTeX – rozszerzenie o nowe polecenia ułatwiające pisanie makr oraz umożliwiające skład dwukierunkowego tekstu,
XeTeX – wariant umożliwiający korzystanie ze standardu Unicode oraz fontów komputerowych we współczesnych formatach, takich jak OpenType oraz AAT.
Popularyzacja formatu PDF spowodowała, że w większości nowoczesnych dystrybucji TeX-a domyślnym programem jest pdfTeX.
Formaty i zastosowania
Jednymi z głównych zalet systemu są: dostępność plików źródłowych oprogramowania, przenośność na dowolną platformę sprzętową/systemową (co daje m.in. identyczny efekt pracy na dowolnym komputerze) i stabilność działania. Do szybkiego wzrostu popularności TeX-a w publikacjach naukowych przyczynił się fakt, że praktycznie wszystkie prestiżowe wydawnictwa i czasopisma z zakresu nauk ścisłych przyjmują do publikacji teksty zapisane w TeX-u, a nawet udostępniają własne szablony, pozwalające nadawać publikacji wygląd zgodny z przyjętym w danym czasopiśmie czy wydawnictwie (np. w fizyce pozycję de facto standardu uzyskał opracowany na potrzeby wydawnictw American Physical Society RevTeX4). Szablony te z reguły oparte są na formacie TeX-a zwanym LaTeX2e.
Łatwość tworzenia makr spowodowała, że dla TeX-a dostępnych jest wiele rozszerzeń ułatwiających pracę, nazywanych formatami. Przykładem takiego zestawu makr jest AMSTeX, LaTeX (stworzony przez Leslie Lamporta), LaTeX2e, ConTeXt.
Wiele wyrażeń matematycznych w Wikipedii zostało stworzonych przy pomocy LaTeX-a. Na przykład:
Powyższy wzór zapisany w języku TeX wygląda następująco:
Wiele osób rozwijających TeX-a stowarzyszonych jest w organizacji TeX Users Group (TUG). Istnieją także narodowe grupy użytkowników TeX-a – np. niemiecka DANTE (Deutschsprachige Anwendervereinigung TeX), francuska GUTenberg (Groupe francophone des Utilisateurs de TeX) czy Polska Grupa Użytkowników Systemu TeX (GUST).