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.
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 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.
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-x
i Ctrl-c
, opisywane
cz�sto jako C-x
i C-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.el
i tex-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''.
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).
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
.
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 %
.
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
.
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)
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.
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.
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 (
i 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.
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