The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

U�ywanie TeX-a w systemie UNIX (AUCTeX)

Adam Dawidziuk

TeX, jak wiadomo, nie jest zaopatrzony w standardowy interfejs u�ytkownika, co daje du�� swobod� wyboru metod przygotowywania dokument�w �r�d�owych. O ile format plik�w wej�ciowych i spos�b ich przetwarzania przez TeX-a pozostaje z za�o�enia niezmienny, to narz�dzia wspomagaj�ce wprowadzanie tre�ci dokument�w we w�a�ciwym formacie s� nieustannie rozwijane. W artykule jest opisany jeden z mo�liwych sposob�w u�ywania TeX-a w systemie UNIX, ze szczeg�lnym uwzgl�dnieniem pakietu AUC TeX.

Przetwarzanie danych

Brak narzuconego i okienkowego interfejsu u�ytkownika powoduje, �e TeX bywa postrzegany jako program przestarza�y i trudny. Przeci�tny u�ytkownik komputera zwykle nie jest w stanie zrozumie� sposobu dzia�ania TeX-a, a jeszcze trudniej dostrzec mu korzy�ci, jakie mo�na osi�gn�� przygotowuj�c dokumenty w ten w�a�nie spos�b. Pierwsz� i najpowa�niejsz� barier� poj�ciow� jest fakt, �e TeX nie jest systemem kompletnym, ale wymaga korzystania z wielu dodatkowych narz�dzi wspomagaj�cych prac�. Wprawdzie ma�o kto wprowadza tre�� dokumentu z klawiatury w chwili, gdy TeX poka�e na ekranie dwie gwiazdki, ale na pomys� stworzenia sobie wygodnego i efektywnego �rodowiska pracy te� niestety wpada nieliczne grono u�ytkownik�w.

Dzia�anie TeX-a mo�na sprowadzi� do przetwarzania plik�w. TeX czyta dokument �r�d�owy, zwykle z pliku o nazwie z przyrostkiem .tex, i tworzy obraz kolejnych stron dokumentu w pliku o nazwie ko�cz�cej si� napisem .dvi. Zadaniem u�ytkownika jest przygotowanie plik�w wej�ciowych i uruchomienie ci�gu przetworze�, kt�re doprowadz� do po��danego wyniku. Zar�wno przygotowanie danych, jak i ich przetwarzanie mo�na zorganizowa� w zasadzie w dowolny spos�b. Istniej� dwie istotnie r�ne metody tworzenia plik�w z danymi wej�ciowymi: generowanie i wpisywanie.

Generowanie danych wej�ciowych do TeX-a to zagadnienie bardzo rozleg�e i maj�ce wiele praktycznych zastosowa�. Sam proces przygotowania danych, ich obr�bka i metody generowania mog� by� bardzo r�ne. Wszystko zale�y od celu przetwarzania i postawionych wymaga�. TeX jest doskona�ym narz�dziem do formatowania wydruk�w z baz danych (np. s�owniki, sprawozdania) pozwalaj�cym na uzyskanie wysokiej jako�ci typograficznej przy ca�kowitej automatyzacji procesu sk�adania tekstu. Cz�sto u�ytkownik (autor tekstu) nie ma bezpo�redniego kontaktu z TeX-em i nie musi zna� specyficznego dla TeX-a systemu oznacze� tekstu. Jednak jest to temat znacznie wykraczaj�cy poza ramy tego artyku�u.

Wi�kszo�� u�ytkownik�w zadowala si� zwyczajnym wpisywaniem tekstu. W takim wypadku najwa�niejszy jest ergonomiczny i dobrze opanowany edytor tekst�w. Zwykle ka�dy ma sw�j ulubiony edytor, w kt�rym wszystko mu wychodzi naj�atwiej. I prawdopodobnie to b�dzie ten edytor, kt�rego nale�y u�y� tworz�c pliki �r�d�owe do przetwarzania TeX-em. Je�li jednak zamierzamy pisa� du�o, to nie powinni�my eksperymentowa� z edytorami zbyt prostymi. Czas po�wi�cony na poznanie inteligentnego, konfigurowalnego edytora zwr�ci si� ju� po kilku dniach pisania. Z edytor�w dost�pnych w systemie UNIX doskona�y jest vim. Mo�na go ,,nauczy�'' wielu po�ytecznych skr�t�w, a jego ostatnie wersje potrafi� rozpoznawa� sk�adni� i zwi�ksza� czytelno�� plik�w �r�d�owych przez stosowanie kolor�w. Lepszy jest tylko emacs (tak twierdz� u�ytkownicy Emacsa). Niestety, zar�wno vim jak i Emacs u niekt�rych wywo�uj� reakcje alergiczne, a na to rady nie ma.

