Przewodnik po systemie TeX
- tex i plik formatu
- Plik źródłowy
- Pliki .tfm
- Program mf
- Fonty CM, EC i PL
- Plik .dvi, sterowniki
- Plik .log
- LaTeX:
- Rozszerzone wersje programu TeX
- TDS
Co to jest TeX?
TeX (wym. tech) jest systemem profesjonalnego składu drukarskiego. Wśród systemów służących do podobnych celów wyróżnia się dbałością o jakość wyników. Nie ma sobie równych przy składaniu trudnych tekstów naukowych (szczególnie matematycznych), słowników, itp. Inną zaletą TeX-a, istotną w środowisku akademickim, jest jego status oprogramowania public domain. Poniżej wprowadzimy Czytelnika w świat TeX-a i przedstawimy podstawowe pojęcia.
Bardzo krótka historia systemu
TeX powstał w Stanach Zjednoczonych na Uniwersytecie Stanforda. Jego twórcą jest wybitny matematyk i informatyk, profesor Donald E. Knuth. System został ukończony w 1986 roku, w dziesięć lat po rozpoczęciu pracy.
Kto używa TeX-a?
System TeX, odpowiednio przystosowany do pracy w różnych językach, jest używany przez setki tysięcy użytkowników na całym świecie. Na większości wyższych uczelni na świecie jest używany do składania tekstów naukowych. Wykorzystywany jest np. przez dwóch największych na świecie wydawców tekstów naukowych, tj. American Mathematical Society oraz Springer Verlag, a ponadto przez kilkadziesiąt innych cenionych wydawnictw, takich jak: Addison-Wesley Publishing Group, Oxford University Press, Elsevier Publishers, Kluwer Academic Publishers itd.
Dlaczego używa się TeX-a?
TeX umożliwia efektywne składanie tekstów o dowolnej trudności. Unikalny algorytm, którym posługuje się TeX przy składaniu akapitów, powoduje, że nie ma programu oferującego w tym względzie lepsze możliwości. Inne zalety TeX-a to jego cena i powszechność. System TeX jest oprogramowaniem public domain, co oznacza, że każdy może zostać jego legalnym użytkownikiem bez żadnych opłat licencyjnych.
Ponadto TeX, jak każdy prawdziwy program public domain, jest dostępny łącznie z kodem źródłowym i został zaimplementowany praktycznie na każdej platformie. W rezultacie użytkownicy TeX-a na całym świecie mogą się porozumiewać (np. wymieniać dokumenty poprzez pocztę elektroniczną) bez względu na to, na jakim sprzęcie pracują. TeX działa tak samo na wszystkich platformach.
Wreszcie TeX jest oprogramowaniem otwartym, przez co rozumieć należy jego zdolność do współpracy z innymi programami. Częstą sytuacją jest wykorzystanie TeX-a -- programu, który doskonale działa w trybie wsadowym -- jako ważnego elementu zautomatyzowanych systemów publikacyjnych, np. opartych na standardzie SGML.
Wersje językowe TeX-a
TeX został zaprojektowany w taki sposób, że może być przystosowany do składania tekstów w dowolnych językach, nawet tak egzotycznych dla nas, użytkowników alfabetu łacińskiego, systemach, jak drukowanie z góry na dół (chińska albo japońska wersja językowa) czy z prawa na lewo (hebrajska i arabska).
Wymagania sprzętowe
TeX jest przygotowany do pracy na komputerach pracujących pod różnymi systemami operacyjnymi, na przykład na komputerach IBM PC (MS DOS, OS/2, Windows 9x/NT/2000/XP, Linux), IBM (VM/CMS), VAX (VMS, UNIX), HP (HP-UX), SUN (Solaris), Cray, DEC, Commodore Amiga i Apple Macintosh.
Kto rozwija TeX-a
System jest rozwijany przez użytkowników na całym świecie. Wielu z nich jest stowarzyszonych w międzynarodowej organizacji TeX Users Group (TUG). TUG liczy około 3000 członków indywidualnych, reprezentujących ponad 1500 szkół, uniwersytetów, agencji rządowych (np. Los Alamos National Laboratory, NASA w USA czy CERN w Europie) i prywatnych, oraz ponad 100 instytucjonalnych. Ponadto istnieje kilkanaście narodowych grup użytkowników TeX-a, z których do największych należą: DANTE (niemieckojęzyczna), GUTENBERG (francuskojęzyczna), NTG (holenderska). TUG i grupy narodowe prowadzą ogólnie dostępne serwery FTP, serwisy informacyjne WWW i listy dyskusyjne, wydają periodyki oraz organizują konferencje i szkolenia.
TeX w Polsce
W 1992 roku powstała Polska Grupa Użytkowników Systemu TeX (GUST). Obecnie GUST zrzesza ponad 250 członków indywidualnych i instytucjonalnych. Co roku organizowana jest Ogólnopolska Konferencja Użytkowników TeX-a. Organizowane są kursy i szkolenia. W 1994 roku GUST był organizatorem IX Europejskiej Konferencji Użytkowników Systemu TeX w Gdańsku, w 1998 roku XIX Światowej Konferencji Użytkowników Systemu TeX w Toruniu, w 2002 roku XIII oraz w 2007 roku XVIII Europejskiej Konferencji. GUST wydaje dwa razy do roku swój biuletyn.
[Spis treści]Składniki systemu TeX
TeX jest programem do komputerowego składu tekstu. Razem z edytorem, sterownikami umożliwiającymi wydrukowanie czy wyświetlenie złożonego dokumentu, wieloma programami towarzyszącymi, takimi jak: MetaFont do generowania fontów czy MetaPost do tworzenia grafiki wektorowej, BiBTeX do przetwarzania baz bibliograficznych czy MakeIndex do sortowania skorowidzów i innych, tworzy system do elektronicznego składu komputerowego.
Słowo TeX oznacza także pewien wyspecjalizowany język programowania.
Jak każdy język programowania, TeX ma specyficzną składnię
(zawiera m.in. zmienne, instrukcje podstawienia i instrukcje warunkowe,
ale informacja ta nie powinna odstraszyć początkującego użytkownika)
oraz pozwala definiować nowe funkcje. Pomiędzy działaniem programu
TeX a działaniem kompilatora, takiego jak np. gcc
,
istnieje duże podobieństwo.
TeX czyta plik źródłowy tworząc plik wynikowy, podobnie jak
w wyniku kompilacji z pliku źródłowego powstaje program.
Plik wynikowy tworzony przez TeX jest niezależny od platformy
(może być przenoszony na dowolny komputer lub system operacyjny),
a także urządzenia, które go wyświetli lub wydrukuje.
TeX to skomplikowany system, w którego skład wchodzi wiele (kilka tysięcy) plików. W tym tekście omówiono rolę i przeznaczenie najważniejszych programów i typów plików wchodzących w skład systemu TeX. Tekst ten nie jest natomiast opisem TeX-a jako języka programowania (patrz: Podręczniki dla początkujących).
tex i plik formatu
Najważniejszą składową systemu jest oczywiście sam program tex
(lub tex.exe
), uruchamiany z różnymi parametrami, np.
tex --ini
czy tex /i
oznacza
uruchomienie programu tex
w celu utworzenia tzw.
formatu.
TeX zna około 300 instrukcji podstawowych (wbudowanych), tworzących jądro
języka. W codziennej pracy użytkownik nie posługuje się
instrukcjami wbudowanymi, ponieważ operują one na zbyt niskim poziomie
abstrakcji. Użytkownik posługuje się instrukcjami (makrodefinicjami,
makrami) zdefiniowanymi za pomocą instrukcji wbudowanych. Zbiór
takich instrukcji oraz wzorce dzielenia wyrazów dla różnych języków są
czytane podczas uruchamiania tex
-a z parametrem
--ini
i, po przetworzeniu,
zapisywane do pliku, który nazywamy formatem. Plik formatu ma
zwyczajowe rozszerzenie .fmt
. Powszechnie używane formaty
to: Plain (format zaprojektowany przez D.E. Knutha), LaTeX, AMSTeX
i ConTeXt.
Istnieje oczywiście więcej formatów i użytkownik ma pełną swobodę
tworzenia własnego formatu, przeznaczonego do specyficznych zadań.
Kiedy potrzebujemy wygenerować format? Najczęściej w wypadku
zmiany zestawu potrzebnych wzorców dzielenia wyrazów, aktualizacji makr
(dotyczy to szczególnie LaTeX-a) albo użycia nowszej wersji samego programu.
Pierwszą rzeczą, którą wykonuje program tex
(lub
jego wersja rozszerzona pdftex
),
po uruchomieniu, jest przeczytanie formatu. Program umożliwia
przełączanie pomiędzy poszczególnymi wzorcami dzielenia wyrazów, ale nie
potrafi dołączyć nowego.
We współczesnych instalacjach uruchomienie programu o nazwie
tex
bez podawania dodatkowych parametrów tożsame jest
z uruchomieniem TeX-a wraz z formatem Plain. Z kolei
uruchomienie np. polecenia latex
oznacza uruchomienie
TeX-a z formatem LaTeX itp. Z punktu widzenia przeciętnego
użytkownika nieistotne jest, czy takie polecenie zapisane jest na dysku
pod nazwą latex
(Unix), latex.exe
(Windows),
czy latex.bat
(DOS).
Więcej o tworzeniu formatów -- patrz: Generowanie formatów
Oprócz wersji standardowej programu TeX dostępne są jego wersje rozszerzone, wzbogacone o nowe elementy funkcjonalne.
Plik źródłowy
Po przeczytaniu formatu, TeX rozpoczyna przetwarzanie dokumentu źródłowego.
Dokument źródłowy, najczęściej mający rozszerzenie .tex
lub
.ltx
, to zwykły plik tekstowy (ASCII). TeX nie ma nic wspólnego
z jego utworzeniem czy modyfikowaniem. Dokument źródłowy
tworzymy/modyfikujemy za pomocą edytora emacs
, vi
,
joe
, czy jakiegoś innego przez nas ulubionego. Dla systemów
Windows dostępne są implementacje wymienionych edytorów, a także
wiele innych edytorów tekstowych o statusie public domain
bądź shareware. Jeszcze raz
należy podkreślić, że edytor musi zapisać plik jako zwykły plik tekstowy.
Dokument źródłowy może być także utworzony automatycznie, np. przez
odpowiedni skrypt Perla.
Plik źródłowy zawiera tekst oraz polecenia języka TeX. Jeżeli polecenia opisują wygląd dokumentu, to mówimy o formatowaniu wizualnym, a jeżeli dotyczą jego logicznej struktury, to mówimy o formatowaniu logicznym. Formatowanie logiczne operuje takimi pojęciami, jak tytuł rozdziału, tytuł punktu, tabela, tytuł tabeli, odsyłacz itp. Formatowanie wizualne to odstępy, stopień i krój pisma, kolory itp. Posługując się TeX-em możemy wykorzystywać oba sposoby formatowania. W przypadku tworzenia większych dokumentów znakowanie logiczne ma zdecydowaną przewagę nad wizualnym, zwiększa wygodę pracy i jej wydajność. Formaty LaTeX i AMSTeX umożliwiają znakowanie logiczne. Format Plain nie definiuje struktury dokumentu, umożliwia w zasadzie znakowanie wizualne, ale pozwala użytkownikowi na pełną swobodę definiowania dowolnej struktury logicznej i na pełne sterowanie procesem składu. Innymi słowy: LaTeX (czy AMSTeX) może być traktowany jako gotowy zbiór szablonów dla wielu typowych dokumentów, podczas gdy Plain wymaga samodzielnego ich zdefiniowania.
Z reguły na początku dokumentu źródłowego znajdują się instrukcje, które powodują, że zanim TeX rozpocznie składanie jakiegokolwiek tekstu, musi zapoznać się z zawartością innych plików, zawierających wymagane makra. Szczególnie dotyczy to formatu LaTeX, gdzie obowiązkowe jest wczytanie minimum pliku tzw. klasy dokumentu (patrz: LaTeX: pliki .cls, .clo, .sty i .fd).
Pliki .tfm
Są to podstawowe pliki, z których korzysta TeX: musi on mieć informacje
o użytych w dokumencie fontach. Informacje takie nie są zaszyte
w programie, ale znajdują się w plikach z rozszerzeniem
.tfm
, zwanych plikami metrycznymi. Tym samym nie ma żadnych
ograniczeń stosowanych fontów, wystarczy posiadanie odpowiednich plików
metrycznych. Dla każdego wykorzystywanego w dokumencie fontu, TeX
z odpowiedniego pliku .tfm
pobiera informacje
o wymiarach znaków. Oprócz wymiarów (wysokość, szerokość, głębokość
znaku) plik .tfm
zawiera informacje o podcięciach (kernach)
oraz spójkach (ligaturach). Nie ma natomiast informacji o kształcie
znaków, ponieważ te informacje nie są TeX-owi potrzebne. Więcej informacji
na temat fontów znajduje się w artykule
Fontowe ABC.
Wiele implementacji (np. teTeX) pozwala wygenerować brakujący plik
.tfm
,,w locie'', o ile odnalezione zostaną pliki
źródłowe fontu (pliki z rozszerzeniem .mf
). Służy do tego
opisany w kolejnym punkcie program MetaFont.
Program mf
Do generowania fontów wykorzystywany jest system MetaFont,
także autorstwa D.E. Knutha.
Jest to program, który tworzy pliki metryczne (.tfm
) oraz pliki
zawierające mapy bitowe, definiujące kształty poszczególnych znaków
na podstawie plików źródłowych.
Pliki źródłowe MetaFont-a (mają one rozszerzenie .mf
)
opisują znaki w sposób niezależny od rozdzielczości czy konkretnego
urządzenia drukującego.
Uwaga: znakomita większość użytkowników TeX-a nie ma potrzeby korzystania z programu MetaFont w inny sposób niż przez jego automatyczne uruchamianie do generowania brakujących fontów. Coraz częściej używane są fonty skalowalne Type 1 (PostScriptowe), ale warto nieco wiedzieć także i o tym programie.
System MetaFont, podobnie jak TeX, to język programowania i program
implementujący go.
Pliki źródłowe .mf
przetwarzane są przez program mf
(w systemach DOS/MS Windows będzie to mf.exe
).
Pierwszą rzeczą wykonywaną po uruchomieniu przez program mf
jest przeczytanie bazy, która jest tym, czym dla programu TeX
jest format.
Plik bazy ma zwyczajowe rozszerzenie .base
(lub .bas
). W standardowym systemie TeX powinny się
znajdować dwa takie pliki: plain.base
i cm.base
.
Po wczytaniu bazy MetaFont utworzy (zwykle) opisany wyżej plik
.tfm
oraz plik zawierający kształty poszczególnych
znaków, zapisany w specyficznym dla sterowników TeX-owych bitmapowym
formacie PK. Mówiąc ściślej, MetaFont tworzy pliki w formacie
generic (.gf
), ale w instalacjach TeX-a
automatycznie wywoływany jest program gftopk
konwersji
do bardziej efektywnego formatu PK. Pliki takie mają rozszerzenie .pk
lub
.999pk
, gdzie 999
oznacza rozdzielczość fontu.
Przykładowo, font o nazwie plr10
, w rozdzielczości 600
DPI będzie znajdował się w pliku plr10.600pk
.
Tradycyjne, bitmapowe fonty TeX-owe nie są jedynymi, z których może korzystać TeX, np. możliwe jest korzystanie z fontów PostScriptowych lub w formacie TrueType.
Warto tu zwrócić uwagę na program MetaPost, będący mutacją MetaFont-a. Jest to doskonałe narzędzie do tworzenia grafiki obwiedniowej w postaci różnego rodzaju wykresów, schematów czy diagramów (również kolorowych).
Fonty CM, EC i PL
D.E. Knuth opracował zestaw różnych krojów pisma, wzorując się na kroju Modern 8A firmy Monotype, i udostępnił je publicznie. Fonty te, nazwane Computer Modern, są standardowymi fontami używanymi przez TeX-a. Generowane są, oczywiście, za pomocą programu MetaFont. Jedną z wielu zalet tych fontów jest to, że zawierają bogaty zestaw symboli matematycznych oraz że publicznie dostępne są dodatkowe, optycznie do nich pasujące kroje, umożliwiające skład w wielu alfabetach, nawet tak egzotycznych jak gruziński czy arabski.
Oryginalne fonty Computer Modern (CM) są 128-znakowe i nie zawierają kompletu polskich znaków. Znaki diakrytyczne, niezbędne do składu po polsku i w innych językach europejskich, dostępne są w 256-znakowych fontach European Computer Modern (EC), opracowanych na podstawie fontów CM przez Joerga Knappena i wiele innych osób. Każda współczesna dystrybucja TeX-a zawiera zarówno fonty CM, jak i EC. Układ znaków w zakresie kodów 0--127 fontów EC różni się nieco od układu CM i w zasadzie tylko LaTeX zapewnia mechanizmy przełączania się między nimi (dla użytkownika jest to prawie niewidoczne). Dostępne są ponadto fonty PL, w pełni zgodne z CM, zawierające dodatkowo wszystkie polskie znaki diakrytyczne oraz cudzysłowy stosowane w polskiej typografii. Fonty CM i PL są dostępne (w odróżnieniu od fontów EC) także w postaci fontów PostScriptowych (skalowalnych).
Omówienie dostępnych polskich fontów, przygotowanych specjalnie dla systemu TeX, zawarto w artykule Polskie fonty komputerowe.
Plik .dvi, sterowniki
Wynikiem pracy TeX-a jest zwykle kilka plików, z których najważniejszym
jest
plik z rozszerzeniem .dvi
, który może być wyświetlony na
ekranie bądź wydrukowany. Plik .dvi
zawiera dla każdego znaku na
stronie jego współrzędne oraz informację, z jakiego fontu pochodzi dany
znak, nie zawiera natomiast definicji kształtów znaków. Do wydrukowania lub
wyświetlenia na ekranie pliku .dvi
potrzebny jest odrębny
program zwany sterownikiem. W systemach Unix takim sterownikiem
ekranowym jest np. program xdvi
, w Windows
windvi
lub yap
. Dopiero sterownik korzysta
z plików zawierających definicje kształtów znaków (np. z plików
PK).
Plik .dvi
można zamienić na plik w formacie PostScript.
Służy do tego program dvips
. Wynikowy plik możemy wydrukować
bezpośrednio na drukarce PostScriptowej, a także wyświetlić na ekranie
lub wydrukować na dowolnej innej drukarce, wykorzystując interpreter tego
języka Ghostscript
.
Użycie docelowego formatu PostScript otwiera wiele nowych możliwości, niemożliwych do realizacji w tradycyjnym systemie TeX/LaTeX. Najważniejsze to: dołączanie praktycznie dowolnej grafiki (wektorowej, bitmapowej, kolorowej itd.), wykorzystanie kolorów w dokumencie czy korzystanie z różnych krojów pisma w formacie Adobe Type 1 (PostScriptowych). Więcej informacji na temat fontów i grafiki: Instalowanie fontów Type 1/True Type. oraz Włączanie grafik do dokumentów LaTeX2e (plik PDF, ok. 800kb).
Plik .log
Plik .log
zawiera komunikaty i ewentualne ostrzeżenia
TeX-a, wygenerowane podczas kompilacji dokumentu. Przeglądanie tego
pliku może być często pomocne w diagnostyce błędów.
LaTeX
LaTeX jest bardzo rozbudowanym zestawem makr, zawierającym wiele mechanizmów opisu struktury logicznej dokumentów. Jak wspomniano powyżej, zestaw taki, wraz z wzorcami dzielenia wyrazów, jest wstępnie prekompilowany i używany jako tzw. format. LaTeX to obecnie najbardziej rozpowszechniony format i dostarczany w każdej dystrybucji stanowi tym samym ważny sładnik systemu TeX. Twórcą LaTeX-a jest Leslie Lamport. Zaprojektowany przez niego zestaw makr został ,,zamrożony'' jako tzw. LaTeX 2.09 i praktycznie nie jest już używany. Obecnie używany LaTeX to intensywnie rozwijany przez tzw. LaTeX Team projekt, określany jako LaTeX2epsilon (LaTeX2e).
LaTeX: pliki .cls, .clo, .sty i .fd
Oprócz informacji z plików .tfm
, LaTeX czyta także
pliki .cls
i .clo
(klasy) oraz .sty
(pakiety). Klasa to
plik(i) zawierający specyficzne instrukcje służące do sformatowania dokumentu
określonego typu, np. książki, artykułu czy listu. Wczytanie pliku klasy
jest w LaTeX-u obowiązkowe. Pliki .sty
rozszerzają
możliwości LaTeX-a. Podstawowy LaTeX nie umożliwia np. dołączania grafiki,
kolorowania tekstu, automatycznego łamania długich tabel itd. Do wykonania
takich zadań służą właśnie pakiety.
Klasy i pakiety LaTeX-a są dystrybuowane w postaci plików
z rozszerzeniem .dtx
.
Plik taki zawiera definicje poleceń dla LaTeX-a oraz dokumentację pakietu
(opis techniczny i podręcznik użytkownika).
Instalacja pakietu dostarczonego w pliku (lub plikach)
.dtx
polega na skompilowaniu pliku o nazwie
takiej jak nazwa pliku .dtx
,
ale z rozszerzeniem .ins
(zwykle plikowi .dtx
towarzyszy odpowiadający mu plik .ins
):
tex plik.ins
W rezultacie otrzymujemy wiele plików (o rozszerzeniach
.cls
, .sty
, .def
i .fd
lub innych
rzadziej spotykanych). Wszystkie takie pliki umieszczamy
w katalogu, w którym LaTeX szuka plików tego typu
(w strukturze TDS -- patrz niżej -- będzie to podkatalog w ramach
texmf/tex/latex/
).
W plikach z rozszerzeniami .fd
znajdują się instrukcje
definiujące dostępne w danej instalacji LaTeX-owej fonty. Oznacza to,
że w przypadku posługiwania się LaTeX-em, sam plik .tfm
nie
wystarczy do tego, żeby system potrafił z niego skorzystać. Konieczne
jest, aby font był ,,zarejestrowany'' w systemie. Rejestracja ta odbywa
się przez zainstalowanie odpowiedniego pliku .fd
w strukturze katalogów przeszukiwanych przez LaTeX-a.
Aby wydrukować dokumentację pakietu, należy skompilować plik
.dtx
(polecenie latex plik.dtx
). Czasem
niezbędne jest dwukrotne, a nawet trzykrotne uruchomienie tego
polecenia, dzięki czemu dokumentacja będzie zawierała prawidłowe odsyłacze,
spis treści itp.
Pliki .dtx
i .ins
nie są wykorzystywane
w codziennej pracy. Po zainstalowaniu pakietu
można je usunąć z systemu.
Polskie opisy wielu pakietów dostępne są w Wirtualnej Akademii TeX-owej. Poszukiwanie potrzebnego pakietu może ułatwić zestawienie w układzie tematycznym.
Inne pliki tworzone przez LaTeX-a
Wymienione poniżej pliki pomocnicze są tworzone przez LaTeX-a na żądanie
użytkownika, tzn. tylko wtedy, gdy dokument zawiera takie opcjonalne elementy,
jak: spisy treści, bibliografie i skorowidze. Przykładowo, plik
.toc
powstanie tylko wtedy, gdy dokument ma zawierać spis treści.
Pliki .toc, .lot i .lof
Powstałe w wyniku kompilacji dokumentu LaTeX-owego pliki
z rozszerzeniami .toc
,
.lot
oraz .lof
zawierają spisy treści,
tabel i rysunków.
LaTeX przetwarza dokument strona po stronie, dlatego w pojedynczym
przebiegu niemożliwe jest wstawienie spisu treści na początku
dokumentu, ponieważ jego treść nie jest jeszcze znana. Podobnie ma
się sprawa ze spisami tabel czy rysunków.
Rozwiązanie tego problemu jest tyle proste, co skuteczne.
Podczas pierwszej kompilacji do plików
pomocniczych zapisywane są odpowiednie informacje, które są następnie
wykorzystywane podczas drugiej kompilacji. Patrz też:
Spisy w LaTeX-u.
Podobna technika jest stosowana do wstawienia odsyłaczy.
Informacje niezbędne do ich prawidłowego zdefiniowania są
zapisywane do pliku z rozszerzeniem .aux
.
Pliki .idx, .ind i .ist
Plik z rozszerzeniem .idx
zawiera hasła skorowidza.
Hasła te powinny być następnie posortowane przez
program makeindex
albo plmindex
.
Drugi z tych programów, będący
zmodyfikowaną wersją pierwszego, jest zdolny do tworzenia skorowidza
zarówno według reguł angielskich, jak i polskich.
Wynikiem działania programu
makeindex
/plmindex
jest
plik z rozszerzeniem .ind
, który zawiera
gotowy do przetworzenia przez LaTeX-a skorowidz.
Postacią tworzonego skorowidza można sterować w ograniczony sposób
za pomocą specjalnych instrukcji zapisanych w pliku
.ist
(index style).
Dodatkowo powstający plik .ilg
zawiera komunikaty pracy programu
makeindex
/plmindex
.
Patrz też
Wszystko o indeksowaniu.
Pliki .bib, .bbl i .bst
Do przygotowywania spisów bibliograficznych służy program BibTeX. Jest to
narzędzie przydatne dla osób piszących np. prace naukowe, które to prace,
jak wiadomo, zawierają wiele odwołań do innych dokumentów. Informacja
bibliograficzna jest przechowywana w pliku .bib
. Każda
pozycja jest oznaczona etykietą. W dokumencie LaTeX-owym zamiast pełnej
treści odwołania wstawiamy etykietę, którą podczas kompilacji LaTeX zapisuje
do pliku .aux
. Na podstawie pliku .aux
program
BibTeX tworzy spis bibliograficzny, obejmujący oczywiście tylko te pozycje
z pliku .bib
, które były cytowane w dokumencie. Spis
jest formatowany według specyfikacji zawartej w pliku .bst
i zapisywany do pliku .bbl
. Komunikaty programu BibTeX są
zapisywane do pliku .blg
. Dwa kolejne przetworzenia dokumentu
powodują poprawne sformatowanie bibliografii i odwołań. Patrz też
Bibliografia w LaTeX-u.
Rozszerzone wersje programu TeX
We współczesnych dystrybucjach oprócz programu tex
dostępne są jego rozszerzone wersje:
- pdfTeX -- rozszerzenie TeX-a pozwalające tworzyć
bezpośrednio pliki w formacie
PDF
, w trybie pracy tworzącym standardowe plikiDVI
pdfTeX jest w pełni zgodny z programem TeX; pdfTeX wraz z zestawem odpowiednich makr pozwala tworzyć interaktywne dokumenty hipertekstowe i atrakcyjne prezentacje; od 2004 roku pdfTeX jest rozwijany jako pdfeTeX (patrz niżej); obszerne omówienie pdfTeX-a zawiera artykuł G. Sapijaszko: Tworzenie dokumentów PDF przy pomocy LaTeX-a (plik PDF, ok. 1mb); - eTeX -- TeX rozszerzony o szereg poleceń pierwotnych, posiada m.in. tryb składu od prawej do lewej (dla m.in. arabskiego i hebrajskiego); w trybie zgodności pracuje jak standardowy program TeX;
- pdfeTeX -- połączenie pdfTeX i e-TeX; w 2004 r. uzgodniono,
że pdfeTeX będzie głównym ,,motorem'' instalacji TeX-owych i będzie
wykorzystywany do generowania i pracy z większością formatów
(LaTeX, pdfLaTeX, ConTeXt, TeXinfo, MeX itp.), sposób generowania
formatu będzie decydował o domyślnym tworzeniu wynikowego pliku
DVI
bądźPDF
; od roku 2007pdftex
ipdfetex
to ten sam program; - Omega -- rozszerzenie TeX-a pracujące z fontami ze znakami kodowanymi 16-bitowo (Unicode) i pozwalające na skład w różnych, nawet b. egzotycznych językach. Projekt ten ostatnio nie jest rozwijany;
- Alef -- stabilna wersja Omegi zawierająca rozszerzenia eTeX;
- XeTeX -- intensywnie rozwijana wersja, pracująca w Unikodzie i korzystająca z fontów systemowych, także OpenType.
TDS
TDS (ang. TeX Directory Structure) oznacza standardową strukturę katalogów systemu TeX. Współczesne instalacje TeX-a są w zdecydowanej większości zgodne z TDS.
W instalacji TeX-owej zgodnej z TDS wszystkie omówione wyżej składniki
systemu oprócz plików wykonywalnych (i oczywiście oprócz plików
tworzonych podczas pracy) mają swoje standardowe miejsce w katalogu, którego
korzeniem jest katalog texmf
. Umiejscowienie tego katalogu
w systemie plików jest zależne od lokalnej konfiguracji, np. w systemie
Linux może to być /usr/TeX/texmf/
, a w systemie
Windows np. C:\tex\texmf\
. Warto tu podkreślić, że
z zawartości katalogu texmf/
mogą korzystać różne systemy
operacyjne, wystarczy, aby został on udostępniony w instalacji sieciowej
lub zamontowany. Innymi słowy: zawartość texmf/
jest
niezależna od platformy (komputera i systemu operacyjnego);
katalog z taką samą zawartością można mieć np. w pracy na maszynie
Sun z systemem Solaris i w domu na PC z Windows bądź Linux.
Poniżej wymieniono najważniejsze podkatalogi drzewa texmf/
:
-
texmf/web2c/
- znajdują się tu m.in. formaty dla programu TeX (pdfTeX itp.) i bazy MetaFonta i MetaPosta oraz pliki konfiguracyjne instalacji.
-
texmf/tex/
- podkatalogi tu zawarte są przeszukiwane przez program TeX, i tak
np.
generic/
zawiera biblioteki współużytkowane przez różne formaty;latex/
zawiera biblioteki klas, stylów, plików.def
i.fd
dla LaTeX-a. Inne podkatalogi katalogutex/
zawierają biblioteki przeznaczone dla innych formatów. texmf/fonts/
- zawiera wszelkiego rodzaju pliki fontowe:
podkatalog
source/
to miejsce, w którym znajdują się źródłowe pliki MetaFonta;type1/
zawiera fonty PostScriptowe (pliki.pfa
lub.pfb
);tfm/
zawiera pliki.tfm
;enc/
pliki przekodowań fontów zaśmap/
pliki map fontowych. Mogą też znajdować się tam inne katalogi, np.truetype/
, jeżeli instalacja wykorzystuje fonty w formacie TrueType. texmf/dvips/
- zawiera pliki konfiguracyjne i pomocnicze dla programu Dvips.
Miejsce, w którym znajdują się pliki zawierające fonty bitmapowe
w formacie PK, jest zależne od konkretnej platformy systemowej
i dystrybucji. W systemach Unixowych pliki te są często generowane
w katalogu udostępnionym do zapisu dla wszystkich użytkowników
i kontrolowane przez demona cron
(po upływie pewnego czasu
są automatycznie usuwane). W instalacjach jednostanowiskowych pliki PK
mogą być deponowane w katalogu texmf/fonts/pk/
.
Wszystkie pliki programów znajdują się natomiast w osobnym katalogu, którego położenie jest zależne od konkretnej platformy i dystrybucji. Ponieważ jednak są one wszystkie w jednym miejscu, ich odszukanie nie powinno stanowić problemu.
Web2C
Web2C jest systemem do generowania kompletnego środowiska TeX-owego dla różnorodnych platform, nie tylko Unixowych, ale także Windows 9x/NT, Amiga, a nawet MS DOS. W oparciu o Web2C zbudowane są dystrybucje teTeX (Unix, Linux), W32TeX (Windows) i djgpp (MS DOS). Więcej szczegółów zawarto w artykule Web2C, gdzie wymieniono też programy tworzone w tym środowisku.
[Spis treści]Jak zacząć pracę z TeX-em
[Część ta na razie zawiera tylko pobieżne omówienie implementacji TeX-a i generowanie formatów.]
Archiwa TeX-owe
Oprogramowanie dla systemu TeX gromadzone jest na serwerach CTAN (Comprehensive TeX Archive Network) usytuowanych w Niemczech, Anglii i USA. Archiwa CTAN posiadają wiele kopii (mirror) na całym świecie, w Polsce pełna kopia dostępna jest na FTP GUST, zaś prace polskich użytkowników gromadzone są w Archiwum GUST. Na serwerach CTAN i ich kopiach dostępne są implementacje dla większości obecnie używanych systemów operacyjnych, a także bogate archiwa makr, fontów i oprogramowania towarzyszącego.
Artykuł Dystrybucje TeX-a omawia najważniejsze dostępne dystrybucje. Wskazówki dla chcących szybko zaistalować popularną dystrybucję dla Windows zawarto w artykule Instalacja MiKTeX.
Generowanie formatów
Generowanie formatu polega na uruchomieniu programu tex
(lub pochodnego, np. pdftex
)
z parametrem --ini
i przetworzeniu odpowiedniego
pliku inicjującego. Plik taki zawiera najczęściej deklaracje wczytania
pliku z makrami, wzorców przenoszenia wyrazów oraz ewentualne inne
polecenia dla TeX-a, wymagane
dla danego formatu. Dzięki takiemu podejściu możliwe było zbudowanie
programów, które ułatwiają generowanie różnorodnych formatów. Programy takie
nie tylko uruchamiają tex
-a, ale też umieszczają wygenerowany
plik w odpowiednim katalogu instalacji, tworzą polecenie uruchamiania
TeX-a (lub jego odmian pdfTeX, eTeX, Omega) z danym formatem, wreszcie
odświeżają bazę danych instalacji (co przyspiesza znajdywanie potrzebnych
plików w codziennej pracy).
W przypadku formatu LaTeX (lub jego wersji pdflatex dla programu
pdfTeX, tworzącego od razu pliki PDF) niezbędne jest określenie wymaganych
w formacie wzorców przenoszenia wyrazów.
W LaTeX 2e zestaw reguł przenoszenia wyrazów jest
deklarowany w pliku o nazwie language.dat
,
który znajduje się zwykle w podkatalogu
tex/generic/config/
lokalnej konfiguracji systemu
TeX bądź głównego katalogu instalacji. Modyfikacja
language.dat
polega na usunięciu w tym pliku znaku
`%' przed deklaracją potrzebnych wzorców (dla języka polskiego jest to plhyph.tex)
i ewentualnym zablokowaniu takim znakiem
niepożądanych deklaracji wzorców dzielenia wyrazów. Reasumując, dla
formatu LaTeX (pdfLaTeX) należy najpierw wybrać potrzebne wzorce dzielenia wyrazów,
a następnie uruchomić generowanie formatu.
- Dystrybucje oparte na Web2C (teTeX, fpTeX, TeX Live)
-
Pliki formatów znajdują się w katalogu
texmf/web2c/
(niekiedy jest to katalogtexmf-var/web2c/
, dedykowany na lokalne pliki danej instalacji). W podkataloguweb2c/
znajduje się także plik konfiguracyjnyfmtutil.cnf
dla programufmtutil
automatyzującego generowanie formatów. Plik ten można modyfikować zgodnie z zawartymi w nim wskazówkami, co zwykle polega na odblokowaniu deklaracji interesującego nas formatu (usunięciu znaku komentarza #) bądź zablokowaniu deklaracji formatów niepożądanych, po czym, po zapisaniu pliku, uruchomienie programu:fmtutil --all
wygeneruje wszystkie zadeklarowane formaty,fmtutil --byfmt nazwa_formatu
wygeneruje dany format (fmtutil --help
wyświetla dostępne opcje). W systemach Unix i Linux modyfikowaniefmtutil.cnf
możliwe jest po uruchomieniu programutexconfig
i wybraniu menuFormats
. Modyfikacja pliku z deklaracjami wzorców przenoszenia wyrazów (dla LaTeX jest tolanguage.dat
) dostępna jest z kolei z menuHyphenation
. Po zakończonej edycjitexconfig
automatycznie uruchomi programfmtutil
i wygeneruje format(y). - MiKTeX
-
W dystrybucji tej, od wersji 2.0, wprowadzono menu
MiKTeX Options
, uruchamiające programmo.exe
(program można uruchomić także z wiersza poleceń). W podmenuTeX Formats
można wybrać potrzebny format, po czym, po naciśnięciu przyciskuBuild
, wygenerować go. Możliwe jest deklarowanie nowych formatów. Deklaracje formatów są przechowywane w plikumiktex/config/formats.ini
lokalnego (bądź, przy jego braku, głównego) drzewa instalacji. Podobnie jak w dystrybucjach opartych na Web2C, generowanie formatu LaTeX wymaga uprzedniego zadeklarowania wymaganych wzorców przenoszenia wyrazów. Służy do tego podmenuLanguages
(patrz uwagi zawarte powyżej, dotyczące formatu LaTeX).MiKTeX Options -- Formats
zawiera deklaracje dla polskich formatówmex, pdfmex
. Pliki formatów umieszczane są w podkatalogumiktex/fmt/
lokalnego drzewa instalacji (bądź, przy jego braku, głównego drzewa instalacji).
Tworzenie formatów dla języka polskiego
Zanim przedstawimy szczegóły dotyczące generowania formatów dla języka polskiego, zainteresowanych Czytelników zachęcamy do przeczytania artykułu o problemach związanych z kodowaniem polskich liter.
[Spis treści]Podręczniki dla początkujących
- Michael Doob: Łagodne wprowadzenie do systemu TeX (tł. Stanisław Wawrykiewicz) -- samouczek dla użytkowników Plain TeX/MeX, ale przydatny także bardziej dociekliwym.
- Tobias Oetiker: Nie za krótkie wprowadzenie do systemu LaTeX2e (tł. Janusz Gołdasz, Ryszard Kubiak, Tomasz Przechlewski) -- całkiem zgrabne wprowadzenie dla niecierpliwych.
T. Przechlewski i S. Wawrykiewicz
Ostatnie zmiany: 25.06.2008.
Akcje Dokumentu