2. Co to jest TEX -- informacje og�lne

TEX, to taki ma�o znany system, u�ywany przez oko�o milion os�b na ca�ym �wiecie. S�u�y -- m�wi�c bardzo skr�towo --  do wykonywania profesjonalnego sk�adu drukarskiego.

Autorem TEX-a jest jeden z najwybitniejszych matematyk�w i  informatyk�w na �wiecie -- profesor Donald Knuth z Uniwersytetu Stanforda w Stanach Zjednoczonych.

Nazw� TEX wymawia si� tech, poniewa� s� to trzy du�e greckie litery Tau, Epsilon, Chi. Polska wersja TEX-a nazywa si� MEX (wym.  mech). Litera E jest opuszczona w d� i dosuni�ta do pozosta�ych, �eby zademonstrowa� mo�liwo�ci sytemu.

2.1. Cechy TEX-a

Jest to system w znacznym stopniu godny zaufania, co najmniej ze wzgl�du na opisane poni�ej jego cechy.

2.1.1. Stabilno��

Jest to system stosunkowo ,,stary''. Prace nad nim zosta�y rozpocz�te w roku 1977, a wi�c jeszcze przed rozpocz�ciem ery komputer�w osobistych, a uko�czone w 1982 roku. W (prawie) niezmienionej postaci u�ywany jest od kilkunastu lat.

Oznacza to bardzo du�� stabilno�� tego programu. Jest to bardzo wa�na cecha, gdy� jest to program trudny do opanowania. Jego stabilno�� wp�ywa na bezpiecze�stwo u�ytkownika. Po do�� d�ugim czasie inwestowania w swoj� umiej�tno�� obs�ugi TEX-a, u�ytkownik ma gwarancj�, �e to, czego si� nauczy� pozostanie aktualne nawet po wielu latach. Mo�na zatem z du�� ufno�ci� uczy� si� go. Ponadto wszelkie dokumenty (teksty) z�o�one za jego pomoc� b�d� mog�y by� przetwarzane i poprawiane tym samym systemem mimo up�ywu czasu. Nie ma obawy co do zmiany ,,sposobu kodowania'' dokument�w, kt�ra uniemo�liwia�aby dalsz� obr�bk� ,,starych'' tekst�w.

Dobrze jest -- wybieraj�c program tak skomplikowany, jak system sk�adu -- zwraca� uwag� na to, czy zdo�amy nauczy� si� wszystkich jego mo�liwo�ci, zanim -- w kolejnej wersji -- ulegn� one zmianie.

2.1.2. Poprawno�� (bezb��dno��)

TEX jest programem w bardzo znacznym stopniu bezb��dnym. Oznacza to, �e dzia�a ca�kowicie zgodnie z dokumentacj�. Autor systemu TEX wyznaczy� nawet nagrod� pieni�n� dla ka�dego, kto wykryje jakikolwiek b��d w dzia�aniu programu. Warto�� tej nagrody wynosi obecnie ponad 300$. Mo�na mie� pewno��, �e po kilkunastu latach stosowania programu przez liczne grono u�ytkownik�w, znalezienie jakichkolwiek b��d�w jest bardzo ma�o prawdopodobne.

Jak�e cz�sto zdarza si� u�ytkownikom komputer�w, �e program wysy�a im niezrozumia�e komunikaty (np. sygna�y b��d�w), zalecaj�c np. zg�oszenie si� do wytw�rcy z pro�b� o wyja�nienie. Niewielka to pociecha, je�li wytw�rca jest za oceanem.

2.1.3. Dokumentacja

Autor napisa� na temat TEX-a i system�w pokrewnych seri� pi�ciu ksi��ek [1--5], stanowi�cych kompletn� dokumentacj� tych system�w. Wszystkie funkcje tych system�w zosta�y tam szczeg�owo opisane. Dokumentacja nie ma �adnych luk.

2.1.4. Z�o�ono��

TEX jest systemem skomplikowanym. Powoduje to, �e jest --  przynajmniej pocz�tkowo -- trudny w obs�udze. Cz�sto uwa�ane jest to za jego wad�. Jest to jednak absolutnie niezb�dna cena jak� trzeba zap�aci� za mo�liwo�ci, kt�re oferuje. W istocie to nie TEX jest skomplikowany, lecz zadanie, kt�re on realizuje jest takie. Je�li chcemy ca�kowicie panowa� nad wynikami uzyskiwanymi za jego pomoc�, i osi�ga� efekty profesjonalne i precyzyjne, musimy nauczy� si� obs�ugi rozmaitych ,,regulator�w'' i ,,pokr�te�'' zawartych w TEX-u, aby m�c przekaza� mu nasze intencje.

Oczywi�cie, je�li nie zale�y nam na bardzo eleganckich, profesjonalnych wynikach, to nie musimy u�ywa� tak skomplikowanego programu jak TEX. Jest wiele prostszych program�w, s�u��cych do podobnych cel�w. Nale�y jednak zdawa� sobie spraw�, �e u�ywaj�c prostszego programu pr�dzej czy p�niej natkniemy si� na zadanie, kt�remu ten program nie b�dzie m�g� sprosta�. W przypadku stosowania TEX-a takie niebezpiecze�stwo nam nie grozi (patrz te�  -- Rozszerzalno��).

R�nice pomi�dzy TEX-em, a innymi systemami w zakresie z�o�ono�ci i zarazem w zakresie szybko�ci uczenia si� i szybko�ci osi�gania efekt�w mo�na przedstawi� stosuj�c nast�puj�ce por�wnanie.

Czym si� r�ni rower od samolotu? Obs�ugi tego pierwszego mo�na si� nauczy� bardzo szybko: kierownica do kierowania, peda�y do przyspieszania i hamulce do hamowania. Prawie nic wi�cej. W samolocie s� tysi�ce urz�dze�, kt�rych obs�ugi trzeba si� nauczy�. Nie oznacza to jednak, �e samolot jest gorszy, albo �e ma przestarza�y ,,interfejs''. Po prostu latanie z du�� szybko�ci� i na du�e odleg�o�ci wymaga bardziej skomplikowanej obs�ugi.

Co wi�cej -- pewne proste zadania, kt�re le�� w zasi�gu mo�liwo�ci obu tych urz�dze�, mog� by� wykonane szybciej i sprawniej rowerem. Je�li trzeba przejecha� kilkaset metr�w, to rowerzysta pokona ten dystans jeszcze zanim pilot samolotu zd��y uruchomi� silniki. Jednak ju� pokonanie odleg�o�ci kilkuset kilometr�w zajmie rowerzy�cie znacznie wi�cej czasu, ni� pilotowi samolotu, nie m�wi�c ju� o wysi�ku. Przebycie oceanu rowerem jest raczej niemo�liwe. Te por�wnania nie oznaczaj� oczywi�cie, �e rower jest lepszy, albo �e samolot jest lepszy. Jest jednak jasne, �e kto�, kto jest pewny, �e nigdy nie b�dzie je�dzi� na wi�ksze odleg�o�ci nie powinien wybiera� samolotu.

Oczywiste jest ponadto, �e na �wiecie jest znacznie wi�cej rowerzyst�w, ni� pilot�w samolot�w. To znowu nie oznacza, �e rower jest lepszy od samolotu, ani nie oznacza, �e takie pojazdy jak samoloty s� w zaniku i wkr�tce przestan� istnie�.

2.1.5. Rozszerzalno��

TEX ma wbudowany j�zyk programowania (inaczej m�wi�c jest j�zykiem programowania). Za pomoc� tego j�zyka mo�na definiowa� rozszerzenia tego systemu, tworz�c specjalizowane systemy sk�adu.

2.1.6. Cena