Zwolennicy okienek MS nie powinni czu� si� pokrzywdzeni (a przynajmniej nie z powodu braku edytora). Z rzeczy dobrych godny polecenia jest WinEdit, kt�ry mo�e bardzo du�o i sk�adni� pliku TeX-owego zna na tyle dobrze, �e wyr�nia kolorami odpowiednie fragmenty. Jest �atwo konfigurowalny w zakresie wystarczaj�cym do efektywnej pracy. Mi�dzy innymi umo�liwia powi�zanie z polami menu dowolnych skrypt�w np. przetwarzaj�cych pliki �r�d�owe. Daje si� u�ywa� bez zbyt cz�stego si�gania do myszy. Jedn� z jego g��wnych zalet jest sprawdzanie na bie��co sk�adni wprowadzanych s��w -- te kt�rych brak w s�owniku s� wyr�niane. Do podstawowych wad nale�y konieczno�� konfigurowania w�a�ciwie wszystkiego od pocz�tku oraz to, �e, w przeciwie�stwie do vima i Emacsa nie jest to program bezp�atny. Cena jest jednak umiarkowana.

Przewiduj�c trwa�y zwi�zek z TeX-em warto usprawni� przetwarzanie pliku �r�d�owego do postaci wynikowej. Nie ma wielkiego problemu, je�li przetwarzaniu podlega jeden plik, a formatem wyj�ciowym jest dvi. Ju� jednak konwersja pliku dvi do PostScriptu oznacza konieczno�� uruchomienia dodatkowego programu. Je�li jeszcze do�o�ymy do tego tworzone podczas pisania rysunki (w szczeg�lno�ci rysunki generowane, np. MetaPost-em) to liczba program�w, kt�re trzeba uruchomi� w �ci�le okre�lonym porz�dku, zniech�ca do robienia tego r�cznie. �atwo si� pomyli�. Dobrym pomys�em jest napisanie skryptu, kt�ry wykonuje wszystkie operacje. Przetwarzanie za ka�dym razem wszystkich plik�w �r�d�owych nie zawsze jest konieczne, a znacznie wyd�u�a czas oczekiwania na wynik. W takiej sytuacji najwygodniej u�y� programu make.

Do�wiadczony u�ytkownik TeX-a zwykle ma w�asny zestaw program�w, kt�re czyni� �ycie �atwiejszym. Cz�sto w sk�ad tego zestawu wchodzi dodatkowo jaki� edytor strumieniowy np. sed, czy cz�ciej awk lub perl (najbardziej wszechstronny). W przypadku umieszczania w dokumentach ilustracji lub zdj�� nale�y uwzgl�dni� specjalizowane programy do przetwarzania obrazk�w itd. Podstawow� zalet� TeX jest �atwo�� zintegrowania go z dowolnym u�ywanym systemem.

Ka�dy mo�e wi�c u�ywa� TeX dok�adnie tak, jak lubi i tak jak mu wygodnie. Trudno jest w jednym kr�tkim tek�cie om�wi� wszystkie typowe przypadki. Ogranicz� si� do przyk�adu szczeg�lnego -- systemu UNIX. Przyczyn tego wyboru m�g�bym wymieni� wiele. Przede wszystkim ca�y UNIX zbudowany jest z program�w wykonuj�cych dobrze okre�lone funkcje, takich ,,klock�w'', z kt�rych mo�na zbudowa� dowolnie skomplikowane systemy przetwarzania informacji. Nie posiadaj�cy interfejsu u�ytkownika, przetwarzaj�cy pliki w inne pliki i konfigurowalny TeX �atwo daje si� dopasowa� do potrzeb u�ytkownika UNIXa. Oczywi�cie istnieje mn�stwo r�nych i dobrych sposob�w pracy z TeX-em. Zar�wno podany przyk�ad edytora (Emacs z AUC TeX-em), jak i techniki przetwarzania dokument�w nosz� wyra�ne pi�tno moich osobistych preferencji.

AUC TeX

AUC TeX to dost�pne w edytorze emacs zintegrowane �rodowisko do tworzenia i przetwarzania dokument�w TeX-owych i LaTeX-owych. Mo�liwo�ci AUC TeX-a s� ogromne, na szcz�cie nie trzeba wiedzie� wszystkiego, aby z niego korzysta�. AUC TeX-a mo�na oswaja� ,,krok po kroku'', podobnie jak i samego Emacsa.

Emacs

Edytor emacs ma d�ug� histori� w systemie UNIX. W du�ej cz�ci zosta� napisany w j�zyku Lisp (dok�adniej w dialekcie Emacs Lisp). Jest to j�zyk funkcyjny s�u��cy przede wszystkim do porozumiewania si� z Emacsem. Lisp bywa� ch�tnie stosowany w tworzeniu tzw. ,,system�w sztucznej inteligencji''. Nie dziwi wi�c naprawd� nieprzeci�tna inteligencja edytora Emacs je�li u�wiadomimy sobie, �e jest to najwi�kszy z popularnych program�w napisanych w Lispie. A mo�liwo�ci i umiej�tno�ci Emacsa s� chyba niezg��bione (strzy�e, �piewa, ta�czy, gotuje, krawaty wi��e...).

