19.DOC

(129 KB) Pobierz









Rozdział 19.
TeX i LaTeX









E:\Moje dokumenty\HELION\Linux Unleashed\Indeks\19.DOC              341










Rozdzia³ 19. ¨ TeX i LaTeX              341

Peter MacKinnon

W tym rozdziale:

u                                          Edycja a skład tekstu             

u                                          TeX             

u                                          LaTeX – rozszerzenie systemu TeX             

u                                          VirTeX i IniTeX             

TeX (nazwę tę należy wymawiać tech) jest systemem formatowania tekstu opracowanym przez Donalda Knutha. Pozwala on na tworzenie profesjonalnie wyglądających dokumentów przez osadzanie poleceń formatujących systemu TeX w pliku ASCII. Plik tekstowy może następnie zostać skompilowany do formatu .dvi (ang. device independent file, plik niezależny od urządzenia), który może być oglądany na ekranie graficznym za pomocą programu xdvi lub zamieniony na format postscriptowy i wydrukowany.

TeX to program o bardzo dużych możliwościach. Pozwala łatwo ustawiać parametry składu, takie jak rozmiar czcionki, rozmiar strony czy odstępy między wierszami. Działa również jako język programowania, pozwalając tworzyć makropolecenia definiujące bardziej abstrakcyjne jednostki tekstu, jak dokumenty, nagłówki czy akapity. Dzięki temu zamiast spędzać godziny na formatowaniu tekstu możesz skupić się na samej jego treści. Kluczową sprawą dla inżynierów i naukowców jest fakt, że TeX doskonale radzi sobie z formatowaniem nawet bardzo złożonych równań i formuł matematycznych.

Edycja a skład tekstu

Wartość użytkowa dokumentu może być ograniczona przez jego wygląd. Rozważmy dwa dokumenty: pierwszy z nich jest dobrze zorganizowany, z jasno zdefiniowanymi jednostkami tekstu, takimi jak rozdziały, nagłówki i akapity; drugi nie jest podzielony na akapity. Pierwszy jest o wiele łatwiejszy do przeczytania. Dzięki temu, że nie trzeba koncentrować się na tym, by nie „zgubić się” w tekście, można skoncentrować się na jego treści. Mimo wysiłków autora w kierunku stworzenia jak najbardziej wartościowego dzieła, czytelnik może zginąć w bałaganie typograficznym.

Przy publikowaniu książek autorzy zwykle są odpowiedzialni tylko za ich treść. Szatę graficzną opracowuje ktoś zupełnie inny, następnie do akcji wkraczają specjaliści od składu. TeX bierze na siebie projektowanie i skład tekstu, pozwalając Ci być swoim własnym wydawcą. Daje pełną kontrolę nad wyglądem publikowanego materiału, pozwalając w dalszym ciągu skupić się na jego treści.

TeX

Plik wejściowy dla programu TeX może być przygotowany za pomocą dowolnego edytora tekstu, jak vi czy emacs. Wpiszmy na przykład do pliku arkana.tex następujący tekst:

 

Czy uważacie, ze Alfred Hitchcock odniósł by tak wielki sukces jako reżyser
gdyby w jego filmach nie wystąpiły takie gwiazdy jak Cary Grant
czy James Stewart? Trudno odpowiedzieć na to pytanie...
\bye

Po zapisaniu tego pliku można użyć programu TeX, aby przekonwertować go do formatu .dvi:

 

$ tex arcana

Plik wyjściowy, arkana.dvi, zawiera wpisany wcześniej tekst. Plik ten można oglądać lub drukować za pomocą urządzeń wyjściowych różnego typu. Przykładowo, jeśli chcesz go wydrukować na drukarce postscriptowej, powinieneś wydać polecenie (zakładamy, że domyślna drukarka obsługuje język PostScript):

 

$ dvi2ps arkana.dvi | lp

Jeśli chcesz najpierw sprawdzić, jak dokument będzie wyglądał, użyj aplikacji xdvi pracującej w systemie X:

 

$ xdvi arkana.dvi &

Polecenie tex tworzy również plik arkana.log, w którym zawarte są wszystkie komunikaty o błędach i ostrzeżenia, oraz inne informacje, takie jak ilość stron dokumentu wyjściowego. Główną zaletą formatu .dvi jest jego całkowita przenośność, w szczególności do innych systemów UNIX-owych.

Proste formatowanie tekstu

Większość pracy przy tworzeniu dokumentu systemu TeX to wpisywanie jego treści. Jak pokazano wcześniej, łatwo jest stworzyć dokument nie posiadający żadnego specjalnego formatowania. Jedynym poleceniem, które trzeba w tym celu dodać do pliku tekstowego, jest polecenie \by, oznaczające koniec dokumentu. Zaczyna się ono od jednego ze znaków specjalnych rozpoznawanych przez system TeX; są to: \, {, }, -, #, $, %, ^, & oraz spacja. Ich znaczenie wyjaśnimy w dalszej części tego rozdziału.

