5. Zarządzanie systemem TeX Live w Windows
5.1. Różnice w stosunku do standardowego Web2c w systemach Win32
Web2c działający w systemach
Win32 posiada szczególne cechy, o których warto wspomnieć.
-
Kpathsea
- – tablice haszowe, tworzone w TeX Live przez Kpathsea, są bardzo duże. Aby skrócić
czas uruchamiania dowolnego programu, wykorzystującego bibliotekę Kpathsea, tablice haszowe
zostają umieszczone w pamięci współdzielonej przez procesy. W ten sposób zmniejszono
znacznie czas uruchamiania programów wywoływanych kolejno, jeden przez drugi (np. tex
wywołujący mpost wywołujący tex). Zmianę tę ukryto przed użytkownikiem, z wyjątkiem
sytuacji gdy użyje on parametru -1 dla diagnostyki działania Kpathsea; można wtedy śledzić
wykorzystanie pamięci współdzielonej.
-
kpsecheck
- – program ten oferuje kilka opcji, które niezbyt pasowałyby, gdyby znalazły się w programie
kpsewhich. Pozwala na wylistowanie wszystkich plików, które występują wielokrotnie w dostępnych
drzewach katalogów texmf. Może to być przydatne, choć często możemy otrzymywać niepożądane
komunikaty o dziesiątkach plików typu README3.
Aby tego uniknąć, należy użyć opcji -multiple-occurences wraz z dwiema innymi, pozwalającymi
podać wzorce nazw do pominięcia lub włączenia w procesie przeszukiwania (można podać kilka
wzorców).
kpsecheck raportuje także stan pamięci współdzielonej: używanej i nieużywanej. Warto czasem
o tym wiedzieć bo pokazywany status „pamięć w użyciu” może oznaczać, że działa kilka
procesów i efekt wykonania polecenia mktexlsr zostanie każdorazowo opóźniony do czasu, aż
nie będzie pracował żaden program korzystający z Kpathsea.
kpsecheck pozwala także określić położenie programu Ghostscript. W systemach Win32 łatwiej
jest wielu programom skorzystać z biblioteki DLL programu Ghostscript i znaleźć ją na
podstawie rejestrów systemowych, niż na podstawie zmienionej przez użytkownika zmiennej PATH
(ma ona poza tym ograniczoną pojemność).
-
Web2c
- – programy posiadają kilka dodatkowych opcji nieobecnych w standardowych wersjach i jedną
działającą nieco inaczej:
- opcja -fmt działa inaczej; standardowo ma dwa znaczenia, w zależności od trybu „ini”
bądź „vir”. W Win32 jest podobnie: należy załadować plik formatu wyspecyfikowanego
przez tę opcję; znaczenie tworzenia formatu w trybie „ini” jest obecnie przypisywane nowej
opcji -job-name;
- opcja -job-name pozwala określić nazwę pliku otrzymywanego w wyniku kompilacji;
w trybie normalnym działania programów pozwala na zmianę nazwy wszystkich
produkowanych plików (.dvi, .aux itp.), podczas gdy w trybie „ini” określa nazwę
tworzonego formatu;
- opcja -halt-on-error pozwala zatrzymać przetwarzanie na pierwszym napotkanym
błędzie;
- opcja -job-time ustawia czas tworzonych plików na taki sam jak plik przetwarzany;
- -time-statistics wyświetla statystyki dotyczące czasu przetwarzania; warto tu
wspomnieć, że systemy Win9x, nie będąc prawdziwymi systemami wielozadaniowymi, nie
mają prawidłowo działającego pomiaru czasu dla krótkotrwałych procesów, wobec tego
wyświetlane wartości są jedynie przybliżone; w NT/2K/XP wyniki są bardziej dokładne;
w Win32 brak polecenia time znanego z systemów Unix.
5.2. Dodawanie pakietów do instalacji
Po pierwszej instalacji istnieje możliwość doinstalowania pojedynczych pakietów. Z menu systemowego: Start
-> Programy -> TeX Live -> Maintenance należy wybrać -> Add TeX Package, co uruchomi program
TeXSetup z odpowiednimi parametrami (uruchomienie TeXSetup --help wyświetli dostępne opcje
programu). Po wczytaniu plików definiujących pakiety (.tpm) wyświetlony zostanie od razu ekran wyboru
zestawów/pakietów (podobnie jak podczas instalacji początkowej). W trybie doistalowania lista pakietów już
zainstalowanych jest porównywana z listą pakietów dostępnych z katalogu źródłowego. Pakiety
niezainstalowane wyświetlane są zielonym kolorem, zdezaktualizowane kolorem czerwonym, zaś
aktualne, zainstalowane – kolorem czarnym. Dzięki temu można nie tylko dodać nowe komponenty
z CD-ROM-u lub z Sieci, ale i zaktualizować posiadane pakiety o dostępne w Sieci nowsze
wersje.
Gdy zamierzamy dodać pakiety, których brak w dystrybucji TeX Live (lub fpTeX), warto instalować je
w katalogu specyfikowanym przez zmienną $TEXMFLOCAL. W ten sposób zabezpieczymy te pakiety podczas
aktualizacji/wymiany oprogramowania TeX Live.
Katalog wskazywany przez $TEXMFLOCAL jest początkowo pusty. Przykładowo: dodajemy
pakiet dla Maple (przetwarzanie symboliczne); pliki stylów należy skopiować do katalogu
c:\Program Files\TeXlive\texmf-local\tex\latex\maple\ zaś pliki dokumentacji do
katalogu
c:\Program Files\TeXlive\texmf-local\doc\latex\maple\
Na zakończenie należy koniecznie zaktualizować bazę danych instalacji ls-R: albo poprzez wybór menu
Start -> Programy -> TeXLive -> Maintenance, albo przez uruchomienie z linii poleceń
mktexlsr.
5.3. Usuwanie TeX Live z dysku twardego
Procedura deinstalacji oprogramowania dostępna jest z programu TeXLive.exe, z menu systemowego
TeXLive bądź z Panelu sterowania (Dodaj/usuń programy). Procedura ta usuwa z dysku większość
plików TeX Live. Ponieważ TeX jest systemem, który sam tworzy wiele plików, niełatwo śledzić
wszystkie z nich. Dodatkowe programy posiadają swoje własne procedury deinstalacyjne, wobec
tego należy je uruchomić odrębnie. Pliki umieszczone w katalogu wskazywanym przez zmienną
$TEXMFLOCAL nie będą oczywiście usuwane, a więc jeśli zachodzi taka potrzeba, należy je usunąć
samodzielnie.
5.4. Uruchamianie TeXSetup z linii poleceń
Program TeXSetup.exe posiada szereg interesujących opcji, które mogą być wyświetlone po uruchomieniu
z linii poleceń (okno DOS):
Oto opis dostępnych opcji programu:
-
--automatic-reboot
- po zakończeniu instalacji restart systemu, bez czekania na potwierdzenie
użytkownika;
-
--dry-run
- symulacja instalacji, nic nie jest instalowane, tworzony jest tylko plik .log rejestrujący
czynności, które program wykonuje podczas zwykłego uruchamiania bez tej opcji;
-
--quick
- wykonanie instalacji rekomendowanej, bez interwencji użytkownika;
-
--net-method (ie5/direct)
-
umożliwienie pobierania z Internetu dodatkowych pakietów (wymagane jest aktywne połączenie,
albo bezpośrednim łączem, albo modemem, z wykorzystaniem bibliotek DLL Internet Explorera
wersji co najmniej 5; należy pamiętać, że niektóre pobierane pakiety są raczej spore);
-
--remote-source-directory <url>
- bazowy adres url dla pakietów pobieranych z sieci;
-
--local-source-directory <dir>
- domyślnie jest to katalog nadrzędny w stosunku do położenia
programu TeXSetup; gdy zaktualizujemy sam program, opcja ta pozwala nam na jego
uruchomienie bezpośrednio z dysku twardego (np. texsetup --local-source-dir=e:\ gdzie
e: jest stacją CD);
-
--installation-directory <dir>
- główny katalog, w którym instalowany jest system TeX;
domyślna lokalizacja to c:\Program Files\TeXLive;
-
--texmfmain-directory <dir>
-
-
--texmflocal-directory <dir>
-
-
--texmfextra-directory <dir>
-
-
--texmfhome-directory <dir>
-
-
--vartexmf-directory <dir>
-
-
--vartexfonts-directory <dir>
- wszystkie te opcje pozwalają wyspecyfikować katalogi dla
różnych drzew texmf i zostaną zarejestrowane w zmiennych specyfikowanych w pliku texmf.
cnf;
-
--with-source-files(=yes/no)
- instalacja plików źródłowych pakietów (domyślnie nie są one
instalowane);
-
--with-documentation-files(=yes/no)
- instalacja plików z dokumentacją poszczególnych
pakietów; uwaga: ogólna dokumentacja będzie zainstalowana nawet bez użycia tej opcji;
-
--program-folder <folder>
- nazwa folderu w menu startowym, w ramach którego znajdą się
menu instalacji;
-
--add-package <pkg>
- opcja używana do dodawania pakietów;
-
--scheme <pkg>
- instalacja wyspecyfikowanego zestawu, zamiast zestawu rekomendowanego
domyślnie;
-
--maintenance
- działanie podobne jak --add-package, bez specyfikowania pakietów do
doinstalowania w linii poleceń;
-
--uninstall
- opcja usuwania pakietów zainstalowanych z CD-ROM-u; jeśli dodano pliki z innego
źródła, utworzono formaty, zainstalowano pomocnicze programy itp., nie będą one usunięte;
-
--help
- pokazuje dostępne opcje programu.
5.5. Instalacja sieciowa
Biblioteka Kpathsea rozpoznaje nazwy UNC wobec tego możemy ich użyć dla
specyfikacji drzew katalogów TEXMF udostępnianych w sieci komputerowej. Wszystkie pliki z wyjątkiem
zawartych w katalogu bin/win32 mogą być współdzielone z instalacjami teTeX lub TeX Live systemów
Unix/Linux. Oznacza to, że można użyć Samby do zamontowania serwera NT dla stacji roboczej
Unix lub odwrotnie: serwer np. Linux może udostępniać zasoby dla stacji Windows. Dostępne są
możliwości:
- Instalacja całego oprogramowania na serwerze. Wystarczy dodać binaria dla wymaganych
systemów w podkatalogach bin, np. bin/win32 i bin/i386-linux, następnie należy ustawić
główne zmienne środowiska. W Win32 można użyć nazw UNC dla wskazania odpowiednich
katalogów.
- Instalacja lokalnych kopii binariów i plików formatów. W tym wypadku należy przypisać
zmienną $TEXMFMAIN do katalogu dostępnego na zdalnej maszynie (w sieci), a zmienną
$VARTEXMF do katalogu, który będzie przechowywał lokalne pliki konfiguracyjne i inne
generowane pliki.
5.6. Konfiguracja indywidualna
5.6.1. WinShell
Program uruchamiamy z menu Start bądź z ikony/skrótu na pulpicie. Dostosowanie do
polskiej wersji Windows wymaga, prócz określenia języka dla menu i komunikatów, użycia menu Opcje
(Options) -> Font -> Zmień i wyboru w wyświetlonym oknie Skrypt napisu Europa Środkowa. Dzięki
temu wpisywane za pomocą prawego klawisza Alt polskie znaki diakrytyczne będą prawidłowo
wyświetlane.
Aby skonfigurować uruchamianie programów otwieramy menu Options -> Program Calls.
- W zakładce DVIWin, w polu „exe-file”, powinno być już wpisane windvi.exe.
- W zakładce Ghostview należy sprawdzić, czy prawidłowo podano ścieżkę dla gsview32.exe:
C:\ghostgum\gsview\gsview32.exe (dla wersji 3.6 i nowszych).
Wciskając przycisk OK zatwierdza się zmiany.
Instalacja programu ustawia w Windows skojarzenie plików .tex z uruchamianiem WinShell. Dopóki nie
zamierzamy korzystać z innego edytora (jak WinEdt lub Emacs) jest to poprawne.
WinShell niestety nie posiada wbudowanej korekty pisowni, niemniej jednak po zainstalowaniu zestawu
tex-extrabin mamy do dyspozycji program Ispell (program korekty pisowni, znany z systemów Unix).
Ponieważ znajduje się on w ścieżce przypisanej zmiennej PATH, ispell.exe może być uruchamiany z linii
poleceń (okno DOS). Informację o Ispell można znaleźć w: texmf/doc/html/manpages/ispell.html Na
CD-ROM-ie dostępny jest słownik Ispell dla języka polskiego; typowe uruchamianie programu:
ispell -t -b -d polish-win plik.tex powoduje wczytanie słownika w kodowaniu Windows
cp1250.
Ispell można uruchamiać z poziomu WinShell; w podrozdziale 5.9.4 opisano jak dodać uruchamianie
polecenia do menu edytora.
Niezły i niedrogi program komercyjny można znaleźć w http://www.microspell.com.
WinShell posiada pomoc, dostępną po naciśnięciu symbolu ? na belce z narzędziami. Więcej informacji
na temat WinShell można znaleźć w rozdziale 5.9 na str. 55.
5.6.2. Dvips
Plik konfiguracyjny config.ps programu Dvips znajduje się w katalogu
C:\Program Files\TeXlive\texmf-var\dvips\config\. Plik ten można otworzyć w dowolnym
edytorze (np. w WinShell) po to, aby zmienić niektóre parametry działania Dvips. Najważniejsze z nich
zgrupowano w blokach deklaracji:
-
fonty
- – można zmienić domyślne parametry generowania fontów przez metafont-a dla danej drukarki
(parametr M) i rozdzielczość (parametry D, X, Y). Standardowo fonty generowane są dla drukarek
laserowych, zgodnych z Hewlett Packard (tryb ljfour) i rozdzielczości 600 dpi. Domyślnie
ustawiono wykorzystanie fontów CM (oraz PL) w ich wersji obwiedniowej (Type 1), wobec tego
Dvips nie powinien odwoływać się zbyt często do programu mktexpk.
-
drukarka
- – parametr ‘o’ określa nazwę portu/przekierowania wydruku. Gdy nie wpisano nazwy drukarki
(portu), wynik pracy będzie zapisywany w pliku PostScriptowym .ps. Drukarkę specyfikujemy jednym
z poniższych sposobów:
o lpt1:
% o | lpr -S server -P myprinter
% o \\server\myprinter
-
mapy fontowe
- – do standardowej mapy fontowej psfonts.map (wiersz: p psfonts.map) możemy dołączyć
dodatkowe mapy fontowe, np.:
p +bsr.map
p +hoekwater.map
parametr p musi znajdować się w pierwszej kolumnie; nazwy plików z dołączanymi mapami
poprzedzamy znakiem +; zbędne mapy można wyłączyć, wstawiając na początku wiersza znak
komentarza (%). Wymienione w przykładzie mapy dotyczą dołączania wersji obwiedniowej fontów CM
produkcji Blue Sky Research (bsr.map) i dodatkowych fontów logo, wasy, stmaryrd, wykonanych przez
Taco Hoekwatera (hoekwater.map).
Uwaga: Obecna dystrybucja TeX Live posiada zaimplementowaną po raz pierwszy procedurę
automatycznej aktualizacji map fontowych dla Dvips i Pdftex, wykonywaną przez program updmap podczas
instalacji, a także podczas dodawania pakietów z fontami. Jeśli fonty dodawane są „ręcznie”, należy
zmodyfikować plik updmap.cfg w katalogu $VARTEXMF/web2c i następnie uruchomić program
updmap.
5.6.3. Pdftex
Konfiguracja programu pdf(la)tex wymaga modyfikacji pliku
C:\Program Files\TeXlive\texmf-var\pdftex\config\pdftex.cfg
W pliku tym możemy deklarować dodatkowe mapy fontowe wczytywane przez program (patrz „Uwaga”
zamieszczona powyżej). Stosowana jest tu nieco inna notacja niż w config.ps:
map pdftex.map
map +lw35.map
%map +rawfonts.map
Ponadto można ustawić inne parametry pracy programu pdftex (rozmiar papieru, stopień kompresji itp.).
Parametr output_format z wartością 1 oznacza, że pdftex będzie tworzył domyślnie pliki od
razu w formacie pdf (wartość 0 oznacza tworzenie plików .dvi, identycznie jak programem
tex).
5.6.4. GSView
Począwszy od wersji zgodnej z Ghostscript 6.50, GSView jest niestety programem
shareware, wobec tego nie mógł znaleźć się na CD-ROM-ie.
Parametry pracy programu są ustawiane m.in. w menu Media. W podmenu Display Settings można
poprawić (kosztem szybkości pracy) sposób wyświetlania: parametry Text Alpha i Graphics
Alpha należy ustawić na 4 bity. W menu Media można też określić rozmiar papieru i jego
orientację.
Uwagi dotyczące drukowania zawarto poniżej, w podrozdziale 5.8.
5.6.5. WinDvi
Podczas instalacji TeXSetup.exe ustawia skojarzenie plików .dvi z uruchamianiem
programu Windvi.
W menu View ->Options można ustawić niektóre parametry pracy Windvi, np. możliwość uruchamiania
programów zewnętrznych (Allow shell), automatyczne odświeżanie zmienionego pliku .dvi (Autoscan),
tryb pracy metafont-a i rozdzielczość generowanych fontów (MF mode i Pixels per inch), współpracę
z Ghostscriptem (Postscript) itp. Po zakończeniu pracy programu parametry zapisywane są w pliku
$HOME/windvi.cnf (lub Moje dokumenty/windvi.cnf). Położenie tego pliku można ustalić po
uruchomieniu z wiersza poleceń:
c:\>kpsewhich --expand-var $HOME/windvi.cnf
W wypadku błędnego ustawienia parametrów pracy Windvi plik konfiguracyjny wystarczy skasować.
5.7. Testowanie
Dla szybkiej kontroli poprawności instalacji należy uruchomić WinShell i otworzyć plik
sample2e.tex (znajduje się on w katalogu C:\Program Files\TeXlive\texmf\tex\latex\base\). Na
belce z narzędziami wcisnąć ikonę uruchamiania programu latex, następnie wcisnąć ikonę podglądu DVI.
Pierwsze uruchomienie windvi zazwyczaj automatycznie generuje wymagane fonty ekranowe. Po kilku
sesjach komunikaty dotyczące generowania fontów staną się rzadsze. Warto ponadto wypróbować
uruchamianie Dvips i GSView z programu WinShell.
Uwaga: jeśli program latex nie może znaleźć pliku do przetwarzania, naciśnięcie Ctrl-z spowoduje
natychmiastowe zakończenie pracy.
5.8. Drukowanie
Drukowanie bezpośrednio z programu Windvi odbywa się z wykorzystaniem
uniwersalnego sterownika druku systemu Windows. Z definicji powinien być on zgodny z większością
drukarek, jednakże ma on tendencję do tworzenia olbrzymich plików kolejek (spool) i niektóre (starsze)
wersje Windows zwyczajnie tego nie akceptują. Zaletą sterownika jest jedynie możliwość obsługi grafik BMP
i WFM. Stosując metodę druku via sterownik Windows należy prawidłowo ustawić parametry rozdzielczości
(patrz podrozdział 5.6.5), w przeciwnym wypadku otrzymany wydruk może być przeskalowany (np. drukując
w rozdzielczości 600dpi na drukarce 300dpi otrzymamy niespodziewanie 1/4 zamierzonego rozmiaru
wydruku).
Drukowanie znacznie szybsze i bardziej niezawodne zapewni konwersja pliku .dvi do .ps programem Dvips
i wykorzystanie GSView. Z menu Plik należy wybrać Drukuj, co wyświetli okno dialogowe
z szeregiem opcji. Gdy mamy drukarkę PostScriptową, należy wybrać PostScript printer.
Drukowanie na drukarkach bez interpretera PostScript wymaga zaznaczenia opcji Ghostscript
device (w sekcji „Print Method” okna) i wybrania przyciskiem po prawej stronie odpowiedniego
urządzenia.
5.9. Więcej na temat WinShell
5.9.1. Instalacja poprawek
Ingo de Boer, autor WinShell, udostępnia od czasu do czasu kolejne wersje beta programu. Można je pobrać
z http://www.winshell.de. Zwykle są to pliki .zip, które należy rozpakować w katalogu, w którym już
zainstalowano WinShell (najczęściej w c:\Program Files\WinShell), zezwalając na nadpisanie
dotychczasowej zawartości. Program rozpakowujący unzip.exe można znaleźć na CD w katalogu
support/.
5.9.2. Użycie plików „projektu”
Wielokrotnie mamy do czynienia z dokumentami składającymi się
z wielu części. Najwygodniej gdy są one zapisane w odrębnych plikach. WinShell umożliwia utworzenie
pliku projektu (Project file), w którym deklarujemy poszczególne części większego dokumentu. Nazwy pliku
projektu, traktowanego jako główny edytowany plik (Main file), oraz plików części są wyświetlane w lewym
oknie edytora. Dwukrotne kliknięcie myszą na nazwie pliku pozwala na szybki wybór i wyświetlenie
potrzebnego pliku w głównym oknie edytora. Naciśnięcie ikony LaTeX na belce narzędziowej
uruchamia zawsze przetwarzanie głównego pliku, bez względu na to który plik jest aktualnie
wyświetlany.
Na belce narzędziowej mamy dodatkowe przyciski pozwalające wyłączyć lub włączyć wyświetlanie
okna projektu (po lewej stronie) i okna zapisu sesji (log) – na dole. Gdy plik projektu nie jest
używany, lewą część okna można zamknąć, wykorzystując całą szerokość ekranu dla edytowanego
pliku.
5.9.3. Drukowanie z WinShell na drukarce PostScriptowej
Ikona Dvips belki narzędziowej uruchamia
program, który wynik pracy zapisuje zwykle w pliku .ps. Oglądanie i/lub drukowanie takiego pliku wymaga
uruchomienia GSView. WinShell pozwala zdefiniować wygodne wywołanie polecenia dvips, które wynik
przetwarzania wyśle od razu do drukarki posiadającej interpreter PostScript. Przykładowo, dla drukarki
o nazwie vclw, postępowanie będzie następujące:
- Deklaracja danej drukarki w programie:
- otworzyć WinShell, wybrać menu Opcje -> Programy użytkownika.
- wybrać Tool 1 w spisie po prawej stronie i wypełnić pola po stronie lewej, np.:
Name: Drukuj
exe file: dvips
cmd-line: -D600 %c.dvi -o vclw
skasować zaznaczenie okienka „najpierw DVIPS”
- nacisnąć OK.
- Dodanie polecenia „Drukuj” do belki narzędziowej:
- wybrać menu Opcje -> Przeglądaj -> Dostosuj paski;
- w okienku Kategoria wybrać Programy użytkownika;
- wskazać Drukuj i przeciągnąć go myszą na belkę narzędziową, umieszczając w dowolnym
miejscu obok innych poleceń;
- w kolejno wyświetlanym oknie dokonać wyboru: „Tylko obrazek” (Image only), „Tylko
tekst” lub „Tekst i obrazek”; najprościej wybrać „Tylko tekst” i zatwierdzić guzikiem OK.
Napis Drukuj ukaże się na belce (bardziej wymagający użytkownicy mogą wybrać opcję
„Tylko obrazek”, następnie „Edytuj” i skonstruować sobie indywidualną ikonkę).
Uruchamianie polecenia zostało zdefiniowane. Aby drukować bezpośrednio na drukarce wystarczy teraz
nacisnąć guzik z napisem „Drukuj”.
5.9.4. Dodanie Ispell do WinShell
- Deklaracja polecenia Ispell:
- otworzyć WinShell, wybrać menu Opcje -> Wywołanie programów -> User defined.
- wybrać Tool 1 (lub Tool 2, jeśli Tool 1 zostało już użyte) i wypełnić pola po lewej stronie
okna:
Name: Ispell
exe file: ispell
cmd-line: -t -d polish-win %c.tex
skasować zaznaczenie okienek „najpierw LaTeX” i „najpierw DVIPS”
- nacisnąć OK.
- Dodanie polecenia „Ispell” do belki narzędziowej – analogicznie jak powyżej, dla polecenia
„Drukuj”.
Gdy mamy otwarty dokument TeX-owy, naciśnięcie guzika „Ispell” uruchomi w odrębnym oknie program Ispell,
który rozpocznie sprawdzanie pisowni. Niepoprawne (lub nieznane) słowo zostanie wyświetlone, poniżej
pojawi się kontekst i czasem sugestie jak naprawić błąd (naciśnięcie klawisza cyfry umieszczonej obok
sugerowanego słowa dokona zamiany błędnie napisanego słowa). Inne reakcje na błąd są wyświetlane u dołu
ekranu, np. naciśnięcie klawisza spacji ignoruje dany błąd i wznawia wyszukiwanie. Więcej informacji na
temat Ispell można znaleźć w: C:\Program Files\TeXlive\texmf\doc\html\manpages\ispell.html.
Uwaga: poprawione słowa nie ukażą się w oknie WinShell dopóki plik nie zostanie zamknięty (przez
naciśnięcie X w prawym górnym rogu okna edytora) i ponownie otwarty (z menu Plik).
5.10. Wskazówki dla użytkowników Win32
5.10.1. Różne wcielenia Win32
To, co nazywamy Win32 nie jest właściwie systemem operacyjnym
a jedynie zbiorem funkcji, z których wiele (ok. 12000) można użyć do pisania programów dla różnych
systemów operacyjnych rodziny Windows. Spotykamy różne wersje Windows:
- Win95 i Win98, które nie są prawdziwymi systemami wielozadaniowymi i wielowątkowymi. Są to
ostatnie (na szczęście) metamorfozy systemu DOS, co można sprawdzić podczas startu systemu,
wymuszając ładowanie tylko wiersza poleceń: polecenie ver zwróci wtedy np. napis „MS-DOS
7.0”.
- NT, nowy system operacyjny, napisany od podstaw, wyposażony w prawdziwe możliwości
wielozadaniowości i inne zaawansowane cechy.
- Windows 2000, oparty na NT, z wszystkimi cechami zewnętrznymi Win98.
- Windows XP, występujący w odmianach Personal i Pro, jest ostatnim krokiem połączenia cech
obu linii produktów Win9x i NT.
Win9x mają możliwość uruchamiania jednocześnie programów 16- i 32-bitowych, ale ponieważ sam
system nie jest w całości napisany dla trybu 32-bitowego i nie posiada ochrony pamięci, programy 16-bitowe
mogą nadpisywać część pamięci wykorzystywanej przez system! Niektóre elementy systemu, jak GDI
(Graphical Device Interface) zarządzają w sposób ograniczony zasobami (bitmapy, fonty itp.) gdy wszystkie
uruchomione programy jednocześnie korzystają z tych zasobów. Wszystkie nagłówki bitmap dostępnych
w tym samym czasie nie mogą przekroczyć granicy 64KB. Jest to przyczyna spotykanego często gwałtownego
spadku wydajności systemu i jego zawieszania.
NT i W2K i XP nie posiadają takich ograniczeń. Są to systemy w pełni wielozadaniowe i z ochroną
pamięci. Wydają się bardziej stabilne ponieważ lepiej zarządzają pamięcią, posiadają lepszy system plików
itp.
5.10.2. Wiersz poleceń
Wielu użytkowników może zadać pytanie: „po co używać wiersza poleceń
w systemie Windows?”. Dobre pytanie! Problem ma naturę bardziej ogólną. Otóż nie wszystkie zadania
daje się wykonać jedynie przy użyciu interfejsu graficznego (GUI). Wiersz poleceń dostarcza
wielu możliwości rasowego programowania (zakładając posiadanie przyzwoitego interpretera
poleceń).
TeX jest programem działającym wsadowo (batch), a nie interakcyjnie: wylicza najlepszy wygląd każdej
strony, rozwiązuje odesłania itp. Taki charakter pracy możliwy jest jedynie podczas globalnego przetwarzania
dokumentu, nie ma tu możliwości interakcji. Oznacza to, że program TeX powinien być używany z linii
poleceń. W istocie nie jest to takie złe. Programy działające wsadowo, przeznaczone do skomplikowanych
zadań, są zwykle lepiej opracowane i pozbawione błędów, ponieważ nie są związane z graficznym
interfejsem. Do uruchamiania takich programów można zawsze opracować graficzny interfejs przekazujący
zadanie do wykonania i inne parametry. Przykładem takiego właśnie działania może być graficzny edytor
(patrz 5.6.1).
Niemniej jednak częste są sytuacje, gdy przydaje się możliwość uruchamiania programów
bezpośrednio z linii poleceń, np. diagnostyka błędów w wypadku wystąpienia problemów (patrz
7.2.4).
-
Win9x
-
linia poleceń dostępna jest z menu Start->Programy->Tryb MS DOS albo Start->Uruchom:
należy tu wpisać command.com.
-
NT, 2K, XP
- dostęp do linii poleceń z menu Start->Akcesoria-> Command Prompt; można także
w menu Start->Uruchom wpisać cmd.exe co uruchomi interpreter poleceń (wyjaśnia to
dlaczego trudno w systemach opartych na NT mówić o „oknie DOS”).
5.10.3. Separatory ścieżek
API Win32 obsługuje zarówno /, jak i \ jako separatory ścieżek. Niestety
interpretery poleceń obsługują wyłącznie \, a więc odwołując się do programu w linii poleceń możemy użyć
tylko tego znaku (wynika to z potrzeby kompatybilności: znak / używany jest często jako prefiks
dodatkowego parametru). Gdy nazwa ścieżki jest używana przez program oba separatory mogą być stosowane
wymiennie, a nawet mieszane.
Nie należy się dziwić gdy często spotkamy ścieżki pisane w konwencji Unix (a więc separowane znakiem /).
fpTeX jest implementacją Web2c i z zasady musi być zgodny między różnymi platformami. Dlatego właśnie
np. wszystkie pliki konfiguracyjne stosują konwencję uniksową notacji ścieżek.
5.10.4. System plików
Najgorszą cechą Win9x z punktu widzenia systemu TeX jest prawdopodobnie
system plików zwany FAT. TeX używa bardzo wielu niewielkich plików (1–3KB) i na współczesnych dyskach
wielkiej pojemności każdy taki plik potrafi zająć nawet 32KB. Wykorzystanie dysku jest więc bardzo
nieefektywne zaś instalacja wszystkich plików z CD-ROM-u może zająć wielokrotnie więcej miejsca niż
łączna objętość plików.
Bardziej nowoczesne systemy plików FAT32 i NTFS dostępne są w nowszych wersjach Windows i są one
pozbawione ujemnych cech FAT: minimalna jednostka alokacji dla pliku to zwykle 4KB, choć w systemie
NTFS można ją zredukować nawet do 512 bajtów.
5.10.5. Jak dodać katalog do zmiennej PATH
Większość programów korzysta ze zmiennych, którym
można przypisać pewne wartości. Zestaw takich przypisań (par zmienna-wartość) nazywamy środowiskiem.
Każdy uruchomiony program korzysta z kopii środowiska i może w ramach tej kopii zmieniać
przypisania niektórych zmiennych (nie są one dostępne dla innych uruchomionych równolegle
programów).
PATH jest specjalną zmienną wykorzystywaną do lokalizowania programów w systemie. Poszczególne wersje
Windows mają różne procedury deklarowania PATH:
-
Windows 95/98
- zmienna PATH jest tu deklarowana w pliku autoexec.bat (znajduje się on
w głównym katalogu dysku startowego). Po wczytaniu pliku do edytora (np. Notatnik,
WinShell) należy odszukać wiersz z napisem PATH= i z szeregiem ścieżek oddzielanych
separatorem ; (średnik). Można dopisać kolejne ścieżki wskazujące położenie programów,
np.
PATH=c:\windows;c:\windows\system;c:\”Program Files”\TeXlive\bin\win32
Proszę zauważyć, że ścieżki zawierające spację wymagają ujęcia w parę znaków ”. Poczynione zmiany
aktywne będą po restarcie systemu.
-
Windows ME
- należy uruchomić specjalny program c:\windows\system\msconfig.exe i wybrać opcję
„Środowisko” (‘Environment’). Po dodaniu lub modyfikacji zmiennej należy ponownie uruchomić
system.
-
Windows NT/2K/XP
- należy wybrać menu Start -> Settings -> Panel Sterowania, w opcji
„System” otworzyć zakładkę „Środowisko” i tu modyfikować deklaracje zmiennych, zgodnie
z posiadanymi uprawnieniami. Istniejącą zmienną PATH modyfikujemy naciskając lewy
klawisz myszy na napisie PATH. Pole „Wartość” (Value) pokaże listę katalogów rozdzielonych
separatorem ;. Należy tu dopisać katalog zawierający programy środowiska TeX-owego (np.
c:\Program Files\TeXlive\bin\win32). Gdy brak jest zmiennej PATH, należy kliknąć
pole „Zmienna”, wpisać PATH, przenieść kursor do pola „Wartość” i wpisać tu odpowiedni
katalog.
Uwaga: przed zamknięciem okna dialogowego należy zatwierdzić zmiany przyciskiem „Zastosuj”.
Dokonane zmiany można sprawdzić otwierając konsolę i uruchamiając polecenie:
co wyświetli aktualnie aktywne wartości dla danej zmiennej.
5.10.6. „Maszyny” TeX
Z dokumentacji Web2c można wyczytać, że różnie nazwane programy
wykorzystują tę samą „maszynę”, np. tex.exe i latex.exe są dokładnymi kopiami tego samego programu,
ale uruchamiają się z różnymi plikami formatu, zgodnie z nazwą podaną w wywołaniu.
W systemach Unix cecha ta jest zaimplementowana poprzez tzw. dowiązanie symboliczne, co
pozwala na zaoszczędzenie wiele miejsca na dysku: ten sam program uruchamiany jest z wieloma
formatami.
Interfejs aplikacji systemów Windows (API) nie zna pojęcia dowiązania. Aby niepotrzebnie nie zajmować
miejsca na dysku, zastosowano tu pomysł umieszczenia głównej „maszyny” TeX w pliku dynamicznie
wiązanej biblioteki (DLL). Z kolei programy uruchomieniowe (.exe) umieszczono w niewielkich plikach
przekazujących przez nazwę parametr wywołania (nazwę formatu). Na dysku znajdziemy zatem:
13/05/2002 17:06 3 584 latex.exe
13/05/2002 17:06 266 240 tex.dll
13/05/2002 17:06 3 584 tex.exe
Każdy z tych identycznych programów (tex.exe, latex.exe, mex.exe itp.) korzysta ze wspólnego pliku
tex.dll. Podobne rozwiązanie zastosowano dla grupy programów mktex*.exe, z których każdy jest
powiązany z biblioteką mktex.dll. W dystrybucji dostępny jest program lnexe.exe, który tworzy
w systemach Win32 odpowiedniki dowiązań systemu Unix.
5.11. W razie problemu
5.11.1. Co zrobić gdy latex nie może znaleźć potrzebnych plików?
Należy użyć programu kpsewhich, który jest narzędziem do diagnostyki wszelkich problemów związanych ze
znajdywaniem plików (patrz 7.2.4 na str. 82.
5.11.2. Co zrobić gdy instalacja nadal nie działa prawidłowo?
Należy odpowiedzieć sobie na szereg pytań:
- czy program tex.exe jest w ścieżce wymienionej w zmiennej PATH?
- czy zmienna TEXMFCNF jest prawidłowo ustawiona (standardowo c:/”Program Files”/
TeXlive/texmf-var/web2c)?
- czy są jakieś błędy w pliku .log utworzonym przez program TeXSetup.exe? W pliku .log
należy wyszukać słowo „Error”.
- diagnostyka błędów omówiona została w rozdziale 7.2.4 na str. 82.
- opis problemów i ewentualne rozwiązanie oraz poprawki można znaleźć pod adresem
http://www.tug.org/tex-live.html.
- dystrybucja dla Windows zawarta na płytce jest w zasadzie identyczna z dystrybucją fpTeX,
wobec tego można odwiedzić stronę http://www.fptex.org; warto też zapisać się na listę
dyskusyjną fpTeX (http://www.tug.org/mailman/listinfo/fptex).
Oprogramowanie zawarte na TeX Live jest bardzo złożone i składa się z ponad 250 programów i około
40000 plików różnego źródła. Niesłychanie trudno przewidzieć wszystkie możliwe przyczyny problemów,
niemniej jednak dołożymy wszelkich starań aby pomóc je rozwiązać.
5.12. Kompilacja plików źródłowych
Wszystkie pliki źródłowe programów zawarte są w skompresowanym archiwum source/source.tar.bz2 na
CD-ROM-ie. Kompilacja w środowisku Windows wymaga:
- Windows 2000;
- Microsoft Visual Studio .Net;
- zestawu narzędzi Unix (sed, grep, gawk itp.), a także Perl, Flex i Bison;
- dostosowania ścieżek w pliku win32/make/common.mak, zgodnie z konkretną instalacją;
- dostosowania ścieżek w skrypcie perlowym win32/perl/build.pl;
- uruchomienia kompilacji z katalogu win32/ poleceniem:
c:\texlive\source\win32>perl ./perl/build.pl --install --log=install.log
Uczynienie tego procesu łatwiejszym i bardziej klarownym wymaga jeszcze sporo pracy.