Edytor ten bywa niezbyt lubiany przez pocz�tkuj�cych u�ytkownik�w ze wzgl�du na spos�b wydawania polece� i niezbyt zrozumia�� terminologi� stosowan� w dokumentacji i komunikatach. Koncepcja porozumiewania si� z edytorem jest rzeczywi�cie mocno egzotyczna, ale wbrew pozorom ma g��boki sens. Kluczem do sukcesu jest znalezienie klawisza Meta na klawiaturze. Wci�ni�cie tego klawisza ze znakiem x (oznaczane jako Meta-x lub M-x) rozpoczyna wprowadzanie polece�. W klawiaturze komputera PC zwykle klawiszem Meta jest Alt. Je�li jednak Alt zosta� przedefiniowany (np. w celu wprowadzania polskich znak�w) to M-x mo�na wprowadzi� sekwencyjnie wciskaj�c najpierw klawisz Esc, a potem x. Tego typu problemy nie istniej� z klawiszem Ctrl. Podstawowymi chwytami s� Ctrl-xCtrl-c, opisywane cz�sto jako C-xC-c.

Mocn� stron� Emacsa jest dokumentacja (C-h). Funkcje przypisane klawiszom zmieniaj� si� w zale�no�ci od trybu pracy (mode), co zawsze mo�na sprawdzi� wpisuj�c C-h m. Wiedz�c, �e Emacs mo�e otwiera� wiele plik�w jednocze�nie, ale ka�dy w innym buforze (buffer), �e w �rodowisku okienkowym mo�e otwiera� wiele okien zwanych ramkami (frames) i �e ka�da ramka mo�e by� podzielona na wiele ,,okien'' (window) mo�na bez problemu zrozumie� j�zyk dokumentacji.

Istnieje wiele odmian Emacsa. Na potrzeby tego artyku�u za�o�ymy sobie, �e dysponujemy zainstalowan�, wsp�czesn� wersj� XEmacsa. Za�o�enie to jest uzasadnione, poniewa� norm� s� ju� komputery, na kt�rych dzia�aj�ce okienka graficzne nie powoduj� zatrzymania systemu. A XEmacs dobrze wygl�da w okienkach. Poza tym w XEmacsie AUC TeX jest domy�lnie zainstalowany, co pozwala skr�ci� ten tekst o rozdzia� po�wi�cony instalacji. Dodatkowo nie b�d� rozwija� problemu konfiguracji, kt�r� w XEmacsie mo�na wykona� za pomoc� myszy. Wszystkie ustawienia AUC TeX-a wykonuje si� wybieraj�c mysz� z menu Options Customize Emacs Wp Tex AUC Tex, a potem ju� wed�ug uznania. W to samo miejsce mo�na trafi� wciskaj�c M-x customize, tyle �e po drodze jest wi�cej obja�nie� i �atwiej si� zagubi�.

Je�li kto� nie dysponuje XEmacsem lub nie lubi myszy, to b�dzie musia� wpisywa� odpowiednie zakl�cia do pliku .emacs, kt�ry znajduje si� w katalogu domowym u�ytkownika. Pomocne mo�e by� odszukanie pliku tex.eltex-site.el, kt�re le�� gdzie� z innymi plikami Emacsa (ale w r�nych katalogach -- przyda si� program find). Mo�na w nich podejrze�, jak s� zadawane warto�ci pocz�tkowe list i zmiennych i je zmodyfikowa�. Nie nale�y przy tym zmienia� pliku tex.el (ani jego skompilowanej wersji tex.elc) lecz kopiowa� co trzeba do pliku .emacs. Je�li zmiana ma dotyczy� wszystkich u�ytkownik�w nale�y odpowiedni fragment pliku tex.el skopiowa� do pliku tex-site.el i tam pozamienia� wszystko to, co wymaga zmiany.

I jeszcze jedna uwaga dla pocz�tkuj�cych: w Emacsie mo�na zapisa� plik z bufora na dysk wciskaj�c C-x C-s, a prac� z Emacsem zako�czy� sekwencj� C-x C-c. Emacs nie jest jednak ma�ym programem, wi�c szanuj�c sw�j czas lepiej nie otwiera� go i nie zamyka� bez wyra�nej potrzeby, zw�aszcza, �e raz otwarty mocno nie przeszkadza.

Do efektywnego wykorzystania Emacsa na potrzeby j�zyka polskiego jest potrzebna polska klawiatura (ka�dy robi to jak lubi, jedna z klasycznych metod w systemie XWindow sprowadza si� do wykorzystania xmodmap) oraz polski s�ownik do programu ispell. Zagadnienia te s� dok�adnie om�wione w tekstach po�wi�conych polskim ,,ogonkom''.

Uruchomienie AUC TeX-a

Po uruchomieniu edytora Emacs utworzenie nowego pliku jest mo�liwe po wci�ni�ciu C-x C-f i podaniu nazwy. Podaj�c nazw� pliku z przyrostkiem .tex zmusimy edytor do wej�cia w tryb LaTeX-mode. Informacja o tym powinna pojawi� si� w wierszu trybu pracy (Mode Line) w dolnej cz�ci okna jako napis LaTeX. Mo�na te� wymusi� wej�cie w tryb LaTeX wywo�uj�c polecenie LaTeX-mode (M-x LaTeX-mode). Do rozwijania nazw mo�na u�y� znaku klawisza tabulacji (Tab).