Główną zaletą systemu TeX jest jego „inteligentne” rozpoznawanie bloków tekstu. Słowem jest dowolna sekwencja znaków otoczona z obu stron znakami białymi. Ilość znaków białych pomiędzy wyrazami nie ma znaczenia, TeX traktuje je tak samo jak pojedynczą spację. Zdania są rozpoznawane po tym, że po ostatnim wyrazie następuje kropka, znak zapytania, wykrzyknik lub dwukropek. Akapit rozpoznawany jest dzięki pustemu wierszowi po zakończonym zdaniu. Dodatkowe puste wiersze są ignorowane. Przykładowy tekst:

 

Rozgrywki piłkarskiej ekstraklasy
będą zawieszone do 19 sierpnia – postanowili wczoraj prezesi klubów I i II ligi.
Zagrają               dopiero,               gdy PZPN               podpisze               umowę
w sprawie               powstania Autonomicznej Ligi Polskiej.

Szefowie klubów zrzeszeni w Lidze, która wczoraj powołano,
maja sami decydować o terminarzu i regulaminie rozgrywek.

Zostanie sformatowany w identyczny sposób jak tekst:

 

Rozgrywki piłkarskiej ekstraklasy będą zawieszone do 19 sierpnia – postanowili wczoraj prezesi klubów I i II ligi. Zagrają dopiero, gdy PZPN podpisze umowę w sprawie powstania Autonomicznej Ligi Polskiej.

 

Szefowie klubów zrzeszeni w Lidze, która wczoraj powołano, maja sami decydować o terminarzu i regulaminie rozgrywek.

W pliku źródłowym można również używać komentarzy. Komentarz zaczyna się od znaku % i nie jest umieszczany w pliku wyjściowym. Tekst:

 

Początek tekstu % kilka słów komentarza
% może niepotrzebnego...
i koniec tekstu.

Zostanie potraktowany tak samo, jak tekst:

 

Początek tekstu i koniec tekstu.

Polecenie \par powoduje przejście do następnego akapitu, daje więc taki sam efekt jak wstawienie pustego wiersza. Tekst:

 

Pierwszy akapit. \par Drugi akapit.

zostanie sformatowany następująco:

 

Pierwszy akapit.

Drugi akapit.

Polecenie \noindent zapobiega wcięciu pierwszego wiersza nowego akapitu:

 

Pierwszy akapit.

 

\noindent Drugi akapit.

Powyższy tekst zostanie sformatowany jako:

 

              Pierwszy akapit.
Drugi akapit.

Aby wymusić wstawienie dodatkowej spacji, należy poprzedzić ją znakiem \, który zapobiegnie interpretowaniu jej przez TeX; tekst źródłowy:

 

Myślę ze potrzebuje jednej albo dwu\ \ \  dodatkowych spacji.
Jestem tego                          pewny.

zostanie sformatowany tak:

 

Myślę ze potrzebuje jednej albo dwu    dodatkowych spacji.
Jestem tego pewny.

Czcionki

Czcionka to zestaw znaków charakteryzujących się podobnym stylem i wielkością. Domyślną czcionką w systemie TeX jest czcionka Roman. Ustawienie to można zmienić, używając wewnętrznych nazw przypisanych do czcionek ładowanych z osobnych plików. Można również dodawać nowe definicje czcionek. Domyślnie w systemie TeX można używać definicji \rm (czcionka Roman), \tt (czcionka maszyny do pisania), \bf (czcionka wytłuszczona), \sl (czcionka pochylona) i \it (kursywa). TeX używa wybranej czcionki aż do następnego zmieniającego ją polecenia. Tekst:

 

To jest czcionka Roman, \tt to czcionka maszyny do pisania, \it to kursywa, \rm a to znow Roman.

zostanie sformatowany następująco:

 

To jest czcionka Roman, to czcionka maszyny do pisania, to kursywa, a to znow Roman.

Aby zdefiniować nową czcionkę (ściślej: alias – przyp. tłum.) o zadanej wielkości, należy użyć polecenia:

 

\font \nazwa_czcionki=czcionka_pomocnicza

Aby użyć 12-punktowej czcionki Roman, można zmienić definicję \rm tak, aby używała czcionki pomocniczej cmr12:

 

\font\rm=cmr12

 

Zmieniamy czcionkę z dwunastki \rm na 10-punktowa.

Powyższy tekst źródłowy zostanie sformatowany tak:

 

Zmieniamy czcionke z dwunastki na 10-punktowa.

W każdym zestawie znaków dostępnych jest do 256 różnych symboli, między innymi cyfry, małe i wielkie litery, znaki przestankowe i operatory arytmetyczne, których używa się najczęściej. Symbole nie mające reprezentacji na klawiaturze mogą być wstawiane dzięki poleceniu \char. Parametrem tego polecenia jest liczba całkowita, oznaczająca położenie żądanego symbolu w tablicy znaków. Przykładowy tekst:

 

TeX zinterpretuje znak \char 37 jako początek komentarza,
ale zignoruje znak \char 43.

sformatowany zostanie jako:

 

TeX zinterpretuje znak % jako początek komentarza, ale zignoruje znak +.