TEX nic nie kosztuje. �ci�lej m�wi�c jest to program typu public domain (dobro wsp�lne). Autor TEX-a wyrazi� zgod� na bezp�atne rozpowszechnianie i u�ywanie tego programu.

Nie wszystkie programy public domain na �wiecie maj� jednak taki sam status. Na og� ich autorzy decyduj� o tym, co w ich przypadku oznacza okre�lenie public domain.

W przypadku TEX-a, w ramach szerokiej zgody autora na u�ywanie jego dzie�a, mo�liwe jest nawet utworzenie w�asnej implementacji z powszechnie dost�pnej �r�d�owej wersji programu i sprzedawanie jej ju� jako programu komercyjnego -- odp�atnego. Przyk�adem takiej implementacji jest wspaniale opracowany program ,,Textures'' firmy Blue Sky Research, kt�ry jest implementacj� TEX-a na komputery Macintosh. Jest to produkt komercyjny, kt�rego u�ywanie wymaga licencji. U�ytkownicy Macintosha mog� te� wybra� --  je�li wol� -- bezp�atn� implementacj� TEX-a, program OzTEX.

Polska wersja systemu TEX, zawieraj�ca standardowy zestaw font�w z polskimi znakami diakrytycznymi, polskie regu�y przenoszenia (dzielenia) wyraz�w oraz komplet makr (makrodefinicji) napisanych w j�zyku TEX nazywa si� MEX i ma r�wnie� status public domain. Jest ona dost�pna -- podobnie jak TEX -- w wersji �r�d�owej.

Co� jednak zawsze kosztuje. Najwi�cej chyba (czasu albo pieni�dzy) kosztuje nauczenie si� obs�ugi TEX-a. Z pewno�ci� mo�na uczy� si� go latami i jeszcze by� daleko od stwierdzenia ,,wiem wszystko''. Kosztuj� te� pewne programy zwi�zane z  TEX-em, np. niekt�re sterowniki urz�dze� zewn�trznych. R�wnie� wi�kszo�� font�w, nie nale��cych do podstawowego kompletu TEX-a mo�na naby� jedynie odp�atnie.

2.1.7. Przeno�no��

Kod �r�d�owy programu TEX jest powszechnie dost�pny i zawiera dobrze opracowan� dokumentacj� wewn�trzn�. Zosta� on napisany w specjalnie opracowanej wersji j�zyka Pascal, w tzw. j�zyku WEB. Autor systemu zadba� bardzo starannie o to, �eby cechy programu zwi�zane �ci�le z okre�lonym typem komputera lub systemem operacyjnym, m. in. takie jak sposoby zapisywania i czytania plik�w, by�y starannie wydzielone w tek�cie programu i ï¿½atwe do wymiany. Z du�� pieczo�owito�ci� opracowa� te� rozmaite dzia�ania wewn�trzne programu, tak �eby dla tych samych danych program dawa� dok�adnie takie same wyniki, niezale�nie od typu komputera, rodzaju procesora u�ytego do oblicze� itp.

Dzi�ki tym cechom powsta�y implementacje TEX-a na dziesi�tki r�nych typ�w komputer�w, pod r�nymi systemami operacyjnymi. Praktycznie ka�dy typ komputera, poczynaj�c od 16-bitowych ma swoj� wersj� systemu TEX.

2.1.8. Logiczno�� w przeciwie�stwie do graficzno�ci

,,Logiczno��'', to mo�liwo�� opisywania w TEX-u logicznej struktury sk�adanego tekstu, co bardzo u�atwia dokonywanie wszelkich zmian w tek�cie, ju� po jego z�o�eniu.

Jest to prawdopodobnie jedna z najwa�niejszych cech TEX-a, stanowi�cych o jego sile i mo�liwo�ciach

2.2. Kim s� u�ytkownicy TEX-a?

U�ytkownicy TEX-a, to w znacznej cz�ci pracownicy naukowi i studenci wy�szych uczelni i innych instytucji naukowych, cho� nie brakuje te� wydawc�w, a tak�e np. wytw�rc�w piecz�tek czy wizyt�wek, agencji reklamowych itp.