Je�li powy�sze dzia�ania nie prowadz� do uruchomienia AUC TeX-a, to albo nie jest on zainstalowany, albo w pliku .emacs brakuje wiersza

(require 'tex-site) 

Brak zainstalowanego AUC TeX-a mo�e prowadzi� do pomy�ek poniewa� Emacs wchodzi w takiej sytuacji w du�o prostszy tryb wspomagania LaTeX-a, a wszystko dzia�a inaczej (w szczeg�lno�ci ,,klawiszologia'' jest inna).

S�owa kluczowe LaTeX-a

Przy tworzeniu pliku LaTeX-owego pewne oznaczenia tekstu pojawiaj� si� cz�ciej ni� inne. Na szczeg�ln� uwag� zas�uguj� mechanizmy AUC TeX-a u�atwiaj�ce wpisywanie tych w�a�nie cz�sto wyst�puj�cych s��w kluczowych. Najcz�ciej wprowadza si� do tekstu oznaczenia �rodowisk i ich nazwy, ,,zwyk�e'' polecenia TeX-owe, �r�dtytu�y oraz polecenia zmiany kroju pisma.

Najwa�niejsz� konstrukcj� LaTeX-a s� �rodowiska, czyli pary \begin{*} \end{*}. Do wprowadzania �rodowisk s�u�y polecenie LaTeX-enviroment domy�lnie przypisane do sekwencji C-c C-e. Po wydaniu tego polecenia AUC TeX pyta o nazw� �rodowiska i ewentualne dodatkowe dane. Przy pomocy klawisza Tab lub spacji mo�na rozwija� cz�ciowo wpisane nazwy. AUC TeX zna mn�stwo standardowych �rodowisk, poza tym potrafi uczy� si� nowych analizuj�c w��czane pakiety i nag��wek pliku.

Otwarte �rodowisko mo�na zamkn�� poleceniem LaTeX-close-enviroment (C-c ]). Zdecydowanie jednak najbezpieczniejsze jest wprowadzanie kompletnych �rodowisk przy u�yciu C-c C-e.

Poza �rodowiskami w pliku LaTeX-owym cz�sto pojawiaj� si� tradycyjne polecenia TeX-a, czyli s�owa rozpoczynaj�ce si� znakiem \. Zapami�tanie wszystkich polece� jest trudne, a przy ich wprowadzaniu �atwo o b��d. Dlatego nale�y korzysta� z polecenia LaTeX-complete-symbol. Je�li pisane s�owo rozpoczyna si� znakiem \ to wystarczy wcisn�� M-Tab aby je zako�czy�, lub uzyska� list� mo�liwych zako�cze�.

Inny spos�b wpisywania makr TeX-owych polega na wykorzystaniu polecenia TeX-insert-macro (C-c C-m). Aby u�y� jeszcze innej metody nale�y np. w pliku .emacs ustawi� r�n� od nil warto�� zmiennej TeX-electric-escape

(setq TeX-electric-escape t)

Wi��e to znak \ z funkcj� TeX-electric-macro, co umo�liwia uruchamianie mechanizmu rozwijania makr przez wpisanie tego znaku. Jest to metoda najszybsza.

AUC TeX domy�lnie wstawia par� pustych nawias�w {} po wpisaniu makra, co zabezpiecza przed ,,znikni�ciem'' spacj� znajduj�c� si� za tym makrem. Je�li nawiasy nie s� mile widziane nale�y zmiennej TeX-insert-braces przypisa� warto�� nil.

Inaczej oznacza si� elementy listy \item. S�u�y do tego polecenie LaTeX-insert-item (M-Return), kt�rego dzia�anie zale�y od kontekstu.

Kolejnym cz�sto wyst�puj�cym elementem tekstu s� �r�dtytu�y, oznaczane s�owami kluczowymi \chapter, \section itd. Mo�na u�atwi� sobie �ycie korzystaj�c z polecenia LaTeX-section (C-c C-s). Wywo�anie tego polecenia spowoduje wstawienie oznaczenia �r�dtytu�u, przy czym domy�lnie AUC TeX zapyta o tytu� i etykiet� zwi�zan� z tym �r�dtytu�em (argument polecenia \label). Domy�lny poziom �r�dtytu�u mo�na zmieni� wpisuj�c r�cznie w�a�ciwe s�owo kluczowe (z rozwijaniem) lub podaj�c argument (C-u) przed wywo�aniem polecenia LaTeX-section. Je�li argument jest ujemny, to poziom zostanie zmieniony w d� o jeden.

I tak, je�li ostatnio wstawiony by� �r�dtytu� na poziomie \subsection to b�dzie to aktualny poziom domy�lny. Sekwencja C-c C-s oznacza polecenie wpisania �r�dtytu�u na tym w�a�nie poziomie. Podanie C-u C-c C-s to wpisanie \subsubsection, a C-u -1 C-c C-s spowoduje wstawienie \section. Przedrostki nazw w etykietach \label s� kontrolowane zmienn� LaTeX-section-label. Je�li warto�ci� tej zmiennej jest nil, to odno�niki nie b�d� wstawiane.

