Niniejsza dokumentacja opisuje oprogramowanie TEX Live – dystrybucję TEX-a wraz z programami pomocniczymi, dostępną dla systemów GNU/Linux, różnych wersji Unix (w tym Mac OS X) oraz Windows.
TEX Live można ściągnąć z sieci bądź otrzymać na płytce DVD TEX Collection, dostarczanej swoim członkom przez Grupy Użytkowników Systemu TEX. Część 2.1 omawia pokrótce zawartość tej płytki. Zarówno TEX Live, jak i TEX Collection powstały dzięki zbiorowemu wysiłkowi Grup. W tym dokumencie omówimy głównie samą dystrybucję TEX Live.
TEX Live zawiera skompilowane programy: TEX, LaTeX2e, Metafont, MetaPost, BibTeX i wiele innych oraz bogaty zestaw pakietów makr o wielorakim zastosowaniu, a także fonty i dokumentacje. Wszystko to umożliwia skład publikacji w wielu językach.
Pakiety zawarte w TEX Live są regularnie aktualizowane z serwerów CTAN (Comprehensive TeX Archive Network), które gromadzą wszelkie zasoby dotyczące systemu TEX: http://www.ctan.org.
Lista najważniejszych zmian dokonanych w tej edycji TEX Live znajduje się w części 11.6, na str. 86.
Nie opisujemy tu, czym jest system TEX, a jedynie kwestię instalacji i konfiguracji oprogramowania TEX Live. Początkujący użytkownicy mogą się zapoznać z podstawowymi pojęciami np. w artykule Przewodnik po systemie TEX: texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html.
TEX Live zawiera oprogramowanie dla wielu platform linuksowych i uniksowych, w tym Mac OS X, a także Cygwin. Załączone pliki źródłowe pozwalają też na jego instalację na platformach innych systemów operacyjnych.
Spośród systemów Windows obsługiwane są tylko wersje 2000 i nowsze. Zaniechano wsparcia dla Windows 9x, ME oraz NT, których obsługa była bardzo pracochłonna (w porównaniu z Linux/Unix). Wprawdzie brak jest oprogramowania dedykowanego dla wersji 64-bitowych, ale aplikacje 32-bitowe powinny na nich działać.
W części 2.1 omówiono alternatywne dystrybucje, przeznaczone dla Windows oraz Mac OS X.
TEX Live można zainstalować z płytki DVD lub internetu. Program instalacyjny jest niewielki i pozwala pobrać z sieci wszystkie potrzebne pakiety. Jest to wygodne, zwłaszcza gdy potrzebujemy jedynie części oprogramowania TEX Live i nie chcemy pobierać niepotrzebnie obrazu całej płyty instalacyjnej.
Posiadając płytkę DVD możemy nie tylko zaistalować TEX Live na twardym dysku, ale i uruchamiać programy bezpośrednio z niej (a nawet z plikowego obrazu DVD, jeśli nasz system pozwala na jego zamontowanie).
Szczegółowy opis instalacji TEX Live znajduje się w dalszych rozdziałach tego dokumentu, tu podamy jedynie skrócony przepis:
Zgodnie z naszą najlepszą wiedzą, główne programy TEX-owe są (i zawsze były) nadzwyczaj odporne. Jednak mimo dokładania najwyższej staranności, inne programy wspierające, zawarte w TEX Live, nie zawsze osiągają ten sam poziom. Jak zawsze, należy być ostrożnym przy uruchamianiu programów z danymi pochodzącymi z niepewnych źródeł. Dla uzyskania najwyższego stopnia bezpieczeństwa zalecamy stosowania podczas pracy nowych podfolderów.
Konieczność zachowania staranności jest szczególnie ważna w systemie Windows, ponieważ niezależnie od zawartości ścieżki przeszukiwania poszukuje on programów zawsze najpierw w bieżącym folderze. To zachowanie systemu otwiera szerokie możliwości ataku. Usunęliśmy wiele luk, lecz niewątpliwie niektóre jeszcze pozostały, szczególnie przy uruchamianiu programów pochodzących z innych źródeł. Zalecamy więc sprawdzanie bieżących folderów pod kątem obecności podejrzanych plików, w szczególności plików wykonywalnych (binarnych lub skryptów). Zwykle nie powinno ich być, a w szczególności nie powinny być one tworzone w wyniku zwykłego przetwarzania dokumentów.
I na koniec: TEX (oraz towarzyszące mu programy) mogą tworzyć pliki przy przetwarzaniu dokumentów. Własność ta jest na wiele różnych sposobów podatna na nadużycia. Także w tych przypadkach, przetwarzanie nieznanych dokumentów w nowych podfolderach jest najlepszym znanym sposobem zabezpieczenia.
Społeczność TEX-owa jest bardzo aktywna i pomocna, stąd też większość poważnych zapytań nie pozostaje bez odpowiedzi. Przed zadaniem pytania warto je uprzednio dobrze przemyśleć i sformułować, ponieważ respondenci to wolontariusze, wśród których znaleźć się mogą mniej lub bardziej doświadczeni użytkownicy. (Jeśli preferujemy komercyjne wsparcie techniczne, możemy zamiast TEX Live zakupić system u jednego z dostawców, których listę można znaleźć na http://tug.org/interest.html#vendors.)
Oto lista źródeł pomocy, w kolejności przez nas rekomendowanej:
Druga strona medalu to pomaganie tym, którzy mają problemy. Zarówno comp.text.tex, jak i texhax (oraz lista dyskusyjna GUST) są otwarte dla każdego, tak więc zapraszamy do włączenia się, czytania wiadomości i pomagania innym w miarę własnych możliwości. Witamy wśród użytkowników systemu TEX!
Omówimy tutaj strukturę i zawartość dystrybucji TEX Live, a także TEX Collection – płytki DVD, w skład której wchodzi TEX Live.
TEX Collection DVD zawiera:
CTAN, protext, i texmf-extra nie spełniają przyjętych dla TEX Live wymogów dotyczących swobody kopiowania, wobec tego należy ten fakt uwzględnić przy redystrybucji bądź modyfikacji zawartości wymienionych katalogów.
Poniżej wymieniono ważniejsze podkatalogi głównego katalogu dystrybucji TEX Live. Na płytce TEX Collection DVD cała dystrybucja TEX Live została umieszczona w katalogu texlive, nie zaś w katalogu głównym (poniżej traktujemy katalog texlive jako katalog główny we wszystkich odniesieniach do TEX Live).
skompilowane programy TEX-owe, zorganizowane w podkatalogach według platform systemowych;
krótkie omówienie z użytecznymi odnośnikami, w kilku językach, w formacie HTML i zwykłym tekstowym;
źródła wszystkich programów, włącznie z głównymi dystrybucjami Web2C TEX-a i Metafont-a;
drzewo katalogów plików pomocniczych i dokumentacji dla programów (patrz: TEXMFMAIN w następnej części);
główne drzewo katalogów formatów i pakietów (zawiera makra, fonty i dokumentacje; patrz: TEXMDIST w następnej części);
skrypty, programy i inne dane potrzebne do instalacji; katalog zawiera także „prywatne” dla TEX Live kopie systemów Perl i Ghostscript dla Windows (nie kolidują one z posiadanymi przez użytkownika podobnymi programami i działają tylko w ramach instalacji); poza tym dołączono szybki i wygodny program do podglądu plików postscriptowych i PDF – PS_View dla Windows.
Prócz podkatalogów wymienionych powyżej, katalog główny zawiera skrypty instalacyjne oraz pliki README, w formacie tekstowym lub HTML, w kilku językach (również polskim).
Do znalezienia dokumentacji przydatne mogą być dowiązania zawarte w pliku doc.html, który znajdziemy w głównym katalogu. Dokumentacje programów (man, info, także w formacie PDF) znajdują się w katalogu texmf/doc, zaś dokumentacje pakietów makr, fontów i formatów w katalogu texmf-dist/doc. W odszukaniu konkretnej dokumentacji w dowolnym z wymienionych katalogów mogą pomóc programy texdoc lub texdoctk.
Niniejsza dokumentacja w kilku językach znajduje się w katalogu texmf/doc/texlive:
W tej części wymieniono wszystkie używane przez system, predefiniowane zmienne specyfikujące drzewa katalogów texmf, omówiono też ich przeznaczenie. Uruchomiając polecenie tlmgr conf, wyświetlimy wartości tych zmiennych, dzięki czemu łatwo ustalimy, które katalogi w naszej instalacji są przypisane do konkretnych zmiennych.
Drzewo katalogów zawierające podstawowe dla dystrybucji elementy systemu, jak skrypty i inne pliki pomocnicze oraz dokumentację programów (nie zawiera zatem pakietów makr ani formatów).
Drzewo katalogów zawierające pakiety makr, fontów itp., drzewo to może być współdzielone z dowolną dystybucją.
Drzewo katalogów, które administratorzy mogą wykorzystać do przechowywania lokalnych makr, fontów itp., dostępnych dla wszystkich użytkowników serwera.
Drzewo katalogów dla prywatnych makr, fontów itp. użytkownika. Rozwinięcie tej zmiennej zależy domyślnie od wartości przypisanej zmiennej systemowej $HOME (w Windows %USERPROFILE%).
Drzewo katalogów wykorzystywane przez narzędzia texconfig, updmap oraz fmtutil do przechowywania danych konfiguracyjnych (domyślnie w ramach TEXMFHOME).
Drzewo katalogów wykorzystywane przez narzędzia texconfig-sys, updmap-sys oraz fmtutil-sys do przechowywania danych konfiguracyjnych dla całej instalacji.
Drzewo katalogów wykorzystywane przez texconfig, updmap i fmtutil do przechowywania wygenerowanych plików formatów i map fontowych (domyślnie w ramach TEXMFHOME).
Drzewo katalogów wykorzystywane przez texconfig-sys, updmap-sys, fmtutil-sys, a także przez program tlmgr do przechowywania wygenerowanych plików formatów i map fontowych dla całej instalacji.
Domyślny układ katalogów:
poprzednie wydanie,
wydanie aktualne:
programy dla GNU/Linux
programy dla Mac OS X
programy dla Windows
określany zmienną TEXMFMAIN
TEXMFDIST
TEXMFSYSVAR
TEXMFSYSCONFIG
TEXMFLOCAL, katalog zachowywany od wydania do wydania,
prywatne pliki konfiguracyjne poprzedniego wydania
prywatne pliki konfiguracyjne dla bieżącego wydania:
TEXMFVAR
TEXMFCONFIG
TEXMFHOME prywatne makra, fonty itp.
Oryginalny TEX, stworzony przez prof. Knutha, został zamrożony, ale jest i będzie w przyszłości dostępny w dystrybucji. TEX Live zawiera ponadto kilka wersji rozszerzonych standardowego TEX-a:
Poniżej zestawiono kilka innych, najczęściej używanych programów, dostępnych w dystrybucji TEX Live:
tworzenie spisów bibliograficznych;
tworzenie posortowanych skorowidzów;
konwersja DVI do PostScript;
przeglądarka plików DVI dla X Window;
sterownik dla drukarek HP LaserJet;
programy do manipulacji stronami w plikach DVI;
konwersja DVI do PDF, metoda alternatywna w stosunku do wspomnianego wyżej programu pdfTEX (pakiety ps4pdf i pdftricks dostarczają tutaj kolejnych możliwości);
narzędzia do manipulacji na plikach postscriptowych;
programy uruchamiające dla ConTEXt;
postprocesor dla TEX-a konwersji do HTML i XML.
Zawartość drzew texmf na TEX Live została do celów instalacji zorganizowana w szereg „zestawów” (collections), z których każdy posiada zbiór „pakietów” (packages; jest ich obecnie ponad 2500). Normalna instalacja pozwala użytkownikowi skopiować z DVD na twardy dysk jeden lub więcej zestawów, ale można też doinstalować z niej do już zainstalowanego zestawu jedynie pojedynczy pakiet.
Zestawy pozwalają lepiej dobrać instalowane składniki, a także określić, jakie języki będą obsługiwane po instalacji. Najważniejszy zestaw, wymagany dla większości zastosowań, to „Essential programs and files”. Zestawy „Basic LaTeX packages” i „Recommended fonts” są rekomendowane dla większości użytkowników. Pozostałe zestawy są opcjonalne.
Oto dostępne zestawy i krótki opis ich zawartości:
Plik tlpdb/texlive.tlpdb (wykorzystywany podczas instalacji) zawiera spis wszystkich plików w każdym pakiecie.
TEX Live zawiera wiele wysokiej jakości fontów skalowanych. Patrz: http://tug.org/fonts oraz texmf-dist/doc/fonts/free-math-fonts-survey.
Instalację TEX Live uruchamiamy z płytki TEX Collection DVD (bądź po pobraniu z sieci pakietu instalacyjnego i jego rozpakowaniu) skryptem install-tl (Unix), install-tl.bat lub install-tl-advanced.bat (Windows).
Dalsze kroki omówiono dokładniej poniżej.
Poniżej > oznacza znak zachęty systemu (tzw. prompt); to, co wpisuje użytkownik, zaznaczono pogrubieniem. W oknie terminala należy wykonać:
Do uruchomienia w trybie graficznym (GUI; rys. 2) wymagana jest obecność w systemie modułu Perl/TK:
Kompletny wykaz dostępnych opcji otrzymamy uruchamiając:
Uwaga dotycząca uprawnień w Unix: program instalacyjny będzie respektował aktualną wartość umask. Jeśli więc chcemy, aby instalacja była dostępna dla innych użytkowników, musimy ustawić wartość np. umask 002. Więcej informacji na temat umask znajdziemy w dokumentacji posiadanego systemu operacyjnego.
Uwagi specjalne dotyczące Cygwin: w odróżnieniu od wielu rzeczywistych systemów operacyjnych, których Cygwin jest jedynie emulatorem, w środowisku tym mogą nie być domyślnie zainstalowane niektóre programy wymagane dla instalatora TEX Live. Dodatkowe informacje – patrz część 3.1.4.
Jak wspomniano w części 2.1, dla Mac OS X przygotowano odrębną dystrybucję MacTEX (http://tug.org/mactex). W jej wypadku należy użyć dedykowanego programu instalacyjnego, gdyż zmienia on w specyficzny sposób ustawienia systemu, w szczególności pozwala na łatwe przełączanie między różnymi dystrybucjami TEX-a dla Mac OS X: MacTEX, gwTEX, Fink, MacPorts.
MacTEX jest oparty na TEX Live i główne drzewa katalogów pozostały w nim dokładnie takie same, dodano jedynie katalogi ze specyficznymi dla systemu Mac OS X dokumentacjami i aplikacjami.
Gdy używamy instalatora pobranego z sieci (bądź program ten nie uruchamia się automatycznie po włożeniu DVD do napędu), należy uruchomić install-tl.bat (np. podwójnym kliknięciem myszy). Można to uczynić także z linii poleceń. Gdy katalog zawierający ten plik jest katalogiem bieżącym, wystarczy uruchomić:
W linii poleceń można też podać ścieżkę do programu, np.:
Instalacja w trybie tekstowym wymaga podania:
Wszystkie dostępne opcje wyświetlimy uruchamiając:
Program instalujący TEX Live obsługuje jedynie Cygwin w wersji 1.7. Przed instalacją w tym systemie zaleca się uruchomić program setup.exe i, o ile nie zostały one uprzednio zainstalowane, zainstalować pakiety perl oraz wget. Ponadto zalecana jest instalacja:
Rysunek 1 przedstawia główny ekran programu install-tl w (domyślnym) trybie tekstowym w systemie Unix. W tym trybie nie używamy ani klawiszy kursora, ani myszy, lecz wyłącznie klawiszy alfanumerycznych (uwaga: duże i małe litery są rozróżniane!). Wybraną opcję zatwierdzamy klawiszem Enter. Instalator w trybie tekstowym jest na tyle prosty, by działał na możliwie wielu platformach, nawet wyposażonych jedynie w podstawowe biblioteki Perla.
Rysunek 2 przedstawia program instalacyjny w trybie graficznym, w wersji rozszerzonej. W systemie Windows znajdziemy tu dodatkowe przyciski dla opcji nieistotnych w systemach Unix/Linux. Tryb ten uruchamiamy poleceniem:
W systemie Windows domyślnie uruchamiany jest uproszczony program instalujący wszystkie pakiety TEX Live, który wymaga od użytkownika odpowiedzi jedynie na kilka pytań (katalog docelowy itp.). Tryb ten, zwany wizard („czarodziej”, „mag”), uruchamiany jest poleceniem:
Program instalacyjny jest z założenia na tyle prosty, że szczegółowe wyjaśnienia wydają się zbędne. Podamy jednak kilka uwag dotyczących różnych opcji i dostępnych podmenu.
Rysunek 4 pokazuje (w trybie tekstowym) wybór platformy (systemu operacyjnego). Domyślnie instalowane są tylko programy dla bieżącej platformy, ale menu to pozwala wybrać także zestawy dla innych platform. Może być to przydatne do instalacji na serwerze i współdzielenia zasobów w sieci dla różnych systemów operacyjnych bądź dla instalacji dla kilku systemów na tej samej maszynie.
Rysunek 5 pokazuje menu „Wybór schematów”. Schematy to obszerne zestawy pakietów, przeznaczone do wstępnego wyboru instalowanych komponentów. Mamy tu schematy do instalacji: podstawowej (basic), typowej (medium) i pełnej (full; jest ona domyślna), pozostałe przygotowano z myślą o wybranych grupach użytkowników (np. GUST i GUTenberg przygotowały schematy dla swoich członków) lub zastosowaniach (np. XML lub Omega).
Wstępnie wybrane schematy można modyfikować. W skład ,schematów” wchodzą tzw. „kolekcje”, które można wybrać w kolejnych menu o nazwach: „Kolekcje standardowe” i „Kolekcje językowe” (rysunek 6). Kolekcje stanowią niższy poziom niż schematy, a same składają się z „pakietów”. Dopiero pakiety zawierają właściwe pliki makr, fontów itp. Jeśli chcemy dodać lub usunąć pakiet, to po instalacji właściwej użyjemy programu tlmgr (patrz część 6).
Domyślny układ katalogów opisano w części 2.3 na str. 8. Położenie domyślne całej instalacji (TEXDIR) różni się w Windows (%SystemDrive%\texlive\2009) i w Unix (/usr/local/texlive/2009).
Głównym powodem, dla którego chcielibyśmy ewentualnie zmienić domyślne położenie TEXDIR, może być brak uprawnień systemowych. Aby zainstalować TEX Live, nie musimy być administratorem systemu, musimy jednak posiadać uprawnienia do zapisu w docelowym katalogu. Rozsądną alternatywą może być wtedy instalacja w katalogu domowym, szczególnie gdy będziemy jej jedynym użytkownikiem. Stosujemy tu zapis „~” do zaznaczenia katalogu domowego użytkownika, np. ~/texlive/2009. Zalecamy użycie katalogu z nazwą odzwierciedlającą rok wydania, co pozwoli na zainstalowanie obok siebie różnych wydań TEX Live.
Zmiana TEXDIR w programie instalacyjnym zmieni także ścieżki katalogów określone przez zmienne TEXMFLOCAL, TEXMFSYSVAR i TEXMFSYSCONFIG.
TEXMFHOME jest zalecanym położeniem dla prywatnych makr i fontów użytkownika. Domyślnym katalogiem jest ~/texmf. W odróżnieniu od TEXDIR, znak ~ jest zachowywany w generowanych plikach konfiguracyjnych, ponieważ w wygodny sposób odnosi się do katalogu domowego podczas każdego uruchamiania programów. Znak ten rozwijany jest do zmiennej $HOME w Unix i %USERPROFILE% w Windows.
Rysunek 7 pokazuje menu (w trybie tekstowym) z dodatkowymi opcjami. Warto tu je wymienić:
Po wszystkich potrzebnych ustawieniach można rozpocząć instalację (klawisz „I”). Po instalacji zaleca się zajrzeć do części 3.4, bo być może potrzebne okażą się jeszcze dodatkowe kroki.
Aby uruchomić programy bezpośrednio z płytki DVD, należy wybrać opcję „V”, co zmienia menu na przedstawione na rys. 8.
Zwróćmy uwagę na następujące zmiany w menu: zniknęły wszystkie opcje dotyczące wyboru pakietów, sekcja dotycząca katalogów pokazuje teraz TEXDIRW – katalog posiadający prawa do zapisu. Pozwoli to uruchamiać dowolny program bezpośrednio z płytki; na dysku twardym znajdą się (w odpowiednich katalogach) jedynie niezbędne pliki konfiguracyjne.
Ponieważ struktura katalogów różni się nieco od domyślnej, niezbędne będą pewne czynności konfiguracyjne, omówione w części 3.4.
Instalator GUI nie posiada opcji „V”, dlatego użytkownicy Windows mogą uruchomić program jedynie z linii poleceń, jak opisano to w części 3.3.
W rozdziale 5 opisano jeszcze inny, przenośny sposób uruchamiania TEX Live, który nie wymaga zmian w konfiguracji systemu (a wręcz nie pozwala na nie).
Uruchom
użyj (jeśli to możliwe) programu w wersji graficznej (GUI); wymagane jest posiadanie modułu Perl/Tk (http://tug.org/texlive/distro.html#perltk); gdy jest on niedostępny, program instalacyjny uruchomiony zostanie w trybie tekstowym;
wymusza tryb tekstowy, np. w Windows potrzebny jest on dla przygotowania do uruchamiania bezpośrednio z DVD;
pozwala wybrać język komunikatów, LL oznacza tu dwuliterowy kod języka; aktualnie dostępne są: angielski (en, domyślny), niemiecki (de), francuski (fr), holenderski (nl), polski (pl), słoweński (sl) i wietnamski (vi); program samoczynnie wykrywa język systemu, ale jeśli jest to niemożliwe, komunikaty i menu będą wyświetlane w języku angielskim;
program instalacyjny zapisuje plik texlive.profile w katalogu tlpkg naszej instalacji, co pozwala wykorzystać go dla powielenia w trybie wsadowym wszystkich wyborów i ustawień w kolejnych instalacjach;
pozwala określić inne niż domyślne źródło instalacji (patrz poniżej).
Domyślnym repozytorium pakietów dla TEX Live jest kopia (mirror) CTAN, znajdywana automatycznie via http://mirror.ctan.org.
Parametrowi -repository można przypisać adres w sieci (rozpoczynający się od ftp:, http: lub file:/) lub pełną ścieżkę do kopii pakietów na dysku (np. pobranej za pomocą programu wget). Jeśli podany argument wskazuje na lokalny dysk (ścieżkę bądź adres file:/), to automatycznie zostanie dostosowany typ instalacji (z plików skompresowanych bądź nie): gdy dostępny będzie katalog archive, zawierający pliki .tar.xz, wybrana zostanie instalacja z tychże plików, nawet jeśli dostępne będą równolegle katalogi z plikami nieskompresowanymi.
Część ta nie dotyczy systemu Windows, dla którego program instalacyjny przeprowadza całą konfigurację, włącznie z ustawieniami menu systemowego i tworzeniem ikon na pulpicie. Poniższe uwagi mogą być przydatne dla użytkowników innych systemów.
Użycie opisanej w części 3.2.4 opcji tworzenia dowiązań symbolicznych w standardowych katalogach nie wymaga zmian w zmiennych środowiska systemowego.
Po instalacji należy do zmiennej PATH dodać ścieżkę do programów TEX Live. Każda z obsługiwanych platform ma własny podkatalog w ramach TEXDIR/bin. Listę platform i odpowiadających im katalogów przedstawiono na rys. 4.
Również korzystanie z systemowych przeglądarek dokumentacji man i info staje się możliwe dopiero po dodaniu odpowiednich katalogów do ich ścieżek przeszukiwania. Strony man mogą być także znajdywane automatycznie po dodaniu ścieżki ich położenia do PATH.
Dla powłoki zgodnej z Bourne shell (sh, bash, ksh) możemy dopisać do pliku $HOME/.profile:
W wypadku csh lub tcsh należy zmodyfikować plik $HOME/.cshrc, np.:
Gdy w systemie uniksowym zainstalowano pakiet xetex, należy skonfigurować system tak, aby XeTEX mógł znaleźć fonty dostarczone w TEX Live. Aby to ułatwić, podczas instalacji pakietu tworzony jest plik konfiguracyjny fontów: TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf.
Aby udostępnić fonty TEX Live dla innych aplikacji systemu (zakładając, że mamy odpowiednie uprawnienia) należy wykonać następujące czynności:
Jeśli nie mamy odpowiednich uprawnień i chcemy jedynie korzystać z fontów dostarczonych w TEX Live podczas uruchamiania XeTEX:
Programy TEX Live wyszukują potrzebne dane w różnych drzewach katalogów, korzystając z pliku texmf.cnf. Plik ten poszukiwany jest w całej serii położeń względem położenia samych programów, ale zasada ta nie działa, gdy uruchamiamy programy bezpośrednio z DVD. Wynika to z faktu, że niektóre pliki są zapisywane na twardym dysku (DVD jest medium tylko do odczytu) i tracą tym samym predefiniowane względne położenie. Wymagane jest zatem zdefiniowanie w środowisku zmiennej TEXMFCNF, która wskaże położenie texmf.cnf. Nadal jest potrzebna modyfikacja zmiennej PATH, jak opisano wyżej.
Na zakończenie instalacji program powinien pokazać komunikat informujący, jaką wartość należy przypisać zmiennej TEXMFCNF. Gdybyśmy to przeoczyli – wartością tą jest $TEXMFSYSVAR/web2c, czyli dla domyślnych ustawień (/usr/local/texlive/2009/texmf-var/web2c) potrzebujemy deklaracji:
lub, dla [t]csh:
Opcja ta jest najbardziej przydatna, gdy chcemy uruchamiać programy TEX Live we własnym systemie, ale brak nam wystarczającego miejsca na dysku. W pełni przenośny sposób korzystania z TEX Live, np. z pendrive USB, opsano w części 5.
Tak zwany „stary” ConTEXt działa jak dotychczas. Nowy ConTEXt „Mark IV” wymaga ręcznego dostrojenia – patrz: http://wiki.contextgarden.net/Running_Mark_IV.
Jak już wspomniano w części 2.3, katalog TEXMFLOCAL (domyślnie /usr/local/texlive/texmf-local lub %SystemDrive%\texlive\texmf-local) przeznaczony jest na lokalne (np. w danej sieci komputerowej) fonty oraz pakiety makr. Z kolei TEXMFHOME (domyślnie $HOME/texmf lub %USERPROFILE%\texmf) jest przeznaczony na prywatne makra i fonty użytkownika. W zamierzeniu oba te katalogi powinny być zachowywane przy instalacji nowszych wersji TEX Live, a ich zawartość ma być automatycznie dostępna w kolejnych wydaniach. Zalecamy zatem, by nie przedefiniowywać TEXMFLOCAL, co pozwoli uniknąć ręcznego konfigurowania w przyszłości.
W obu drzewach katalogów pliki powinny być umieszczane w odpowiednich podkatalogach, zgodnie z zaleceniami TDS (patrz: http://tug.org/tds, także plik texmf/web2c/texmf.cnf). Przykładowo pliki klas lub makr LATEX-a powinny być umieszczane w katalogu TEXMFLOCAL/tex/latex/ lub TEXMFHOME/tex/latex/ (lub ich podkatalogach).
TEXMFLOCAL po zmianie zawartości wymaga odświeżenia bazy danych – poleceniem mktexlsr lub poprzez użycie przycisku „Odśwież bazy danych” w graficznym trybie programu tlmgr.
Jest to, niestety, bardzo skomplikowane zagadnienie, wymagające sporej wiedzy użytkownika. Warto najpierw się dowiedzieć, jakie fonty mamy dostępne bezpłatnie (patrz część 2.7).
Alternatywą jest tu użycie programu XeTEX (patrz częśc 2.4), który korzysta z fontów systemowych bez potrzeby instalowania ich dla programów TEX-owych.
Procedury instalacji i integracji fontów opisano wielkim staraniem np. w: http://tug.org/fonts/fontinstall.html.
Po zainstalowaniu TEX Live warto sprawdzić, czy programy działają poprawnie. Opiszemy tu podstawowe procedury testujące funkcjonowanie systemu w systemach Unix. W Mac OS X i Windows najczęściej użyjemy środowiska graficznego (GUI), reguły jednak będą podobne.
przykład prostszy niż sample2e;
test położenia wydruku na kartce papieru, przydatny do sprawdzenia, czy nasza drukarka nie wprowadza przesunięć;
służy do wydruku tablic fontowych;
jak wyżej, z tym że zamiast LATEX-a trzeba użyć plain TEX;
najbardziej kanoniczny przykład dla plain TEX; na zakończenie przetwarzania uruchomionego poleceniem „tex story”, po ukazaniu się *, należy wpisać „\bye”.
Początkującym użytkownikom polecamy stronę http://tug.org/begin.html oraz podręcznik Petera Flynna Formatting Information, dostępny pod adresem http://www.ctan.org/tex-archive/documentation/beginlatex.
Aby instalacja była kompletna, TEX Live wymaga kilku pomocniczych programów, które nie są dostarczane z systemem Windows. Wiele skryptów napisano w języku Perl, ponadto wiele narzędzi wymaga programu Ghostscript (interpretera języka PostScript) do rasteryzacji bądź konwersji plików. Przydatne są także w wielu wypadkach różne programy do obróbki grafiki. Ponadto posiadanie edytora zorientowanego na środowisko TEX znacznie ułatwi pracę.
Wszystkie te programy dla Windows można dosyć łatwo znaleźć w sieci, ponieważ jednak jest ich spory wybór, postanowiliśmy te najbardziej istotne umieścić w dystrybucji TEX Live:
Poniżej zamieszczono listę miejsc, z których można pobrać programy pomocnicze:
Obszerniejszą listę programów można znaleźć na stronie http://tug.org/interest.html.
TEX Live zaprojektowano tak, by w sieci komputerowej mogło z niego korzystać wielu użytkowników, nawet w różnych systemach operacyjnych. Dzięki standardowej strukturze katalogów nie ma potrzeby konfiguracji i określania konkretnych ścieżek: położenie plików wymaganych przez programy TEX Live jest zdefiniowane jako względne wobec samych programów. Można to zobaczyć w pliku $TEXMFMAIN/web2c/texmf.cnf, który zawiera np. takie wiersze:
W konsekwencji oznacza to, że dla różnych systemów operacyjnych bądź użytkowników wystarczy dodać do ich ścieżek przeszukiwania tylko ścieżkę do programów TEX Live.
Możliwa jest zatem np. instalacja lokalna TEX Live, po czym przeniesienie całej struktury w inne miejsce w sieci.
Użytkownicy Windows mogą pobrać z internetu skrypt w32client (patrz: http://tug.org/texlive/w32client.html), który pozwala dostosować istniejącą instalację TEX Live dla potrzeb sieci (włącznie z utworzeniem skrótów w menu systemowym).
W części 8.1 dowiemy się więcej o konfigurowaniu TEX Live i zasadach przeszukiwania ścieżek.
Opcja „uruchom z DVD”, opisana w rozdziale 3.2.5, jest przydatna, jeśli pracujemy na swoim własnym komputerze. Gdy gościmy na cudzym, prawdopodobnie wolelibyśmy wybrać inną możliwość, bez zbędnych skutków ubocznych.
W głównym katalogu TEX Live DVD (w podkatalogu texlive TEX Collection DVD) znajdziemy skrypt uniksowy tl-portable oraz widowsowy tl-portable.bat, które uruchamiają terminal z ustawieniami odpowiednimi do bezpośredniego dostępu do TEX Live na DVD.
Gdy skrypt ten jest wykonywany po raz pierwszy, generowane są pewne pliki w podkatalogu ~/.tlportable2009, co trwa kilka chwil. W kolejnych wywołaniach skrypt rozpoczyna działanie niemal natychmiast.
Reszta systemu nie jest świadoma istnienia TEX Live. Jeśli chcemy, by nasz edytor mógł współpracować z TEX Live, musimy uruchomić go z innej, równoległej sesji tl-portable.
Można również użyć tl-portable do wywołania TEX Live z pendrive’a (USB). W tym wypadku należy skopiować wszystkie pliki najwyższego poziomu oraz zawartość (co najmniej) katalogów bin, texmf, texmf-dist i tlpkg na pendrive. Zajmie to trochę czasu! Jeśli spod Unix kopiujemy na pendrive USB sformatowany z systemem plików FAT32, należy się upewnić, że dowiązania symboliczne są zastępowane plikami (polecenie cp -L). Używany też będzie katalog texmf-local na pendrive.
Następnie wywołujemy tl-portable z katalogu głównego pendrive’a. W tym wypadku skrypt zauważy, że pendrive można zapisywać i użyje go do zapisania wygenerowanych plików. Zawartość tą można z powrotem zapisać na DVD (np. do przekazania innym użytkownikom).
TEX Live zawiera program o nazwie tlmgr, służący do dalszego zarządzania TEX Live po pierwotnej instalacji. Programy updmap, fmtutil oraz texconfig są nadal dostępne i będą utrzymywane w przyszłości, jednakże obecnie polecanym interfejsem jest tlmgr. Jego możliwości obejmują:
Ostrzeżenie: tlmgr nie został zaprojektowany ani przetestowany z instalacjami, które są wywoływane bezpośrednio z DVD.
tlmgr może być uruchomiony w trybie graficznym za pomocą polecenia:
Rysunek 11 przedstawia zakładkę konfiguracji.
Po zainstalowaniu TEX Live można dokonać aktualizacji wszystkich pakietów:
Poniższy przykład dodaje kolekcję, wraz z nowym „silnikiem” XeTEX, z lokalnego repozytorium instalacji:
Jak widać, tlmgr instaluje wszystkie pakiety zależne, a także przeprowadza wymagane czynności poinstalacyjne, jak aktualizacja bazy danych, budowa plików formatów itp. (w przykładzie wygenerowaliśmy nowy format dla XeTEX).
Aby wyświetlić informację o pakiecie (kolekcji bądź schemacie), należy uruchomić np.:
Uwaga: pełna dokumentacja programu tlmgr dostępna jest pod adresem: http://tug.org/texlive/tlmgr.html lub po uruchomieniu:
TEX Live posiada tylko jeden program instalacyjny, działający zarówno w Unix, jak i w Windows. Stworzenie takiego programu było możliwe dopiero po zaniechaniu wsparcia dla starszych wersji Windows. Obecnie TEX Live można instalować tylko w Windows 2000 i nowszych.
W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynności:
Odpowiednikiem uniksowego katalogu domowego użytkownika ($HOME) jest w Windows katalog określany zmienną %USERPROFILE%. W Windows 2000 i XP jest to zazwyczaj katalog C:\Documents and Settings\<nazwa_użytkownika>, zaś w systemie Windows Vista katalog C:\Users\<nazwa_użytkownika>. W pliku konfiguracyjnym texmf.cnf i bibliotekach Kpathsea znak ~ jest poprawnie rozwijany do odpowiedniej zmiennej zarówno w Windows, jak i w Unix/Linux.
W systemie Windows prawie wszystkie dane konfiguracyjne przechowywane są w tzw. rejestrze. Zawiera on hierachicznie zorganizowane klucze, w ramach kilku kluczy głównych. Najbardziej istotne dla programów instalacyjnych są klucze HKEY_CURRENT_USER oraz HKEY_LOCAL_MACHINE (w skrócie HKCU i HKLM). Część HKCU dotyczy katalogów domowych użytkowników (patrz 7.2), zaś HKLM – podkatalogów systemowych (w katalogu Windows).
Informacje o ustawieniach systemu można czasem uzyskać ze zmiennych środowiska, ale po inne informacje, np. położenie tzw. skrótów, trzeba odwołać się do rejestru. Także zapis zmiennych środowiska na stałe wymaga dostępu do rejestru.
W nowszych wersjach Windows istnieje wyraźne rozróżnienie między użytkownikami „zwykłymi” i administratorami, mającymi pełną swobodę dostępu do całości systemu. Dołożono wielu starań, aby umożliwić instalację TEX Live także osobom bez uprawnień administratora.
Jeśli osoba instalująca jest administratorem, to udostępniona jest opcja instalacji dla wszystkich użytkowników. Użycie jej oznacza, że tworzone są skróty, a także ustawiane są zmienne środowiska dla całego systemu. W przeciwnym wypadku skróty i menu są tworzone jedynie dla konkretnego użytkownika, także definiowane zmienne środowiska dotyczą zwykłych użytkowników.
Bez względu na status użytkownika proponowanym, domyślnym katalogiem głównym instalacji, jest katalog w ramach %SystemDrive%. Program instalacyjny zawsze sprawdza, czy ten katalog jest dostępny do zapisu dla aktualnego użytkownika.
Problem może się pojawić wtedy, gdy użytkownik instalujący TEX Live nie jest administratorem, a programy TEX-owe są już w ścieżce przeszukiwania. Wynikowa ścieżka zawiera wtedy ścieżkę systemową, do której dodano ścieżkę do programów użytkownika. W konsekwencji nie będą znajdowane nowo instalowane programy. Aby obejść ten problem, program instalacyjny tworzy skrót do okna z wierszem poleceń, w którym ścieżka do nowych programów TEX Live ma priorytet. W ten sposób, po uruchomieniu tego skrótu, będzie można korzystać z TEX Live. Dotyczy to także programu TEXworks, o ile go zainstalowaliśmy.
Windows Vista stwarza dodatkowe utrudnienia: nawet jeśli jesteśmy zalogowani jako administrator, musimy dodatkowo żądać uprawnień do uruchomienia programów jako administrator! W rzeczywistości nie ma sensu logowanie jako administrator, zamiast tego wystarczy kliknąć prawym klawiszem myszy na programie (lub skrócie), co pozwala wybrać opcję „Uruchom jako administrator”.
Można również zadać zakres diagnostyki:
Podobnie, aby przekierować wyjście stderr na stdout:
W ten sposób można skierować zarówno stderr, jak i stdout do tego samego pliku.
kpsewhich -expand-path $SELFAUTOPARENT | c:/TeX |
kpsewhich -expand-path $TEXMF | c:/TeX/texmf.... |
kpsewhich -expand-var $TEXINPUTS | .;c:/TeX/texmf/tex// |
Jeśli w otoczeniu systemowym są zdefiniowane zmienne związane z TEX-em, należy je usunąć, mają bowiem pierwszeństwo przed tymi, które określono w pliku texmf.cnf.
kpsewhich cmr10.tfm | c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm |
kpsewhich latex.fmt | c:/TeX/texmf-var/web2c/pdftex/latex.fmt |
Jeśli podczas sprawdzania nie znaleziono odstępstw, to TEX i programy towarzyszące powinny działać. Jeśli tak nie jest, to należy poeksperymentować z opcją -debug=n programu kpsewhich i zweryfikować wszystkie uzyskane wartości. Po zidentyfikowaniu problemu warto go zgłosić.
Web2C to zestaw programów związanych z TEX-em, tj. sam TEX, Metafont, MetaPost, BibTeX itd. Stanowią one rdzeń dystrybucji TEX Live.
Oryginalna implementacja wykonana została przez Tomasa Rokickiego, który w roku 1987 stworzył pierwszy system TEX-to-C, adaptując pliki wymiany (change files) pod Unix-em (pierwotnie były one dziełem Howarda Trickey’a oraz Pavela Curtisa). W czasie, gdy Tim Morgan zajmował się systemem, jego nazwa została zmieniona na Web-to-C. W 1990 roku prace nad projektem przejął Karl Berry wraz z dziesiątkami współpracowników, a w roku 1997 pałeczkę przejął Olaf Weber.
Web2C działa na platformach systemowych, takich jak Unix (w tym Mac OS X), Windows 9x/NT/2K/XP i innych. System wykorzystuje oryginalne źródła TEX-owe autorstwa Donalda Knutha oraz inne programy napisane w WEB i tłumaczy je na kod źródłowy C. Ponadto system udostępnia spory zestaw makr i funkcji stworzonych dla zwiększenia funkcjonalności oryginalnych zasobów oprogramowania związanego z TEX-em. Podstawowymi składnikami systemu są:
tworzenie spisów bibliograficznych;
modyfikowanie pliku DVI;
konwersja DVI do MPX (rysunki MetaPost-owe);
konwersja DVI na plik tekstowy (ASCII);
zamiana fontu GF na plik DVI;
zamiana fontu w formacie GF na font spakowany (PK);
zamiana fontu GF na plik tekstowy (ASCII);
generowanie fontów bitmapowych w formacie GF;
skład plików źródłowych Metafont-a;
tworzenie rysunków oraz diagramów technicznych;
tworzenie wzorców przenoszenia wyrazów;
zamiana fontów w formacie PK na fonty GF;
zamiana fontu PK na plik tekstowy (ASCII);
konwersja tekstowej listy właściwości do TFM;
wyświetlanie WEB-owych plików pool;
konwersja WEB do języka Pascal;
skład tekstu;
konwersja TFM do tekstowej listy właściwości (PL);
konwersja fontów wirtualnych do wirtualnej listy właściwości (VPL);
konwersja wirtualnej listy właściwości do fontów wirtualnych;
konwersja WEB do TEX-a.
Dokładny opis funkcji oraz składni tych programów zawarty jest w dokumentacji poszczególnych pakietów samego Web2C. Do optymalnego korzystania z instalacji Web2C przyda się znajomość kilku zasad rządzących całą rodziną programów.
Wszystkie programy obsługują standardowe opcje GNU:
Do lokalizowania plików programy oparte na Web2C używają biblioteki do przeszukiwania ścieżek zwanej Kpathsea. Dla optymalizacji przeszukiwania TEX-owego drzewa podkatalogów biblioteka ta używa kombinacji zmiennych środowiskowych oraz kilku plików konfiguracyjnych. Web2C potrafi obsługiwać jednocześnie więcej niż jedno drzewo podkatalogów, co jest użyteczne w wypadku, gdy chce się przechowywać standardową dystrybucję TEX-a jak i lokalne rozszerzenia w dwóch różnych drzewach katalogów. Aby przyspieszyć poszukiwanie plików, katalog główny każdego drzewa ma swój plik ls-R, zawierający pozycje określające nazwę i względną ścieżkę dla wszystkich plików zawartych w tym katalogu.
Opiszemy najpierw ogólny mechanizm przeszukiwania ścieżek przez bibliotekę Kpathsea.
Tym, co nazywamy ścieżką przeszukiwania, jest rozdzielona dwukropkami lub średnikami lista elementów ścieżki, które zasadniczo są nazwami podkatalogów. Ścieżka przeszukiwania może pochodzić z (kombinacji) wielu źródeł. Przykładowo, aby odnaleźć plik „my-file” w ścieżce „.:/dir”, Kpathsea sprawdza istnienie danego elementu ścieżki w następującej kolejności: najpierw ./my-file, potem /dir/my-file, zwracając pierwszy odnaleziony (lub możliwie wszystkie).
Aby optymalnie zaadaptować się do konwencji wszystkich systemów operacyjnych, na systemach nieunixowych Kpathsea może używać jako separatorów nazw ścieżek znaków innych niż dwukropek („:”) oraz „ciach” („/”).
W celu sprawdzenia konkretnego elementu p ścieżki, Kpathsea najpierw sprawdza, czy zbudowana wcześniej baza danych (patrz „Baza nazw plików” na stronie 68) odnosi sie do p, tj. czy baza danych znajduje się w podkatalogu z prefiksem p. Jeżeli tak, to specyfikacja ścieżki jest porównywana z zawartością bazy.
Jeśli baza danych nie istnieje bądź nie odnosi się do danego elementu ścieżki albo też nie zawiera elementów zgodnych, to przeszukiwany jest system plików (jeżeli nie zostało to zabronione przez specyfikację rozpoczynającą się od „!!” oraz jeżeli poszukiwany plik musi istnieć). Kpathsea konstruuje listę podkatalogów, które korespondują z danym elementem ścieżki, a następnie sprawdza w każdym z nich, czy nie ma tam poszukiwanego pliku.
Warunek mówiący, że „plik musi istnieć” dotyczy np. plików „.vf” i plików dołączanych TEX-owym poleceniem \openin. Takiego pliku może nie być (np. cmr10.vf), błędne byłoby zatem poszukiwanie go na dysku. Jeśli więc zapomnisz o aktualizacji ls-R po instalacji nowego pliku „.vf”, to nie zostanie on odnaleziony. Każdy element ścieżki sprawdzany jest w następującej kolejności: najpierw w bazie danych, potem na dysku. Jeżeli plik się znajdzie, to przeszukiwanie zostanie zatrzymane i zwrócony zostanie wynik.
Ponieważ najprostszym i najbardziej powszechnym elementem ścieżki jest nazwa katalogu, Kpathsea korzysta z dodatkowych możliwości w przeszukiwaniu ścieżek: wielowarstwowych wartości domyślnych, zmiennych środowiskowych, wartości pliku konfiguracyjnego, lokalnych podkatalogów użytkownika oraz rekursywnego przeszukiwania podkatalogów. Można więc powiedzieć, że Kpathsea rozwija element ścieżki, tzn. transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogów. Jest to opisane w kolejnych akapitach, w kolejności w jakiej to zachodzi.
Trzeba zauważyć, że jeżeli nazwa poszukiwanego pliku jest absolutna lub jawnie względna, tj. zaczyna się od „/” lub „./” lub „../”, to Kpathsea ogranicza się do sprawdzenia, czy ten plik istnieje.
Nazwa przeszukiwanej ścieżki może pochodzić z wielu źródeł. Oto kolejność, w jakiej Kpathsea ich używa:
Każdą z tych wartości dla danej ścieżki przeszukiwania można zobaczyć, używając opcji diagnostyki błędów (patrz „Diagnostyka błędów” na stronie 71).
Kpathsea szuka ścieżek przeszukiwania i innych definicji w plikach konfiguracyjnych o nazwach texmf.cnf. Ścieżka przeszukiwania używana do znajdowania tych plików określana jest przez zmienną TEXMFCNF (domyślnie taki plik znajduje się w podkatalogu texmf/web2c). Czytane będą wszystkie pliki texmf.cnf w ścieżce przeszukiwania, a definicje we wcześniejszych plikach zastąpią te w późniejszych. Tak więc w ścieżce .:$TEXMF wartości pochodzące z ./texmf.cnf zastąpią te z $TEXMF/texmf.cnf.
Dociekliwy czytelnik może być zainteresowany sposobem, w jaki programy znajdują plik texmf.cnf, skoro nie ma konieczności deklarowania specyficznej zmiennej środowiskowej systemu. Otóż położenie domyślne jest wkompilowane w programy jako względne do ich położenia (określanego, jak wiemy, w ścieżce specyfikowanej przez $PATH): ../../texmf/web2c/ bądź ../texmf/web2c/. Jeśli jawnie deklarujemy zmienną TEXMFCNF, wymagane jest podanie bezwzględnej ścieżki.
Czytając zamieszczony poniżej opis formatu pliku texmf.cnf, warto przeglądać jego zawartość. Położenie aktywnego pliku znajdziemy za pomocą polecenia kpsewhich texmf.cnf.
Oto fragment pliku konfiguracyjnego ilustrujący większość opisanych powyżej reguł notacji:
Kpathsea rozpoznaje w ścieżkach przeszukiwania pewne specjalne znaki oraz konstrukcje, podobne do tych, które są dostępne w powłokach systemów typu Unix. Jako ogólny przykład: złożona ścieżka ~$USER/{foo,bar}//baz rozwija się do wszystkich podkatalogów pod katalogami foo i bar w katalogu głównym $USER, które zawierają katalog lub plik baz. Rozwinięcia te opisane są w poniższych podrozdziałach.
Jeżeli ścieżka przeszukiwania największego uprzywilejowania (patrz „Źródła ścieżek” na stronie 63) zawiera dodatkowy dwukropek (np. na początku, na końcu lub podwójny), to Kpathsea wstawia w tym miejscu następną zdefiniowaną w hierarchii uprzywilejowania ścieżkę przeszukiwania. Jeżeli ta wstawiona ścieżka ma dodatkowy dwukropek, to dzieje się dalej to samo. Przykładowo, jeżeli ustawić zmienną środowiskową
Ponieważ nieużytecznym byłoby wstawiać wartość domyślną w więcej niż jednym miejscu, Kpathsea zmienia tylko jeden dodatkowy „:” i pozostawia inne bez zmian. Kpathsea najpierw szuka dwukropków na początku linii, potem na końcu, a następnie podwójnych.
Użyteczna jest możliwość rozwijania nawiasów, co oznacza, że np. v{a,b}w rozwija się do vaw:vbw. Nawiasy można też zagnieżdżać. Funkcji tej można użyć do zaimplementowania różnych hierarchii TEX-owych przez przypisanie listy nawiasów do $TEXMF. Przykładowo, w pliku texmf.cnf można znaleźć następującą definicję:
Używając jej, można następnie napisać coś w rodzaju:
co oznacza, że po szukaniu w katalogu bieżącym będą przeszukane kolejno $TEXMFHOME/tex, $TEXMFLOCAL/tex, $TEXMFVAR/tex i $TEXMFMAIN/tex (wszystkie wraz z katalogami niższego poziomu; dwie ostatnie ścieżki wyłącznie na podstawie zawartości pliku ls-R). Jest to wygodny sposób na uruchamianie dwóch równoległych struktur TEX-owych, jednej „zamrożonej” (np. na CD), a drugiej ciągle uaktualnianej nowo pojawiającymi się wersjami. Używając zmiennej $TEXMF we wszystkich definicjach daje pewność, że najpierw przeszukiwane jest drzewo uaktualnione.
Dwa lub więcej kolejnych „ciachów” („/”) w elemencie ścieżki, występujących po nazwie katalogu d, zastępowanych jest przez wszystkie podkatalogi d, najpierw podkatalogi znajdujące się bezpośrednio pod d, potem te pod powyższymi i tak dalej. Na każdym etapie kolejność, w jakiej przeszukiwane są katalogi, jest nieokreślona.
Jeśli wyszczególni się człony nazwy pliku po „//”, to uwzględnione zostaną tylko te podkatalogi, które zawierają powyższe człony. Na przykład „/a//b” rozwija się do katalogów /a/1/b, /a/2/b, /a/1/1/b itd., ale nie do /a/b/c czy /a/1.
Możliwe jest wielokrotne użycie „//” w ścieżce, jednakże „//” występujące na początku ścieżki nie jest brane pod uwagę.
Poniższa lista podsumowuje znaczenie znaków specjalnych w plikach konfiguracyjnych.
Podczas przeszukiwania Kpathsea stara się zminimalizować dostęp do dysku. Niemniej, w przypadku instalacji ze zbyt dużą liczbą katalogów przeglądanie każdego dopuszczalnego katalogu w poszukiwaniu pliku może zabierać sporo czasu (ma to miejsce zwłaszcza, jeżeli przeszukać trzeba setki katalogów z fontami). Dlatego też Kpathsea może używać zewnętrznego pliku z „bazą danych” o nazwie ls-R, który zawiera przypisania plików do katalogów. Unika się w ten sposób czasochłonnego przeszukiwania dysku.
Drugi plik z bazą danych – aliases – pozwala na nadawanie dodatkowych nazw plikom zawartym w ls-R. Może to być pomocne do adaptacji do DOS-owej konwencji „8.3” nazewnictwa plików w plikach źródłowych.
Jak wspomniano, plik zawierający główną bazę nazw plików musi nosić nazwę ls-R. W katalogu podstawowym każdej hierarchii TEX-owej (domyślnie $TEXMF), którą chcemy włączyć w mechanizm przeszukiwania, umieszczać można po jednym pliku ls-R; w większości przypadków istnieje tylko jedna hierarchia. Kpathsea szuka pliku ls-R w ścieżce TEXMFDBS.
Najlepszym sposobem stworzenia i utrzymywania pliku ls-R jest uruchomienie skryptu mktexlsr, będącego składnikiem dystrybucji. Jest on wywoływany przez różne skrypty typu „mktex...”. W zasadzie skrypt ten jedynie wykonuje polecenie
Jeśli pliku nie ma w bazie danych, Kpathsea domyślnie przechodzi do przeszukiwania dysku. Jeżeli jednak dany element ścieżki zaczyna sie od „!!”, to w poszukiwaniu tego elementu sprawdzona zostanie jedynie baza danych, a nigdy dysk.
Przeszukiwanie ścieżek przez program kpsewhich jest niezależne od jakiejkolwiek aplikacji. Może on być przydatny jako rodzaj programu find, za pomocą którego lokalizować można pliki w hierarchiach TEX-owych (jest on używany intensywnie w skryptach „mktex...” tej dystrybucji).
Kpathsea traktuje każdy argument niebędący parametrem jako nazwę pliku i zwraca pierwszą odnalezioną nazwę. Nie ma parametru nakazującego zwracanie wszystkich nazw plików o określonej nazwie (w tym celu można wykorzystać Unix-owy program „find”).
Oto ważniejsze parametry.
Ustaw rozdzielczość na „num”; ma to tylko wpływ na przeszukiwanie fontów „gf” i „pk”. Dla
zgodności z dvips parametr „-D” działa identycznie. Domyślną wartością jest 600.
Ustawienie formatu (typu pliku) przeszukiwania na „nazwa”. Domyślnie format odgadywany jest
z nazwy pliku. Dla formatów, które nie mają przydzielonego jednoznacznego rozszerzenia, takich
jak niektóre pliki MetaPost-owe czy pliki konfiguracyjne dvips-a, należy wyszczególnić nazwę,
których listę wyświetli uruchomienie kpsewhich --help.
Ustaw nazwę trybu na „napis”; dotyczy to jedynie szukania fontów „gf” oraz „pk”. Brakuje
wartości domyślnej – odnaleziony zostanie dowolny wyszczególniony tryb.
Zrób wszystko co możliwe, aby odnaleźć pliki, włączając w to przede wszystkim przeszukanie
dysku. Domyślnie, w celu zwiększeniu efektywności działania, sprawdzana jest tylko baza ls-R.
Szukaj w ścieżce „napis” (rozdzielonej, jak zwykle, dwukropkami), zamiast zgadywać ścieżkę
przeszukiwania z nazwy pliku. „//” i wszystkie zwykłe rozszerzenia są możliwe. Parametry
„--path” oraz „--format” wzajemnie się wykluczają.
Ustaw nazwę programu na „nazwa”. Może to mieć wpływ na ścieżkę przeszukiwania poprzez
„.program” w plikach konfiguracyjnych. Ustawieniem domyślnym jest „kpsewhich”.
Pokazuje ścieżkę używaną do poszukiwania plików typu „nazwa”. Użyć można zarówno
rozszerzenia („.pk”, „.vf”, etc.), jak i nazwy pliku, tak jak w wypadku parametru „--format”.
ustawia parametry wykrywania błędów na „num”.
Przyjrzyjmy sie teraz, jak działa Kpathsea.
(ostatni plik to BibTeX-owa baza bibliograficzna dla artykułów TUGBoat).
Przeanalizujmy teraz pliki nagłówkowe i konfiguracyjne programu dvips. Najpierw szukamy pliku PostScript-owego prologu tex.pro, wykorzystywanego dla potrzeb TEX-a. Drugi przykład pokazuje poszukiwanie pliku konfiguracyjnego config.ps, zaś trzeci – szukanie pliku mapy czcionek PostScriptowych psfonts.map (począwszy od obecnej edycji, pliki .map i .enc mają własne reguły przeszukiwania ścieżek i zmienione położenie w ramach drzew texmf). Ponieważ rozszerzenie „.ps” nie jest jednoznaczne, musimy wyraźnie zaznaczyć, jaki typ jest wymagany dla pliku config.ps („dvips config”).
Następnie przyjrzyjmy się bliżej plikom pomocniczym fontów Times z kolekcji URW. W standardzie nazewnictwa fontów mają one prefiks „utm”. Pierwszy plik, którego szukamy, to plik konfiguracyjny, zawierający nazwę pliku z przemapowaniem fontów:
Powyższe przykłady pokazują, jak łatwo można znajdować lokalizację danego pliku. Jest to ważne zwłaszcza wówczas, gdy istnieje podejrzenie, że gdzieś zawieruszyła się błędna wersja jakiegoś pliku; kpsewhich pokaże tylko pierwszy napotkany plik.
Czasami niezbędne są informacje o tym, jak program sobie radzi z odniesieniami do plików. Aby dało się je uzyskać w wygodny sposób, Kpathsea oferuje różne poziomy diagnostyki błędów:
Wartość -1 ustawia wszystkie powyższe opcje – w praktyce, poszukując przyczyny błędów, prawdopodobnie będziesz zawsze używać tych poziomów.
Podobnie w przypadku programu dvips, ustawiając kombinację przełączników wykrywania błędów, można dokładnie śledzić, skąd pochodzą pliki. W sytuacji gdy plik nie zostanie odnaleziony, widać, w których katalogach program szukał danego pliku, dzięki czemu można się zorientować, w czym problem.
Ogólnie mówiąc, ponieważ programy odwołują się wewnętrznie do biblioteki Kpathsea, opcje wykrywania błędów można wybrać przy użyciu zmiennej środowiskowej KPATHSEA_DEBUG, ustawiając ją na opisaną powyżej wartość (kombinację wartości).
Uwaga dla użytkowników Windows: w systemie tym niełatwo przekierować komunikaty programu do pliku. Do celów diagnostycznych można chwilowo ustawić zmienne (w oknie CMD):
Rozważmy na przykład mały LATEX-owy plik źródłowy hello-world.tex, który zawiera:
Ten mały plik korzysta jedynie z fontu cmr10. Przyjrzyjmy się, jak dvips przygotowuje plik PostScript-owy (chcemy użyć wersji Type1 fontu Computer Modern, stąd opcja -Pcms).
W tym miejscu dvips zgłasza się użytkownikowi:
Inną użyteczną cechą Web2C jest możliwość ustalania wielu parametrów określających wielkość pamięci za pomocą pliku texmf.cnf. Ustawienia wszystkich parametrów znajdują się w części trzeciej pliku. Najważniejszymi zmiennymi są:
Oczywiście powyższa możliwość nie zastąpi prawdziwej, dynamicznej alokacji pamięci. Jest to jednak niezwykle trudne do zaimplementowania w obecnej wersji TEX-a i dlatego powyższe parametry stanowią praktyczny kompromis, pozwalając na pewną elastyczność.
Należy tu jednak nadmienić, iż nie wszystkie programy korzystają z tych zmiennych. Np. LuaTEX posiada nowoczesną, w pełni dynamiczną alokację pamięci, a zatem powyższe zmienne są w tym przypadku po prostu ignorowane.
Jeżeli mamy do czynienia z platformą, dla której nie są dostarczone binaria, trzeba będzie skompilować TEX-a oraz towarzyszące mu programy. Nie jest to takie trudne, jak się wydaje. Wszystko czego potrzebujemy, znajduje się na DVD w katalogu source.
Najpierw należy zainstalować główne drzewo plików TEX-owych z CD TEX Live (najlepiej wykonać instalację podstawową, bez wybierania binariów systemowych).
Do skompilowania całego TEX-a i jego programów pomocniczych potrzeba około 100 megabajtów wolnego miejsca na dysku. Potrzebny jest także kompilator ANSI C, oprogramowanie make, skaner leksykalny oraz generator parserów. Programy użytkowe GNU (gcc, GNU make, m4, flex, bison) są najlepiej przetestowanymi na różnych platformach. Poprawnie powinny pracować gcc-2.7.*, flex-2.4.7 i GNU make-3.72.1 lub nowszy. Można też korzystać z innych kompilatorów C i programów make, wymaga to jednak dobrego zrozumienia zasad tworzenia programów uniksowych, aby poradzić sobie z ewentualnymi problemami.
Należy rozpakować źródła ze skompresowanego pliku tar z katalogu source na twardy dysk, a potem przejść do katalogu, do którego zostały one skopiowane. Teraz trzeba się zdecydować, gdzie będzie główny katalog instalacji, np. /usr/TeX lub /usr/local/TeX. Naturalnie, należy użyć tej samej lokalizacji, która została użyta podczas instalacji głównego drzewa TEX-owego.
Uruchomić configure z linii poleceń:
Katalog „prefix” to ten, w którym zainstalowane zostało główne drzewo TEX-owe. Zostanie użyty następujący układ katalogów ($TEXDIR oznacza wybrany powyżej katalog):
$TEXDIR/man | strony manuala uniksowego, |
$TEXDIR/share/texmf | główne drzewo TEX-owe, zawierające makra itp., |
$TEXDIR/info | podręczniki w formacie GNU info, |
$TEXDIR/bin/$PLATFORM | binaria |
Można uniknąć stosowania „share/” przed katalogiem texmf, ponieważ $TEXDIR/share/texmf i $TEXDIR/texmf są wykrywane automatycznie przez skrypt configure. W razie wybrania innego katalogu, trzeba ten katalog wyszczególnić parametrem --datadir skryptu configure.
Jeżeli nie chcemy używać katalogu $PLATFORM (a więc umieścić binaria bezpośrednio w $TEXDIR/bin), to w wywołaniu skryptu configure należy użyć parametru --disable-multiplatform.
Więcej dostępnych parametrów (np. pomijanie pakietów opcjonalnych, takich jak Ω) można zobaczyć, uruchamiając ./configure --help.
Po upewnieniu się, że nie jest ustawiona zmienna powłoki noclobber, należy napisać:
Może się też przydać zapisanie całego procesu kompilacji w pliku .log:
Należy uaktualnić zmienną PATH o nazwę katalogu zawierającego właśnie zainstalowane binaria (np. /usr/local/TeX/bin/mips-sgi-irix6.3); podobnie postąpić trzeba z MANPATH i INFOPATH i dołączyć do nich odpowiednie nazwy podkatalogów, tj. $TEXDIR/man oraz $TEXDIR/info. Patrz część 3.4 (str. 40).
Jeśli zechcesz udostępnić skompilowane przez siebie programy, skontaktuj się z nami (tex-live@tug.org); chętnie umieścimy je na stronie TEX Live.
TEX Live jest wspólnym dziełem prawie wszystkich grup TEX-owych. Niniejsza edycja TEX Live została opracowana pod kierownictwem Karla Berry’ego, przy głównym współudziale:
Binaria dla różnych platform skompilowali: Peter Breitenlohner (x86_64-linux), Karl Berry (i386-linux), Ken Brown (i386-cygwin), Akira Kakuto (win32), Dick Koch (universal-darwin), Norbert Preining (alpha-linux), Jukka Salmi (i386-netbsd), Thomas Schmitz (powerpc-linux), Apostolos Syropoulos (i386-solaris), Vladimir Volovich (powerpc-aix, sparc-solaris), Olaf Weber (mips-irix). Informacje na temat procesu budowy TEX Live można znaleźć na stonie: http://tug.org/texlive/build.html.
Aktualizacje i tłumaczenia dokumentacji wykonali: Siep Kroonenberg i Karl Berry (angielski), Manuel Pégourié-Gonnard (francuski), Klaus Höppner (niemiecki), Jjgod Jiang, Jinsong Zhao, Yue Wang, & Helin Gai (chiński), Petr Sojka i Jan Busa (czeski/słowacki), Boris Veytsman (rosyjski), Staszek Wawrykiewicz (polski). Na stronie http://tug.org/texlive/doc.html będą umieszczane ewentualne aktualizacje tej dokumentacji.
Oczywiście, najważniejsze podziękowania należą się Donaldowi Knuthowi za stworzenie systemu TEX i ofiarowanie go nam wszystkim.
Dystrybucja TEX Live jest wspólnym przedsięwzięciem grup Użytkowników Systemu TEX z Niemiec, Holandii, Wielkiej Brytanii, Francji, Czech, Słowacji, Polski, Indii i Rosji oraz grupy międzynarodowej TUG (TEX Users Group). Dyskusje nad projektem rozpoczęły się pod koniec 1993 roku, kiedy holenderska Grupa Użytkowników TEX-a rozpoczęła prace nad swoim 4AllTEX CD dla użytkowników MS-DOS. W tym też czasie pojawiły się nadzieje na opracowanie jednego CD dla wszystkich systemów. Projekt ten był wprawdzie zbyt ambitny, zrodził jednak nie tylko bardzo popularny i uwieńczony dużym powodzeniem projekt 4AllTEX CD, lecz również spowodował powstanie Grupy Roboczej TUG ds. Standardu Katalogów TEX-owych (TEX Directory Structure), określającego, w jaki sposób tworzyć zgodne i łatwe do zarządzania zestawy pakietów TEX-owych. Końcowy raport TDS został opublikowany w grudniowym numerze TUGboat-a, i jasnym się stało, że jednym z oczekiwanych wyników wprowadzenia tego standardu mogłaby być modelowa struktura na płytce CD. Wydana wówczas płytka CD była bezpośrednim rezultatem rozważań i zaleceń Grupy Roboczej ds. TDS. Jasne także było, że sukces 4AllTEX CD pokazał, że użytkownicy Unixa także wiele by zyskali, mogąc korzystać z podobnie łatwego w instalacji/pielęgnacji i użytkowaniu systemu. Było to jednym z celów projektu TEX Live.
Projekt przygotowania płytki CD, opartej na standardzie TDS i zorientowanej na systemy uniksowe, rozpoczął się jesienią 1995 roku. Szybko zdecydowaliśmy się na wykorzystanie teTEX-a autorstwa Thomasa Essera, ponieważ działał na wielu platformach i został zaprojektowany z myślą o przenośności pomiędzy różnymi systemami plików. Thomas zgodził się pomóc i prace rozpoczęły się na dobre na początku 1996 roku. Pierwsze wydanie ukazało się w maju 1996 roku. Na początku 1997 roku Karl Berry udostępnił nową, istotnie zmienioną wersję swojego pakietu Web2C, zawierającą prawie wszystkie funkcje wprowadzone do teTEX-a przez Thomasa Essera. W związku z tym zdecydowaliśmy się oprzeć drugie wydanie CD na standardowej bibliotece Web2C, z dodaniem skryptu texconfig z pakietu teTEX. Trzecie wydanie CD było oparte na Web2C wersji 7.2, przygotowanej przez Olafa Webera. W tym samym czasie została przygotowana nowa wersja teTEX-a i TEX Live udostępniał prawie wszystkie jego nowe funkcje. Czwarta edycja była przygotowana podobnie, z użyciem nowej wersji teTEX-a i nowej wersji Web2C (7.3). Wtedy to też zapoczątkowano kompletną dystrybucję dla Windows.
Edycja piąta (marzec 2000) zawierała wiele poprawek i uzupełnień; zaktualizowano setki pakietów. Szczegółową zawartość pakietów zapisano w plikach XML. Główną zmianą w TEX Live 5 było usunięcie programów, które nie miały statusu public domain. Zawartość całej płytki powinna odpowiadać ustaleniom Debian Free Software Guidelines (http://www.debian.org/intro/free). Dołożyliśmy wszelkich starań, aby sprawdzić warunki licencyjne pakietów, nadal jednak bardzo prosimy o zgłaszanie zauważonych pomyłek.
Szósta edycja (lipiec 2001) zawierała aktualizacje całego materiału. Główną zmianą było wprowadzenie nowej koncepcji programów instalacyjnych – użytkownik miał odtąd możliwość dokładniejszego wyboru potrzebnych zestawów i pakietów. Zestawy dotyczące obsługi poszczególnych języków zostały całkowicie zreorganizowane, dzięki czemu wybór jednego z nich nie tylko instalował potrzebne makra i fonty, ale też przygotowywał odpowiedni plik language.dat.
TEX Live 7 (rok 2002) zawierał po raz pierwszy oprogramowanie dla Mac OS X i – jak zwykle – aktualizację wszelkich programów i pakietów. Ważnym zadaniem, które wykonano, było ujednolicenie plików źródłowych programów z dystrybucją teTEX. W programach instalacyjnych wprowadzono możliwość wyboru bardziej ogólnych, predefiniowanych zestawów pakietów (m.in. dla użytkowników francuskojęzycznych oraz polskich). Nowością było także wprowadzenie procedury aktualizacji map fontowych dla Dvips i PDFTeX podczas instalacji oraz doinstalowywania pakietów fontowych.
W 2003 r., wraz z napływem aktualizacji i dodatkowych nowych pakietów, okazało się, że TEX Live nie mieści się na pojedynczym CD. Zmuszeni byliśmy podzielić TEX Live na trzy dystrybucje, które wydano na DVD i dwóch płytkach CD. Ponadto:
Jak w każdej kolejnej wersji, w 2004 roku uaktualniono wiele pakietów i programów. Poniżej wymieniamy najbardziej istotne zmiany.
Pliki .map (map fontowych) są odtąd wyszukiwane w podkatalogach fonts/map (w każdym drzewie texmf), zgodnie ze ścieżką określoną przez zmienną TEXFONTMAPS. Analogicznie, pliki .enc (przekodowań fontów) są odtąd wyszukiwane w podkatalogach fonts/enc, zgodnie ze ścieżką określoną przez zmienną ENCFONTS. O niewłaściwie umieszczonych plikach tego typu zostaniemy ostrzeżeni podczas uruchomienia programu updmap. Zmiany te wprowadzono w celu uporządkowania struktury katalogów: wszystkie pliki dotyczące fontów znajdują się odtąd w ramach jednego podkatalogu fonts/.
Metody radzenia sobie z sytuacjami związanymi z przejściem na nowy układ katalogów omawiał artykuł http://tug.org/texlive/mapenc.html.
Oznacza to także, co warto podkreślić, że zalecane jest odtąd użycie pakietu ifpdf (który działa zarówno z plain, jak i LATEX) lub analogicznych makr. Zwykłe sprawdzanie czy zdefiniowano \pdfoutput bądź kilka innych poleceń pierwotnych może nie wystarczyć do rozstrzygnięcia czy nie jest generowany plik PDF. W 2004 roku podjęliśmy wysiłek by zachować, najlepiej jak to możliwe, kompatybilność z dotychczasowymi przyzwyczajeniami użytkowników. Brano wówczas pod uwagę, że \pdfoutput może być zdefiniowany nawet wtedy, gdy generowany jest plik DVI.
Więcej informacji zawarto w podręczniku Web2C: texmf/doc/web2c.
Kolejna edycja przyniosła, jak zwykle, mnóstwo aktualizacji pakietów i programów. Struktura dystrybucji ustabilizowała się, niemniej pojawiło się nieco zmian w konfiguracji:
Największą nowością edycji lat 2006 i 2007 był XeTEX, w postaci programów xetex i xelatex; patrz texmf-dist/doc/xetex/XeTeX-reference.pdf lub http://scripts.sil.org/xetex.
W istotny sposób został zaktualizowany MetaPost, zaplanowano także jego dalszy rozwój (http://tug.org/metapost/articles); to samo dotyczy pdfTEX-a (http://tug.org/applications/pdftex).
Pliki formatów (pdf)TeX-a (.fmt) oraz analogiczne dla MetaPosta i MetaFonta są od tej edycji zapisywane w podkatalogach texmf/web2c, choć sam ten katalog jest nadal przeszukiwany. Podkatalogi te mają nazwę zgodną z zastosowanym podczas generowania „silnikiem”, np. tex, pdftex lub xetex. Zmiana ta nie powinna być zauważalna w typowym użyciu.
Program tex (plain) od tej edycji już nie analizował pierwszego wiersza rozpoczynającego się znakami %&, aby ustalić jaki ma wczytać format. Pozostał zatem czysty, Knuthowy TEX. LATEX i wszystkie pozostałe formaty nadal analizują pierwszy wiersz z %&.
Oczywiście, jak zwykle, w okresie od poprzedniego wydania opracowano setki innych aktualizacji pakietów i programów. Kolejne aktualizacje można znaleźć tradycyjnie na CTAN (http://www.ctan.org).
Drzewo źródłowe TEX Live jest odtąd przechowywane w Subversion. Przeglądanie umożliwia standardowy interfejs www, a jego adres zamieszczono na stronie http://tug.org.pl/texlive. Mimo iż nie widać efektów tej zmiany w końcowej dystrybucji, mamy nadzieję, że w nadchodzących latach będzie to stabilne repozytorium oprogramowania dla rozwoju TEX Live.
W maju 2006 r. Thomas Esser ogłosił, że zaprzestaje aktualizowania dystrybucji teTEX (http://tug.org/tetex). Spowodowało to znaczny wzrost zainteresowanie TEX Live, szczególnie wśród dystrybutorów GNU/Linuksa. (W TEX Live zdefiniowano w przybliżeniu równoważny, nowy schemat instalacyjny pod nazwą tetex.) Mamy nadzieję, że w przyszłości doprowadzi to do takich ulepszeń w otoczeniu TEX-owym, na których skorzystają wszyscy.
W 2008 roku cała infrastruktura TEX Live została przeprojektowana i przeprogramowana. Informacja dotycząca instalacji jest przechowywana obecnie w zwykłym pliku tekstowym tlpkg/texlive.tlpdb.
Po zainstalowaniu TEX Live wreszcie jest możliwa jego aktualizacja z internetu, podobnie jak od paru lat umożliwia to dystrybucja MiKTEX. Zamierzamy regularnie aktualizować pakiety, w miarę jak będą się pojawiać na serwerach CTAN.
W tym wydaniu pojawił się nowy „silnik”, LuaTEX (http://luatex.org). Prócz nowych, elastycznych możliwości dotyczących składu, udostępnia on doskonały język skryptowy do zastosowania zarówno w dokumentach TEX-owych, jak i poza nimi.
Obsługa dla Windows i platform opartych na Unix została obecnie znacznie bardziej zunifikowana. W szczególności większość skryptów w Perlu i Lua dostępna jest teraz także dla Windows (zastosowano „wewnętrzny” Perl, dostarczany wraz z TEX Live).
Pojawił się nowy skrypt tlmgr (patrz część 6), który staje się głównym narzędziem do zarządzania TEX Live po jego instalacji. Umożliwia on aktualizację pakietów wraz z niezbędnymi wtedy czynnościami, jak regenerowanie formatów, aktualizacja map fontowych itp.
Wraz z pojawieniem się tlmgr niektóre funkcje texconfig zostały zablokowane (edycja plików konfiguracyjnych formatów i wzorców przenoszenia).
Program xindy do tworzenia skorowidzów (http://xindy.sourceforge.net/) jest obecnie dostępny dla większości platform.
Narzędzie kpsewhich może obecnie raportować wszystkie wyniki przeszukiwania danego pliku (parametr –all), jak również ograniczyć wyszukiwanie do jednego katalogu (parametr –subdir).
Program dvipdfmx posiada obecnie funkcję extractbb uzyskania informacji o prostokącie ograniczającym (bounding box); jest to jedna z ostatnich cech przejętych od dawniej używanego programu dvipdfm (który jest nadal dostępny).
Usunięto aliasy fontów Times-Roman, Helvetica, itd. Różne pakiety korzystały z nich w nieoczekiwany sposób (np. spodziewając się, że fonty te będą miały różne kodowanie). Nie ma obecnie dobrego sposobu na rozwiązanie tych sprzeczności.
Usunięto format platex, by uniknąć konfliktu nazwy z używanym od wielu lat japońskim pakietem platex; pakiet polski (czyli dawny platex) jest obecnie wystarczającym sposobem na polonizację dla LATEX-a.
Usunięto pliki .pool, które są obecnie wkompilowane w programy, co ułatwia ich aktualizację.
Do tego wydania włączono także ostatnie zmiany dokonane przez Donalda Knutha (tzw. TEX tuneup of 2008); patrz: http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf.
Od wydania 2009 domyślnym formatem wyjściowym dla Lua(LA )TEX staje się PDF (wykorzystuje on m.in. obsługę przez LuaTEX-a fontów OpenType). Aby uzyskać plik DVI należy użyć nowych poleceń: dviluatex lub dvilualatex. Strona domowa projektu LuaTEX: http://luatex.org.
Usunięto oryginalny silnik Omega i format Lambda (w uzgodnieniu z autorami). Pozostał zaktualizowany Aleph i format Lamed, oraz pliki pomocnicze Omega.
Załączono nowe wydanie fontów AMS Type 1, m.in. fonty Computer Modern. Zawierają one poprawki dokonane w plikach metafontowych przez D. Knutha w ciągu ostatnich lat, a także poprawki hintingu. Hermann Zapf przeprojektował także fonty Euler (patrz http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf). Co ważne, dla wszystkich fontów nie zmieniono plików metrycznych (TFM). Strona domowa fontów: http://www.ams.org/tex/amsfonts.html.
Dla Windows i MacTEX dołączono nowe środowisko-edytor TEXworks. Dla innych platform patrz: http://tug.org/texworks. Inspirowany przez edytor TeXShop dla Mac OS X, TEXworks jest wieloplatformowym, łatwym w użyciu środowiskiem pracy.
Dla niektórych platform załączono nowy program graficzny Asymptote (http://asymptote.sourceforge.net). Korzysta on z tekstowej notacji zbliżonej do MetaPosta, ale rozszerzonej do obsługi 3D itp.
Program dvipdfm został zastąpiony przez dvipdfmx, który działa w specjalnym trybie kompatybilnym, gdy użyć do wywołania dawną nazwę. dvipdfmx wspiera CJK i zawiera wiele poprawek od ostatniej dystrybucji dvipdfm. Strona domowa: http://project.ktug.or.kr/dvipdfmx.
Dodano zestawy programów dla cygwin i i386-netbsd, podczas gdy usunięto programy dla innych platform BSD. Zapewniono nas, że użytkownicy OpenBSD i FreeBSD będą mogli pobierać pakiety TEX-owe wraz z aktualizacją obu systemów. Ponadto natknęliśmy się na spore trudności przy kompilacji programów, które mogłyby działać w różnych wersjach tych systemów.
Inne zmiany: do kompresji pakietów użyto obecnie programu xz, stanowiącego stabilny zamiennik lzma (http://tukaani.org/xz/); znak $ jest obecnie dozwolony w nazwach plików, o ile nie poprzedza on nazwy znanej zmiennej; biblioteka Kpathsea jest obecnie wielowątkowa (co wykorzystano w programie MetaPost); do budowy wszystkich programów wykorzystano teraz Automake.
Wszystkie wydania TEX Live, wraz z dodatkowymi materiałami (np. okładkami płytek), są dostępne na stronie: ftp://tug.org/historic/systems/texlive.
Niniejsza dystrybucja nie jest doskonała! Planujemy kontynuować wydawanie nowych wersji i chcielibyśmy, żeby zawierały one jeszcze więcej pomocnej dokumentacji, więcej programów użytkowych, lepsze programy instalacyjne oraz stale ulepszany i poprawiany katalog makr i fontów. Zadanie to jest wykonywane przez ciężko pracujących ochotników, poświęcających na to mnóstwo swojego wolnego czasu. Wiele jeszcze zostało do zrobienia. Jeżeli możesz pomóc, nie zastanawiaj się i przyłącz się do nas. Patrz: http://tug.org/texlive/contribute.html.
Prosimy o przesyłanie poprawek, sugestii i uzupełnień oraz deklaracji pomocy w opracowywaniu kolejnych edycji pod adres: tex-live@tug.org.