2.3. TEX-owcy, ��czcie si�

Ze wzgl�du na to, �e TEX ma stosunkowo niewielu u�ytkownik�w, TEX-owcy zawi�zuj� stowarzyszenia, zwane grupami, w celu �atwiejszej wymiany informacji, wsp�pracy, �atwiejszego rozpowszechniania oprogramowania itp.

Istnieje mi�dzynarodowe stowarzyszenie u�ytkownik�w TEX-a: TEX Users Group z siedzib� w Stanach Zjednoczonych. W Europie prawie w  ka�dym kraju zawi�za�y si� narodowe grupy u�ytkownik�w.

W Polsce w 1992 r. powsta�a Polska Grupa U�ytkownik�w Sytemu TEX, w skr�cie GUST. Grupa wydaje w�asny biuletyn informacyjny, organizuje doroczne konferencje u�ytkownik�w oraz wsp�organizuje szkolenia obs�ugi systemu. Dzi�ki Grupie istnieje te� dost�pna elektronicznie (dla u�ytkownik�w sieci komputerowych) lista dyskusyjna oraz archiwum oprogramowania zwi�zanego z TEX-em.

2.4. Do czego s�u�y TEX?

TEX pozwala komputerowo robi� to, co dawniej robili zecerzy.

Praca zecera w drukarni polega�a na tym, �e z gotowych czcionek, zawieraj�cych poszczeg�lne znaki, odlewanych z  o�owiu lub innego metalu, uk�ada� on kolejne linijki tekstu, a nast�pnie -- uk�adaj�c takie linijki jedna nad drug� -- montowa� z nich kolumny tekstu, kt�re nast�pnie, spi�te odpowiedni� ram�, by�y umieszczane w maszynie drukarskiej i s�u�y�y do drukowania stron.

Obecnie takie prace wykonuje si� komputerowo. Ko�cowy efekt pracy komputera w tym zakresie zale�y od oczekiwanego stopnia profesjonalizmu lub jako�ci. W prostszym przypadku wynikiem mog� by� strony tekstu wydrukowane bezpo�rednio na papierze za pomoc� pod��czonej do komputera drukarki (laserowej, mozaikowej lub atramentowej). W zastosowaniach profesjonalnych, kiedy wynik sk�adu ma by� zastosowany w  druku, tworzy si� przezroczyst� foli� z nieprzezroczystym tekstem, na�wietlon� w urz�dzeniu zwanym fotona�wietlark�. Promie� lasera na�wietla na b�onie fotograficznej ma�e punkciki w miejscach, kt�re maj� by� nieprzezroczyste. Nast�pnie taka b�ona po wywo�aniu s�u�y do wykonania matryc drukarskich do tzw. druku offsetowego.

2.5. Czy TEX-em mo�na...?

Cz�sto u�ytkownicy r�nych program�w s�u��cych do podobnych cel�w zadaj� sobie nawzajem pytania w rodzaju: ,,Czy twoim systemem mo�na...?''. Podobne pytania mog�yby pa�� w odniesieniu do systemu TEX. Wymienienie wszystkiego, co mo�na zrobi� TEX-em nie tylko nie jest �atwe, ale jest niemo�liwe. Mo�emy jednak przyjrze� si� kilku przyk�adom.

TEX jest uniwersalnym systemem pozwalaj�cym na wykorzystanie go do wszelkich prac zwi�zanych z nadawaniem formy tekstom. Mo�na nim sk�ada� wszystko pocz�wszy od list�w i ulotek, poprzez wszelkiego rodzaju ksi��ki i czasopisma (w tym naukowe i nutowe), a sko�czywszy na wielkich dzie�ach, jak encyklopedie.