AUC TeX udost�pnia r�wnie� silny mechanizm zmiany kroju pisma. Jego podstaw� jest polecenie TeX-font (skr�t C-c C-f), po kt�rym podaje si� argument okre�laj�cy po��dan� zmian� kroju pisma. I tak C-e powoduje wpisanie \emph{}, C-i -- \textit{}, C-t -- \texttt{} itd, w��cznie z usuwaniem ustawienia kroju pisma C-d. Lista mo�liwo�ci jest wypisywana po podaniu spacji jako argumentu:

Font list:

     C-b          \textbf{ }
     C-c          \textsc{ }
     C-e            \emph{ }
     C-f          \textsf{ }
     tab          \textit{ }
  return          \textmd{ }
     C-n        \textnormal{ }
     C-r          \textrm{ }
     C-s          \textsl{ }
     C-t          \texttt{ }
     C-u          \textup{ }
     C-d        -- delete font

Je�li polecenie TeX-font jest poprzedzone argumentem (C-u), to zostanie zmieniony kr�j pisma w miejscu, w kt�rym znajduje si� kursor. Przyk�adowo je�eli kursor jest umieszczony na tek�cie b�d�cym argumentem polecenia \textit{}, to sekwencja C-u C-c C-f C-e zmieni polecenie \textit na \emph.

Inne elementy tekstu

W tre�ci dokumentu pojawiaj� si� nie tylko s�owa kluczowe, ale tak�e znaki specjalne: cudzys��w, znak dolara $, nawiasy klamrowe {} oraz znak komentarza %.

W TeX-u nie u�ywamy znak�w " na oznaczenie cudzys�owu. W tekstach pisanych po angielsku u�ywamy znaku `` jako cudzys�owu otwieraj�cego i znaku '' jako cudzys�owu zamykaj�cego. Je�li u�ytkownik wpisuje " to AUC TeX zadba, aby w tek�cie pojawi�o si� to co trzeba. W przypadku j�zyka polskiego (i spolszczonego LaTeX-a) cudzys��w otwieraj�cy oznacza si� w tek�cie dwoma przecinkami ,,. Aby polecenie TeX-insert-quote wywo�ywane klawiszem " zadzia�a�o prawid�owo nale�y zmiennej TeX-open-quote przypisa� warto�� ,, (czyli dwa przecinki).

Znaki dolara $ w pliku TeX-owym obejmuj� tekst wzoru matematycznego, a w podw�jne dolary $$ jest uj�ty wz�r wyeksponowany w osi strony. W celu lepszej kontroli otwierania i zamykania wzor�w wprowadzenie znaku dolara powoduje wywo�anie polecenia TeX-insert-dollar. Polecenie to, opr�cz wprowadzenie do pliku znaku $ sprawdza stan sparowania tych znak�w. Dzi�ki temu dok�adnie wiadomo, gdzie si� zaczyna i gdzie ko�czy �rodowisko matematyczne, a przy okazji nie da si� wzoru rozpocz�tego dwoma dolarami zamkn�� tylko jednym.

