Ka�dy z nas mo�e zosta� szefem pana Kazia. Wystarczy nauczy� si� sposobu przygotowania mu na pi�mie polece� dotycz�cych sposobu sk�adania.
Nie b�dziemy jednak zawraca� panu Kaziowi g�owy i przygotowywa� polece� dla niego w jego obecno�ci. Przygotujemy je zawczasu i udamy si� do niego z pro�b� o realizacj�.
Tu w�a�nie zaczyna si� pierwszy etap pracy.
Polecenia, kt�re przygotujemy, to b�d� informacje o tym co i w jaki spos�b nale�y z�o�y�. Do przygotowania zbioru polece� u�yjemy zwyk�ego edytora, kt�ry jest zwykle zainstalowany na ka�dym komputerze. Powinien to by� tzw. edytor typu ASCII.
Napiszmy przyk�adowy plik tekstowy, zawieraj�cy nast�puj�ce dwie linijki:
Ala ma psa. \end
Oczywi�cie w momencie, kiedy piszemy ten tekst, TEX -- pan Kazio -- go nie widzi.
Po zako�czeniu pisania (edycji), tworzymy w pami�ci dyskowej komputera plik z tekstem. Nazwijmy przygotowany przez nas plik ala.mex. Zwyczajowo pliki zawieraj�ce dane dla TEX-a maj� rozszerzenie .tex, a pliki z danymi dla polskiej wersji TEX-a maj� rozszerzenie .mex.
Wkr�tce wyja�ni si�, co oznaczaj� polecenia napisane w tym tek�cie i jak zrozumie je pan Kazio. Na razie uwierzmy, �e b�d� one dla niego zrozumia�e i prze�led�my dalsz� drog� wiod�c� ku ostatecznemu efektowi.
Teraz ju� nadesz�a pora, �eby poprosi� pana Kazia o wykonanie sk�adu na podstawie naszych polece�.
Na ka�dym komputerze, na kt�rym zainstalowany jest system TEX, istnieje specyficzny spos�b uruchamiania go. Nie b�dziemy tu wyja�nia� rozmaitych sposob�w uruchamiania TEX-a.
TEX, czyli pan Kazio przyst�puje do pracy i realizuje polecenia. Po pewnym czasie daje zna�, �e wszystko gotowe.
Wynik jego pracy zapisany jest na dysku w postaci pliku ala.dvi. Oznaczenie dvi jest skr�tem od angielskich s��w ,,device independent'' -- niezale�ny od urz�dzenia. Pan Kazio podj�� wszystkie decyzje dotycz�ce po�o�enia znak�w na stronach, ale nie wie jeszcze na jakim urz�dzeniu zewn�trznym zdecydujemy si� wydrukowa� lub wy�wietli� wynik jego pracy. Z tego powodu przygotowuje wynik swojej pracy w postaci niezale�nej od urz�dzenia.
Dodatkowo, jako niezwykle skrupulatny pracownik, pan Kazio umieszcza na dysku jeszcze jeden plik, o nazwie ala.log, zawieraj�cy zapis tego, co podczas jego pracy wy�wietla� ekran komputera.
Na tym ko�czy si� rola TEX-a -- pana Kazia. Przyni�s� nam zmontowane, gotowe strony tekstu (w postaci pliku dvi) i dalej musimy jako� sobie radzi�. Jak ju� wspomnieli�my TEX nigdy nie dzia�a samotnie. Pan Kazio by�by bezu�yteczny w firmie, gdyby nie by�o w niej innych pracownik�w. W istocie u�yteczno�� TEX-a w ogromnym stopniu zale�y od jego powi�za� z innymi programami.
Jeden z mo�liwych sposob�w wsp��pracy, to wykorzystanie, po zako�czeniu pracy TEX-a, jednego z wielu program�w, kt�re umo�liwiaj� zobaczenie tego, co TEX przygotowa�. Takie programy, zwane sterownikami, s�u�� do wy�wietlania, drukowania, na�wietlania lub jeszcze innych mo�liwych sposob�w uwidocznienia wyniku pracy TEX-a.
U�ycie TEX-a, a nast�pnie sterownika jest najbardziej popularnym, cho� nie jedynym sposobem uzyskania wyniku sk�adu.
W przypadku przetwarzania pliku polece� ala.mex, je�li na naszym komputerze zainstalowany jest sterownik ekranowy, to mo�emy obejrze� wynik sk�adu na ekranie.
Jak mamy post�powa� dalej, je�li nie b�dziemy usatysfakcjonowani tym co zobaczymy? Oczywi�cie jedynym sposobem poprawienia czegokolwiek w ko�cowym efekcie jest przygotowanie zmienionej wersji polece� dla naszego pana Kazia i powt�rzenie ca�ego cyklu przetwarzania.
Ka�dy chyba zdaje sobie spraw�, jak wiele zale�y od organizacji pracy w firmie: od zatrudnienia w�a�ciwych pracownik�w i utworzenia odpowiednich mechanizm�w ich wsp��pracy. Podobnie jest z cyklem przetwarzania, kt�rego cz��ci� jest zecer, pan Kazio. Powi�zanie jego dzia�alno�ci z odpowiednimi programami mo�e da� czasem zdumiewaj�ce efekty. Ale to jest ju� temat na osobn� pogadank�.
Przyjrzyjmy si� obecnie uwa�niej plikowi przygotowanemu w poprzednim rozdziale. Z punktu widzenia TEX-a/pana Kazia plik ten sk�ada si� jedynie z komend, czyli polece�. Przypomnijmy, �e tre�ci� pliku by�o:
Ala ma psa. \endPlik ten zawiera 13 komend.
Pierwsze trzy z nich, to trzy pierwsze litery.
Ka�da z nich to polecenie:
,,Umie�� w sk�adzie literk� <<A>>'',
,,Umie�� w sk�adzie literk� <<l>>'',
,,Umie�� w sk�adzie literk� <<a>>''.
Nast�pna komenda, to odst�p. Oznacza ona polecenie
,,zr�b zwyk�y odst�p mi�dzywyrazowy''.
Podobnie rzecz si� ma z kolejnymi dwoma literami, odst�pem i dalszymi
czterema literami. R�wnie� kropka, to po prostu polecenie
,,Umie�� w sk�adzie kropk�''.
Dwunaste polecenie w tym pliku jest najmniej widoczne. Zmiana wiersza (przej�cie do nowej linii) nast�puj�ca po kropce traktowana jest przez TEX-a jak odst�p i w zwi�zku z tym oznacza to samo, co zwyk�y odst�p. (W sk�adzie ten odst�p nie b�dzie widoczny, poniewa� po nim nie nast�puje ju� �aden tekst.)
Ostatnie, trzynaste polecenie znacznie r��ni si� od pozosta�ych. Jest ono zapisane nie w postaci pojedynczego znaku, ale w postaci trzech liter poprzedzonych znakiem \ (wty�ciach, po angielsku backslash). Wi�kszo�� komend systemu TEX, kt�re oznaczaj� co� innego ni� ,,umie�� w sk�adzie...'' zapisuje si� w�a�nie w postaci znaku w-ty�-ciach i nast�puj�cego po nim ci�gu liter. Istnieje jeszcze trzecia kategoria komend, kt�r� wkr�tce poznamy, zapisywana w postaci znaku w-ty�-ciach i nast�puj�cego po nim pojedynczego znaku nie b�d�cego liter�.
Komenda \end oznacza ,,zako�cz prac�''. Jest to jedyne polecenie, kt�re musi znale�� si� w ka�dym pliku danych (zestawie polece�) dla TEX-a.
Uwa�ny czytelnik mo�e zada� pytanie: ,,Sk�d pan Kazio wiedzia� jakimi wielko�ciami liter ma wykona� sk�ad, jaki ma by� kr�j pisma itp.?'' To bardzo wa�ne pytanie. Ot�� w bardzo wielu sprawach szef um�wi� si� z panem Kaziem: ,,je�li nie napisz� ci tego-i-tego, to post�puj tak-i-tak''. W szczeg�lno�ci s� um�wieni: ,,je�li nie napisz� ci jakim krojem pisma masz wykonywa� sk�ad, to ma to by� Computer Modern Roman''.
W istocie liczba tego rodzaju ,,um�w'' z panem Kaziem jest ogromna i si�ga kilkuset. Pozwala to na stosowanie stosunkowo zwartej i skr�towej notacji. Dzi�ki temu, �e TEX jest systemem programowalnym, mo�emy zawiera� z panem Kaziem w�asne umowy, specyficzne dla konkretnego zastosowania, do kt�rego go wykorzystujemy.
System TEX montuje stron� z podobnych element�w, tylko metalowe czcionki zosta�y zast�pione ich obrazem komputerowym i nazywaj� si� w TEX-u pude�kami, a odst�py nazywaj� si� klejem. Mo�na sobie wyobrazi�, �e ka�da strona montowana jest z pude�ek, zawieraj�cych litery i inne znaki, po��czonych ze sob� r��nymi ilo�ciami elastycznego kleju, i dzi�ki niemu utrzymywanych w odpowiednich odleg�o�ciach od siebie.
Opracowanie przez autora systemu TEX matemetycznego modelu sk�adu drukarskiego jest prawdopodobnie jednym z jego najwa�niejszych osi�gni�� zwi�zanych ze stworzeniem TEX-a. Podstawowym elementem tego modelu jest stwierdzenie, �e budowane przez system strony s� pude�kami o hierarchicznej budowie. Ka�dy pojedynczy znak jest pude�kiem. Z takich znak�w mo�na tworzy� pude�ka bardziej skomplikowane. Na ka�dym etapie tworzenia pude�ek dowolonie skomplikowane pude�ko mo�e by� u�yte w takiej samej roli jak pojedynczy znak. Pozwala to wyrazi� bardzo z�o�one konstrukcje za pomoc� prostych �rodk�w.
Poni�ej opisujemy podstawowe narz�dzia, jakich dostarcza system TEX, do konstruowania pude�ek.
Podstawowe dwa nastroje, w jakich bywa TEX -- pan Kazio -- to nastr�j pionowy i poziomy. Zale�nie od tego nastroju ma zwyczaj umieszcza� napotykane przez siebie (w tek�cie z poleceniami) pude�ka albo pionowo -- jedno pod drugim, albo poziomo -- jedno obok drugiego.
Na pocz�tku pracy, przed przeczytaniem pierwszego polecenia z pliku wej�ciowego, TEX znajduje si� w nastroju pionowym. Pewne wydarzenia mog� jednak wp�yn�� na zmian� jego nastroju na poziomy.
TEX jest w nastroju poziomym w dw�ch rodzajach sytuacji: podczas sk�adania akapitu i podczas tworzenia pude�ka poziomego. Jest to podstawowy nastr�j, w kt�rym nast�puje sk�adanie tekst�w. Nastr�j pionowy s�u�y do montowania w strony element�w utworzonych w nastroju poziomym.
Po zako�czeniu sk�adania akapitu i po zako�czeniu tworzenia pude�ka poziomego TEX wraca do nastroju, w jakim znajdowa� si� poprzednio.
Podczas sk�adania akapitu TEX tworzy d�ug� poziom� list�, z�o�on� z pude�ek i poziomego kleju. Kolejno napotkane litery traktuje jako pude�ka, a odst�py mi�dzy literami zamienia na klej i oddziela nim pude�ka
W przyk�adzie cytowanym w poprzednich rozdzia�ach akapit zawieraj�cy napis ,,Ala ma psa.'' zostanie przez TEX-a zamieniony na nast�puj�c� konstrukcj� z�o�on� z pude�ek i kleju:
Ala ma psa.(jest to dziewi�� pude�ek i dwa kawa�ki kleju mi�dzy nimi).
Po zako�czeniu czytania akapitu (TEX w tym wypadku rozpozna koniec akapitu po komendzie \end) system dokona po�amania akapitu na linijki o szeroko�ci takiej jak zadana szeroko�� kolumny tekstu, zaczynaj�c pierwsz� z nich wci�ciem akapitowym odpowiedniej wielko�ci oraz ko�cz�c ostatni� z nich odpowiedni� ilo�ci� poziomego kleju, wype�niaj�c� praw� stron� ostatniego pude�ka.
Ka�da linijka, kt�ra powstaje w wyniku po�amania akapitu, jest pude�kiem o szeroko�ci takiej jak szeroko�� kolumny tekstu.
W naszym przyk�adzie TEX utworzy akapit jednolinijkowy, a zatem powstanie linijka zaczynaj�ca si� od wci�cia akapitowego i ko�cz�ca si� klejem dope�niaj�cym j� do prawej strony.
Nie zachowuj�c proporcji wymiar�w, bo litery rysujemy tu w powiekszeniu mo�na by narysowa� t� linijk� jako:
Ala ma psa. \end
Aby utworzy� w TEX-u poziome pude�ko o okre�lonej zawarto�ci nale�y napisa� komend� \hbox i po niej w nawiasach klamrowych napisa� zawarto�� tego pude�ka.
Na przyk�ad, je�li chcemy utworzy� pude�ko zawieraj�ce napis: ,,Od rana jestem dzi� w poziomym nastroju.'', to musimy w pliku polece� dla TEX-a napisa�:
Od rana jestem dzi� w poziomym nastroju.
Pude�ko takie mo�e by� u�yte jako element konstrukcujny innych pude�ek. Na przyk�ad, je�li przed przeczytaniem tego pude�ka TEX znajdowa� si� w nastroju pionowym, to potraktuje to pude�ko jako element konstrukcyjny strony i umie�ci w obr�bie strony pod innymi pude�kami. Je�li znajdowa� si� w nastroju poziomym i by� w trakcie sk�adania akapitu, to potraktuje to pude�ko tak jak inne znaki znajduj�ce si� w akapicie i umie�ci je na li�cie poziomej przeznaczonej do �amania na linijki.
Nale�y zwr�ci� uwag� na r��nic� pomi�dzy umieszczeniem w akapicie zdania ,,Od rana jestem dzi� w poziomym nastroju.'' od umieszczenia w akapicie pude�ka poziomego zawieraj�cego takie zdanie. W pierwszym przypadku w r��nych miejscach zdania TEX ma prawo dokona� �amania listy poziomej na linijki, w tym r�wnie� z uwzgl�dnieniem przenoszenia wyraz�w. W drugim przypadku ca�e pude�ko traktowane jest jako jeden znak i �adne �amanie wewn�trz niego nie mo�e mie� miejsca. Mo�e to by� w szczeg�lno�ci u�yteczne do wprowadzenia lokalnego zakazu �amania na linijki.