Typowe systemy maj� na og� list� dobrze przygotowanych, �ci�le okre�lonych czynno�ci, kt�re potrafi� zrealizowa�. Nic poza t� list� nie mo�e by� wykonane. W przypadku TEX-a trudno�� mo�e polega� jedynie na tym, �e jeszcze nie umiemy czego� za jego pomoc� zrobi�.

Z racji swojego sposobu dzia�ania TEX nigdy nie pracuje samotnie. W swoim cyklu przetwarzania wsp�pracuje z r�nymi programami pomocniczymi, mi�dzy innymi z edytorem i ze sterownikami urz�dze� zewn�trznych. Od wyboru tych program�w i sposobu organizacji jego cyklu przetwarzania zale�� cz�sto jego mo�liwo�ci. Pisz�c poni�ej, �e TEX mo�e to-i-to, mamy na my�li, �e mo�na tak skonfigurowa� TEX-a i po��czy� go z  innymi programami, �e jest to mo�liwe. W szczeg�lno�ci bardzo du�� moc daje TEX-owi po��czenie z systemem PostScript.

2.5.1. Matematyka i inne nauki

TEX nie ma r�wnego sobie systemu w zakresie sk�adu prac i ksi��ek naukowych, w szczeg�lno�ci matematycznych i fizycznych. Wi�kszo�� matematyk�w u�ywa TEX-a do pisania swoich prac. TEX jest standardem Ameryka�skiego Towarzystwa Matematycznego (AMS), najwi�kszej organizacji matematyk�w na �wiecie.

2.5.2. Ilustracje

TEX pozwala na w��czanie do tekstu dowolnych ilustracji (w tym zdj��, r�wnie� barwnych).

2.5.3. Nuty

Istnieje co najmniej kilka rozszerze� TEX-a pozwalaj�cych na sk�ad nut. Co najmniej jednym z nich mo�na sk�ada� nawet najbardziej skomplikowane partytury i -- co bardzo wa�ne -- ï¿½ï¿½czy� sk�ad nut z wszystkimi innymi elementami, na kt�re pozwala TEX. W tym samym dokumencie, a nawet na tej samej stronie mog� znale�� si� nuty, teksty, formu�y matematyczne, zdj�cia itp.

2.5.4. Kolory

Przy odpowiednim po��czeniu systemu TEX z wyj�ciowymi urz�dzeniami barwnymi TEX mo�e sk�ada� w kolorze. Teksty, t�o, ilustracje itp. mog� by� wielobarwne.

2.5.5. R�ne kroje pisma

Niekt�rzy u�ytkownicy systemu TEX b��dnie s�dz�, �e ten program wyposa�ony jest w sko�czony, ograniczony i zamkni�ty komplet kroj�w pisma i ï¿½e nie mo�na w nim u�y� innych kroj�w.

Autor TEX-a wyposa�y� go w rodzin� kroj�w pisma o nazwie Computer Modern. Kroje te, opracowane cz�ciowo na wz�r rodziny kroj�w Modern, zosta�y zaprojektowane przez Donalda Knutha we wsp�pracy z jednym z najwybitniejszych wsp�czesnych typograf�w Hermanem Zapfem. Rodzina kroj�w Computer Modern zawiera du�� liczb� znak�w przeznaczonych do sk�adania formu� matematycznych i dlatego dobrze nadaje si� do wykonywania sk�adu prac naukowych.

Program TEX nie jest jednak w ï¿½aden spos�b zwi�zany z rodzin� Computer Modern. Mo�na w nim wykorzystywa� praktycznie wszystkie kroje pisma opracowane na �wiecie. Ka�da wi�ksza firma zajmuj�ca si� produkcj� i sprzeda�� komputerowych no�nik�w kroj�w pisma ma w swojej ofercie na og� oko�o dwa do czterech tysi�cy kroj�w. Wszystkie one mog� by� u�ywane w TEX-u. Jak zawsze w przypadku TEX-a problemem nie jest ,,czy mo�na?'', tylko ,,czy ju� umiem to zrobi�?''.