Polecenie TeX-insert-braces pozwala wprowadza� nawiasy klamrowe parami. Skr�t klawiaturowy jest intuicyjny: C-c {.

Przy wprowadzaniu i usuwaniu znaku komentarza na pocz�tku wierszy przydaje si� polecenie TeX-comment-regin (C-c ;). Umo�liwia ono wstawienie znaku komentarza na pocz�tku ka�dego wiersza zaznaczonego fragmentu tekstu (region) czyli obszaru od punktu oznaczonego przez C-spacja do bie��cej pozycji kursora (lub zaznaczonego mysz�). Podobnie dzia�a polecenie TeX-comment-paragraph (C-c %) dla akapitu. Aby usun�� znak komentarza wpisujemy C-u - C-c ; lub C-u - C-c %.

Matematyka

W przypadku wprowadzania du�ej liczby wzor�w matematycznych warto mie� pod r�k� mechanizm przyspieszaj�cy wpisywanie s��w takich jak \upsilon czy \rightarrow. Mechanizm taki uruchamia si� (i wy��cza) w AUC TeX-u poleceniem LaTeX-math-mode (C-c ~). W trybie matematycznym po wprowadzeniu znaku ,,`'' klawiatura zmienia znaczenie i zamiast zwyk�ych znak�w pojedynczym klawiszem mo�na wprowadza� symbole matematyczne. I tak (w trybie matematycznym) sekwencja klawiszy `d spowoduje wpisanie \delta, `G -- \Gamma, a `cN -- {\cal N}.

Po�yteczne bywa podanie argumentu (C-u) przed symbolem matematycznym. Sekwencja klawiszy C-u `e spowoduje wpisanie do bufora $\epsilon$ -- co znacznie przy�piesza wstawianie pojedynczych symboli w bloku tekstu.

Bez mo�liwo�ci definiowania w�asnych skr�t�w przydatno�� trybu matematycznego by�aby znacznie ograniczona. Mo�na to robi� modyfikuj�c na prywatne potrzeby list� LaTeX-math-list. Nie sprawi te� problemu zamiana klawisza ` na jaki� por�czniejszy (je�li kto� musi) -- nale�y zmieni� warto�� zmiennej LaTeX-math-abberv-prefix.

W�asne definicje

Powr��my do rozwijania s��w kluczowych. Cz�sto si� zdarza, �e definiujemy w�asne makra. AUC TeX doskonale nas rozumie. Je�li wpiszemy definicj� LaTeX-ow� (\renewcommand) to AUC TeX j� rozpozna i si� jej ,,nauczy'' -- b�dzie ona dost�pna poprzez mechanizm rozwijania pocz�tk�w wyraz�w. Mo�liwe jest r�wnie� rozpoznawanie definicji TeX-a wprowadzanych jako \def.

AUC TeX rozpoznaje makrodefinicje zapisane w pliku podczas parsowania dokumentu po wydaniu polecenia TeX-normal-mode (C-c C-n). Je�li wi�c wpiszemy w pliku now� definicj�, nale�y wcisn�� C-c C-n i nie musimy jej dok�adnie pami�ta�. Informacje o makrodefinicjach zapisywane s� w pliku ./auto/nazwa.el.

Mo�na wymusi� parsowanie dokumentu natychmiast po jego wczytaniu oraz umieszczanie informacji o nim w katalogu auto przy ka�dym zapisie na dysk np. przez wpisanie do pliku .emacs nast�puj�cych wierszy:

; parsowanie przy wczytywaniu:
(setq TeX-parse-self t) 
; parsowanie przy zapisie:
(setq TeX-auto-save t) 

Zmian� pliku ./auto/nazwa.el powoduje r�wnie� wstawienie do tekstu dokumentu nazwy etykiety \label. Wstawiaj�c odno�nik do tej etykiety (\ref, \pageref) mo�na etykiet� wybra� z listy etykiet pokazywanej przez mechanizm rozwijania (Tab). I to jest naprawd� cenna w�a�ciwo��.

Spos�b parsowania dokumentu mo�na konfigurowa� (po szczeg�y odsy�am do dokumentacji). Na przyk�ad je�eli mamy s�aby komputer i chcemy, aby rozpoznawane by�y tylko etykiety musimy zadba� o nast�puj�ce ustawienia (zn�w plik .emacs):

(setq-default 
  TeX-auto-regexp-list 
  'LaTeX-auto-label-regexp-list)

Przetwarzanie z wn�trza AUC TeX-a

Na uwag� zas�uguje mo�liwo�� uruchamiania TeX-a i ogl�dania plik�w .dvi bez konieczno�ci opuszczania Emacsa. S�u�y do tego polecenie przypisane do sekwencji C-c C-c, czyli TeX-command-master. Po wydaniu tego polecenia AUC TeX zapyta jakie dzia�ania ma podj��. Je�li w pliku by�y dokonywane jakie� zmiany, to zaproponuje jego przetworzenie TeX-em. Po przetworzeniu i kolejnym wci�ni�ciu C-c C-c b�dzie chcia� uruchomi� przegl�dark� .dvi. Je�eli nie wyst�pi� �adne b��dy w przetwarzaniu, to w okienku obok obejrzymy wynik sk�adu.

Standardowe polecenia przetwarzania pliku �r�d�owego mo�na �atwo rozszerzy� o nasze ulubione: mex, platex czy pdftex. Naj�atwiej przez menu XEmacsa. W razie potrzeby mo�na skopiowa� odpowiedni fragment z pliku tex.el (czy wr�cz tex.elc). Prawdopodobnie warto zmienion� list� TeX-command-list wstawi� do pliku tex-site.el -- niech si� ciesz� wszyscy u�ytkownicy.

Naprawd� niezwykle u�yteczna (i trudna do zaimplementowania poza edytorem) jest mo�liwo�� przetworzenia tylko fragmentu pliku �r�d�owego. W przypadku sk�adania skomplikowanego dokumentu mo�na TeX-owa� tylko fragment nad kt�rym pracujemy, co zaoszcz�dza mn�stwo czasu. S�u�y do tego polecenie TeX-command-region przypisane do sekwencji C-c C-r. Wszystko dzia�a tak samo jak w przypadku TeX-command-master, z jednym wyj�tkiem -- AUC TeX buduje z nag��wka i zaznaczonego fragmentu tekstu nowy plik, kt�ry przetwarza TeX-em. Kolejne C-c C-r umo�liwia obejrzenie w�a�ciwego pliku .dvi. Trzeba si� tylko pilnowa�, �eby nie definiowa� �adnych makr globalnych poza nag��wkiem. W plikach LaTeX-owych ko�cem nag��wka jest wiersz zawieraj�cy napis \begin{document}. W plikach TeX-owych jest to natomiast %**end of header. Znacznik ko�ca nag��wka mo�na zdefiniowa� jako wyra�enie regularne okre�laj�c warto�� zmiennej TeX-header-end.

W przypadku wyst�pienia b��d�w w czasie przetwarzania mo�na ogl�da� je kolejno przy pomocy polecenia TeX-next-error (|C-c `|). AUC TeX opatruje b��dy TeX-a dodatkowym komentarzem, co mo�e pom�c pocz�tkuj�cym u�ytkownikom.

I wi�cej...

Zatrzymajmy si� jeszcze nad tym, co widzimy na ekranie. Emacs (w szczeg�lno�ci XEmacs) potrafi inteligentnie zaznacza� odpowiednie fragmenty tekstu kolorami. Konfigurowanie kolor�w w XEmacsie jest proste (mysz� w sekcji faces -- dlatego warto u�ywa� XEmacsa). Je�li kolorowanie nie w��czy�o si� z w�asnej woli mo�na je wymusi� poleceniem font-lock-mode.

Nawet bez kolorowania tre�� dokumentu mo�na wprowadzi� w niezwykle czytelnej formie dzi�ki zaawansowanym poleceniom formatowania tekstu. W wolnej chwili warto wypr�bowa� polecenia:

LaTeX-fill-paragraph (C-c C-q C-p lub M-q), LaTeX-fill-enviroment (C-c C-q C-e), LaTeX-fill-section (C-c C-q C-s) oraz LaTeX-fill-region (C-c C-q C-r lub M-g).

Ograniczona obj�to�� artyku�u nie pozwala om�wi� wszystkich mo�liwo�ci AUC TeX-a. Nie zmie�ci�y si� tematy obszerne, takie jak konfigurowanie dzia�ania AUC TeX-a i liczne szczeg�owe, np. praca z dokumentami hierarchicznymi. Wszystko mo�na doczyta� w dokumentacji. Czytaj�c trzeba pami�ta�, �e AUC TeX jest cz�ci� edytora Emacs i przez ca�y czas mo�na korzysta� ze wszystkiego, co Emacs oferuje. Przyk�adem jest niezale�ny (ale wspierany przez AUC TeX-a) tryb ,,ukrywania'' fragment�w tekstu, w��czany/wy��czany poleceniem outline-minor-mode. Pojawiaj�ce si� dodatkowe pozycje menu (i polecenia) pozwalaj� wy�wietli� zamiast rozdzia�u, podrozdzia�u itd. tylko fragment pierwszego wiersza z tytu�em (bez zmiany tekstu). Mo�liwe jest np. pisanie czwartego rozdzia�u trzy wiersze od ko�ca nag��wka, albo poruszanie si� po tek�cie tak, jakby sk�ada� si� on tylko ze �r�dtytu��w.

Przetwarzanie zewn�trzne

W ca�ej zabawie z Emacsem najmilsze jest to, �e wcale nie trzeba go u�ywa�. Tekst mo�na przygotowa� korzystaj�c z jakiegokolwiek edytora (np. ...Emacsa), a pliki �r�d�owe przetwarza� zewn�trznie. Przypu��my, �e kolega podes�a� nam 46 felieton�w, kt�re napisa� w ostatnim roku. Wszystkie, to kompletne pliki LaTeX-owe. W takiej sytuacji TeX-owanie z wn�trza edytora zajmie zbyt du�o czasu. Najszybsz� metod� b�dzie umieszczenie wszystkich plik�w w jednym katalogu i napisanie w terminalu mniej wi�cej czego� takiego:

~$ for i in *.tex; do latex $i; done

Nie zawsze jednak jest tak prosto. Cz�sto otrzymanie wyniku ko�cowego wymaga wielu przetworze�. Wpisywanie ci�gu tych samych polece� po ka�dej modyfikacji pliku bywa m�cz�ce. Dlatego m�drzy ludzie stworzyli program make (lub gnumake). Wszystkie polecenia wystarczy wpisa� raz ale do pliku Makefile w bie��cym katalogu. W najprostszym przypadku plik ten b�dzie wygl�da� tak:

all: referat.ps

%.dvi: %.tex
        latex $<

%.ps: %.dvi
        dvips $<

%.pdf: %.tex
        pdflatex $<

Z zawarto�ci pliku wynika, �e pracujemy nad referatem (tworzymy plik referat.tex) i �e u�ywamy przegl�darki plik�w PS. Teraz ca�e TeX-owanie sprowadza si� do uruchomienia w terminalu programu make. Program ten domy�lnie wykona pierwsz� regu�� z pliku Makefile (all: referat.ps -- zamiast nazwy all mo�na wstawi� dowolne s�owo, np. PsiaBuda) i dowie si�, �e jeste�my zainteresowani plikiem .ps. Z trzeciej regu�y program wywnioskuje, �e pliki .ps robi si� z plik�w .dvi poleceniem dvips. Nie ma jednak pliku .dvi, ale o tym jak go zrobi� m�wi druga regu�a. A plik referat.tex jest na dysku.

Ostatnia regu�a zostanie wykorzystana gdy wykonamy polecenia make pdf -- wtedy zostanie utworzony plik referat.pdf.

Najwa�niejsz� cech� programu make jest to, �e do przetwarzania dochodzi tylko wtedy, gdy program �r�d�owy by� modyfikowany po ostatnim przetworzeniu (plik wynikowy jest starszy od pliku �r�d�owego). Dzi�ki temu mo�na w terminalu napisa� takie (lub podobne) zakl�cie:

~$ while [ TRUE ]; do make; 
  sleep 5; done

Tak potraktowany interpretator polece� co 5 sekund b�dzie uruchamia� program make, kt�ry przetworzy plik �r�d�owy tylko wtedy, gdy ten ostatni zosta� zapisany na dysk po ostatnim przetworzeniu. Teraz wystarczy tylko mysz� wskaza� przegl�dark�, �eby zobaczy�, co ,,nask�adali�my'' do tej pory (przegl�darka powinna reagowa� na modyfikacj� przegl�danego pliku). Ta technika jest wra�liwa na zapisywanie pliku z b��dem. Oczywi�cie, je�li mamy dobry edytor, to wpisanie z�ego s�owa kluczowego, czy nie domkni�cie �rodowiska lub nawiasu nie jest proste.

Co si� jednak stanie, gdy pope�nimy b��d, na kt�rym TeX si� zatrzyma? Po pierwsze mo�emy przeczyta� uwa�nie o co chodzi i w edytorze przeskoczy� do w�a�ciwego wiersza, a TeX-owi powiedzie� np. x. Je�eli jednak ustawimy zmienn� �rodowiska:

TEXEDIT='emacsclient +%d %s'

lub w przypadku XEmacsa:

TEXEDIT='enu +%d %s'

i je�eli u�ywamy Emacsa w kt�rym powiemy M-x server-start (gnuserv-start), to mo�emy odpowiedzie� TeX-owi e (od edit). Wtedy Emacs wczyta plik z b��dem i kursorem wska�e wiersz, co do kt�rego TeX ma w�tpliwo�ci. Po zako�czeniu poprawek nale�y zapisa� plik (C-x C-s) i powiedzie� klientowi, �e ju� po wszystkim (C-x #). Dla jasno�ci: serwer to Emacs, a  klient to TeX...

Korzystanie z emacsowego klienta i serwera pomaga w wielu trudnych sytuacjach. Wyobra�my sobie ksi��k� maj�c� 42 rozdzia�y, ka�dy zapisany w oddzielnym pliku. Je�li w kilkunastu plikach zamiast \ala omy�kowo wpisali�my \ola, z tym �e czasem \ola jest dobrze i ma zosta�, to zanosi si� na d�u�sze poprawianie. A mo�na z poziomu interpretatora polece� shell napisa�:

~$  gnuclient `grep -l \\ola *.tex`

Potem wystarczy wciskanie klawisza C-s i czasem C-x e (pierwszy raz oczywi�cie r�wnie� C-x (C-x )). Je�eli jednak kto� ma tendencje do zapominania o takich szczeg�ach jak -l, to niech lepiej pr�buje si� uczy� krok po kroku... Na razie. Po jakim� czasie mo�e okaza� si� potrzebny dodatkowy wiersz w pliku .emacs:

(gnuserv-start)

Bardzo niech�tnie u�ywam mo�liwo�ci przetwarzania pliku TeX-owego z wn�trza edytora. Nawet pisz�c niewielki dokument warto (moim zdaniem) korzysta� z programu make. Ju� kilka razy zapomnia�em uruchomi� dvips-a (mam drukark� PS), w efekcie drukuj�c nieaktualn� wersj� dokumentu. Dlatego mi wystarcza, gdy wewn�trz edytora mo�na wykona� tylko jedno polecenie -- make.

Podsumowanie

Wsp�czesne narz�dzia umo�liwiaj� wygodne i bezbolesne korzystanie z dobrodziejstw oferowanych przez TeX-a. We wsp�czesnym sprz�cie karta graficzna i monitor pozwalaj� na prac� w systemie okienkowym (np. XWindow); mo�na tak�e na bie��co ogl�da� w s�siednim oknie gotowy dokument. W przypadku korzystania z XEmacsa (lub podobnego edytora) pracowa� z LaTeX-em mog� nawet ci u�ytkownicy, kt�rzy nie zdejmuj� r�ki z myszy.

Mam nadziej�, �e uda�o mi si� pokaza�, jak du�e mo�liwo�ci stoj� przed kim�, kto chce wygodnie i efektywnie u�ywa� TeX-a. Opisa�em tylko najprostsze warianty konfiguracji �rodowiska pracy. Istnieje wiele sposob�w i sposobik�w, o kt�rych nie wspomnia�em i jak s�dz�, jeszcze wi�cej takich, o kt�rych nigdy nie s�ysza�em. Wszystkim �ycz� mi�ego TeX-owania.


Adam Dawidziuk

Tekst jest przedrukiem z Biuletynu GUST, nr 11/1998, s. 58--64.
(c) Polska Grupa U�ytkownik�w Systemu TeX
Ostatnia modyfikacja 15.01.2000

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.