Kontrolowanie odstępów

Pokazaliśmy już, jak można wstawić do formatowanego dokumentu kilka dodatkowych spacji. Zobaczmy teraz, w jaki sposób dokładniej kontrolować odstępy międzywyrazowe w większych fragmentach tekstu. TeX posiada kilka poleceń służących do tego celu i rozpoznających następujące jednostki:

 

Jednostka

Znaczenie

em

Szerokość litery M (zależnie od wybranej czcionki)

in

Cale

pt

Punkty (1 cal to 72 punkty)

mm

Milimetry (1 cal to 25.4 milimetra)

Właściwy argument polecenia jest liczbą określającą wielkość odstępu wyrażoną w jednej z powyżej podanych jednostek.

Polecenie \hskip pozwala wstawić odstęp w poziomie pomiędzy fragmentami wiersza:

 

\tt Odstęp \hskip 0.5in az do tego miejsca.

Powyższy tekst zostanie sformatowany mniej więcej tak:

 

Odstęp               aż do tego miejsca.

Możesz również podać liczbę ujemną, co spowoduje przesunięcie tekstu w lewo.

Polecenie \hfil wstawia poziomy odstęp w akapicie wtedy, jeśli jest na niego miejsce. Interesujący jest fakt, że TeX wstawia to polecenie niejawnie do każdego akapitu. Pamiętając o tym, możesz używać go do przesuwania tekstu w lewo, w prawo lub środkowania go pomiędzy marginesami, na przykład tak:

 

\noindent \hfil Tekst wyśrodkowany. \par

Daje to w wyniku akapit sformatowany następująco:

 

Tekst wyśrodkowany.

Polecenie \vskip służy do wstawiania odstępu w pionie pomiędzy akapitami. Aby wstawić odstęp o wysokości 4 cm przed i po bieżącym akapicie, należy użyć polecenia:

 

\vskip 40mm

TeX umożliwia również stosowanie małych, średnich i dużych odstępów za pomocą poleceń

 

\smallskip, \medskip i \bigskip.

Pionowym odpowiednikiem polecenia \hfil jest \vfil, które wstawia odstępy w pionie pomiędzy akapitami pod warunkiem, że jest na to dość miejsca. TeX wstawia to polecenie domyślnie na koniec dokumentu.

Można również wymusić przejście do nowego wiersza lub strony za pomocą polecenia \break. Jeśli występuje ono wewnątrz akapitu, powoduje przejście do nowego wiersza, zaś pomiędzy akapitami – przejście do nowej strony. Z kolei za pomocą polecenia \nobreak można zaznaczyć obszary dokumentu, które nie mogą zostać rozdzielone.

Układ strony

Strona składa się z nagłówka, stopki i treści. Nagłówek i stopka zwykle zawierają takie informacje, jak numer strony, tytuł rozdziału czy nagłówek podrozdziału. Zmieniając sposób wyświetlania tych informacji, projektujesz końcowy wygląd dokumentu.

Polecenia \headline oraz \footline wymagają jednego argumentu, który określa zawartość stopki i nagłówka. Mogą się w nim zawierać na przykład takie elementy, jak numer strony i polecenie \hfil:

 

\headline={\hfil \the\pageno}
\footline={\hfil}

Powyższe polecenia tworzą dla każdej strony wyrównany do prawego marginesu nagłówek zawierający numer strony oraz pustą stopkę.

Szerokość akapitu (czyli odstęp między marginesami) można zmieniać za pomocą polecenia \hsize. Przykładowy tekst:

 

\hsize=2in
To jest tekst szeroki na dwa cale, ale równie dobrze mógłby być szerszy lub węższy.

zostanie sformatowany mniej więcej tak:

 

To jest tekst szeroki na dwa cale, ale równie dobrze mógłby być szerszy lub węższy.

Marginesy mogą być przesuwane do wewnątrz lub na zewnątrz za pomocą poleceń \leftskip i \rightskip. Użycie ich z parametrami o wartości dodatniej powoduje przesunięcie marginesów do wewnątrz, wartość ujemna przesuwa je na zewnątrz. W podobny sposób, poleceniem \parindent, kontrolowane są wcięcia.

Polecenia \baselineskip i \parskip pozwalają ustawiać odstępy pomiędzy wierszami (interlinię) i akapitami, na przykład:

 

\baselineskip=0.15in
\parskip=0.3in

Interlinia określa odstęp pomiędzy liniami bazowymi (ang. baseline; jest to linia będąca dolgranicą rysunku liter bez dolnych wydłużeń – przyp. tłum.) w kolejnych wierszach.

Grupowanie

TeX używa wybranej przez użytkownika czcionki czy stylu tekstu aż do wprowadzenia kolejnej zmiany, co nie zawsze jest wygodne. Grupowanie pozwala zastosować zmiany lokalnie w obrębie bloku tekstu. Po zakończeniu przetwarzania bloku (grupy) przywracane jest pierwotne formatowanie.

Istnieją dwa sposoby grupowania tekstu. Jednym z nich ...

Zgłoś jeśli naruszono regulamin