Ka�dy kr�j pisma i ka�da odmiana mo�e by� dowolnie skalowana. Nie ma (praktycznie) �adnych ogranicze� na wielko�� pisma. Sk�ad mo�na wykonywa� zar�wno pismem wielko�ci u�amka punktu drukarskiego (co mo�e mie� zastosowanie do tzw. mikrodruku, stosowanego np. do zabezpieczania banknot�w), jak te� pismem wielko�ci kilkudziesi�ciu centymetr�w czy nawet kilku metr�w.

2.6. Konfiguracja

TEX jest programem zajmuj�cym w pami�ci dyskowej -- zale�nie od wersji -- oko�o 200--250 kilobajt�w. Do pracy potrzebne mu s� dodatkowo pliki zawieraj�ce podstawowe, tzw. metryczne informacje o fontach.

Ka�dy font (font, to zestaw znak�w okre�lonego kroju i wielko�ci) u�ywany przez system TEX, reprezentowany jest w pami�ci dyskowej komputera co najmniej dwoma r�nymi plikami.

Pierwszy z tych plik�w to tak zwany plik TFM ( TEX font metrics). Zawiera on jedynie informacje o wymiarach znak�w, w szczeg�lno�ci szeroko��, wysoko�� i g��boko�� ka�dego znaku. Nie zawiera informacji o kszta�cie znaku. Zapis w pliku TFM wykorzystywany jest przez program TEX podczas sk�adania tekstu. Ca�y komplet plik�w TFM obejmuj�cy podstawowy zestaw font�w TEX-a (w jego polskiej wersji), w tym wszystkie fonty specjalne s�u��ce do sk�adania wzor�w matematycznych, zajmuje poni�ej 180 kilobajt�w.

Drugi plik informacyjny o foncie zawiera informacje o kszta�cie ka�dego znaku. Zapis zawarty w tym pliku przeznaczony jest nie dla programu TEX, ale dla jednego ze sterownik�w ( drajwer�w) wsp�pracuj�cych z TEX-em. Zapis ten s�u�y przeniesieniu obrazu ka�dego znaku na okre�lone urz�dzenie zewn�trzne, takie jak ekran komputera, drukarka laserowa, atramentowa lub ig�owa albo fotona�wietlarka.

W zwi�zku z r�norodno�ci� mo�liwych urz�dze� zewn�trznych, ich jako�ci, rozdzielczo�ci i sposob�w komunikowania si� z nimi program�w, r�ne te� mog� by� zapisy font�w przeznaczonych do przeniesienia na te urz�dzenia. Dlatego te� nie ma jednego okre�lonego standardu zapisywania font�w TEX-owych przeznaczonych dla urz�dze� zewn�trznych. Zwyczajowo jednak fonty w postaci map bitowych zapisywane s� w tzw. formacie PK. Nale�y jednak pami�ta�, �e s� to fonty przeznaczone dla okre�lonej rozdzielczo�ci urz�dzenia zewn�trznego i dla okre�lonego rodzaju sterownika.

Zale�nie od ilo�ci i rodzaju u�ywanych urz�dze� zewn�trznych oraz zale�nie od ilo�ci r�nych kroj�w i mo�liwych wielko�ci znak�w, kt�re chcemy mie� stale dost�pne, zapis font�w na dysku mo�e zajmowa� mniej lub wi�cej miejsca. Wydaje si�, �e minimalna konfiguracja, umo�liwiaj�ca ju� prac� z prostymi tekstami, zajmuje poni�ej 1 megabajta. Mo�liwo�ci instalowania font�w s� praktycznie nieograniczone mo�na u�ywa� nawet kilku tysi�cy kroj�w pisma. Ich zapis na dysku mo�e zajmowa� dziesi�tki i setki megabajt�w. Ilo�� miejsca zajmowanego przez fonty jest jednak niezale�na od systemu TEX i wynosi�aby tyle samo przy jakimkolwiek innym systemie sk�adu.