% iso8859-2
% $Id: texlive-pl.tex, v. 42 2010/07/13
% TeX Live documentation.
% Originally written by Sebastian Rahtz and Michel Goossens,
% now maintained by Karl Berry and others.
% Polish translation and additions by Staszek Wawrykiewicz et al.
% Public domain.
%  ----
% UWAGA dla recenzentów/tłumaczy:  %%! to moje komentarze (StaW)
\documentclass{article}
\let\tldocenglish=0 % for live4ht.cfg
\let\textsl\textit
\usepackage{tex-livep}
\usepackage{polski}            %% for PL
\usepackage[latin2]{inputenc}  %% for PL
\exhyphenpenalty=10000         %% for PL
\def\Dash{---}
\widowpenalty=10000
\clubpenalty=10000
%% redefined MF logo!  %% for PL
%\def\MF{\textlogo{META}\-\textlogo{FONT}} %% for PL
%\def\MP{\textlogo{META}\-\textlogo{POST}} %% *** TP ***
\def\shac{\char178} % for PL + qtmr (HTML)
\def\aac{\char225}  % for PL + qtmr (HTML)
\def\iac{\char237}  % for PL + qtmr (HTML)
\renewcommand{\samp}[1]{,,\texttt{#1}''}  %% for PL
%% Polish style for sections
\makeatletter
\renewcommand{\@seccntformat}[1]{%
 \csname the#1\endcsname.\hspace{.5em}} %%
\def\numberline#1{\hb@xt@\@tempdima{#1.\hfill}}
\makeatother
\hyphenation{tex-basic la-tex pdf-tex}
%% -----
\begin{document}

\title{{\huge \textit{Przewodnik po \protect\TL}\\[1ex]}
  {\LARGE \textsf\TL{} 2010}
}

\author{Redakcja: Karl Berry \\[3mm]
        \url{http://tug.org/texlive/}
}

\date{Lipiec 2010}

\maketitle

\begin{multicols}{2}
\tableofcontents
%\listoftables
\end{multicols}
%--------------------------
\section{Wstęp}\label{sec:intro}

\subsection{\TeX\ Live i \TeX\ Collection}
Niniejsza dokumentacja opisuje oprogramowanie \TL{} --
dystrybucję \TeX-a wraz z~programami pomocniczymi, dostępną dla 
różnych wersji Unix, w~tym \acro{GNU}/Linux, \MacOSX{} i~Cygwin,
oraz Windows. 

\TL{} można ściągnąć z~sieci bądź otrzymać na płytce \DVD \TK{}, dostarczanej
swoim członkom przez Grupy Użytkowników Systemu \TeX{}.
Część \ref{sec:tl-coll-dists} omawia pokrótce zawartość tej płytki.
Zarówno \TL{}, jak i \TK{} powstały dzięki zbiorowemu wysiłkowi Grup.
W~tym dokumencie omówimy głównie samą dystrybucję \TL.

\TL{} zawiera skompilowane programy: \TeX{}, \LaTeXe{}, \mbox{\MF}, \MP,
\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~\TL{} są regularnie aktualizowane z serwerów \acro{CTAN}
(\textit{Comprehensive TeX Archive Network}), które gromadzą wszelkie 
zasoby dotyczące systemu \TeX: \url{http://www.ctan.org}.

Lista najważniejszych zmian dokonanych w~tej edycji \TL{}
znajduje się w~części~\ref{sec:tlcurrent}, na str.~\pageref{sec:tlcurrent}.

Nie opisujemy tu, czym jest system \TeX{}, a~jedynie kwestię instalacji
i~konfiguracji oprogramowania \TL.
Początkujący użytkownicy mogą się zapoznać z~podstawowymi pojęciami
np. w~artykule {\it Przewodnik po systemie \TeX\/}:
\OnCD{texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html}.

\subsection{Obsługiwane systemy operacyjne}
\label{sec:os_support}

\TL{} zawiera oprogramowanie dla wielu platform uniksowych,
w~tym \GNU/Linux, \MacOSX i~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 \ref{sec:tl-coll-dists} omówiono alternatywne dystrybucje,
przeznaczone dla Windows oraz \MacOSX.

\subsection{Podstawy instalacji \protect\TL{}}
\label{sec:basic}

\TL{} można zainstalować z~płytki \DVD{} lub internetu
(\url{http://tug.org/texlive/acquire.html}). Program instalacyjny
jest niewielki i~pozwala pobrać z sieci wszystkie potrzebne pakiety.
Jest to wygodne, zwłaszcza gdy potrzebujemy jedynie części oprogramowania
\TL\ i~nie chcemy pobierać niepotrzebnie obrazu całej płyty instalacyjnej.

Posiadając płytkę \DVD{} możemy jedynie zaistalować \TL{} na twardym dysku,
lub przygotować przenośną instalację np. na pen drivie
(patrz część~\ref{sec:portable-tl}).

Szczegółowy opis instalacji \TL{} znajduje się w dalszych rozdziałach 
tego dokumentu, tu podamy skrócony przepis:

\begin{itemize*}
 \item program instalacyjny \filename{install-tl} może działać w~kilku
trybach: tzw. ,,wizard'' (graficznym, parametr \code{-gui=wizard}) -- 
domyślnym dla Windows; tekstowym (\code{-gui=text}, domyślnym dla 
Unix/Linux) i~graficznym trybie ,,expert'' (parametr \code{-gui=perltk}).
Dla wygody użytkowników Windows uruchomienie
\filename{install-tl-advanced.bat} przełącza instalator w tryb ,,expert''.
 %tryb można wymusić podając parametr \code{-gui}
 %bądź \code{-no-gui};

\item jednym z~instalowanych programów jest \prog{tlmgr} (menedżer \TL{}),
który również można uruchamiać w~trybie tekstowym bądź graficznym; pozwala
on doinstalować lub usunąć pakiety, aktualizować je z~sieci, a także
wykonać różne czynności konfiguracyjne.

\end{itemize*}

\htmlanchor{security}
\subsection{Uwagi dotyczące bezpieczeństwa}
\label{sec:security}

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.

\subsection{Dostępna pomoc}
\label{sec:help}

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
\TL{} zakupić system u~jednego z~dostawców, których listę można znaleźć
na \url{http://tug.org/interest.html#vendors}.)

Oto lista źródeł pomocy, w~kolejności przez nas rekomendowanej:

\begin{description}
\item [\TeX{} \acro{FAQ}] \TeX-owy \acro{FAQ} jest obszernym zbiorem
odpowiedzi na wiele pytań, od najprostszych do najbardziej
zaawansowanych. Jest on załączony na \TL{} w~katalogu 
\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html},
a~także dostępny w~sieci: \url{http://www.tex.ac.uk/faq}. Proponujemy
zajrzeć najpierw tam. Uruchomiono też serwis \acro{FAQ}
w~języku polskim: \url{http://faq.gust.org.pl}.

\item [\TeX{} Catalogue] Jeśli poszukujemy konkretnego pakietu, fontu,
programu itp., to polecamy \TeX{} Catalogue. Jest to obszerne zestawienie
wszelkich pakietów dotyczących \TeX-a. Patrz:
 %\OnCD{texmf-dist/doc/english/catalogue} lub 
 \url{http://www.ctan.org/help/Catalogue/}.

\item [\TeX{} Web Resources] Strona \url{http://tug.org/interest.html}
zawiera wiele odsyłaczy, w~szczególności do książek, podręczników
i~artykułów poświęconych wszelkim aspektom pracy z~systemem \TeX.

\item [archiwa pomocy] Dwa główne fora pomocy to grupa
Usenet \url{news:comp.text.tex} oraz lista dyskusyjna
\email{texhax@tug.org}. Warto przeszukać archiwa list dyskusyjnych,
zawierające wiele pytań i odpowiedzi zbieranych przez wiele lat:
\url{http://groups.google.com/group/comp.text.tex/topics} oraz
\url{http://tug.org/mail-archives/texhax}. Nie zaszkodzi
skorzystanie z~wyszukiwarki, np. \url{http://www.google.com}.

\item [wysyłanie pytań] Jeśli nadal nie znajdujemy rozwiązania problemu,
to możemy wysłać pytanie do \dirname{comp.text.tex}, korzystając z~Google,
czytnika wiadomości bądź pisząc list na adres \email{texhax@tug.org}.
Przedtem jednak \emph{należy} się zapoznać z~poradami dotyczącymi sposobu
zadawania pytań, zawartymi w~\acro{FAQ}:
\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}.
Polscy użytkownicy mają do dyspozycji listę dyskusyjną GUST (polskiej Grupy
Użytkowników Systemu \TeX); informacje o niej
znajdziemy na stronie \url{http://www.gust.org.pl}.

\item [wsparcie ze strony społeczności \TL{}] Gdy chcemy zgłosić błąd 
bądź sugestie i~komentarze dotyczące dystrybucji \TL{}, instalacji 
lub dokumentacji, mamy do dyspozycji listę dyskusyjną 
\email{tex-live@tug.org}. Jeśli kwestia dotyczy konkretnego programu 
(pakietu makr itp.) z~\TL{}, to lepiej jednak skierować pytanie do osoby 
opiekującej się danym programem lub na specjalistyczną listę dyskusyjną.

\end{description}

Druga strona medalu to pomaganie tym, którzy mają problemy. Zarówno
\dirname{comp.text.tex}, jak i~\code{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!

%--------------------------
\section{Struktura \protect\TeX\protect\ Live}
\label{sec:struct-tl}

Omówimy tutaj strukturę i~zawartość dystrybucji \TL{}, a~także \TK{} --
płytki \DVD, w~skład której wchodzi \TL.

\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}
\label{sec:tl-coll-dists}

\TK{} \DVD{} zawiera:

\begin{description}

\item [\TL] kompletny system na \acro{DVD}, pozwala na instalację na 
twardym dysku lub przygotowanie przenośnej instalacji np. na pen drivie; 
strona domowa projektu: \url{http://tug.org/texlive/}.

\item [Mac\TeX] dla systemu \MacOSX; posiada własny program instalacyjny
i~dodatkowe programy dla tego systemu; strona domowa projektu:
\url{http://tug.org/mactex/};  

\item [pro\TeX{}t] dystrybucja dla Windows, oparta na dystrybucji \MIKTEX{},
rozszerzonej o~dodatkowe narzędzia; całkowicie niezależna od \TL;
\ProTeXt\ posiada własny, łatwy w~obsłudze program instalacyjny;
 strona domowa projektu: \url{http://tug.org/protext}; 

\item [CTAN] zrzut zawartości archiwów \CTAN{};
(\url{http://www.ctan.org}).

\item [\texttt{texmf-extra}] katalog z wybranymi pakietami dodatkowymi.

\end{description}

\CTAN, \pkgname{protext}, i~\texttt{texmf-extra} nie spełniają przyjętych dla
\TL{} wymogów dotyczących swobody kopiowania, wobec tego należy ten fakt
uwzględnić przy redystrybucji bądź modyfikacji zawartości wymienionych
katalogów.

\subsection{Główne katalogi \TL}
\label{sec:tld}

Poniżej wymieniono ważniejsze podkatalogi głównego katalogu \emph{instalacji} \TL
(na płytce \TK{} \DVD{} cała dystrybucja \TL{} została
umieszczona w katalogu \dirname{texlive}, którego struktura nieco się różni, nie zaś w~katalogu głównym;
poniżej traktujemy katalog \dirname{texlive} jako katalog główny we wszystkich 
odniesieniach do \TL).

\begin{ttdescription}
\item[bin] skompilowane programy \TeX-owe, zorganizowane w~podkatalogach 
 według platform systemowych;

\item[readme-*.html] krótkie omówienie z~użytecznymi odnośnikami,
w kilku językach, w formacie \HTML{} i~zwykłym tekstowym;

\item[source] źródła wszystkich programów, włącznie z~głównymi dystrybucjami
 \Webc{} \TeX-a; 

%\item[support] różne programy pomocnicze związane z~\TeX-em, które \emph{nie}
% są domyślnie instalowane;
% dla użytkowników systemów Windows dołączono ponadto szereg programów
% (edytory, ,,shelle TeX-owe''), których zwykle brak w~typowej instalacji
% Windows (programy te mogą być szczególnie przydatne dla początkujących);

\item[texmf] drzewo katalogów plików pomocniczych i~dokumentacji dla
   \emph{programów} (patrz: \texttt{TEXMFMAIN} w~następnej części);

\item[texmf-dist] główne drzewo katalogów formatów i~pakietów (zawiera makra,
  fonty i~dokumentacje; patrz: \texttt{TEXMDIST} w~następnej części);

%\item[texmf-doc] drzewo samodzielnych dokumentacji (m.in. podręczniki itp.),
%  niezwiązane z~konkretnymi pakietami, zorganizowane według języków.

\item[tlpkg] skrypty, programy i~inne dane potrzebne do instalacji;
  katalog zawiera także ,,prywatne'' dla \TL{} 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.
\end{ttdescription}

Prócz podkatalogów wymienionych powyżej, katalog główny zawiera skrypty
instalacyjne oraz pliki \filename{README}, w~formacie tekstowym lub HTML,
w~kilku językach (również polskim).

 %Katalog \dirname{texmf-doc} zawiera, jak wspomniano wyżej, dokumentacje
 %ogólne, np. podręczniki (także po polsku). 
 Do znalezienia dokumentacji przydatne mogą być dowiązania zawarte w pliku
\OnCD{doc.html}, który znajdziemy w~głównym katalogu instalacji.  Dokumentacje programów
(man, info, także w~formacie PDF) znajdują się w~katalogu
\dirname{texmf/doc}, zaś dokumentacje pakietów makr, fontów i~formatów 
w~katalogu \dirname{texmf-dist/doc}. W~odszukaniu konkretnej dokumentacji
w~dowolnym z~wymienionych katalogów mogą pomóc programy \cmdname{texdoc} lub
\cmdname{texdoctk}. 

Niniejsza dokumentacja w~kilku językach znajduje się na płytce \TK{}DVD\ w~podkatalogach katalogu \dirname{texlive-doc},
zaś po instalacji w~podkatalogach katalogu \dirname{texmf/doc/texlive}:

\begin{itemize*}
\item{uproszczony chiński:} \OnCD{texmf/doc/texlive/texlive-zh-cn}
\item{czeski/słowacki:} \OnCD{texmf/doc/texlive/texlive-cz}
\item{angielski:} \OnCD{texmf/doc/texlive/texlive-en}
\item{francuski:} \OnCD{texmf/doc/texlive/texlive-fr}
\item{niemiecki:} \OnCD{texmf/doc/texlive/texlive-de}
\item{polski:} \OnCD{texmf/doc/texlive/texlive-pl}
\item{rosyjski:} \OnCD{texmf/doc/texlive/texlive-ru}
\item{serbski:} \OnCD{texmf/doc/texlive/texlive-sr}
\item{włoski:} \OnCD{texmf/doc/texlive/texlive-it}
\end{itemize*}

\subsection{Predefiniowane drzewa katalogów texmf}
\label{sec:texmftrees}

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 \texttt{tlmgr conf}, wyświetlimy wartości tych 
zmiennych, dzięki czemu łatwo ustalimy, które katalogi w~naszej instalacji są
przypisane do konkretnych zmiennych.

\begin{ttdescription}
\item [TEXMFMAIN] Drzewo katalogów zawierające podstawowe dla
  dystrybucji elementy systemu, jak skrypty
  %(np. \verb+web2c/mktexdir+),
  i~inne pliki pomocnicze oraz dokumentację programów (nie zawiera zatem
  pakietów makr ani formatów).
\item [TEXMFDIST] Drzewo katalogów zawierające pakiety makr, fontów itp.,
 %tak jak są one oryginalnie dystrybuowane; 
 drzewo to może być współdzielone z~dowolną dystybucją.
\item [TEXMFLOCAL] Drzewo katalogów, które administratorzy mogą wykorzystać
 do przechowywania lokalnych makr, fontów itp., dostępnych dla wszystkich
 użytkowników serwera.
\item [TEXMFHOME] 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 \verb+$HOME+ (w~Windows \verb+%USERPROFILE%+).
\item [TEXMFCONFIG] Lokalne drzewo katalogów wykorzystywane przez narzędzia
 \verb+texconfig+, \verb+updmap+ oraz \verb+fmtutil+ do przechowywania
 danych konfiguracyjnych (domyślnie w~ramach \envname{TEXMFHOME}).
\item [TEXMFSYSCONFIG] Drzewo katalogów wykorzystywane przez narzędzia
 \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+
 do przechowywania danych konfiguracyjnych dla całej instalacji (np.
 sieciowej).
\item [TEXMFVAR] Lokalne drzewo katalogów wykorzystywane przez \verb+texconfig+,
 \verb+updmap+ i~\verb+fmtutil+ do przechowywania wygenerowanych plików
 formatów i~map fontowych (domyślnie w~ramach \envname{TEXMFHOME}).
\item [TEXMFSYSVAR] Drzewo katalogów wykorzystywane przez
 \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, a~także
 przez program \verb+tlmgr+ do przechowywania wygenerowanych plików 
 formatów i~map fontowych dla całej instalacji.
\end{ttdescription}

 %Więcej informacji na temat \texttt{texconfig} znajdziemy
 %w~części~\ref{sec:texconfig}, na str.~\pageref{sec:texconfig}.

\noindent
Domyślny układ katalogów:
\begin{description}
  \item[ogólnosystemowy katalog instalacji] może zawierać kilka wydań \TL{}:
  \begin{ttdescription}
    \item[2009] poprzednie wydanie,
    \item[2010] wydanie aktualne:
    \begin{ttdescription}
      \item [bin] ~
      \begin{ttdescription}
        \item [i386-linux] programy dla \GNU/Linux
        \item [...]
        \item [universal-darwin] programy dla \MacOSX
        \item [win32] programy dla Windows
      \end{ttdescription}
      \item [texmf\ \ \ \ ] określany zmienną \envname{TEXMFMAIN}
      \item [texmf-dist\ \ ] \envname{TEXMFDIST}
      \item [texmf-var\ \ ] \envname{TEXMFSYSVAR}
      \item [texmf-config] \envname{TEXMFSYSCONFIG}
    \end{ttdescription}
    \item [texmf-local] \envname{TEXMFLOCAL}, katalog zachowywany
      od wydania do wydania,
  \end{ttdescription}
  \item[katalog domowy użytkownika] (\texttt{\$HOME} lub
      \texttt{\%USERPROFILE\%})
    \begin{ttdescription}
      \item[.texlive2009] prywatne pliki konfiguracyjne 
        poprzedniego wydania
      \item[.texlive2010] prywatne pliki konfiguracyjne 
        dla bieżącego wydania:
      \begin{ttdescription}
        \item [texmf-var\  \ ] \envname{TEXMFVAR}
        \item [texmf-config] \envname{TEXMFCONFIG}
      \end{ttdescription}
    \item[texmf] \envname{TEXMFHOME} prywatne makra, fonty itp.
  \end{ttdescription}
\end{description}

\subsection{Rozszerzenia \protect\TeX-a}
\label{sec:tex-extensions}

Oryginalny \TeX{}, stworzony przez prof. Knutha, został zamrożony, ale
jest i~będzie w~przyszłości dostępny w~dystrybucji. \TL{} zawiera ponadto
kilka wersji rozszerzonych standardowego \TeX-a:

\begin{description}
\item [\eTeX] wersja \label{text:etex} programu \TeX{}, w~której dodano
 pożyteczny zestaw nowych poleceń wbudowanych
 (dotyczących głównie rozwijania makr, leksemów znakowych, interpretacji
 znaczników itp.) oraz rozszerzenie \TeXXeT{} dla składu
 od prawej do lewej. W~trybie domyślnym \eTeX{} jest w~100\% zgodny ze
 standardowym programem \TeX. Więcej szczegółów można znaleźć 
 w~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}.

\item [pdf\TeX] program zawierający silnik \eTeX{} i dalsze
rozszerzenia, który umożliwia tworzenie plików zarówno w~formacie PDF, jak 
i~\dvi{}. Jest on domyślnym programem dla większości formatów (prócz plain
\TeX), nie ma więc obecnie rozróżnienia na ,,maszyny'' \textsf{pdftex} i
\textsf{pdfetex}, jak to miało miejsce w~poprzednich wersjach programów
i~w~poprzednich dystrybucjach \TL.  Podręczniki znajdziemy w~katalogu 
\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}, zaś przykład wykorzystania
w~pliku \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex}.

\item [Lua\TeX] docelowo sukcesor pdf\TeX-a, z~którym ma być, aczkolwiek
niecałkowicie, zgodny wstecz.
Powinien także zastąpić Aleph (patrz niżej), choć nie zakłada się
tu technicznej kompatybilności. Załączony
interpreter Lua (patrz strona domowa \url{http://www.lua.org/})
pozwala na eleganckie rozwiązanie wielu trudnych problemów \TeX-a.
Program \filename{texlua} ma funkcjonalność samodzielnego
interpretera Lua, co sprawia, że jest używany w~\TL{} do wielu zadań.
Patrz \url{http://www.luatex.org/} i~na \DVD{}
\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}.

\item [Xe\TeX] umożliwia kodowanie tekstów w~Unicode oraz korzystanie
z~fontów OpenType (także tych dostępnych bezpośrednio w~systemie operacyjnym),
przy czym stosuje biblioteki obce. Patrz \url{http://tug.org/xetex}.

\item [\OMEGA{} (Omega)] program, który pracuje wewnętrznie ze znakami
kodowanymi 16-bitowo (Unicode), pozwalając składać jednocześnie
większość tekstów spotykanych na świecie. Wspomaga dynamicznie
ładowane tzw. ,,procesy tłumaczenia \OMEGA'' (\acro{OTP}), co pozwala
użytkownikowi definiować złożone transformacje, wykonywane na dowolnych
strumieniach wejściowych. 
 %Więcej szczegółów znaleźć można na \DVD:
 %\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (dokumentacja niezbyt aktualna;
 Sam program od dawna nie jest aktualizowany, został więc usunięty z~\TL.
 Pozostawiono jego działający klon:

\item [Aleph] łączy rozszerzenia \OMEGA\ i~\eTeX; powstał jako niezależny
projekt z~potrzeby stabilnej ,,używalności'' programu Omega, w~sytuacji,
gdy ten pozostawał wciąż w~fazie eksperymentalnej. Dostępna jest minimalna 
dokumentacja: \OnCD{texmf-dist/doc/aleph/base}.

\end{description}

\subsection{Inne ważniejsze programy \protect\TL}

Poniżej zestawiono kilka innych, najczęściej używanych programów, dostępnych
w~dystrybucji \TL{}:

\begin{cmddescription}

\item[bibtex, bibtex8]  tworzenie spisów bibliograficznych;

\item[makeindex, xindy] tworzenie posortowanych skorowidzów;

\item[dvips]     konwersja \dvi{} do \PS{};

\item[xdvi]      przeglądarka plików \dvi{} dla X~Window;

\item[dvilj]     sterownik dla drukarek HP LaserJet;

%\item [dv2dt, dt2dv] konwerter \dvi{} do/z tekstu ASCII;

\item [dviconcat, dviselect] programy do manipulacji stronami w~plikach
  \dvi{};

\item [dvipdfmx]  konwersja \dvi{} do PDF, metoda alternatywna w~stosunku
 do wspomnianego wyżej programu pdf\TeX{}; 
 %(pakiety \pkgname{ps4pdf} i~\pkgname{pdftricks} dostarczają tutaj kolejnych
 %możliwości);

\item [psselect, psnup, \ldots] narzędzia do manipulacji na plikach 
postscriptowych;

\item [pdfjam, pdfjoin, \ldots] narzędzia do manipulacji na plikach 
 \acro{PDF};

%\item [lacheck]  kontrola syntaktyki plików \LaTeX-owych;

\item [texexec, texmfstart]  programy uruchamiające dla Con\TeX{}t;

\item [tex4ht]   postprocesor dla \TeX-a konwersji do HTML i XML.

\end{cmddescription}

%%! zostawiam tę część, choć wyleciała z wersji oryginalnej!!! 27.08.2003
%%! zmiany: 24.09.2009

\subsection[Pakiety i ich zestawy]{Pakiety i ich zestawy}
\label{packages}
Zawartość drzew \texttt{texmf} na \TL{} została do celów instalacji
zorganizowana w~szereg ,,zestawów'' (\emph{collections}),
z~których każdy posiada zbiór ,,pakietów'' (\emph{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:

\begin{description}
\item[Essential programs and files] podstawowe programy, pakiety makr 
i~fontów systemu \TeX{}, pliki konfiguracyjne dla podstawowych sterowników;
\item[Extra BibTeX styles] dodatkowa, obszerna biblioteka stylów Bib\TeX-owych
 i~bazy danych bibliograficznych (podstawowe style znajdują się w~zestawie
 ,,Esential\dots'');
%\item[chemistry] pakiety makr do składu wzorów chemicznych;
 \item[Context format] pakiet makr do Con\TeX{}t -- ,,dialektu'' \TeX-a
  autorstwa Hansa Hagena;
 %\item[documentation] dodatkowe, użyteczne dokumentacje;
 %\item[etex] pliki pomocnicze dla programu e-\TeX;
 \item[TeX auxiliary programs] różne programy pomocnicze; zestaw 
 zawiera m.in.
 programy i~makra dla systemu texinfo, programy do manipulacji na plikach
 DVI itp.;
\item[TeX and Outline font utilities] programy do konwersji plików 
 fontowych oraz testowania
 i~instalacji fontów (zestaw do tworzenia fontów wirtualnych, manipulacji
 plikami .gf i~.pk, programy \texttt{mft}, \texttt{fontinst} itp.);
\item[Recommended fonts] obszerna biblioteka częściej używanych fontów
 w~postaci źródłowej (.mf) bądź fontów obwiedniowych oraz pliki z~definicjami
 i~stylami \LaTeX-a dla tych fontów;
\item[Extra fonts] biblioteka różnych rzadziej używanych fontów;
\item[Extra formats] pliki pomocnicze do generowania dodatkowych
 ,,formatów'' (tj. obszerne zestawy makr służące do wstępnego przetworzenia
 i~utworzenia pliku \texttt{.fmt});
\item[Games typesetting] pakiety do prezentacji zapisu różnych gier (szachy,
 brydż itp.);
\item[Extra generic packages] obszerna biblioteka makr, trudnych do 
 sklasyfikowania, działających z~różnymi formatami (Plain, \LaTeX{} itp.);
\item[HTML/SGML/XML support] pakiety konwersji \LaTeX-a do XML/HTML oraz 
 do składu dokumentów XML/SGML;
\item[lang\dots] wsparcie poszczególnych języków; zestawy zawierają
  wzorce przenoszenia wyrazów i~makra obsługi danych języków, czasem też
  specyficzne fonty itp., przykładowo:
 %\item[langarmenian] armeński;
%\item[langcjk] pakiety CJK (obsługa chińskiego, japońskiego i~koreańskiego);
%\item[langcroatian] chorwacki;
%\item[langcyrillic] fonty i makra do składu cyrylicą;
%\item[langczechslovak] fonty i pakiety makr dla czeskiego i~słowackiego;
%\item[langdanish] duński;
%\item[langdutch] holenderski;
%\item[langfinnish] fiński;
%\item[langfrench] francuski;
%\item[langgerman] niemiecki;
%\item[langgreek] grecki;
%\item[langhungarian] węgierski;
%\item[langindic] wsparcie dla języków indyjskich;
%\item[langitalian] włoski;
%\item[langlatin] łacina;
%\item[langmanju] język Manju;
%\item[langmongolian] mongolski;
%\item[langnorwegian] norweski;
%\item[langother] wzorce przenoszenia wyrazów dla innych języków;
\item[langpolish] zawiera polskie pakiety: makra do tworzenia formatu MeX,
 pakiety \texttt{polski}, \texttt{mwcls}, fonty i~makra dodatkowe 
 przydatne dla polskich użytkowników oraz dokumentacje w~języku polskim;
%\item[langportuguese] portugalski;
%\item[langspanish] hiszpański;
%\item[langswedish] szwedzki;
%\item[langtibetan] fonty i~wsparcie do składu tybetańskiego;
%\item[langukenglish] angielski (brytyjski);
%\item[langvietnamese] wietnamski;
%\item[music] makra do składu nutowego;
%\item[omega] rozszerzenie \TeX{}a autorstwa Johna Plaice'a i~Yannisa Haralambousa, działające ze znakami kodowanymi 16-bitowo;
%\item[pdftex] pliki pomocnicze dla pdf\TeX{}-a, wersji programu \TeX{}
% tworzącej pliki w~formacie PDF;
%\item[pictures] pakiety do tworzenia diagramów i~innych obiektów graficznych;
%\item[plainextra] dodatkowe biblioteki makr dla Plain \TeX;
%\item[psutils] narzędzia do manipulacji plikami \PS-owymi;
%\item[publishers] pakiety makr pochodzące od różnych wydawnictw;
%\item[t1utils] narzędzia do obsługi fontów w~formacie Type~1;
%\item[texbooks] przykłady i~inne materiały autorstwa D.E.~Knutha;
%\item[ttfutils] narzędzia do konwersji fontów True Type.
\end{description}
%--------------------------
%%! koniec pozostawionej sekcji 24.09.2009

Plik \texttt{tlpdb/texlive.tlpdb} (wykorzystywany podczas instalacji)
zawiera spis wszystkich plików w~każdym pakiecie.

\subsection{Fonty w \protect\TL}
\label{sec:tl-fonts}

\TL{} zawiera wiele wysokiej jakości fontów skalowanych. Patrz:
\url{http://tug.org/fonts} oraz 
\OnCD{texmf-dist/doc/fonts/free-math-fonts-survey}.

%====

\section{Instalacja}
\label{sec:install}

\subsection{Start instalacji}
\label{sec:inst-start}

Instalację \TL{} uruchamiamy z~płytki \TK{} \DVD{} (bądź po pobraniu z~sieci
pakietu instalacyjnego i~jego rozpakowaniu) skryptem \filename{install-tl}
(Unix), \filename{install-tl.bat} lub \filename{install-tl-advanced.bat} 
(Windows).

\begin{description}
\item [Instalacja z sieci:] z~archiwum \CTAN, z~katalogu
\dirname{systems/texlive/tlnet} 
(\url{http://mirror.ctan.org/systems/texlive/tlnet} automatycznie
przekierowuje do najbliższej kopii \CTAN) należy pobrać plik
\filename{install-tl.zip} (wspólny dla Unix i Windows) lub znacznie mniejszy
\filename{install-unx.tar.gz} (tylko dla Unix). Po rozpakowaniu,
w~katalogu \dirname{install-tl/} znajdziemy skrypty instalacyjne
\filename{install-tl}, \filename{install-tl.bat}
i~\filename{install-tl-advanced.bat}.

\item [\TeX{} Collection \DVD:] po zamontowaniu płytki należy
zmienić katalog bieżący na \dirname{texlive} (w~Windows program
instalacyjny powinien uruchomić się automatycznie). \DVD{} otrzymamy
w ramach członkostwa w~dowolnej Grupie Użytkowników Systemu \TeX{}
(kontakt w Polsce \url{http://www.gust.org.pl}).
\end{description}

Dalsze kroki omówiono dokładniej poniżej.

\subsubsection{Unix}

\noindent
Poniżej \texttt{>} oznacza znak zachęty systemu (tzw. prompt); to, 
co wpisuje użytkownik, zaznaczono \Ucom{\texttt{pogrubieniem}}. 
W~oknie terminala należy wykonać:
\begin{alltt}
> \Ucom{cd /path/to/installer}
> \Ucom{perl install-tl}
\end{alltt}
(można także uruchomić \Ucom{perl /path/to/installer/install-tl} lub
\Ucom{./install-tl}; w dalszej części nie będziemy powtarzać wszelkich
możliwych kombinacji). Zalecane jest powiększenie okna terminala, aby
zobaczyć pełną zawartość ekranu programu instalacyjnego 
(rys.~\ref{fig:text-main}).

Do uruchomienia w~trybie graficznym (\GUI; rys.~\ref{fig:gui-main}) 
wymagana jest obecność w~systemie modułu \dirname{Perl/TK} skompilowanego
ze wsparciem dla \acro{XFT} (w~systemach \GNU/Linux{} jest on z~reguły 
dostępny, ale dla innych systemów niekoniecznie):
\begin{alltt}
> \Ucom{perl install-tl -gui}
\end{alltt}

Kompletny wykaz dostępnych opcji otrzymamy uruchamiając:
\begin{alltt}
> \Ucom{perl install-tl -help}
\end{alltt}
 
\textbf{Uwaga dotycząca uprawnień w Unix:} program instalacyjny 
będzie respektował aktualną wartość \code{umask}.
Jeśli więc chcemy, aby instalacja była dostępna dla innych użytkowników, 
musimy ustawić wartość np. \code{umask 002}. Więcej informacji na temat
\code{umask} znajdziemy w~dokumentacji posiadanego systemu operacyjnego.

\begin{figure}[tb]
\begin{boxedverbatim}
Installing TeX Live 2010 from: ...
Platform: i386-linux => 'Intel x86 with GNU/Linux'
Distribution: inst (compressed)
...
 Detected platform: Intel x86 with GNU/Linux

 <B> binary systems: 1 out of 19

 <S> Installation scheme (scheme-full)
     84 collections out of 85, disk space required: 2256 MB

 Customizing installation scheme:
   <C> standard collections
   <L> language collections

 <D> directories:
   TEXDIR (the main TeX directory):
     /usr/local/texlive/2010
   ...

 <O> options:
   [ ] use letter size instead of A4 by default
   [X] allow execution of restricted list of programs via \write18
   ...

Actions:
 <I> start installation to hard disk
 <H> help
 <Q> quit
\end{boxedverbatim}
\caption{Główny ekran instalatora w~trybie tekstowym 
 (\GNU/Linux)}\label{fig:text-main}
\end{figure}

\begin{figure}[tb]
\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip}
\caption{Ekran zaawansowanego programu instalacyjnego \GUI{}
(\GNU/Linux)}\label{fig:gui-main}
\end{figure}

\textbf{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 \TL. Dodatkowe informacje -- patrz 
część~\ref{sec:cygwin}.

\subsubsection{MacOSX}

Jak wspomniano w części \ref{sec:tl-coll-dists}, dla \MacOSX{}
przygotowano odrębną dystrybucję Mac\TeX\ (\url{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 
\MacOSX: Mac\TeX, Fink, MacPorts.

Mac\TeX\ jest oparty na \TL{} i główne drzewa katalogów pozostały w~nim 
dokładnie takie same, dodano jedynie katalogi ze specyficznymi dla systemu 
\MacOSX\ dokumentacjami i~aplikacjami. 

\subsubsection{Windows}

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ć
\filename{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ć:
\begin{alltt}
> \Ucom{install-tl}
\end{alltt}
bądź, dla bardziej wymagającej instalacji, pozwalającej na wybór schematów,
kolekcji itp.: 
\begin{alltt}
> \Ucom{install-tl-advanced}
\end{alltt}

W linii poleceń można też podać ścieżkę do programu, np.:
\begin{alltt}
> \Ucom{D:\bs{}texlive\bs{}install-tl}
\end{alltt}
dla \TK\ \DVD, zakładając, że \dirname{D:} jest napędem \DVD
(rys.~\ref{fig:wizard-w32} pokazuje domyślny dla Windows ekran programu
instalacyjnego).

Instalacja w~trybie tekstowym wymaga podania:
\begin{alltt}
> \Ucom{install-tl -no-gui}
\end{alltt}

Wszystkie dostępne opcje wyświetlimy uruchamiając:
\begin{alltt}
> \Ucom{install-tl -help}
\end{alltt}

\begin{figure}[tb]
\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip}
\caption{Ekran programu instalacyjnego ,,Wizard''
(Windows)}\label{fig:wizard-w32}
\end{figure}

\htmlanchor{cygwin}
\subsubsection{Cygwin}
\label{sec:cygwin}

Program instalujący \TL{} obsługuje jedynie Cygwin w~wersji 1.7.
Przed instalacją w tym systemie zaleca się uruchomić program 
\filename{setup.exe} i,~o~ile nie zostały one uprzednio zainstalowane, 
zainstalować pakiety \filename{perl} oraz \filename{wget}.
Ponadto zalecana jest instalacja:
\begin{itemize*}
\item \filename{fontconfig} (wymagany dla \XeTeX)
\item \filename{ghostscript} (wymagany dla wielu narzędzi)
\item \filename{libXaw7} (wymagany dla \code{xdvi})
\item \filename{ncurses} (udostępnia \code{clear} -- ,,czyste'' polecenie 
stosowane przez program instalacyjny)
\end{itemize*}

\subsubsection{Instalator w trybie tekstowym}

Rysunek \ref{fig:text-main} przedstawia główny ekran programu
\filename{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.

\subsubsection{Zaawansowany program instalacyjny w trybie graficznym}

Rysunek \ref{fig:gui-main} 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:

\begin{alltt}
 > \Ucom{install-tl -gui=perltk}
\end{alltt}

\subsubsection{Uproszczony program instalacyjny}

W systemie Windows domyślnie uruchamiany jest uproszczony program 
instalujący wszystkie pakiety \TL{}, który wymaga od użytkownika odpowiedzi
jedynie na kilka pytań (katalog docelowy itp.). Tryb ten, zwany
\textit{wizard} (,,czarodziej'', ,,mag'', rys.~\ref{fig:wizard-w32}), 
uruchamiany jest poleceniem:

\begin{alltt}
> \Ucom{install-tl -gui=wizard}
\end{alltt}

\subsection{Podczas instalacji}
\label{sec:runinstall}

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.

\subsubsection{Menu: binary systems (tylko Unix)}
\label{sec:binary}

\begin{figure}[tb]
\begin{boxedverbatim}
Available sets of binaries: (Dostępne zestawy programów dla:)
===============================================================================
   a [ ] alpha-linux      DEC Alpha with GNU/Linux
   b [ ] amd64-freebsd    x86_64 with FreeBSD
   c [ ] amd64-kfreebsd   x86_64 with GNU/FreeBSD
   d [ ] i386-cygwin      Intel x86 with Cygwin
   e [ ] i386-freebsd     Intel x86 with FreeBSD
   f [ ] i386-kfreebsd    Intel x86 with GNU/FreeBSD
   g [X] i386-linux       Intel x86 with GNU/Linux
   h [ ] i386-netbsd      Intel x86 with NetBSD
   i [ ] i386-solaris     Intel x86 with Solaris
   j [ ] mips-irix        SGI IRIX
   k [ ] powerpc-aix      PowerPC with AIX
   l [ ] powerpc-linux    PowerPC with GNU/Linux
   m [ ] sparc-linux      Sparc with GNU/Linux
   o [ ] sparc-solaris    Sparc with Solaris
   p [ ] universal-darwin universal binaries for MacOSX/Darwin
   s [ ] win32            Windows
   t [ ] x86_64-darwin    x86_64 with MacOSX/Darwin
   u [ ] x86_64-linux     x86_64 with GNU/Linux
   v [ ] x86_64-solaris   x86_64 with Solaris
\end{boxedverbatim}
\caption{Wybór platformy (systemu operacyjnego)}\label{fig:bin-text}
\end{figure}

Rysunek \ref{fig:bin-text} 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.

\subsubsection{Wybór tego, co ma być zainstalowane}
\label{sec:components}

\begin{figure}[tbh]
\begin{boxedverbatim}
Select a scheme: (Wybór schematu do instalacji:)
===============================================================================
 a [ ] basic scheme (plain and LaTeX)
 b [ ] ConTeXt scheme
 c [X] full scheme (everything)
 d [ ] GUST TeX Live scheme
 e [ ] medium scheme (plain, latex, recommended packages, some languages)
 f [ ] minimal scheme (plain only)
 g [ ] teTeX scheme (more than medium, but nowhere near full)
 h [ ] XML scheme
 i [ ] custom selection of collections
\end{boxedverbatim}
\caption{Menu: wybór schematów}\label{fig:scheme-text}
\end{figure}

Rysunek \ref{fig:scheme-text} 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 (\optname{basic}),
typowej (\optname{medium}) i~pełnej (\optname{full}; jest ona
domyślna), pozostałe przygotowano z~myślą o~wybranych grupach
użytkowników (np.~GUST) lub zastosowaniach (np.~XML lub ConTeXt). 

\begin{figure}[tb]
\begin{center}
\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip}
\caption{Menu Collections (Kolekcje)}\label{fig:collections-gui}
\end{center}
\end{figure}

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 \ref{fig:collections-gui}).
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 \TeX\ Live Manager (\prog{tlmgr}, patrz część~\ref{sec:tlmgr}).

\subsubsection{Katalogi}
\label{sec:directories}

Domyślny układ katalogów opisano w części~\ref{sec:texmftrees} na
str.~\pageref{sec:texmftrees}. Położenie domyślne całej instalacji
(\dirname{TEXDIR}) różni się w~Windows (|%SystemDrive%\texlive\2010|)
i~w~Unix (\dirname{/usr/local/texlive/2010}).

Głównym powodem, dla którego chcielibyśmy ewentualnie zmienić domyślne 
położenie \dirname{TEXDIR},
może być brak uprawnień systemowych. Aby zainstalować \TL{}, 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/2010|. Zalecamy użycie katalogu z~nazwą odzwierciedlającą
rok wydania, co pozwoli na zainstalowanie obok siebie różnych wydań \TL{}.
 %%! przegadane, na razie olewam (SW)
 %(You may wish to make a
 %version-independent name such as \dirname{/usr/local/texlive-cur} via a
 %symbolic link, which you can then update after testing the new release.)

Zmiana \dirname{TEXDIR} w programie instalacyjnym zmieni także ścieżki
katalogów określone przez zmienne \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR}
i~\dirname{TEXMFSYSCONFIG}.

\dirname{TEXMFHOME} jest zalecanym położeniem dla prywatnych makr i~fontów
użytkownika. Domyślnym katalogiem jest |~/texmf|. W odróżnieniu od
\dirname{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 
\dirname{$HOME} w~Unix i~\verb|%USERPROFILE%| w~Windows.

Katalog określany przez zmienną \dirname{TEXMFVAR} przechowuje 
dane konfiguracyjne specyficzne dla każdego użytkownika, w~tym 
\ConTeXt\ Mk\acro{IV} cache.

\subsubsection{Opcje}
\label{sec:options}

\begin{figure}[tbh]
\begin{boxedverbatim}
 <P> use letter size instead of A4 by default: [ ]
 <E> execution of restricted list of programs: [X]
 <F> create all format files:                  [X]
 <D> install font/macro doc tree:              [X]
 <S> install font/macro source tree:           [X]
 <L> create symlinks in standard directories:  [ ]
            binaries to:
            manpages to:
                info to:
\end{boxedverbatim}
\caption{Menu: Options (Opcje) w Unix}\label{fig:options-text}
\end{figure}

Rysunek \ref{fig:options-text} pokazuje menu (w~trybie tekstowym)
z~dodatkowymi opcjami. Warto tu je wymienić:

\begin{description}
\item[use letter size instead of A4 by default] (użyj domyślnie formatu
papieru letter zamiast A4): pozwala określić domyślny format papieru
dla wielu programów. Oczywiście format papieru można (nawet: należy) 
specyfikować dla każdego dokumentu w miarę potrzeby.

\item[execution of restricted list of programs] (zezwalaj na uruchomienie
 niektórych programów): w~\TL\ 2010 wykonanie niektórych przydatnych 
 programów pomocniczych, uruchamianych jako podprocesy (w~,,tle''), zostało 
 zastrzeżone dla ich niewielkiej listy, zamieszczonej w~pliku 
 \filename{texmf.cnf}. Szczegóły znajdziesz w~części ,,Wydanie 
 obecne'' (\ref{sec:2010news}).

\item[create format files] (generuj pliki formatów):
chociaż zbędne formaty zajmują miejsce na dysku, zaleca się
pozostawić tę opcję włączoną; jeśli tego nie zrobimy, formaty będą
generowane automatycznie (w~razie potrzeby) w~prywatnych katalogach
\dirname{TEXMFVAR} użytkowników, nie będą jednak odświeżane, gdy w~instalacji
zostaną zaktualizowane np. same programy bądź wzorce przenoszenia; wskutek 
tego pliki formatów mogą utracić zgodność ze środowiskiem, w~którym są 
używane.

\item[install font/macro \ldots\ tree] (instaluj pliki źródłowe i/lub
 dokumentacji dla fontów bądź makr): wprawdzie wyłączenie tych opcji
 pozwala zaoszczędzić miejsce na dysku, ale nie jest zalecane.

\item[create symlinks in standard directories] (utwórz dowiązania 
 w~standardowych katalogach, dotyczy tylko Unix): opcja ta pozwala 
 uniknąć ustawiania zmiennych środowiska po instalacji (\envname{PATH}, 
 \envname{MANPATH} i~\envname{INFOPATH}), ale jej użycie nie jest zalecane, 
 bo może powodować kolizje z już zainstalowanym w~systemie środowiskiem 
 \TeX; może być ona przydatna jedynie wtedy, gdy w~standardowych katalogach 
 (np.  \dirname{/usr/local/bin}) nie ma jakichkolwiek programów \TeX-owych.
 Wymaga ona ponadto uprawnień do zapisu w docelowych katalogach.
\end{description}

Po wszystkich potrzebnych ustawieniach można rozpocząć instalację
(klawisz ,,I''). Po instalacji zaleca się zajrzeć do części 
\ref{sec:postinstall}, bo być może potrzebne okażą się jeszcze 
dodatkowe kroki.

%\htmlanchor{runfromdvd}
%\subsubsection{Uruchamianie bezpośrednio z DVD{} (tylko w trybie tekstowym)}
%\label{sec:fromdvd}
%
%Aby uruchomić programy bezpośrednio z~płytki \DVD{}, należy wybrać 
%opcję ,,|V|'', co zmienia menu na przedstawione na 
%rys.~\ref{fig:main-fromdvd}. 
%\begin{figure}[tbh]
%\begin{boxedverbatim}
%======================> TeX Live installation procedure <=====================
%...
% <D> directories:
%   TEXDIRW (Writable root):
%     !! default location: /usr/local/texlive/2009
%     !! is not writable, please select a different one!
%   TEXMFLOCAL (directory for site-wide local files):
%     /usr/local/texlive/texmf-local
%   TEXMFSYSVAR (directory for variable and automatically generated data):
%     /usr/local/texlive/2009/texmf-var
%   TEXMFSYSCONFIG (directory for local config):
%     /usr/local/texlive/2009/texmf-config
%   TEXMFHOME (directory for user-specific files):
%     ~/texmf
%
% <O> options:
%   [ ] use letter size instead of A4 by default
%   [X] create all format files
%
% <V> set up for installing to hard disk
%
%Other actions:
% <I> start installation for running from DVD
% <H> help
% <Q> quit
%\end{boxedverbatim}
%\caption{Menu główne dla uruchamiania z~\optname{DVD}}%
%\label{fig:main-fromdvd}
%\end{figure}
%
%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 \dirname{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~\ref{sec:postinstall}.
%
%Instalator \GUI nie posiada opcji ,,V'', dlatego
%użytkownicy Windows mogą uruchomić program jedynie
%z~linii poleceń, jak opisano to w~części~\ref{sec:cmdline}.
%
%W~rozdziale \ref{sec:portable-tl} opisano jeszcze inny, przenośny sposób
%uruchamiania \TL, który nie wymaga zmian w~konfiguracji systemu
%(a~wręcz nie pozwala na nie).

\subsection{Parametry instalacji z linii poleceń}
\label{sec:cmdline}

Uruchom
\begin{alltt}
> \Ucom{install-tl -help}
\end{alltt}
aby wyświetlić wszystkie dostępne parametry.
 % Either |-| or |--| can be used to introduce option names.  
 Oto najczęściej używane:

\begin{ttdescription}
\item[-gui] użyj (jeśli to możliwe) programu w~wersji graficznej (\GUI);
 wymagane jest posiadanie modułu Perl/Tk 
 (\url{http://tug.org/texlive/distro.html#perltk}) skompilowanego ze
wsparciem dla \acro{XFT};
gdy jest on niedostępny, program instalacyjny uruchomiony zostanie
w trybie tekstowym;
\item[-no-gui] wymusza tryb tekstowy, np. w~Windows potrzebny jest on
 dla przygotowania do uruchamiania bezpośrednio z~\DVD;
\item[-lang {\sl LL}] pozwala wybrać język komunikatów, 
 \textsl{LL} oznacza tu dwuliterowy kod języka; aktualnie dostępne są:
 angielski (\texttt{en}, domyślny),
 chiński tradycyjny (\texttt{zh-tw}),
 chiński uproszczony (\texttt{zh-cn}),
 czeski (\texttt{cz},
 francuski (\texttt{fr}),
 holenderski (\texttt{nl}),
 japoński (\texttt{ja}),
 niemiecki (\texttt{de}),  
 polski (\texttt{pl}),
 rosyjski (\texttt{ru}),
 serbski (\texttt{sr}),
 słowacki (\texttt{sk}),
 słoweński (\texttt{sl}),
 włoski (\texttt{it}),i~wietnamski (\texttt{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;

\item[-portable] instalacja do użycia przenośnego na pen drivie lub \DVD;
 opcja ta minimalizuje wszelkie zmiany w~systemie, w~którym będziemy
uruchamiali \TL. Całość takiej instalacji mieści się w~pojedynczym katalogu;
więcej informacji znajdziemy w~części~\ref{sec:portable-tl};

\item[-profile {\sl profile}] program instalacyjny zapisuje plik
 \filename{texlive.profile} w~katalogu \dirname{tlpkg} naszej instalacji, 
 co pozwala wykorzystać go dla powielenia w trybie wsadowym wszystkich 
 wyborów i~ustawień w~kolejnych instalacjach;

\item [-repository {\sl url-lub-ścieżka}] pozwala określić inne niż 
 domyślne źródło instalacji (patrz poniżej).
\end{ttdescription}

\subsubsection{Parametr \optname{-repository}}
\label{sec:location}

Domyślnym repozytorium pakietów dla \TL{} jest kopia (\textit{mirror}) CTAN, 
znajdywana automatycznie via \url{http://mirror.ctan.org}.

Parametrowi \optname{-repository} można przypisać adres w sieci
(rozpoczynający się od \texttt{ftp:}, \texttt{http:} lub \texttt{file:/}) lub
pełną ścieżkę do kopii pakietów na dysku (np. pobranej za pomocą programu
\filename{wget}). Jeśli podany argument wskazuje na lokalny dysk (ścieżkę
bądź adres \texttt{file:/}), wybrana zostanie instalacja ze skompresowanych plików \filename{tar.xz}, zawartych w~podkatalogu \dirname{archive}.

%%! %% Chyba niezbyt istotne (SW)
%%! (When giving an \texttt{http:}\ or \texttt{ftp:}\
%%! location, trailing `\texttt{/}' characters and/or a trailing
%%! `\texttt{/tlpkg}' component are ignored.)
%%!  
%%! For example, you could choose a particular \CTAN\ mirror with something
%%! like: \url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/},
%%! substituting a real hostname and its particular top-level
%%! \CTAN\ path for |ctan.example.org|.  The list of \CTAN\ mirrors is
%%! maintained at \url{http://ctan.org/mirrors}.

\subsection{Czynności poinstalacyjne}
\label{sec:postinstall}

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.

\subsubsection{Gdy zastosujemy dowiązania symboliczne}

Użycie opisanej w~części~\ref{sec:options} opcji tworzenia dowiązań
symbolicznych w~standardowych katalogach nie wymaga zmian w zmiennych
środowiska systemowego.

\subsubsection{Zmienne środowiska dla Unix}
\label{sec:env}

Po instalacji należy do zmiennej \envname{PATH} dodać ścieżkę do
programów \TL. Każda z~obsługiwanych platform ma własny podkatalog 
w~ramach \dirname{TEXDIR/bin}. Listę platform i odpowiadających im katalogów
przedstawiono na rys.~\ref{fig:bin-text}.

Również korzystanie z~systemowych przeglądarek dokumentacji \prog{man} 
i~\prog{info} staje się możliwe dopiero
po dodaniu odpowiednich katalogów do ich ścieżek przeszukiwania.
Strony \prog{man} mogą być także znajdywane automatycznie po dodaniu
ścieżki ich położenia do \envname{PATH}.

Dla powłoki zgodnej z~Bourne shell (\cmdname{sh}, \cmdname{bash},
\cmdname{ksh}) możemy dopisać do pliku \filename{$HOME/.profile}:

\begin{sverbatim}
PATH=/usr/local/texlive/2010/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH
\end{sverbatim}

W~wypadku csh lub tcsh należy zmodyfikować plik \filename{$HOME/.cshrc}, np.:

\begin{sverbatim}
setenv PATH /usr/local/texlive/2010/bin/i386-linux:$PATH
setenv MANPATH /usr/local/texlive/2010/texmf/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2010/texmf/doc/info:$INFOPATH
\end{sverbatim}

%%!  ??? (SW) % nadal nie przetłumaczone!!!
%%! If you already have settings somewhere in your ``dot''
%%! files, naturally the \TL\ directories should simply be merged in as
%%! appropriate.

%%!  ??? (SW)
%%! \subsubsection{Environment variables: global configuration}
%%! \label{sec:envglobal}
%%! 
%%! If you want to make these changes globally, or for a user newly added to
%%! the system, then you are on your own; there is just too much variation
%%! between systems in how and where these things are configured.
%%! 
%%! Our two hints are: 1)~you may want to check for a file
%%! \filename{/etc/manpath.config} and, if present, add lines such as
%%! 
%%! \begin{sverbatim}
%%! MANPATH_MAP /usr/local/texlive/2010/bin/i386-linux \
%%!             /usr/local/texlive/2010/texmf/doc/man
%%! \end{sverbatim}
%%! 
%%! And 2)~check for a file \filename{/etc/environment} which may define the
%%! search path and other default environment variables.
%%! 
%%! In each (Unix) binary directory, we also create a symbolic link named
%%! \code{man} to the directory \dirname{texmf/doc/man}.  Some \code{man}
%%! programs, such as the standard \MacOSX\ \code{man}, will automatically
%%! find that, obviating the need for any man page setup.

\htmlanchor{xetexfontconfig}
\subsubsection{Konfiguracja fontów dla \XeTeX}
\label{sec:font-conf-xetex}

Gdy w systemie uniksowym zainstalowano pakiet \filename{xetex}, należy
skonfigurować system tak, aby \XeTeX\ mógł znaleźć fonty dostarczone
w~\TL. Aby to ułatwić, podczas instalacji pakietu tworzony jest
plik konfiguracyjny fontów:
\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}.

Aby udostępnić fonty \TL{} dla innych aplikacji systemu
(zakładając, że mamy odpowiednie uprawnienia) należy wykonać
następujące czynności:
\begin{enumerate*}
\item skopiować \filename{texlive-fontconfig.conf} do
\dirname{/etc/fonts/conf.d/09-texlive.conf};
\item uruchomić \Ucom{fc-cache -fsv}.
\end{enumerate*}

Jeśli nie mamy odpowiednich uprawnień i chcemy podczas uruchamiania \XeTeX{}
korzystać jedynie z fontów dostarczonych w~\TL, należy:
\begin{enumerate*}
\item skopiować plik \filename{texlive-fontconfig.conf} do
   \filename{~/.fonts.conf}, gdzie \filename{~} oznacza nasz katalog domowy.
\item uruchomić \Ucom{fc-cache -fv}.
\end{enumerate*}

%\subsubsection{Gdy uruchamiamy programy z~DVD}
%
%Programy \TL{} wyszukują potrzebne dane w~różnych drzewach katalogów,
%korzystając z~pliku \filename{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 \envname{TEXMFCNF}, która wskaże
%położenie \filename{texmf.cnf}. Nadal jest potrzebna modyfikacja zmiennej
%\envname{PATH}, jak opisano wyżej.
%
%Na zakończenie instalacji program powinien pokazać komunikat informujący,
%jaką wartość należy przypisać zmiennej \envname{TEXMFCNF}. Gdybyśmy 
%to przeoczyli -- wartością tą jest \dirname{$TEXMFSYSVAR/web2c}, czyli dla
%domyślnych ustawień (\dirname{/usr/local/texlive/2009/texmf-var/web2c})
%potrzebujemy deklaracji:
%\begin{sverbatim}
%TEXMFCNF=/usr/local/texlive/2009/texmf-var/web2c; export TEXMFCNF
%\end{sverbatim}
%lub, dla [t]csh:
%\begin{sverbatim}
%setenv TEXMFCNF /usr/local/texlive/2009/texmf-var/web2c
%\end{sverbatim}
%
%Opcja ta jest najbardziej przydatna, gdy chcemy uruchamiać programy \TL{}
%we własnym systemie, ale brak nam wystarczającego miejsca na dysku.
%W pełni przenośny sposób korzystania z~\TL{}, np. z pendrive USB,
%opisano w części~~\ref{sec:portable-tl}.

\subsubsection{\ConTeXt{} Mark IV}
\label{sec:context-mkiv}

Tak zwany ,,stary'' \ConTeXt{} (Mark \acro{II}) działa jak dotychczas. 
Nowy \ConTeXt{} Mark \acro{IV}, oparty na Lua\TeX, wymaga ręcznego 
dostrojenia. Po instalacji użytkownicy MkIV powinni uruchomić:
\begin{sverbatim}
luatools --generate
context --make
\end{sverbatim}
Wygenerowane pliki zostaną zapisane w~katalogu \code{TEXMFVAR}.

Więcej informacji można znaleźć na stronach:
\url{http://wiki.contextgarden.net/Running_Mark_IV} oraz
\url{http://wiki.contextgarden.net/TeX_Live_2010}.

\subsubsection{Integracja lokalnych i prywatnych pakietów makr}
\label{sec:local-personal-macros}

Jak już wspomniano w~części~\ref{sec:texmftrees}, katalog \dirname{TEXMFLOCAL}
(domyślnie \dirname{/usr/local/texlive/texmf-local} lub 
\verb|%SystemDrive%\texlive\texmf-local|) przeznaczony jest na lokalne 
(np. w~danej sieci komputerowej) fonty oraz pakiety makr. Z~kolei 
\dirname{TEXMFHOME} (domyślnie \dirname{$HOME/texmf} lub 
\verb|%USERPROFILE%\texmf|) jest przeznaczony na prywatne makra i~fonty 
użytkownika. W zamierzeniu oba te katalogi powinny być zachowywane przy 
instalacji nowszych wersji \TL{}, a~ich zawartość ma być automatycznie 
dostępna w~kolejnych wydaniach. Zalecamy zatem, by nie 
przedefiniowywać \dirname{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: \url{http://tug.org/tds},
także plik \filename{texmf/web2c/texmf.cnf}). Przykładowo pliki klas lub
makr \LaTeX-a powinny być umieszczane w~katalogu 
\dirname{TEXMFLOCAL/tex/latex/} lub \dirname{TEXMFHOME/tex/latex/} 
(lub ich podkatalogach).

\dirname{TEXMFLOCAL} po zmianie zawartości wymaga odświeżenia bazy danych --
poleceniem \cmdname{mktexlsr} lub poprzez użycie przycisku ,,Odśwież bazy
danych'' w~graficznym trybie programu TeX Live Manager (\prog{tlmgr}).

\subsubsection{Integracja fontów z innych źródeł}

Jest to, niestety, 
 %mocno zagmatwany temat, 
 bardzo skomplikowane zagadnienie, wymagające sporej wiedzy
użytkownika. Warto najpierw się dowiedzieć, jakie fonty mamy dostępne 
bezpłatnie (patrz część~\ref{sec:tl-fonts}).

Alternatywą jest tu użycie programu \XeTeX{} lub Lua\TeX\ (patrz
częśc~\ref{sec:tex-extensions}), które korzystają z fontów systemowych
bez potrzeby instalowania ich dla programów \TeX-owych.

Procedury instalacji i integracji fontów 
 % for our best effort at %% ??
 opisano wielkim staraniem np.
w:~\url{http://tug.org/fonts/fontinstall.html}. 

\subsubsection{Zwiększanie maksymalnej ilości dostępnej pamięci 
w~Windows i~Cygwin}
\label{sec:cygwin-maxmem}

Użytkownicy systemów Windows i~Cygwin mogą w~przypadku uruchamiania
niektórych programów dostarczonych w~\TL{} spotkać się z~niewystarczającą
ilością dostępnej pamięci.  Na przykład \prog{asy} wyczerpie dostępną pamięć
w~przypadku próby zadeklarowania macierzy składającej się z~25~milionów liczb
rzeczywistych, a~Lua\TeX\ przy przetwarzaniu dokumentu zawierającego wiele
dużych czcionek.
 % XXX "dużych" jest brzydkie, ale nie mam lepszego pomysłu :/

W~Cygwin można ten problem rozwiązać w~sposób podany za poradą zawartą
w~Podręczniku Użytkownika Cygwin
(\url{http://www.cygwin.com/cygwin-ug-net/setup-maxmem.html}).

W~Windows należy utworzyć plik, np. \code{moremem.reg}, o~zawartości:
\begin{sverbatim}
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Cygwin]
"heap_chunk_in_mb"=dword:ffffff00
\end{sverbatim}

\noindent a~następnie wykonać (jako użytkownik z~prawami administratora)
polecenie: \code{regedit /s moremem.reg}.  Zamiast ustawień globalnych dla
systemu, można też zmienić wielkość dostępnej pamięci jedynie dla bieżącego
użytkownika, używając \code{HKEY\_CURRENT\_USER}.

\subsection{Testowanie instalacji}
\label{sec:test-install}

Po zainstalowaniu \TL{} warto sprawdzić, czy programy działają
poprawnie. Opiszemy tu podstawowe procedury testujące funkcjonowanie
systemu w~systemach Unix. W~\MacOSX{} i~Windows najczęściej użyjemy
środowiska graficznego (\GUI), reguły jednak będą podobne.

\begin{enumerate}
\item Sprawdzamy najpierw, czy uruchamia się program \cmdname{tex}:

\begin{alltt}
> \Ucom{tex -{}-version}
TeX 3.1415926 (TeX Live 2010)
kpathsea version 6.0.0
Copyright 2010 D.E. Knuth.
...
\end{alltt}
Jeśli uruchomienie kończy się komunikatem \emph{command not found}
(\emph{nie znaleziono polecenia}), oznacza to, że niepoprawnie 
zadeklarowano zmienną \envname{PATH} (patrz: deklaracje zmiennych 
środowiska na str.~\pageref{sec:env}).

\item Następnie przetwarzamy prosty plik \LaTeX-owy:
\begin{alltt}
> \Ucom{latex sample2e.tex}
pdfTeX 3.1415926-1.40.11-2.2 (TeX Live 2010)
.....
Output written on sample2e.dvi (3 pages, 7484 bytes).
Transcript written on sample2e.log.
\end{alltt}
Gdy program nie znajduje \filename{sample2e.tex} (bądź innych wymaganych
plików), może to oznaczać, że nadal działają ustawienia zmiennych środowiska
bądź pliki konfiguracyjne z~innej (poprzedniej) instalacji.
Szczegółową analizę, gdzie pliki są szukane i~znajdowane, 
umożliwia diagnostyka opisana w~części \ref{sec:debugging} na 
str.~\pageref{sec:debugging}.

\item Podgląd wyniku składu:
\begin{alltt}
 > \Ucom{xdvi sample2e.dvi}    # Unix
 > \Ucom{dviout sample2e.dvi}  # Windows
\end{alltt}
Polecenie \cmdname{xdvi} wymaga uruchomionego środowiska graficznego 
X~Window. Dla MS Windows analogicznym poleceniem jest \cmdname{dviout}. 
 %%!
 %%! You should see a new window with a nice document explaining some of the
 %%! basics of \LaTeX{}.  (Well worth reading, by the way if you're new to the
 %%! system.) You do have to be running under X for \cmdname{xdvi} to work; if
 %%! you're not, or your \envname{DISPLAY} environment variable is set
 %%! incorrectly, you'll get an error \samp{Can't open display}.

\item Przetwarzanie wyniku składu do \PS{} w~celu wyświetlenia lub wydruku:
\begin{alltt}
> \Ucom{dvips sample2e.dvi -o sample2e.ps}
\end{alltt}

\item Tworzenie dokumentu bezpośrednio w~formacie \acro{PDF}:
\begin{alltt}
> \Ucom{pdflatex sample2e.tex}
\end{alltt}

\item Podgląd dokumentu \acro{PDF}:
\begin{alltt}
> \Ucom{gv sample2e.pdf}
\textrm{lub:}
> \Ucom{xpdf sample2e.pdf}
\end{alltt}
Programy \cmdname{gv} i~\cmdname{xpdf} są zwykle dostarczane 
w~ramach systemu operacyjnego, wobec tego nie zamieszczono ich
na \TL. Przed samodzielną instalacją warto odwiedzić strony,
odpowiednio: \url{http://www.gnu.org/software/gv}
i~\url{http://www.foolabs.com/xpdf}. W~sieci dostępny jest także
bezpłatny program Adobe Reader (\url{http://www.adobe.com}).
Użytkownikom Windows można zarekomendować program
Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}.
W~systemie Windows domyślnie instalowany jest dla \TL{} program 
\cmdname{psv} 
(PS\_View), pozwalający przeglądać pliki \cmdname{.ps} i~\cmdname{.pdf}. 
Program ten można też zainstalować samodzielnie w~systemach Linux 
 %(w~katalogu \dirname{support/} znajdziemy plik \filename{psview-5.09t.zip}).
 (\url{http://psview.sourceforge.net/download.html}).

\item Inne przydatne pliki testowe:

\begin{ttdescription}
\item [small2e.tex] przykład prostszy niż \filename{sample2e};
\item [testpage.tex] test położenia wydruku na kartce papieru, przydatny
  do sprawdzenia, czy nasza drukarka nie wprowadza przesunięć;
\item [nfssfont.tex] służy do wydruku tablic fontowych;
\item [testfont.tex] jak wyżej, z~tym że zamiast \LaTeX-a trzeba użyć plain
 \TeX{};
\item [story.tex] najbardziej kanoniczny przykład dla plain \TeX{};
 na zakończenie przetwarzania uruchomionego poleceniem \samp{tex story},
 po ukazaniu się \code{*}, należy wpisać \samp{\bs bye}.
\end{ttdescription}

\item Jeśli zainstalowano pakiet \filename{xetex}, możemy przetestować
 użycie fontów systemowych:
\begin{alltt}
> \Ucom{xetex opentype-info.tex}
This is XeTeX, Version 3.1415926\dots
...
Output written on opentype-info.pdf (1 page).
Transcript written on opentype-info.log.
\end{alltt}
Gdy otrzymamy komunikat błędu: 
,,Invalid fontname `Latin Modern Roman/ICU'\dots'', oznacza to, że
należy zmienić konfigurację, jak to opisano 
w~części~\ref{sec:font-conf-xetex}.

\end{enumerate}

\subsection{Programy pomocnicze dla Windows}

Początkującym użytkownikom polecamy stronę
\url{http://tug.org/begin.html} oraz podręcznik
Petera Flynna \textsl{Formatting Information}, dostępny pod adresem
\url{http://www.ctan.org/tex-archive/documentation/beginlatex}.

Aby instalacja była kompletna, \TL{} 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 \TL:
\begin{description}
\item[Perl i Ghostscript] -- obydwa te programy są niezbędne do
poprawnego działania \TL, dołączyliśmy zatem \cmdname{Ghostscript} 8.62
i~minimalną dystrybucję \cmdname{Perl} 5.8, wystarczającą do
uruchomienia wszystkich zawartych w~\TL{} skryptów perlowych;
oba programy zostały ,,ukryte'', to znaczy tylko programy \TL, które
z~nich korzystają, ,,wiedzą'' gdzie je znaleźć; tym samym nie powinny
kolidować z~ewentualnie zainstalowanymi w~systemie programami Perl
i~Ghostscript;
\item[narzędzia uruchamiane z~linii poleceń] -- zestaw kilku przydatnych 
 programów 
 (\texttt{gzip}, \texttt{unzip}, \texttt{jpeg2ps} i~\texttt{tiff2png})
 a~także kilka narzędzi z~zestawu \cmdname{xpdf}, uruchamianych z~linii 
 poleceń (sam \cmdname{xpdf} nie jest dostępny dla Windows, 
 można jednak pobrać z~internetu opartą na nim przeglądarkę \acro{PDF}:
 \url{http://blog.kowalczyk.info/software/sumatrapdf});
\item[fc-list, fc-cache] -- narzędzia z~biblioteki fontconfig; program 
\prog{fc-cache} rejestruje dla \XeTeX-a fonty systemowe lub dostarczane 
 w~dystrybucji \TL{} fonty OpenType; \prog{fc-list} wyświetla zarejestrowane
 fonty, podając ich pełne nazwy (deklarujemy je w~rozszerzonym w~\XeTeX-u
 poleceniu \cs{font});
\item[PS\_View] -- program do podglądu plików postscriptowych (a~także
 plików \acro{PDF}), patrz rys.~\ref{fig:psview}.
\end{description}
 %\begin{description}
 %\item[katalog \texttt{support,}] wspomniany już w~części~\ref{sec:tld},
 %zawiera różne programy, które mogą być użyteczne w~środowisku \TeX-owym
 %(np. edytory/środowiska dla \TeX-a); programy te \emph{nie są} uwzględniane
 %podczas instalacji samego \TL, należy je więc zainstalować samodzielnie.
 %\end{description}

\begin{figure}[h]
\begin{center}
\tlpng{psview}{.6\linewidth}
\caption{PS\_View: umożliwia bardzo duże powiększenia!}\label{fig:psview}
\end{center}
\end{figure}

Poniżej zamieszczono listę miejsc, z~których można pobrać programy 
pomocnicze:

\begin{description}
\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/}
\item[Perl] \url{http://www.perl.org} (uzupełniające, przydatne
 pakiety należy pobrać z~zasobów CPAN \url{http://cpan.org})
\item[ImageMagick] -- bogaty zestaw narzędzi do wsadowego przetwarzania
 plików graficznych (\url{http://www.imagemagick.com})
\item[NetPBM] -- do przetwarzania i~konwersji plików graficznych możemy 
 użyć alternatywnego dla \textsf{ImageMagick} programu NetPBM 
 (\url{http://netpbm.sourceforge.net/})
\item[Edytory dla systemu \TeX{}] -- spory wybór programów, uwzględniający
 indywidualne preferencje użytkownika (niektóre z~nich działają jedynie
w~systemach Windows)
 \begin{itemize*}
  \item \cmdname{GNU Emacs} -- w~wersji zintegrowanej z~\textsf{AucTeX}
  dla Windows dostępny jest w~\TL{} w~katalogu \path{tlpkg/support/}
  (\url{http://www.gnu.org/software/auctex}).
%     http://www.gnu.org/software/emacs/windows/ntemacs.html})
%  \item \cmdname{XEmacs} -- bardziej przyjazna wersja dla Windows
%        (\url{http://www.xemacs.org/})
  \item \cmdname{LEd} -- polski edytor, dostępny 
  z~\url{http://www.ctan.org/support/LEd}
  \item \cmdname{SciTE} -- edytor dostępny
  z \url{http://www.scintilla.org/SciTE.html}
  \item \cmdname{Texmaker} -- edytor dostępny z
        \url{http://www.xm1math.net/texmaker/}.
  \item TeXnicCenter -- kolejny, dosyć bogaty w~funkcje edytor
    (\url{http://www.toolscenter.org/products/texniccenter/})
  \item \cmdname{TeXworks} -- nowy edytor, dostępny z
        \url{http://tug.org/texworks} i instalowany w Windows oraz
        \MacOSX\ jako część \TL.
  \item \cmdname{Vim} -- rozbudowany i~bardzo funkcjonalny edytor, 
         wywodzący się z~klasycznego dla systemów Unix edytora \cmdname{vi}
    %, dostępny na \TL{} w~katalogu \dirname{support/vim}
    (\url{http://www.vim.org})
  \item \cmdname{WinShell} -- prosty edytor/shell
   (\url{http://www.winshell.de})
  \item \cmdname{WinEdt} -- bogaty w~funkcje edytor dla \TeX-a, dostępny jako
    \emph{shareware} (\url{http://www.winedt.com})
 \end{itemize*}
\end{description}

Obszerniejszą listę programów można znaleźć na stronie
\url{http://tug.org/interest.html}.

\section{Instalacje sieciowe}
\label{sec:netinstall}

\TL{} 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
\TL{} jest zdefiniowane jako względne wobec samych programów. Można to 
zobaczyć w~pliku \filename{$TEXMFMAIN/web2c/texmf.cnf}, który zawiera np. 
takie wiersze:
\begin{sverbatim}
TEXMFMAIN = $SELFAUTOPARENT/texmf
...
TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local
\end{sverbatim}
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 \TL{}.

Możliwa jest zatem np. instalacja lokalna \TL{}, po czym przeniesienie
całej struktury w~inne miejsce w~sieci.

Użytkownicy Windows mogą pobrać z internetu skrypt \filename{w32client}
(patrz: \url{http://tug.org/texlive/w32client.html}), który
pozwala dostosować istniejącą instalację \TL{} dla potrzeb sieci
(włącznie z~utworzeniem skrótów w~menu systemowym).
  
W części~\ref{sec:kpathsea} dowiemy się więcej o~konfigurowaniu \TL{}
i~zasadach przeszukiwania ścieżek.

%%! 2 sekcje tłumaczył Kocio (Andrzej Borzyszkowski), przeredagował StaW
\htmlanchor{tlportable}
\section{Maksymalnie przenośny \protect\TL{} na DVD i~USB}
\label{sec:portable-tl}

%Opcja ,,uruchom z~\DVD{}'', opisana w~rozdziale~\ref{sec:fromdvd}, 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.

Aby wykonać przenośną instalację na pen drivie należy uruchomić najpierw
program instalacyjny z~opcją \optname{-portable} (patrz część
~\ref{sec:cmdline}).

W~głównym katalogu takiej instalacji znajdziemy skrypt uniksowy
\filename{tl-portable} oraz windowsowy \filename{tl-portable.bat}, które
uruchamiają terminal z~ustawieniami odpowiednimi do bezpośredniego dostępu do
\TL{} na pen drivie lub \DVD.

Zawartość pen driva możemy nagrać na czystej płytce \DVD. W trakcie
pierwszego uruchomienia skryptu generowane są pewne pliki
w~podkatalogu \dirname{~/.tlportable2010}, co trwa kilka chwil.
W~kolejnych wywołaniach skrypt rozpoczyna działanie niemal natychmiast.

Reszta systemu nie jest świadoma istnienia \TL.  Jeśli chcemy, by np.  nasz
edytor mógł współpracować z~\TL, musimy uruchomić go z~innej, równoległej
sesji \filename{tl-portable}.

\section{\cmdname{tlmgr}: zarządzanie instalacją}
\label{sec:tlmgr}

\TL{} zawiera program o~nazwie  \prog{tlmgr}, służący do dalszego
zarządzania \TL{} po pierwotnej instalacji. Programy \prog{updmap},
\prog{fmtutil} oraz \prog{texconfig} są nadal dostępne i~będą utrzymywane
w~przyszłości, jednakże obecnie polecanym interfejsem jest \prog{tlmgr}. Jego
możliwości obejmują:

\begin{itemize*}
\item instalowanie, aktualizację, tworzenie kopii zapasowych, odtwarzanie 
 oraz usuwanie pojedynczych pakietów (opcjonalnie~-- z~uwzględnieniem 
 zależności pomiędzy pakietami);
\item wyszukiwanie i pokazanie zawartości pakietów;
\item wyszczególnianie oraz dodawanie architektur (platform systemowych);
\item zmianę opcji instalacji, takich jak rozmiar papieru czy zmiana 
 położenia źródła instalacji (patrz część~\ref{sec:location}).
\end{itemize*}
 %\textit{Ostrzeżenie:} \prog{tlmgr} nie został zaprojektowany ani 
 % przetestowany z~instalacjami, które są wywoływane bezpośrednio z~\DVD.

\begin{figure}[tb]
\tlpng{tlmgr-gui}{\linewidth}
\caption{\prog{tlmgr} w~trybie graficznym: główne okno, po akcji
,,Wczytaj'' (\textit{Load}).}
\label{fig:tlmgr-gui}
\end{figure}

\begin{figure}[tb]
\hbox to \hsize{%
  \vtop{\hsize=.59\linewidth
    \null  % make figures align at the top
    \tlpng{tlmgr-general-options}{\hsize}
    \caption{\texttt{tlmgr} w trybie \GUI: Opcje ogólne}
    \label{fig:tlmgr-general-options}
  }
  \hfil
  \vtop{\hsize=.39\linewidth
    \null
    \tlpng{tlmgr-paper-options}{\hsize}
    \caption{\texttt{tlmgr} w trybie \GUI: Opcje dotyczące formatu papieru}
    \label{fig:tlmgr-paper-options}
  }
}
\end{figure}

 %\begin{figure}[tb]
 %\tlpng{tlmgr-config}{.8\linewidth}
 %\caption{\texttt{tlmgr} w~trybie graficznym: zakładka 
 %konfiguracji}\label{fig:tlmgr-config}
 %\end{figure}

\subsection{\cmdname{tlmgr} -- tryb graficzny (GUI)}
\prog{tlmgr} może być uruchomiony w~trybie graficznym 
(rys.~\ref{fig:tlmgr-gui}) za pomocą polecenia:
\begin{alltt}
> \Ucom{tlmgr -gui}
\end{alltt}
 zaś w~systemie Windows poprzez wybór menu: \texttt{Start} \verb+->+  
\texttt{Programy} \verb+->+ \texttt{TeX Live 2010} \verb+->+ \texttt{TeX Live
Manager}. 
 %Po kliknięciu przycisku ,,Wczytaj'' wyświetla listę dostępnych oraz
 %listę zainstalowanych pakietów (te ostatnie poprzedzone są znacznikiem
 %,,(i)''). Zakładamy oczywiście, że źródła instalacji są poprawne i~są
 %dostępne.

Rysunki~\ref{fig:tlmgr-general-options} i~\ref{fig:tlmgr-paper-options}
pokazują zakładki doczące opcji.

\subsection{Przykładowe wywołania \cmdname{tlmgr} z~linii poleceń}

Po zainstalowaniu \TL{} można dokonać aktualizacji wszystkich pakietów:
\begin{alltt}
> \Ucom{tlmgr update -all}
\end{alltt}
Symulację aktualizacji umożliwia:
\begin{alltt}
> \Ucom{tlmgr update -all -dry-run}
\end{alltt}
bądź tylko wyliczenie, jakie pakiety będą aktualizowane:
\begin{alltt}
> \Ucom{tlmgr update -list}
\end{alltt}

Poniższy przykład dodaje kolekcję zawierającą m.in. nowy ,,silnik'' \XeTeX, 
 %z~innego niż domyślne położenia źródła 
 z~lokalnego repozytorium instalacji:

\begin{alltt}
> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex}
\end{alltt}
co pokazują komunikaty (tu w skrócie):
\begin{fverbatim}
install: collection-xetex
install: arabxetex
...
install: xetex
install: xetexconfig
install: xetex.i386-linux
running post install action for xetex
install: xetex-def
...
running mktexlsr
mktexlsr: Updating /usr/local/texlive/2010/texmf/ls-R...
...
running fmtutil-sys --missing
...
Transcript written on xelatex.log.
fmtutil: /usr/local/texlive/2010/texmf-var/web2c/xetex/xelatex.fmt installed.
\end{fverbatim}

Jak widać, \prog{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.:
\begin{alltt}
> \Ucom{tlmgr show collection-latexextra}
\end{alltt}
co pokaże:
\begin{fverbatim}
package:    collection-latexextra
category:   Collection
shortdesc:  LaTeX supplementary packages
longdesc:   A large collection of add-on packages for LaTeX.
installed:  Yes
revision:   14675
\end{fverbatim}

\noindent
\textbf{Uwaga:} pełna dokumentacja programu \cmdname{tlmgr} dostępna 
jest pod adresem:
\url{http://tug.org/texlive/tlmgr.html} lub po uruchomieniu:
\begin{alltt}
> \Ucom{tlmgr -help}
\end{alltt}

\section{Uwagi dotyczące Windows}
\label{sec:windows}

\TL\ 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 
\TL\ można instalować tylko w~Windows 2000 i~nowszych.

\subsection{Cechy specyficzne w~systemie Windows}
\label{sec:winfeatures}

W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynności:
\begin{description}
\item[Menu i skróty.] W~menu systemowym instalowane jest podmenu ,,\TL'',
które zawiera kilka pozycji dla programów działających w~trybie graficznym
(\prog{tlmgr}, \prog{texdoctk}, PS\_View -- przeglądarka plików
postscriptowych) oraz dokumentacji. Dla PS\_View tworzony jest także
skrót (ikona) na pulpicie, umożliwiający ,,przeciąganie\dywiz upuszczanie''
na ikonie plików postscriptowych.
\item[Automatyczne ustawienie zmiennych środowiska.]
Po instalacji nie są wymagane żadne ,,ręczne'' zmiany ustawień.
\item[Odinstalowanie.]  Program instalacyjny rejestruje instalację
w~menu ,,Dodaj/Usuń programy'' w~Panelu sterowania; odinstalowanie 
odbywa się zatem w~standardowy dla Windows sposób.
\end{description}

%\subsection{Program Dviout}
%
%Obecne wydanie \TL{} nie oferuje niestety preinstalowanego programu do
%podglądu plików \acro{DVI} dla Windows, można jednak samodzielnie
%zainstalować doskonały \prog{dviout}, autorstwa Toshio Oshimy.  Znajdziemy go
%w~katalogu \path{support/dviout/}, zawierającym również krótki plik
%\filename{README} omawiający, jak zaistalować i~skonfigurować \prog{dviout}
%dla \TL. Przed instalacją zalecamy przeczytać informacje tam zawarte.
%
%Pierwsze uruchomienie \verb+dviout+ zazwyczaj automatycznie generuje wymagane
%fonty ekranowe. Po kilku sesjach komunikaty dotyczące generowania fontów
%staną się rzadsze. Więcej informacji można znaleźć w~bardzo dobrym
%poradniku \emph{on-line} tego programu.

\subsection{User Profile to inaczej Home (katalog domowy)}
\label{sec:winhome}

Odpowiednikiem uniksowego katalogu domowego użytkownika (|$HOME|) jest
w~Windows katalog określany zmienną \verb|%USERPROFILE%|. W~Windows
2000 i~XP jest to zazwyczaj katalog 
\verb|C:\Documents and Settings\<nazwa_użytkownika>|, zaś w~systemie Windows 
Vista katalog \verb|C:\Users\<nazwa_użytkownika>|. W~pliku konfiguracyjnym
\filename{texmf.cnf} i~bibliotekach \KPS{} znak \verb|~|
jest poprawnie rozwijany do odpowiedniej zmiennej zarówno w~Windows, jak
i~w~Unix/Linux.

\subsection{Rejestr Windows}
\label{sec:registry}

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 \path{HKEY_CURRENT_USER} oraz \path{HKEY_LOCAL_MACHINE} 
(w~skrócie \path{HKCU} i~\path{HKLM}). Część \path{HKCU} dotyczy katalogów
domowych użytkowników (patrz~\ref{sec:winhome}), zaś \path{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.

\subsection{Uprawnienia w Windows}
\label{sec:winpermissions}

%%! UWAGA SW: cała ta część jest mocno niejasna w oryginale. Tłumaczyłem
%%! ją mając na uwadze ogólny sens, w niektórych miejscach doprecyzowując
%%! sformułowania. Ale i tak jest, wg mnie, do bani :-)

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. 
 %%! ???
 %In practice, though, you could better describe
 %these classes of users as unprivileged users and normal users: being an
 %administrator is the rule, not the exception. 
 Dołożono wielu starań, aby umożliwić instalację \TL{} 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.
 %Mając uprawnienia admistratora możemy zainstalować \TL{} tylko 
 %dla użytkowników; należy wtedy uruchomić \prog{install-tl} z~parametrem
 %\optname{-non-admin}.

Bez względu na status użytkownika proponowanym, domyślnym katalogiem głównym
instalacji, jest katalog w~ramach \verb|%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 \TL{} 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 \TL{} ma
priorytet. W~ten sposób, po uruchomieniu tego skrótu, będzie można korzystać
z~\TL. Dotyczy to także programu \TeX{}works, 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''.

\subsection{W razie problemów}
\label{troubleshooting}

\subsubsection{Co zrobić gdy \texttt{latex} nie może znaleźć potrzebnych
plików?}

\begin{itemize}
 \item Podstawowym narzędziem do diagnozowania problemów jest program 
 \cmdname{kpsewhich}. Wyprowadza on informacje diagnostyczne na wyjście
stderr, przy czym konsole (okienka wierszy poleceń) starszych systemów
Windows nie potrafią przekierować stderr do pliku.  Umożliwia to dopiero
system Windows NT i~późniejsze, ale rozwiązanie przedstawione poniżej działa
dla każdej konsoli (okienka wierszy poleceń). Otóż dla celów diagnostycznych
można tymczasowo zdefiniować zmienną środowiska (w~oknie poleceń):
\begin{verbatim}
SET KPATHSEA_DEBUG_OUTPUT=err.log
\end{verbatim} 
Można również zadać zakres diagnostyki:  
\begin{verbatim} 
SET KPATHSEA_DEBUG=-1
\end{verbatim}

Podobnie, aby przekierować wyjście stderr na stdout:
\begin{verbatim}
SET KPATHSEA_DEBUG_OUTPUT=con:
\end{verbatim}
W ten sposób można skierować zarówno stderr, jak i stdout do tego samego pliku.
\item Przy założeniu, że instalację wykonano w \path|c:/TeX|, należy
  sprawdzić (porównać) następujące wartości:\\
  {\small
  \begin{tabular}{ll}
    \path|kpsewhich -expand-path $SELFAUTOPARENT| &  \path|c:/TeX| \\
    \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\
    \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//|
  \end{tabular}
}

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 \filename{texmf.cnf}.
\item Następnie należy sprawdzić (porównać) wartości:\\
{\small
  \begin{tabular}{ll}
  \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm|\\
  \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf-var/web2c/pdftex/latex.fmt|
  \end{tabular}
}

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ą \path|-debug=n| programu \path|kpsewhich| i~zweryfikować wszystkie 
uzyskane wartości. Po zidentyfikowaniu problemu warto go zgłosić.  
\end{itemize}

%--------------------------
% don't use \Webc so the \uppercase in the headline works.
\section{Instrukcja obsługi systemu Web2C}

\Webc{} to zestaw programów związanych z~\TeX-em, tj.  sam \TeX{}, \MF{},
\MP, \BibTeX{} itd. Stanowią one rdzeń dystrybucji \TL.

Oryginalna implementacja wykonana została przez Tomasa Rokickiego, który
w~roku 1987 stworzył pierwszy system \TeX{}-to-C, adaptując pliki wymiany
(\emph{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.

\Webc{} działa na platformach systemowych, takich jak Unix (w~tym \MacOSX),
Windows 9x/\acro{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ą:

\begin{cmddescription}
\item[bibtex]    tworzenie spisów bibliograficznych;
\item[dvicopy]   modyfikowanie pliku \dvi;
\item[dvitomp]   konwersja \dvi{} do MPX (rysunki \MP{}-owe);
\item[dvitype]   konwersja \dvi{} na plik tekstowy (ASCII);
\item[gftodvi]   zamiana fontu GF na plik \dvi;
\item[gftopk]    zamiana fontu w~formacie GF na font spakowany (PK);
\item[gftype]    zamiana fontu GF na plik tekstowy (ASCII);
\item[mf]        generowanie fontów bitmapowych w formacie GF;
\item[mft]       skład plików źródłowych \MF{}-a;
\item[mpost]     tworzenie rysunków oraz diagramów technicznych;
\item[patgen]    tworzenie wzorców przenoszenia wyrazów;
\item[pktogf]    zamiana fontów w formacie PK na fonty GF;
\item[pktype]    zamiana fontu PK na plik tekstowy (ASCII);
\item[pltotf]    konwersja tekstowej listy właściwości do TFM;
\item[pooltype]  wyświetlanie \web-owych plików pool;
\item[tangle]    konwersja \web{} do języka Pascal;
\item[tex]       skład tekstu;
\item[tftopl]    konwersja TFM do tekstowej listy właściwości (PL);
\item[vftovp]    konwersja fontów wirtualnych do wirtualnej listy
                 właściwości (VPL);
\item[vptovf]    konwersja wirtualnej listy właściwości do fontów wirtualnych;
\item[weave]     konwersja \web{} do \TeX-a.
\end{cmddescription}

\noindent
Dokładny opis funkcji oraz składni tych programów zawarty jest
w~dokumentacji poszczególnych pakietów samego \Webc{}.
Do optymalnego korzystania z~instalacji \Webc{} 
przyda się znajomość kilku zasad rządzących całą rodziną programów.

Wszystkie programy obsługują standardowe opcje \acro{GNU}:
\begin{description}
\item[\texttt{-{}-help\ \ \ }] podaje podstawowe zasady użytkowania;
\item[\texttt{-{}-verbose}] podaje dokładny raport z~działania programu;
\item[\texttt{-{}-version}] podaje informację o~wersji, po czym kończy
                          działanie programu.
\end{description}

Do lokalizowania plików programy oparte na \Webc{} używają biblioteki do
przeszukiwania ścieżek zwanej \KPS{}.
Dla optymalizacji przeszukiwania \TeX-owego drzewa podkatalogów biblioteka ta
używa kombinacji zmiennych środowiskowych oraz kilku plików konfiguracyjnych.
\Webc{} 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 \file{ls-R}, zawierający pozycje określające nazwę i~względną ścieżkę
dla wszystkich plików zawartych w~tym katalogu.

\subsection{Przeszukiwanie ścieżek przez Kpathsea}
\label{sec:kpathsea}

Opiszemy najpierw ogólny mechanizm przeszukiwania ścieżek przez bibliotekę
\KPS{}.

Tym, co nazywamy \emph{ścieżką przeszukiwania}, jest rozdzielona dwukropkami
lub średnikami lista \emph{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 \samp{my-file} w~ścieżce
\samp{.:/dir}, \KPS{} sprawdza istnienie danego elementu ścieżki
w~następującej kolejności: najpierw \file{./my-file}, potem
\file{/dir/my-file}, zwracając pierwszy odnaleziony (lub możliwie wszystkie).

Aby optymalnie zaadaptować się do konwencji wszystkich systemów operacyjnych,
na systemach nieunixowych \KPS{} może używać
jako separatorów nazw ścieżek znaków innych
niż dwukropek (\samp{:}) oraz ,,ciach'' (\samp{/}).

W~celu sprawdzenia konkretnego elementu \var{p} ścieżki, \KPS{} najpierw
sprawdza, czy zbudowana wcześniej baza danych (patrz ,,Baza nazw plików'' na
stronie~\pageref{Filename-database}) odnosi sie do \var{p}, tj.
czy baza danych znajduje się w~podkatalogu z~prefiksem~\var{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~\samp{!!}\ oraz jeżeli poszukiwany plik musi istnieć).
\KPS{} 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 \samp{.vf}
i~plików dołączanych \TeX-owym poleceniem \cs{openin}.
Takiego pliku może nie być (np. \file{cmr10.vf}), błędne byłoby zatem
poszukiwanie go na dysku.
Jeśli więc zapomnisz o~aktualizacji \file{ls-R} po instalacji nowego
pliku \samp{.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, \KPS{} 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 \KPS{} \emph{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 \samp{/} lub \samp{./}
lub \samp{../}, to \KPS{} ogranicza się do sprawdzenia, czy ten plik istnieje.

\ifSingleColumn
\else
\begin{figure*}
\verbatiminput{examples/ex5.tex}
\setlength{\abovecaptionskip}{0pt}
  \caption{Przykład pliku konfiguracyjnego}
  \label{fig:config-sample}
\end{figure*}
\fi

\subsubsection{Źródła ścieżek}
\label{Path-sources}

Nazwa przeszukiwanej ścieżki może pochodzić z~wielu źródeł.
Oto kolejność, w~jakiej \KPS{} ich używa:

\begin{enumerate}
\item
  Zmienna środowiskowa ustawiana przez użytkownika, np.
  \envname{TEXINPUTS}.
  Zmienne środowiskowe z~dołączoną kropką i~nazwą programu zastępują inne,
  np. jeżeli \samp{latex} jest nazwą uruchomionego programu, wtedy zamiast
  \envname{TEXINPUTS} wykorzystana zostanie zmienna \envname{TEXINPUTS.latex}.
\item
  Plik konfiguracyjny konkretnego programu, np. linia ,,\texttt{S /a:/b}''
  w~pliku \file{config.ps} programu \cmdname{dvips}.
\item   Plik konfiguracyjny \KPS{} \file{texmf.cnf}, zawierający taką linię,
  jak \samp{TEXINPUTS=/c:/d} (patrz poniżej).
\item Wartości domyślne dla uruchamianych programów.
\end{enumerate}
\noindent 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~\pageref{sec:debugging}).

\subsubsection{Pliki konfiguracyjne}

\tolerance=3500
 \KPS{} szuka ścieżek przeszukiwania i~innych definicji w~\emph{plikach
konfiguracyjnych} o~nazwach \file{texmf.cnf}.
Ścieżka przeszukiwania używana do znajdowania tych plików określana jest
przez zmienną \envname{TEXMFCNF},
 %(domyślnie taki plik znajduje się 
 %w~podkatalogu \file{texmf/web2c}).
 ale nie zalecamy jawnego ustawiania tej, jak i~innych zmiennych w~systemie.
Zamiast tego typowa instalacja \TL{} tworzy plik \file{.../2010/texmf.cnf},
który w~wyjątkowych wypadkach możemy modyfikować. Głównym plikiem
konfiguracyjnym jest \file{.../2010/texmf/web2c/texmf.cnf}, ale
nie powinien być on modyfikowany, gdyż 
 %wprowadzone ewentualne 
 zmiany będą utracone podczas aktualizacji.
 
Czytane będą \emph{wszystkie} pliki \file{texmf.cnf} w~ścieżce
przeszukiwania, a~definicje we wcześniejszych plikach zastąpią te
w~późniejszych.  Tak więc w~ścieżce \verb|.:$TEXMF| wartości pochodzące
z~\file{./texmf.cnf} zastąpią te z~\verb|$TEXMF/texmf.cnf|.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Dociekliwy czytelnik może być zainteresowany sposobem, w~jaki programy
znajdują plik \file{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 \texttt{\$PATH}):
\path{../../texmf/web2c/} bądź \path{../texmf/web2c/}. Jeśli jawnie
deklarujemy zmienną \envname{TEXMFCNF}, wymagane jest podanie bezwzględnej
ścieżki.

Czytając zamieszczony poniżej opis formatu pliku \file{texmf.cnf},
warto przeglądać jego zawartość. Położenie \emph{aktywnego} pliku
znajdziemy za pomocą polecenia \texttt{kpsewhich texmf.cnf}.

\begin{itemize}
\item
  Komentarze zaczynają się od ,,\texttt{\%}'', a~kończą na końcu wiersza.
\item
  Puste wiersze nie są brane pod uwagę.
\item
  Znak ,,\bs{}'' na końcu wiersza działa jako znak kontynuacji, tzn.
  oznacza, że kolejny wiersz jest kontynuacją bieżącego.
  Spacja na początku kolejnego wiersza nie jest ignorowana.
\item
  Pozostałe wiersze mają postać:
\begin{alltt}
  \emph{zmienna}[.\emph{program}] [=] \emph{wartość}
\end{alltt}%
  gdzie \samp{=} i~otaczające spacje są opcjonalne.
\item
  ,,\texttt{\var{zmienna}}'' zawierać może dowolne znaki poza spacją,
  \samp{=}, lub \samp{.} (kropką), najbezpieczniej jednak używać znaków
  z~zakresu \samp{A-Za-z\_}.
\item
  Napis ,,\texttt{.\var{program}}'' ma zastosowanie w~wypadku, gdy
  uruchamiany program nosi nazwę \texttt{\var{program}} lub
  \texttt{\var{program}.exe}. Pozwala to różnym odmianom \TeX-a stosować
  różne ścieżki przeszukiwania.
\item ,,\texttt{\var{wartość}}'' zawierać może dowolne znaki poza
  ,,\texttt{\%}'' i \samp{@}.
  Nie można używać konstrukcji ,,\texttt{\$\var{zmienna}.\var{program}}''
  po prawej stronie. Zamiast tego trzeba zastosować zmienną pomocniczą.
  Jeżeli systemem operacyjnym jest Unix,
  to średnik \samp{;}\ użyty w~,,\texttt{\var{wartość}}'' zamieniany jest na
  \samp{:};  umożliwia to istnienie
  wspólnego pliku \file{texmf.cnf} dla systemów  Unix oraz Windows.
\item
  Wszystkie definicje czytane są zanim cokolwiek zostanie rozwinięte, tak
  więc do zmiennych można się odwoływać przed ich zdefiniowaniem.
\end{itemize}
Oto fragment pliku konfiguracyjnego ilustrujący większość opisanych powyżej
reguł notacji:
\ifSingleColumn
\verbatiminput{examples/ex5.tex}
\else
jest pokazany na rys.~\ref{fig:config-sample}.
\fi

\subsubsection{Rozwijanie ścieżek}
\label{Path-expansion}

\KPS{} 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
\verb+~$USER/{foo,bar}//baz+ rozwija się do wszystkich podkatalogów pod
katalogami \file{foo} i~\file{bar} w~katalogu głównym \texttt{\$USER},
które zawierają katalog lub plik \file{baz}.
Rozwinięcia te opisane są w~poniższych podrozdziałach.

\subsubsection{Rozwijanie domyślne}
\label{Default-expansion}

\tolerance=2500
Jeżeli ścieżka przeszukiwania największego uprzywilejowania (patrz ,,Źródła
ścieżek'' na stronie~\pageref{Path-sources}) zawiera
\emph{dodatkowy dwukropek} (np. na początku, na końcu lub podwójny), to \KPS{}
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ą
\tolerance=1500

\begin{alltt}
> \Ucom{setenv TEXINPUTS /home/karl:}
\end{alltt}
oraz wartość \code{TEXINPUTS} pobraną z~\file{texmf.cnf}

\begin{alltt}
  .:\$TEXMF//tex
\end{alltt}
to końcową wartością użytą w~przeszukiwaniu będzie:

\begin{alltt}
  /home/karl:.:\$TEXMF//tex
\end{alltt}

Ponieważ nieużytecznym byłoby wstawiać wartość domyślną w~więcej niż jednym
miejscu, \KPS{} zmienia tylko jeden dodatkowy \samp{:}\ i~pozostawia
inne bez zmian. \KPS{} najpierw szuka dwukropków na początku linii, potem na końcu,
a~następnie podwójnych.

\subsubsection{Rozwijanie nawiasów}

Użyteczna jest możliwość rozwijania nawiasów, co oznacza, że np.
\verb+v{a,b}w+ rozwija się do \verb+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 \code{\$TEXMF}.  Przykładowo,
w~pliku \file{texmf.cnf} można znaleźć następującą definicję:
\begin{verbatim}
  TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN}
\end{verbatim}
Używając jej, można następnie napisać coś w~rodzaju:
\begin{verbatim}
  TEXINPUTS = .;$TEXMF/tex//
\end{verbatim}
co oznacza, że po szukaniu w~katalogu bieżącym będą przeszukane kolejno
\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex}
i~\code{\$TEXMFMAIN/tex} (wszystkie wraz z~katalogami niższego poziomu;
dwie ostatnie ścieżki \emph{wyłącznie} na podstawie zawartości
pliku \file{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 \code{\$TEXMF} we wszystkich definicjach daje pewność,
że najpierw przeszukiwane jest drzewo uaktualnione.

\subsubsection{Rozwijanie podkatalogów}
\label{Subdirectory-expansion}

Dwa lub więcej kolejnych ,,ciachów'' (,,/'') w~elemencie ścieżki,
występujących po nazwie katalogu~\var{d}, zastępowanych jest przez wszystkie
podkatalogi~\var{d}, najpierw podkatalogi znajdujące się bezpośrednio
pod~\var{d}, potem te pod powyższymi i~tak dalej.  Na każdym etapie
kolejność, w~jakiej przeszukiwane są katalogi, jest \emph{nieokreślona}.

Jeśli wyszczególni się człony nazwy pliku po \samp{//}, to uwzględnione zostaną
tylko te podkatalogi, które zawierają powyższe człony.
Na przykład \samp{/a//b} rozwija się do katalogów \file{/a/1/b},
\file{/a/2/b}, \file{/a/1/1/b} itd., ale nie do \file{/a/b/c} czy \file{/a/1}.

Możliwe jest wielokrotne użycie \samp{//} w~ścieżce, jednakże \samp{//}
występujące na początku ścieżki nie jest brane pod uwagę.

\subsubsection{Lista znaków specjalnych i~ich znaczeń -- podsumowanie}

Poniższa lista podsumowuje znaczenie znaków specjalnych w~plikach
konfiguracyjnych.

\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}}
\begin{description}
\item[\CODE{:}] znak rozdzielający w~specyfikacji ścieżki; umieszczony na
 początku lub na końcu ścieżki zastępuje domyślne rozwinięcie ścieżki;
\item[\CODE{;}] znak rozdzielający dla systemów nieuniksowych
 (działa tak jak ,,\code{:}'');
\item[\CODE{\$}] rozwijanie zmiennej;
\item[\CODE{\string~}] oznacza katalog główny użytkownika;
\item[\CODE{\char`\{\dots\char`\}}] rozwijanie nawiasów, np.
    \verb+a{1,2}b+ zmieni się w~\verb+a1b:a2b+;
\item[\CODE{//}] rozwijanie podkatalogów (może wystąpić gdziekolwiek
 w~ścieżce, poza jej początkiem);
\item[\CODE{\%}] początek komentarza, obejmującego wszystkie znaki do końca 
 linii;
\item[\CODE{\bs}] znak kontynuacji (pozwala na przełamanie wiersza
         z~wyrażeniem);
\item[\CODE{!!}] przeszukiwanie \emph{tylko} bazy danych,
         a~\emph{nie} dysku.
\end{description}


\subsection{Bazy nazw plików}
\label{Filename-database}

Podczas przeszukiwania \KPS{} 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ż \KPS{} może używać zewnętrznego pliku z~,,bazą danych''
o~nazwie \file{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 -- \file{aliases} -- pozwala na nadawanie
dodatkowych nazw plikom zawartym w~\file{ls-R}.
Może to być pomocne do adaptacji do DOS-owej konwencji ,,8.3'' nazewnictwa
plików w~plikach źródłowych.

\subsubsection{Baza nazw plików}
\label{ls-R}

Jak wspomniano, plik zawierający główną bazę nazw
plików musi nosić nazwę \file{ls-R}.
W~katalogu podstawowym każdej hierarchii \TeX-owej (domyślnie \code{\$TEXMF}),
którą chcemy włączyć w~mechanizm przeszukiwania, umieszczać można po jednym
pliku \file{ls-R}; w~większości przypadków istnieje tylko jedna hierarchia.
\KPS{} szuka pliku \file{ls-R} w~ścieżce \code{TEXMFDBS}.

Najlepszym sposobem stworzenia i~utrzymywania pliku \file{ls-R} jest
uruchomienie skryptu \code{mktexlsr}, będącego składnikiem dystrybucji.
Jest on wywoływany przez różne skrypty typu \samp{mktex...}.
W~zasadzie skrypt ten jedynie wykonuje polecenie
\begin{alltt}
cd \var{/your/texmf/root} && ls -LAR ./ >ls-R
\end{alltt}
zakładając, że polecenie \code{ls} danego systemu utworzy właściwy format
strumienia wyjściowego (\acro{GNU} \code{ls} działa prawidłowo).
Aby mieć pewność, że baza danych jest zawsze aktualna, wygodnie jest
 przebudowywać ją regularnie za pomocą demona \code{cron}.
 %tak że wraz ze zmianami
 %w~instalowanych plikach -- np. po instalacji lub uaktualnianiu pakietu
 %\LaTeX{} -- plik \file{ls-R} jest uaktualniany automatycznie.

Jeśli pliku nie ma w~bazie danych,  \KPS{} domyślnie przechodzi do
przeszukiwania dysku. Jeżeli jednak dany element ścieżki zaczyna sie od
\samp{!!}, to w~poszukiwaniu tego elementu sprawdzona zostanie \emph{jedynie}
baza danych, a~nigdy dysk.

\subsubsection{kpsewhich -- program do przeszukiwania ścieżek}
\label{Invoking-kpsewhich}

Przeszukiwanie ścieżek przez program \texttt{kpsewhich} jest niezależne od
jakiejkolwiek aplikacji.
Może on być przydatny jako rodzaj programu \code{find}, za pomocą którego
lokalizować można pliki w~hierarchiach \TeX-owych (jest on używany
intensywnie w~skryptach \samp{mktex...} tej dystrybucji).

\begin{alltt}
> \Ucom{kpsewhich \var{opcje}\dots{} \var{nazwa-pliku}\dots{}}
\end{alltt}
Parametry wyszczególnione w~,,\texttt{\var{opcje}}'' mogą zaczynać się zarówno od
\samp{-}, jak i~od \samp{-{}-}, a~dozwolony jest każdy jednoznaczny skrót.

\KPS{} 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 \samp{find}).

Oto ważniejsze parametry.

\begin{ttdescription}
\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\*
  Ustaw rozdzielczość na ,,\texttt{\var{num}}''; ma to tylko wpływ na
  przeszukiwanie fontów \samp{gf} i~\samp{pk}.  Dla zgodności
  z~\cmdname{dvips} parametr
  \samp{-D} działa identycznie. Domyślną wartością jest 600.
\item[\texttt{-{}-format=\var{nazwa}}]\mbox{}\\
  Ustawienie formatu (typu pliku) przeszukiwania na ,,\texttt{\var{nazwa}}''.
  Domyślnie format odgadywany jest z~nazwy pliku.
  Dla formatów, które nie mają przydzielonego jednoznacznego rozszerzenia,
  takich jak niektóre pliki \MP{}-owe czy pliki konfiguracyjne
  \cmdname{dvips}-a, należy wyszczególnić nazwę, których listę wyświetli
  uruchomienie \texttt{kpsewhich -{}-help}.

\item[\texttt{-{}-mode=\var{napis}}]\mbox{}\\*
  Ustaw nazwę trybu na ,,\texttt{\var{napis}}''; dotyczy to jedynie szukania
  fontów \samp{gf} oraz \samp{pk}.
  Brakuje wartości domyślnej --  odnaleziony zostanie dowolny
  wyszczególniony tryb.
\item[\texttt{-{}-must-exist}]\mbox{}\\
  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 \file{ls-R}.
\item[\texttt{-{}-path=\var{napis}}]\mbox{}\\
  Szukaj w~ścieżce ,,\texttt{\var{napis}}'' (rozdzielonej, jak
  zwykle, dwukropkami), zamiast zgadywać ścieżkę przeszukiwania z~nazwy
  pliku.
  \samp{//} i~wszystkie zwykłe rozszerzenia są możliwe.
  Parametry \samp{-{}-path} oraz \samp{-{}-format} wzajemnie się wykluczają.
\item[\texttt{-{}-progname=\var{nazwa}}]\mbox{}\\
  Ustaw nazwę programu na ,,\texttt{\var{nazwa}}''.
  Może to mieć wpływ na ścieżkę przeszukiwania poprzez
  ,,\texttt{.\var{program}}'' w~plikach konfiguracyjnych.
  Ustawieniem domyślnym jest \samp{kpsewhich}.
\item[\texttt{-{}-show-path=\var{nazwa}}]\mbox{}\\
  Pokazuje ścieżkę używaną do poszukiwania plików typu
  ,,\texttt{\var{nazwa}}''.
  Użyć można zarówno rozszerzenia (\samp{.pk}, \samp{.vf}, etc.), jak
  i~nazwy pliku, tak jak w~wypadku parametru \samp{-{}-format}.
\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\
  ustawia parametry wykrywania błędów na ,,\texttt{\var{num}}''.
\end{ttdescription}

%Zmienne środowiskowe domyślnie ustawiane są w~pliku konfiguracyjnym
%\file{texmf.cnf}.  W~wypadku gdy chce się unieważnić wartości zmiennych
%wyszczególnione w~tym pliku, można narzucić ich ustawienie w~środowisku,
%w~którym uruchamiane są programy.

\subsubsection{Przykłady użycia}
\label{SExamplesofuse}

Przyjrzyjmy sie teraz, jak działa \KPS{}.

\begin{alltt}
> \Ucom{kpsewhich  article.cls}
/usr/local/texmf-dist/tex/latex/base/article.cls
\end{alltt}
Szukamy tu pliku \file{article.cls}.
Ponieważ rozszerzenie \samp{.cls} jest jednoznaczne, nie musimy zaznaczać, że
poszukujemy pliku typu ,,tex'' (katalogi plików źródłowych \TeX-a).
Znajdujemy go w~podkatalogu \file{tex/latex/base}, pod katalogiem nadrzędnym
\samp{texmf-dist}.
Podobnie wszystkie poniższe pliki odnajdowane są bez\-pro\-ble\-mo\-wo
dzięki swoim jednoznacznym rozszerzeniom:
\begin{alltt}
> \Ucom{kpsewhich array.sty}
/usr/local/texmf-dist/tex/latex/tools/array.sty
> \Ucom{kpsewhich latin1.def}
/usr/local/texmf-dist/tex/latex/base/latin1.def
> \Ucom{kpsewhich size10.clo}
/usr/local/texmf-dist/tex/latex/base/size10.clo
> \Ucom{kpsewhich small2e.tex}
/usr/local/texmf-dist/tex/latex/base/small2e.tex
> \Ucom{kpsewhich tugboat.bib}
/usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib
\end{alltt}

\noindent (ostatni plik to \BibTeX-owa baza bibliograficzna dla artykułów
\textsl{TUGBoat}).

\begin{alltt}
> \Ucom{kpsewhich cmr10.pk}
\end{alltt}
Pliki czcionek bitmapowych typu \file{.pk} używane są przez sterowniki,
takie jak \cmdname{dvips}  % ??? dvips to chyba nie przeglądarka ---
czy \cmdname{xdvi}.       % w oryg. było display programs like dvips...
W~tym wypadku wynik przeszukiwania okaże się pusty, ponieważ
w~systemie brak gotowych wygenerowanych czcionek \samp{.pk} Computer Modern
(wynika to z~faktu używania w~\TL{} fontów PostScript-owych Type1).
\begin{alltt}
> \Ucom{kpsewhich wsuipa10.pk}
\ifSingleColumn   /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk
\else /usr/local/texmf-var/fonts/pk/ljfour/public/
.....                         wsuipa/wsuipa10.600pk
\fi\end{alltt}
Dla tych fontów (alfabetu fonetycznego) musieliśmy wygenerować pliki
\samp{.pk}, a~ponieważ domyślnym \MF{}-owym trybem naszej instalacji jest
\texttt{ljfour} z~podstawową rozdzielczością 600dpi, zwracany jest taki
właśnie wynik.
\begin{alltt}
> \Ucom{kpsewhich -dpi=300 wsuipa10.pk}
\end{alltt}
W~tym wypadku, kiedy zaznaczamy, że interesuje nas rozdzielczość
300dpi (\texttt{-dpi=300}), to widzimy, że w~naszej instalacji taka 
czcionka nie jest dostępna.
Program taki jak \cmdname{dvips} czy \cmdname{xdvi} zatrzymałby się, aby
utworzyć pliki \texttt{.pk} w~wymaganej rozdzielczości (używając skryptu
\cmdname{mktexpk}).

Przeanalizujmy teraz pliki nagłówkowe i~konfiguracyjne
programu \cmdname{dvips}.
Najpierw szukamy pliku PostScript-owego prologu \file{tex.pro},
wykorzystywanego dla potrzeb \TeX-a.  Drugi przykład pokazuje
poszukiwanie pliku konfiguracyjnego \file{config.ps}, zaś trzeci --
szukanie pliku mapy czcionek PostScriptowych \file{psfonts.map}
(począwszy od obecnej edycji, pliki \file{.map} i~\file{.enc}
mają własne reguły przeszukiwania ścieżek i~zmienione położenie w~ramach
drzew \dirname{texmf}).
Ponieważ rozszerzenie \samp{.ps} nie jest jednoznaczne, musimy 
wyraźnie zaznaczyć, jaki typ jest wymagany dla pliku
\texttt{config.ps} (,,\texttt{dvips config}'').
\begin{alltt}
> \Ucom{kpsewhich tex.pro}
/usr/local/texmf/dvips/base/tex.pro
> \Ucom{kpsewhich --format="dvips config" config.ps}
/usr/local/texmf-var/dvips/config/config.ps
> \Ucom{kpsewhich psfonts.map}
/usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map
\end{alltt}

Następnie przyjrzyjmy się bliżej plikom pomocniczym fontów Times z~kolekcji
URW. W~standardzie nazewnictwa fontów mają one prefiks \samp{utm}.
Pierwszy plik, którego szukamy, to plik konfiguracyjny, zawierający nazwę
pliku z~przemapowaniem fontów:
\begin{alltt}
> \Ucom{kpsewhich --format="dvips config" config.utm}
   /usr/local/texmf-dist/dvips/psnfss/config.utm
\end{alltt}
W~pliku tym znajduje się wiersz:
\begin{alltt}
  p +utm.map
\end{alltt}
wskazujący na plik \file{utm.map}, który chcemy zlokalizować w~następnej
kolejności:
\begin{alltt}
> \Ucom{kpsewhich utm.map}
   /usr/local/texmf-dist/fonts/map/dvips/times/utm.map
\end{alltt}
Plik z~przemapowaniem definiuje nazwy czcionek PostScriptowych Type~1
w~zestawie fontów URW, zaś jego zawartość wygląda następująco
(pokazane są tylko fragmenty wierszy):
\begin{alltt}
utmb8r  NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb
utmr8r  NimbusRomNo9L-Regu    ... <utmr8a.pfb
utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb
utmbo8r NimbusRomNo9L-Medi    ... <utmb8a.pfb
utmro8r NimbusRomNo9L-Regu    ... <utmr8a.pfb
\end{alltt}
Używając przeszukiwania plików z~fontami Type1, znajdźmy font
Times Roman \file{utmr8a.pfb} w~drzewie katalogów \file{texmf}:
\begin{alltt}
> \Ucom{kpsewhich utmr8a.pfb}
\ifSingleColumn   /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb
\else   /usr/local/texmf-dist/fonts/type1/
... urw/utm/utmr8a.pfb
\fi\end{alltt}

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; \cmdname{kpsewhich} pokaże tylko
pierwszy napotkany plik.

\subsubsection{Diagnostyka błędów}
\label{sec:debugging}

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,
\KPS{} oferuje różne poziomy diagnostyki błędów:
\begin{itemize}
\item[\texttt{\ 1}] wywołania \texttt{stat} (testy pliku). Podczas
  uruchamiania z~uaktualnioną bazą danych \file{ls-R} nie powinno to
  przeważnie dawać żadnego wyniku.
\item[\texttt{\ 2}] Zapis odwołań do tablic asocjacyjnych (\emph{hash
 tables}), takich jak baza \file{ls-R}, pliki przemapowań, pliki konfiguracyjne.
\item[\texttt{\ 4}] Operacje otwarcia i~zamknięcia pliku.
\item[\texttt{\ 8}] Ogólne informacje o~ścieżkach dla typów
  plików szukanych przez \KPS; użyteczne dla znalezienia ścieżki
  zdefiniowanej dla danego pliku.
\item[\texttt{16}] Lista katalogów dla każdego z~elementów ścieżki
  (odnosi się tylko do poszukiwań na dysku).
\item[\texttt{32}] Poszukiwania plików.
\end{itemize}
Wartość \texttt{-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 \cmdname{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 \KPS{}, opcje wykrywania błędów można wybrać przy użyciu
zmiennej środowiskowej \envname{KPATHSEA\_DEBUG}, ustawiając ją
na opisaną powyżej wartość (kombinację wartości).

\noindent
\textbf{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):
\begin{verbatim}
SET KPATHSEA_DEBUG_OUTPUT=err.log
SET KPATHSEA_DEBUG=-1
\end{verbatim}

Rozważmy na przykład mały \LaTeX-owy plik źródłowy \file{hello-world.tex},
który zawiera:
\begin{verbatim}
  \documentclass{article}
  \begin{document}
  Hello World!
  \end{document}
\end{verbatim}
Ten mały plik korzysta jedynie z~fontu \file{cmr10}. Przyjrzyjmy się, jak
\cmdname{dvips} przygotowuje plik PostScript-owy (chcemy użyć wersji Type1
fontu Computer Modern, stąd opcja \texttt{-Pcms}).
\begin{alltt}
> \Ucom{dvips -d4100 hello-world -Pcms -o}
\end{alltt}
Mamy tu do czynienia jednocześnie z~czwartą klasą wykrywania błędów
programu \cmdname{dvips} (ścieżki fontowe) oraz z~rozwijaniem elementu
ścieżki przez \KPS{} (patrz: \emph{Dvips Reference Manual}, 
\OnCD{texmf/doc/dvips/dvips.pdf}).
 %Komunikaty z~uruchomienia programu (lekko zmodyfikowane) znajdują się
 %na~rys.~\ref{fig:dvipsdbga}.
 %\begin{figure*}[tp]
 %\centering
 %\input{examples/ex6a.tex}
 %\caption{Szukanie pliku konfiguracyjnego}\label{fig:dvipsdbga}
 %
 %\bigskip
 %
 %\input{examples/ex6b.tex}
 %\caption{Szukanie pliku prologu}\label{fig:dvipsdbgb}
 %
 %\bigskip
 %
 %\input{examples/ex6c.tex}
 %\caption{Szukanie pliku fontu}\label{fig:dvipsdbgc}
 %\end{figure*}
 Program \cmdname{dvips} zaczyna pracę od zlokalizowania potrzebnych mu plików.
Najpierw znajduje plik \file{texmf.cnf}, który zawiera ścieżki
przeszukiwania dla innych plików. Potem znajduje bazę danych \file{ls-R}
(w~celu optymalizacji szukania plików), następnie plik \file{aliases},
który umożliwia deklarowanie różnych nazw (np. krótkie \acro{DOS}-owe ,,8.3''
i~bardziej naturalne dłuższe wersje) dla tych samych plików.
Następnie \cmdname{dvips} znajduje podstawowy plik konfiguracyjny
\file{config.ps}, zanim poszuka pliku z~ustawieniami użytkownika
\file{.dvipsrc} (który w~tym wypadku \emph{nie} zostaje odnaleziony).
W~końcu \cmdname{dvips} lokalizuje plik konfiguracyjny \file{config.cms}
dla fontów PostScript-owych Computer Modern (jest to inicjowane przez
dodanie parametru \texttt{-Pcms} przy uruchamianiu programu).
Plik ten zawiera listę plików z~,,mapami'', które definiują relacje
pomiędzy \TeX-owymi, PostScript-owymi i~systemowymi nazwami fontów.
\begin{alltt}
> \Ucom{more /usr/local/texmf/dvips/config/config.cms}
p +bsr.map
p +bakomaextra.map
\end{alltt}
W~ten sposób \cmdname{dvips} wyszukuje wszystkie te pliki oraz główny plik
z~przemapowaniem
\file{psfonts.map}, który ładowany jest domyślnie (zawiera on deklaracje
często używanych fontów postscriptowych; więcej szczegółów na temat
postscriptowych plików przemapowań fontów można znaleźć w~ostatniej części
rozdziału \ref{SExamplesofuse}).

W~tym miejscu \cmdname{dvips} zgłasza się użytkownikowi:
\begin{alltt}\ifSingleColumn
This is dvips 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com)
\else\small{}This is dvips 5.86 Copyright 1999 Radical Eye...
\fi\end{alltt}% decided to accept slight overrun in tub case
\ifSingleColumn
\ldots potem szuka pliku prologu \file{texc.pro}:
\begin{alltt}\small
kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro
\end{alltt}
\else
potem szuka pliku prologu \file{texc.pro}.
 %(patrz rys.~\ref{fig:dvipsdbgb}).

\fi
Po znalezieniu szukanego pliku \cmdname{dvips} podaje datę i~czas
oraz informuje o~generowaniu pliku \file{hello-world.ps}.
Ponieważ potrzebuje pliku z~fontem \file{cmr10}, a~jest on
zadeklarowany jako dostępny, wyświetla komunikat:
\begin{alltt}\small
TeX output 1998.02.26:1204' -> hello-world.ps
Defining font () cmr10 at 10.0pt
Font cmr10 <CMR10> is resident.
\end{alltt}
Teraz trwa poszukiwanie pliku \file{cmr10.tfm}, który zostaje znaleziony,
po czym \cmdname{dvips} powołuje się na kilka innych plików startowych
(nie pokazanych). W~końcu przykładowy font Type1 \file{cmr10.pfb}
zostaje zlokalizowany i~dołączony do pliku wynikowego (patrz ostatnia linia):
\begin{alltt}\small
kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0,
  path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//:
       /var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm
kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0,
   ...
<texps.pro>
kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0,
  path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb
<cmr10.pfb>[1]
\end{alltt}

\subsection{Parametry kontrolujące działanie programów}
Inną użyteczną cechą \Webc{} jest możliwość ustalania wielu parametrów
określających wielkość pamięci za pomocą pliku \texttt{texmf.cnf}.
 %Załącznik~\ref{app:texmf.cnf} zaczynający się na
 %stronie~\pageref{app:texmf.cnf} zawiera listing pliku \texttt{texmf.cnf}.
 Ustawienia wszystkich parametrów znajdują się w~części trzeciej pliku.
Najważniejszymi zmiennymi są:
\begin{description}
\item[\code{main\_memory}] Całkowita wielkość pamięci dostępnej dla
 \TeX-a, \MF{}-a i~\MP{}-a. Dla każdego nowego ustawienia tej zmiennej
 należy wykonać nowy format.
 %Przykładowo, możesz wygenerować ,,ogromną'' wersję formatu \TeX{} i~nazwać
 %taki plik \texttt{hugetex.fmt}.
 %Dzięki standardowemu sposobowi nazywania programów przez
 %\KPS{}, określona wartość zmiennej \verb|main_memory| będzie
 %przeczytana z~pliku \texttt{texmf.cnf} (por. wartość standardową
 %oraz wartość ,,ogromną'', wykorzystywaną przez program \texttt{hugetex},
 %itd.).
 %
\item[\code{extra\_mem\_bot}] Dodatkowa wielkość pamięci przeznaczonej
 na ,,duże'' struktury danych \TeX-a, takie jak: pudełka, kleje itd.;
 przydatna zwłaszcza w~wypadku korzystania z~pakietu \PiCTeX{}.
 %
\item[\code{font\_mem\_size}] Wielkość pamięci przeznaczonej przez
 \TeX-a na informacje o~fontach. Jest to mniej więcej ogólna
 wielkość wczytywanych przez \TeX-a plików TFM.
 %
\item[\code{hash\_extra}] Dodatkowa wielkość pamięci przeznaczonej
 na tablicę zawierającą nazwy instrukcji. Tablica główna
 może zmieścić w~przybliżeniu 10000 nazw; wielkość ta może się okazać
 zbyt mała, np. w~wypadku obszernej książki zawierającej liczne
 odsyłacze. Domyślna wartość \texttt{hash\_extra} to \texttt{50000}.
\end{description}
 %
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. Lua\TeX\ posiada nowoczesną,
w~pełni dynamiczną alokację pamięci, a zatem powyższe zmienne są
w tym przypadku po prostu ignorowane.

%%====
%\begin{comment} %% nie wiem czemu rezygnować z tej części (SW)
\section{Budowa systemu na nowej platformie uniksowej}\label{sec:build}
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
\texttt{source}.

Najpierw należy zainstalować główne drzewo plików \TeX-owych z~\CD{}
\TL{} (najlepiej wykonać instalację podstawową, bez wybierania
binariów systemowych).

\subsection{Warunki wstępne}
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 \acro{ANSI}~C, oprogramowanie \cmdname{make},
skaner leksykalny oraz generator parserów.
Programy użytkowe \acro{GNU} (\cmdname{gcc}, \acro{GNU}
\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison})
są najlepiej przetestowanymi na różnych platformach.
Poprawnie powinny pracować \cmdname{gcc}-2.7.*, \cmdname{flex}-2.4.7
i~\acro{GNU}\,\cmdname{make}-3.72.1 lub nowszy.
Można też korzystać z~innych kompilatorów C i~programów
\cmdname{make}, wymaga to jednak dobrego zrozumienia zasad tworzenia
programów uniksowych, aby poradzić sobie z~ewentualnymi problemami.
 %W~wyniku wykonania polecenia \texttt{uname} powinniśmy
 %otrzymać jakąś rozsądną wartość.

\subsection{Konfiguracja}
Należy rozpakować źródła ze skompresowanego pliku \texttt{tar}
z~katalogu \dirname{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.\ \path|/usr/TeX| lub \path|/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ć \textsf{configure} z~linii poleceń:
\begin{alltt}
> \Ucom{./configure --prefix=/usr/local/TeX}
\end{alltt}

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
 (\verb|$TEXDIR| oznacza wybrany powyżej katalog):

\noindent
\begin{tabular}{>{\ttfamily}ll@{}}
  \dirname{$TEXDIR/man}                  & strony manuala uniksowego,\\
  \dirname{$TEXDIR/share/texmf}          & główne drzewo \TeX-owe,
                                           zawierające makra itp.,\\
  \dirname{$TEXDIR/info}                 & podręczniki w formacie \acro{GNU}
                                           info,\\
  \dirname{$TEXDIR/bin/$PLATFORM}        & binaria\\
\end{tabular}
%$

Można uniknąć stosowania ,,\dirname{share/}'' przed katalogiem
\dirname{texmf}, ponieważ \dirname{$TEXDIR/share/texmf}
i~\dirname{$TEXDIR/texmf} są wykrywane automatycznie przez skrypt \cmdname{configure}.
W~razie wybrania innego katalogu, trzeba ten katalog wyszczególnić 
parametrem \verb|--datadir| skryptu \cmdname{configure}.

Jeżeli nie chcemy używać katalogu \dirname{$PLATFORM}
(a~więc umieścić binaria bezpośrednio w~\dirname{$TEXDIR/bin}), to 
w~wywołaniu skryptu \cmdname{configure} należy użyć parametru
\verb|--disable-multiplatform|.

Więcej dostępnych parametrów (np. pomijanie pakietów opcjonalnych, takich
jak \OMEGA) można zobaczyć, uruchamiając
\texttt{./configure -{}-help}.

\subsection{Uruchamianie \textsf{make}}
Po upewnieniu się, że nie jest ustawiona zmienna powłoki \texttt{noclobber},
należy napisać:
\begin{alltt}
> \Ucom{make world}
\end{alltt}
i~\ldots zaparzyć sobie kawę.

Może się też przydać zapisanie całego procesu
kompilacji w~pliku \texttt{.log}:
\begin{alltt}
> \Ucom{sh -c "make world >world.log 2>\&1" \&}
\end{alltt}
Zanim stwierdzimy, że wszystko jest w~porządku, warto sprawdzić, czy w~pliku
\texttt{.log} nie ma komunikatów błędów (kiedy polecenie zwraca kod błędu,
\acro{GNU} \cmdname{make} zawsze używa sekwencji \samp{***}),
i~czy utworzone zostały wszystkie binaria:
\begin{alltt}
> \Ucom{cd \var{TEXDIR}/bin/\var{archname}}
> \Ucom{ls | wc}
\end{alltt}
Oczekiwanym rezultatem jest ponad 200. Polecenie \texttt{make world} jest
równoważne z~\texttt{make all install strip}.
Jeśli do uruchamiania \texttt{make install} potrzebne są specjalne
uprawnienia, można uruchomić dwie oddzielne sesje \cmdname{make}:
\begin{alltt}
> \Ucom{make all}
> \Ucom{su}
> \Ucom{make install strip}
\end{alltt}

\subsection{Końcowe kroki konfiguracyjne}
Należy uaktualnić zmienną \envname{PATH} o~nazwę katalogu zawierającego
właśnie zainstalowane binaria (np.\
\dirname{/usr/local/TeX/bin/mips-sgi-irix6.3}); podobnie postąpić trzeba
z~\envname{MANPATH} i~\envname{INFOPATH} i~dołączyć do nich
odpowiednie nazwy podkatalogów, tj.\
\dirname{$TEXDIR/man} oraz \dirname{$TEXDIR/info}.
Patrz część~\ref{sec:postinstall} (str.~\pageref{sec:postinstall}).

Jeśli zechcesz udostępnić skompilowane przez siebie programy, skontaktuj
się z~nami (\url{tex-live@tug.org}); chętnie umieścimy je na stronie \TL.
%\end{comment}

%--------------------------
\htmlanchor{ack}
\section{Podziękowania}

\TL{} jest wspólnym dziełem prawie wszystkich grup \TeX-owych.
Niniejsza edycja \TL{} została opracowana pod kierownictwem Karla Berry'ego, 
przy głównym współudziale:

\begin{itemize*}
\item grup \TeX-owych: międzynarodowej, niemieckiej, holenderskiej i~polskiej
  (odpowiednio: \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, i~\acro{GUST}), 
  które wspólnie zapewniają potrzebną infrastrukturę techniczną 
  i~organizacyjną. Dołącz do swojej grupy \TeX-owej!;
\item zespołu \acro{CTAN} (w~szczególności Robina Fairbairnsa, Jima
 Hef{}ferona i~Rainera Sch\"opfa), który dystrybuuje obrazy płyt \TL{} 
 i~udostępnia wspólną infrastrukturę służącą aktualizacji pakietów, od której 
 zależy \TL{};
\item Nelsona Beebe, za umożliwienie dostępu do wielu platform ekipie \TL\
  i pomoc w testowaniu;
\item Johna Bowmana, który dostosował swój zaawansowany program Asymptote
 do współpracy z TL;
\item Petera Breitenlohnera i~zespołu \eTeX, którzy stworzyli stabilną
  podstawę przyszłych wersji \TeX-a (Peter dodatkowo służy nieustanną pomocą
  w~wykorzystaniu narzędzi autotools w~\TL);
\item Jin-Hwan Cho i całego zespołu DVIPDFM$x$ za ten wspaniały sterownik
 i nieustanną pomoc w rozwiązywaniu problemów z konfiguracją;
\item Thomasa Essera, autora wspaniałego \teTeX-a, bez którego
  \TL{} z~całą pewnością by nie powstał i~którego stała
  pomoc umożliwiła doskonalenie tej dystrybucji;
\item Michaela Goossensa, który był współautorem pierwotnej dokumentacji;
\item Eitana Gurari, autora programu \TeX4ht{} (wykorzystanego do
  tworzenia niniejszej dokumentacji w~wersji \HTML), który niezmordowanie
  pracował nad jego ulepszaniem i~błyskawicznie dostarczał poprawki;
  Eitan zmarł w czerwcu 2009~r. i dedykujemy tę dokumentację Jego pamięci;
\item Hansa Hagena, który dostosowywał \ConTeXt\ do potrzeb \TL;
\item \Thanh{}a, Martina Schr\"odera i~zespołu pdf\TeX-a, którzy ciągle 
 ulepszali możliwości \TeX-a;
\item Hartmuta Henkela, mającego istotny udział w~rozwoju pdf\TeX-a,
 Lua\TeX-a i~innych programów; 
\item Taco Hoekwatera, który wznowił rozwój MetaPosta i~pracował nad
 Lua\TeX-em, jak też pomógł w~integracji \ConTeXt\ w~\TL oraz
 ulepszył bibliotekę Kpathsea, dodając jej wielowątkowość;
\item Pawła Jackowskiego, który wykonał instalator dla Windows \cmdname{tlpm}
 i~Tomka Łuczaka, twórcy \cmdname{tlpmgui} (programy te były wykorzystane
 w~poprzednich edycjach);
\item Akira Kakuto, który dostarczył programy dla Windows, pochodzące
  z~dystrybucji \acro{W32TEX}
  (\url{http://w32tex.org}), 
  stale dostosowywane i~aktualizowane dla potrzeb \TL;
\item Jonathana Kew, który zainicjował nową ścieżkę
  rozwojową -- Xe\TeX{}, i~który włożył sporo wysiłku w~zintegrowanie
  tego programu z~\TL, jak również zapoczątkował prace nad instalatorem dla
  Mac\TeX{} oraz edytorem \TeX{}works;
\item Dicka Kocha, który pielęgnuje Mac\TeX-a (\url{http://tug.org/mactex}) 
 w~ścisłym połączeniu z~\TL i~bardzo sympatycznie współpracuje;
\item Reinharda Kotuchy, mającego istotny udział w~stworzeniu nowej infrastruktury
 i~programu instalacyjnego dla \TL{} 2009, uparcie dążącego do ujednolicenia 
 działania \TL{} w~Windows i~Unix, który również opracował skrypt 
 \texttt{getnonfreefonts} i~wykonał wiele innych prac;
\item Siep Kroonenberg, która również wzięła udział w~stworzeniu nowej 
 infrastruktury i~programu instalacyjnego dla \TL{} 2009 (szczególnie dla 
 Windows) oraz włożyła sporo pracy w aktualizację tej dokumentacji;
\item Petra Ol\shac{}\aac{}ka, który koordynował i~sprawdzał
  przygotowanie pakietów czeskich i~słowackich;
\item Toshio Oshimy, który opracował przeglądarkę \cmdname{dviout} dla Windows;
\item Manuela P\'egouri\'e-Gonnarda, który pomógł w~aktualizacji pakietów
 i~pracował nad \cmdname{texdoc};
\item Fabrice'a Popineau, który pierwszy stworzył wersje oprogramowania
 dla Windows;
\item Norberta Preininga, głównego architekta infrastruktury i~programu
 instalacyjnego \TL{} 2009, który przyczynił się również do aktualizacji 
 pakietów, a także koordynował (wraz z~Frankiem K\"usterem) debianową 
 wersję \TL{} i~przedstawił wiele sugestii ulepszeń;
\item Sebastiana Rahtza, który stworzył \TL{} i~kierował projektem przez
 wiele lat;
\item Phila Taylora, który skonfigurował BitTorrent 
 (do pobierania plików z sieci) na potrzeby \TL{};
\item Tomka Trzeciaka, który pracowicie rozwiązywał rozliczne problemy
 związane z Windows;
\item Vladimira Volovicha, który wydatnie pomógł w~rozwiązywaniu problemów
 przenośności, szczególnie zaś umożliwił dołączenia \cmdname{xindy};
\item Staszka Wawrykiewicza, głównego testującego \TL{} w~różnych systemach,
 który ponadto koordynował przygotowanie wszystkich polskich dodatków (fontów,
 programów instalacyjnych i~wielu innych);
\item Olafa Webera, który cierpliwie pielęgnował Web2C, od którego wszystko zależy;
\item Gerbena Wierda, który przygotował oryginalne oprogramowanie i~wsparcie 
 dla \MacOSX{};
\item Grahama Williamsa, którego prace nad katalogiem pakietów bardzo
 pomogły w~przygotowaniu dystrybucji.
\end{itemize*}

Binaria dla różnych platform skompilowali:
Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}),
Peter Breitenlohner (\pkgname{x86\_64-linux}),
Karl Berry (\pkgname{i386-linux}),
Ken Brown (\pkgname{i386-cygwin}),
Akira Kakuto (\pkgname{win32}),
Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}),
Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}),
Norbert Preining (\pkgname{alpha-linux}),
Jukka Salmi (\pkgname{i386-netbsd}),
Thomas Schmitz (\pkgname{powerpc-linux}),
Apostolos Syropoulos (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}),
Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}),
Olaf Weber (\pkgname{mips-irix}).
Informacje na temat procesu budowy \TL{} można znaleźć na stronie:
\url{http://tug.org/texlive/build.html}.

Aktualizacje i~tłumaczenia dokumentacji wykonali:
Siep Kroonenberg i~Karl Berry (angielski),
Manuel P\'egouri\'e-Gonnard (francuski),
Klaus H\"oppner (niemiecki),
Jjgod Jiang, Jinsong Zhao, Yue Wang, \& Helin Gai (chiński),
Marco Pallante (włoski),
Nikola Le\v{c}i\'c (serbski),
Petr Sojka i~Jan Busa (czeski\slash słowacki),
Boris Veytsman (rosyjski),
Staszek Wawrykiewicz (polski).
Na stronie \url{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.

%%%
\section{Historia}
\label{sec:history}

\subsection{Poprzednie wersje}

Dystrybucja \TL{} 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 (\emph{\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
4All\TeX{} \CD{} dla użytkowników \acro{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 4All\TeX{} \CD{},
lecz również spowodował powstanie Grupy Roboczej TUG ds. Standardu Katalogów
\TeX-owych (\emph{\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
\textsl{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 4All\TeX{} \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 \TL.

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 \Webc, 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 \Webc, z~dodaniem skryptu \texttt{texconfig} z~pakietu \teTeX.
Trzecie wydanie \CD{} było oparte na \Webc{} wersji 7.2, przygotowanej przez
Olafa Webera. W~tym samym czasie została przygotowana nowa wersja \teTeX-a
i~\TL{} udostępniał prawie wszystkie jego nowe funkcje.
Czwarta edycja była przygotowana podobnie,
z~użyciem nowej wersji te\TeX-a i~nowej wersji \Webc{} (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 {\it public domain}. Zawartość całej płytki powinna odpowiadać ustaleniom
Debian Free Software Guidelines (\url{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
\texttt{language.dat}.

\TL~7 (rok 2002) zawierał po raz pierwszy oprogramowanie dla \MacOSX{}
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ą te\TeX. 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 \TL{} nie mieści się na pojedynczym \CD.
Zmuszeni byliśmy podzielić \TL{} na trzy dystrybucje, które wydano
na \DVD{} i~dwóch płytkach \CD. Ponadto:

\begin{itemize*}
\item na życzenie ,,\LaTeX{} team'' zmieniono standardowe użycie
 programów \cmdname{latex} i~\cmdname{pdflatex}~-- by korzystały
 one z~\eTeX{} (patrz str.~\pageref{text:etex});
\item załączono nowe fonty obwiedniowe Latin Modern, które zastępują
 m.in. fonty EC (zawierając komplet znaków europejskich), szczególnie
 do tworzenia poprawnych plików PDF;
\item usunięto binaria dla platformy Alpha \acro{OSF} (poprzednio
 usunięto także binaria dla \acro{HPUX}), niestety nie udało się znaleźć
 osób chętnych do wykonania kompilacji;
\item zmieniono instalację w~systemach Windows, wprowadzając po raz pierwszy
 zintegrowane środowisko pracy, oparte na edytorze XEmacs;
\item potrzebne programy pomocnicze dla Windows (Perl, Ghost\-script,
 Image\-Magick, Ispell) instalowano w~strukturze katalogów
 instalacji \TL;
\item mapy fontowe, z~których korzystają programy \cmdname{dvips},
 \cmdname{dvipdfm} oraz \cmdname{pdftex}, generowano odtąd w~katalogu
 \dirname{texmf/fonts/map};
\item \TeX{}, \MF{} oraz \MP{} domyślnie pozwalały wypisywać komunikaty
 na ekranie i~w~pliku .log, a~także w~operacjach \verb|\write| w~ich
 reprezentacji 8-bitowej, zamiast tradycyjnej notacji \verb|^^|;
 w~\TL{}~7 eksperymentalnie wprowadzono zależność przekodowania
 wyjścia programów od systemowej strony kodowej, potem ten pomysł
 zarzucono;
\item znacznie zmieniono niniejszą dokumentację;
\item wreszcie, ponieważ numery wersji kolejnych edycji mogły wprowadzać
 w~błąd, postanowiono identyfikować edycje \TL{} zgodnie z~rokiem
 wydania.
\end{itemize*}

\subsection{Wydanie 2004}

Jak w~każdej kolejnej wersji, w~2004 roku uaktualniono wiele pakietów
i~programów. Poniżej wymieniamy najbardziej istotne zmiany.

\begin{itemize}
\item Gdy mieliśmy już lokalnie zainstalowane fonty, które korzystały
z~własnych plików \filename{.map} i/lub \filename{.enc}, \emph{należało}
przenieść te pliki w~nowe miejsce w~strukturze \filename{texmf/}.

Pliki \filename{.map} (map fontowych) są odtąd wyszukiwane w~podkatalogach
\dirname{fonts/map} (w~każdym drzewie \filename{texmf}), zgodnie ze ścieżką
określoną przez zmienną \envname{TEXFONTMAPS}. Analogicznie, pliki
\filename{.enc} (przekodowań fontów) są odtąd wyszukiwane w~podkatalogach
\dirname{fonts/enc}, zgodnie ze ścieżką określoną przez zmienną
\envname{ENCFONTS}. O~niewłaściwie umieszczonych plikach tego typu
zostaniemy ostrzeżeni podczas uruchomienia programu \cmdname{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
\dirname{fonts/}.

Metody radzenia sobie z~sytuacjami związanymi z~przejściem na nowy układ
katalogów omawiał artykuł \url{http://tug.org/texlive/mapenc.html}.

\item Do \TK\ \DVD{} dodano nową dystrybucję dla Windows o~nazwie
pro\TeX{}t (opartą na \MIKTEX-u). Była ona dostępna także na odrębnym \CD.
Choć pro\TeX{}t nie bazuje na implementacji Web2C, stosuje układ katalogów
zgodny z~\TDS (patrz część~\ref{sec:struct-tl} na
str.~\pageref{sec:struct-tl}).

\item W ramach \TL{} dotychczasowe pojedyncze drzewo katalogów
\dirname{texmf} zostało rozdzielone na trzy mniejsze: \dirname{texmf},
\dirname{texmf-dist} i~\dirname{texmf-doc} (patrz
część~\ref{sec:tld}, str.~\pageref{sec:tld}) oraz pliki \filename{README}
w~każdym z~tych katalogów).

\item Wszystkie pliki makr wczytywane przez \TeX-a zostały
umieszczone wyłącznie w~podkalogu \dirname{tex} w~ramach
\dirname{texmf*}. Tym samym usunięto zbędne katalogi
\dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} itp. i~uproszczono
metody wyszukiwania plików. Patrz
\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions}
{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}.

\item Pomocnicze skrypty wykonywalne, niezależne od platformy
i~zwykle uruchamiane w~sposób automatyczny, były odtąd
umieszczone w~nowym podkatalogu \dirname{scripts} w~ramach \dirname{texmf*}.
Znajdowane są poleceniem \verb|kpsewhich -format=texmfscripts|.
Programy korzystające z tych skryptów mogły wymagać modyfikacji.
Patrz \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts}
{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}.

\item Prawie wszystkie formaty traktują od tego wydania większość znaków jako
jawnie ,,wyświetlalne'' (\emph{printable}), nie zaś, jak było dotychczas,
konwertowane na \TeX-ową notację \verb|^^|. Było to możliwe dzięki domyślnemu
wczytywaniu tablicy przekodowań \filename{cp227.tcx}. Dokładniej, znaki
o~kodach 32--256, HT, VT oraz FF zostały potraktowane dosłownie podczas
wyświetlania komunikatów. Wyjątkiem jest plain \TeX{} (tylko znaki z~zakresu
32--127 są nie zmieniane), \ConTeXt{} (znaki z zakresu 0--255) oraz formaty
bazujące na Omedze. Podobna domyślna właściwość występowała w~\TL\,2003, ale
w~tej edycji została zaimplementowana w~bardziej elegancki sposób 
i~z~większymi możliwościami indywidualnego dostosowania (patrz
\CDref{texmf/doc/web2c/web2c.html\#TCX-files} {\texttt{texmf/doc/web2c/web2c.
tml\#TCX-files}}.  (Warto wspomnieć, że wczytując Unicode, \TeX{} może
w~komunikatach błędów pokazywać niekompletne sekwencje znaków, ponieważ
został zaprojektowany ,,bajtowo''.) 
 %%! hmmm, cały akapit by o strumieniach we-wy?

\item Program \textsf{pdfetex} został domyślną ,,maszyną'' dla
większości formatów (nie dotyczy to samego Plain \textsf{tex}).
Domyślnie, gdy uruchamiamy polecenie \textsf{latex}, \textsf{mex}
itp., generowane są pliki \acro{DVI}. Możliwe jest jednak wykorzystanie
w~\LaTeX, \ConTeXt{} itp. m.in. właściwości mikrotypograficznych
zaimplementowanych w~\textsf{pdftex}, a~także rozszerzonych cech \eTeX-a
(\OnCD{texmf-dist/doc/etex/base/}).

Oznacza to także, co warto podkreślić, że \emph{zalecane} jest odtąd użycie
pakietu \pkgname{ifpdf} (który działa zarówno z~plain, jak i~\LaTeX)
lub analogicznych makr. Zwykłe sprawdzanie czy zdefiniowano \cs{pdfoutput}
bądź kilka innych poleceń pierwotnych może nie wystarczyć do rozstrzygnięcia
czy nie jest generowany plik \acro{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 \cs{pdfoutput} może być zdefiniowany nawet wtedy,
gdy generowany jest plik \acro{DVI}.

\item pdf\TeX\ (\url{http://pdftex.org}) zyskał wówczas wiele nowych
cech:

 \begin{itemize*}
 \item \cs{pdfmapfile} i~\cs{pdfmapline} pozwalają określić
 z~poziomu dokumentu użyte mapy fontowe, a~także pojedyncze
 dodatkowe wpisy w~tych mapach.

 \item mikrotypograficzne operacje z~fontami są łatwiejsze w użyciu;\\
 \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}

 \item wszystkie parametry pracy pdf\TeX-a, dotychczas określane
 w~specjalnym pliku konfiguracyjnym \filename{pdftex.cfg}, muszą być
 odtąd ustawiane poleceniami wbudowanymi, jak w~pliku
 \filename{pdftexconfig.tex}; plik \filename{pdftex.cfg}
 nie jest już w~ogóle wykorzystywany. Po zmianie \filename{pdftexconfig.tex}
 należało na nowo wygenerować pliki formatów (wciąż jednak użytkownik miał
 pełną swobodę określania parametrów w~redagowanym dokumencie);

 \item więcej informacji zawarto w~podręczniku pdf\TeX-a:
 \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}.

 \end{itemize*}

\item Polecenie \cs{input} w~programach \cmdname{tex},
 \cmdname{mf} oraz \cmdname{mpost} akceptowało odtąd nazwy
 plików ograniczone podwójnymi apostrofami, zawierające spacje i~inne
 znaki, np.:
\begin{verbatim}
\input "nazwa_pliku ze spacjami"   % plain
\input{"nazwa_pliku ze spacjami"}  % latex
\end{verbatim}
Więcej informacji zawarto w~podręczniku Web2C: \OnCD{texmf/doc/web2c}.

\item \texttt{-output-directory} -- nowa opcja programów \cmdname{tex},
 \cmdname{mf} oraz \cmdname{mpost} -- pozwalała na zapisanie wyniku pracy
 w~wyspecyfikowanym katalogu (np. można uruchomić program \texttt{tex}
 z~plikiem znajdującym się na dysku tylko do odczytu, zaś wynik zapisać
 na dysku pozwalającym na~to);

\item Rozszerzenie enc\TeX\ zostało szczęśliwie włączone do Web2C.
 Aby uaktywnić to rozszerzenie, należało podczas generowania formatu
 użyć opcji \optname{-enc}. Ogólnie mówiąc, enc\TeX\ obsługuje
 przekodowanie wejścia i~wyjścia, włączając także Unicode (\acro{UTF}-8)
 (patrz \OnCD{texmf-dist/doc/generic/enctex/} oraz
 \url{http://www.olsak.net/enctex.html}).

\item Udostępniono nowy program Aleph, który łączył cechy \eTeX\ i~\OMEGA.
 Skromna dokumentacja jest dostępna na \OnCD{texmf-dist/doc/aleph/base}
 oraz \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}.
 Format oparty na \LaTeX-u dla programu Aleph nazwano \textsf{lamed}.

\item Dystrybucja \LaTeX-a została po raz pierwszy zaopatrzona w~nową
 licencję \acro{LPPL}, odtąd w~pełni zgodną i~aprobowaną przez zalecenia
 określone w~licencji Debiana. O~nowościach i~uaktualnieniach można się
 dowiedzieć przeglądając pliki \filename{ltnews}
 w~\OnCD{texmf-dist/doc/latex/base}.

\item Dołączono także program \cmdname{dvipng} konwertujący pliki \acro{DVI}
do formatu graficznego \acro{PNG} (\OnCD{texmf/doc/man/man1/dvipng.1}).

\item W~porozumieniu i~z~pomocą autora, Claudio Beccariego, ograniczono
 pakiet \pkgname{cbgreek} do zestawu fontów rozsądnego rozmiaru. Usunięto
 sporadycznie używane fonty konturowe i~służące do prezentacji. Pełen
 zestaw był oczywiście nadal dostępny z~serwerów \acro{CTAN}
 (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}).

\item Usunięto program \cmdname{oxdvi}; jego funkcje przejął
 \cmdname{xdvi}.

\item Programy z~przedrostkiem \cmdname{ini} oraz \cmdname{vir}
 (np. \cmdname{initex}), które zwykle były dowiązaniami do programów
 \cmdname{tex}, \cmdname{mf} i~\cmdname{mpost}, nie były od tej pory dostępne 
 -- w~zupełności wystarcza użycie w~wierszu poleceń opcji \optname{-ini}.

\item Dystrybucja nie zawierała binariów dla platformy \textsf{i386-openbsd}
 (głównie z~powodu braku chętnych do wykonania kompilacji).

\item W~systemie \textsf{sparc-solaris} należało ustawić zmienną systemową
 \envname{LD\_LIBRARY\_PATH}, aby uruchomić programy \pkgname{t1utils}.
 Binaria były kompilowane w~C++, ale w~tym systemie brakowało standardowego
 położenia bibliotek uruchomieniowych. Wiedziano o~tym już wcześniej,
 nie było to jednak dotychczas udokumentowane. Z~kolei dla systemu
 \textsf{mips-irix} wymagana była obecność bibliotek \acro{MIPS}pro 7.4.

\end{itemize}

\subsection{Wydanie 2005}

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:

\begin{itemize}

\item Wprowadzono nowe skrypty \cmdname{texconfig-sys}, \cmdname{updmap-sys}
 i~\cmdname{fmtutil-sys}, których zadaniem jest modyfikowanie plików
 konfiguracyjnych w~głównych drzewach katalogów systemu. Dotychczasowe
 skrypty \cmdname{texconfig}, \cmdname{updmap} i~\cmdname{fmtutil}
 modyfikują odtąd pliki użytkownika w~katalogu \dirname{$HOME/.texlive2005}.
 %(Patrz część~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}).

\item Dodano nowe zmienne środowiskowe \envname{TEXMFCONFIG}
 i~\envname{TEXMFSYSCONFIG}, które wskazują położenie drzew katalogów 
 z~plikami konfiguracyjnymi, odpowiednio: użytkownika i~systemu. Tak więc
 mogło okazać się koniecznym przeniesienie własnych wersji 
 \filename{fmtutil.cnf} i~\filename{updmap.cfg} w~odpowiednie miejsca. 
 Inną możliwością było przedefiniowanie \envname{TEXMFCONFIG} lub 
 \envname{TEXMFSYSCONFIG} w~pliku \file{texmf.cnf}. W~każdym z~przypadków 
 położenie tych plików i~przypisania
 \envname{TEXMFCONFIG} i~\envname{TEXMFSYSCONFIG} muszą być zgodne.
 (Patrz część~\ref{sec:texmftrees}, str.~\pageref{sec:texmftrees}.)

\item W~wydaniu z~poprzedniego roku podczas tworzenia wynikowego pliku 
 DVI \verb|\pdfoutput| i~podobne polecenia pozostawały niezdefiniowane, mimo
 że używany był program \cmdname{pdfetex}. Zgodnie z~obietnicą,
 w~2005 roku zarzucono to rozwiązanie (jego celem było zapewnienie
 kompatybilności). Z~tego powodu użytkownik był zmuszony zmienić te dokumenty,
 które używały \verb|\ifx\pdfoutput\undefined| do sprawdzania, czy plik
 wynikowy ma być w~formacie PDF. Zamiast tego należało zastosować pakiet 
 \pkgname{ifpdf.sty}, który działa zarówno z~plain \TeX-em jak i~\LaTeX-em, 
 albo zapożyczyć zastosowane w~nim rozwiązania.

\item W~wydaniu z~2004 roku zmieniono większość formatów tak, by 
 na wyjściu 8-bitowe znaki były reprezentowane przez same siebie (por.
 poprzednia część). Nowy plik TCX o~nazwie \filename{empty.tcx} pozwalał
 w~łatwy sposób uzyskać w~razie potrzeby oryginalną notację (\verb|^^|),
 np.:

\begin{verbatim}
latex --translate-file=empty.tcx twojplik.tex
\end{verbatim}

\item Dołączono nowy program \cmdname{dvipdfmx}, służący do konwersji DVI
 do PDF. Program jest aktywnie pielęgnowaną wersją programu
 \cmdname{dvipdfm}, który wciąż jest dostępny, ale nie jest już jednak 
 polecany.

\item Nowe programy \cmdname{pdfopen} i~\cmdname{pdfclose} pozwalały na
 przeładowanie plików PDF w~Adobe Acrobat Reader, bez konieczności ponownego
 uruchamiania programu. (Inne przeglądarki formatu PDF, jak \cmdname{xpdf},
 \cmdname{gv} i~\cmdname{gsview}, nigdy na tę przypadłość nie cierpiały.)

\item Dla spójności, zmienne \envname{HOMETEXMF} i~\envname{VARTEXMF} zostały
 przemianowane odpowiednio na \envname{TEXMFHOME} i~\envname{TEXMFSYSVAR}.
 Zachowano zmienną \envname{TEXMFVAR}, przeznaczoną domyślnie dla 
 użytkownika. Patrz też punkt pierwszy, powyżej.

\end{itemize}

\subsection{Wydanie 2006--2007}

Największą nowością edycji lat 2006 i~2007 był Xe\TeX{},
w~postaci programów \texttt{xetex} i~\texttt{xelatex}; patrz
\OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf} lub
\url{http://scripts.sil.org/xetex}.

W istotny sposób został zaktualizowany MetaPost, zaplanowano także jego
dalszy rozwój (\url{http://tug.org/metapost/articles}); to samo dotyczy
pdf\TeX-a (\url{http://tug.org/applications/pdftex}).

Pliki formatów (pdf)TeX-a (\filename{.fmt}) oraz analogiczne dla MetaPosta
i~Meta\-Fonta są od tej edycji zapisywane w~podkatalogach
\dirname{texmf/web2c}, choć sam ten katalog jest nadal przeszukiwany.
Podkatalogi te mają nazwę zgodną z~zastosowanym podczas generowania
,,silnikiem'', np.  \filename{tex}, \filename{pdftex} lub \filename{xetex}.
Zmiana ta nie powinna być zauważalna w~typowym użyciu.

Program \texttt{tex} (plain) od tej edycji już nie analizował pierwszego 
wiersza rozpoczynającego się znakami \texttt{\%\&}, aby ustalić jaki ma 
wczytać format. Pozostał zatem czysty, Knuthowy \TeX. \LaTeX\ i~wszystkie
pozostałe formaty nadal analizują pierwszy wiersz z~\texttt{\%\&}.

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 \acro{CTAN} (\url{http://www.ctan.org}).

Drzewo źródłowe \TL{} jest odtąd przechowywane w~Subversion. Przeglądanie
umożliwia standardowy interfejs www, a~jego adres zamieszczono na stronie 
\url{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 \TL{}.

W~maju 2006~r. Thomas Esser ogłosił, że zaprzestaje aktualizowania
dystrybucji te\TeX{} (\url{http://tug.org/tetex}).  Spowodowało to znaczny
wzrost zainteresowanie \TL, szczególnie wśród dystrybutorów
\acro{GNU}/Linuksa. (W~\TL{} zdefiniowano w przybliżeniu równoważny, nowy
schemat instalacyjny pod nazwą \texttt{tetex}.) Mamy nadzieję, że
w~przyszłości doprowadzi to do takich ulepszeń w~otoczeniu \TeX-owym, na
których skorzystają wszyscy.

\subsection{Wydanie 2008}

W 2008 roku cała infrastruktura \TL{} została przeprojektowana
i~przeprogramowana. Informacja dotycząca instalacji jest przechowywana
obecnie w~zwykłym pliku tekstowym \filename{tlpkg/texlive.tlpdb}.

Po zainstalowaniu \TL{} wreszcie jest możliwa jego aktualizacja z~internetu,
podobnie jak od paru lat umożliwia to dystrybucja MiK\TeX. Zamierzamy
regularnie aktualizować pakiety, w~miarę jak będą się pojawiać na serwerach
\CTAN.

W~tym wydaniu pojawił się nowy ,,silnik'', Lua\TeX\
(\url{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~\TL).

Pojawił się nowy skrypt \cmdname{tlmgr} (patrz część~\ref{sec:tlmgr}), który
staje się głównym narzędziem do zarządzania \TL{} 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ę \cmdname{tlmgr} niektóre funkcje \cmdname{texconfig} 
zostały zablokowane (edycja plików konfiguracyjnych formatów i~wzorców
przenoszenia).

Program \cmdname{xindy} do tworzenia skorowidzów 
(\url{http://xindy.sourceforge.net/}) jest obecnie dostępny dla większości
platform.

Narzędzie \cmdname{kpsewhich} może obecnie raportować wszystkie wyniki
przeszukiwania danego pliku (parametr \optname{--all}), jak również
ograniczyć wyszukiwanie do jednego katalogu (parametr \optname{--subdir}). 

Program \cmdname{dvipdfmx} posiada obecnie funkcję \cmdname{extractbb}
uzyskania informacji o~prostokącie ograniczającym (\textit{bounding box});
jest to jedna z~ostatnich cech przejętych od dawniej używanego programu
\cmdname{dvipdfm} (który jest nadal dostępny).

Usunięto aliasy fontów \filename{Times-Roman}, \filename{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 \pkgname{platex}, by uniknąć konfliktu nazwy z~używanym od
wielu lat japońskim pakietem \pkgname{platex}; pakiet \pkgname{polski} (czyli
dawny \pkgname{platex}) jest obecnie wystarczającym sposobem na polonizację
dla \LaTeX-a.

Usunięto pliki \filename{.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. \textit{\TeX\ tuneup of 2008}); patrz:
\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}.

\subsection{Wydanie 2009}

W wydaniu 2009 najbardziej widoczną zmianą jest to, że
pdf\AllTeX\ \emph{automatycznie} dokonuje konwersji pliku EPS do PDF,
poprzez uruchomienie programu \code{epstopdf} (dotyczy to sytuacji,
gdy użyto pliku konfiguracyjnego \code{graphics.cfg} \LaTeX-a i gdy
plikiem wynikowym składu ma być PDF). Domyślne ustawienia zapobiegają 
nadpisaniu wszelkich utworzonych wcześniej przez użytkownika plików PDF,
ale można także wyłączyć uruchamianie \code{epstopdf}, wstawiając
|\newcommand{\DoNotLoadEpstopdf}{}| (lub |\def...|) przed deklaracją
\cs{documentclass}. Szczegóły można znaleźć w dokumentacji pakietu epstopdf
(\url{http://ctan.org/pkg/epstopdf-pkg}).

Ważną zmianą jest także uruchamianie podczas kompilacji niektórych
zewnętrznych programów via \cs{write18}. Dotyczy to np. 
\code{epstopdf}, \code{makeindex} czy \code{bibtex}. Dokładna lista
takich programów zawarta jest w pliku \code{texmf.cnf}.
Dla instalacji, które mogą wymagać zakazu uruchamiania takich programów
,,w~tle'' przewidziano odpowiednią opcję w programie instalacyjnym (patrz
część~~\ref{sec:options}). Po instalacji można zablokować uruchamianie
w~pliku \code{texmf.cnf}.

Od wydania 2009 domyślnym formatem wyjściowym dla Lua\AllTeX\ staje się PDF 
(wykorzystuje on m.in. obsługę przez Lua\-\TeX-a fontów OpenType). Aby uzyskać
plik DVI należy użyć nowych poleceń: \code{dviluatex} lub \code{dvilualatex}.
Strona domowa projektu Lua\TeX: \url{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 \TypeI, 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
\url{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: \url{http://www.ams.org/tex/amsfonts.html}.

Dla Windows i Mac\TeX{} dołączono nowe środowisko\dywiz edytor \TeX{}works.
Dla innych platform patrz: \url{http://tug.org/texworks}.
Inspirowany przez edytor TeXShop dla \MacOSX, \TeX{}works jest  
wieloplatformowym, łatwym w użyciu środowiskiem pracy.

Dla niektórych platform załączono nowy program graficzny Asymptote
(\url{http://asymptote.sourceforge.net}). Korzysta on z tekstowej notacji
zbliżonej do MetaPosta, ale rozszerzonej do obsługi 3D itp.

Program \code{dvipdfm} został zastąpiony przez \code{dvipdfmx}, który
działa w specjalnym trybie kompatybilnym, gdy użyć do wywołania
dawną nazwę. \code{dvipdfmx} wspiera \acro{CJK} i zawiera wiele poprawek
od ostatniej dystrybucji \code{dvipdfm}. Strona domowa:
\url{http://project.ktug.or.kr/dvipdfmx}.

Dodano zestawy programów dla \pkgname{cygwin} i \pkgname{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 programu \pkgname{xz},
stanowiącego stabilny zamiennik \pkgname{lzma}
(\url{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.

\medskip \noindent
 %%!Końcowa uwaga, dotycząca przeszłości: 
 Wszystkie wydania \TL{}, wraz z~dodatkowymi materiałami (np. okładkami
płytek), są dostępne na stronie: 
\url{ftp://tug.org/historic/systems/texlive}.

\htmlanchor{news}
\subsection{Wydanie obecne}
\label{sec:tlcurrent}
\label{sec:2010news} % keep with 2010

Od wydania 2010 generowane są pliki PDF w~wersji 1.5, oferującej lepszą
kompresję. Dotyczy to wszystkich mechanizmów używanych do generowania PDF,
w~tym \code{dvipdfmx}.  Powrót do wersji 1.4 jest możliwy poprzez użycie
pakietu \pkgname{pdf14} lub komendy |\pdfminorversion=4|.

Obecnie pdf\AllTeX\ \emph{automatycznie} konwertuje plik EPS
(\textit{Encapsulated PostScript}) do formatu PDF, wykorzystując pakiet
\pkgname{epstopdf}, o~ile załadowano \LaTeX-owy plik konfiguracyjny
\code{graphics.cfg} i~wybrano format wyjściowy PDF. Domyślne ustawienia mają
na celu wykluczenie przypadkowego nadpisania istniejących już, wygenerowanych
innym sposobem plików PDF, ale można również zabronić uruchamiania
\code{epstopdf} wpisując przed poleceniem \cs{documentclass} polecenie
|\newcommand{\DoNotLoadEpstopdf}{}| (lub |\def...|). Program \code{epstopdf} nie jest
również używany w~przypadku dołączenia pakietu \pkgname{pst-pdf}. Więcej
szczegółów znajduje się w dokumentacji pakietu epstopdf
(\url{http://ctan.org/pkg/epstopdf-pkg}).

Domyślnie włączono również wykonywanie kilku programów zewnętrznych dla \TeX-a 
poprzez mechanizm
\cs{write18}.  Dotyczy to: \code{repstopdf},
\code{makeindex}, \code{kpsewhich}, \code{bibtex} i~\code{bibtex8} (lista
jest zdefiniowana w~\code{texmf.cnf}).  W~środowiskach, w~których wykonywanie
zewnętrznych programów jest niepożądane, należy tę opcję zaznaczyć podczas
instalacji (patrz: część~\ref{sec:options}) lub wyłączyć już po niej 
poprzez uruchomienie: |tlmgr conf texmf shell_escape 0|.

Kolejna zmiana dotyczy programów \BibTeX\ i~Makeindex, które (podobnie 
zresztą jak sam \TeX) domyślnie nie zapisują swoich plików wynikowych do
dowolnie zdefiniowanego katalogu. 
Umożliwia to w~ograniczonym zakresie zadziałanie polecenia \cs{write18}.  
Aby to zmienić,
należy ustawić zmienną \envname{TEXMFOUTPUT} lub zmodyfikować |openout_any|.

Podobnie jak pdf\TeX, obecnie również \XeTeX\ obsługuje wyrównywanie (tzw.
kernowanie) na krawędzi wiersza, ale możliwość poszerzania pisma
(\textit{font expansion}) nadal nie jest dostępna.

Program tlmgr podczas aktualizacji zachowuje obecnie domyślnie kopię poprzedniej 
wersji pakietu (\code{tlmgr option autobackup 1}), zatem
aktualizacja może zostać łatwo cofnięta poprzez \code{tlmgr restore}.
W~przypadku ograniczonej ilości miejsca na dysku, opcja ta może zostać
wyłączona przez \code{tlmgr option autobackup 0}.

Dołączono nowe programy: p\TeX\ i~narzędzia do składu w~języku japońskim,
\BibTeX{}U dla obsługi Unicode w~\BibTeX-u, chktex
(\url{http://baruch.ev-en.org/proj/chktex}) -- program do sprawdzania 
dokumentów \AllTeX, dvisvgm -- konwerter DVI do SVG  
(\url{http://dvisvgm.sourceforge.net}) oraz binaria dla nowych platform
sprzętowych: \code{amd64-freebsd}, \code{amd64-kfreebsd},
\code{i386-freebsd}, \code{i386-kfreebsd}, \code{x86\_64-darwin},
\code{x86\_64-solaris}.

W~dokumentacji zmian poprzedniego wydanie (\TL{} 2009) nie zdążono uwzględnić
usunięcia wielu programów uruchomieniowych dla \TeX4ht
(\url{http://tug.org/tex4ht}) oraz zastąpienia ich jednym programem
\code{mk4ht}.

Wreszcie, z~powodu niewystarczającej ilości miejsca na płycie \TK\ \DVD,
zrezygnowano z~możliwości uruchamiania \TL{} w~trybie ,,live''.  Jednocześnie
znacznie przyspieszyło to sam proces instalacji \TL{} z~płytki \DVD.

\subsection{Przyszłe wersje}

\emph{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: \url{http://tug.org/texlive/contribute.html}.

Prosimy o~przesyłanie poprawek, sugestii i~uzupełnień oraz deklaracji
pomocy w~opracowywaniu kolejnych edycji pod adres: 
%\begin{quote}
\email{tex-live@tug.org}.
%\url{http://tug.org/texlive}
%\end{quote}

%Uaktualnienia, ogłoszenia i~wskazówki będą dostępne na stronie
%\url{http://tug.org/texlive.html}.

\end{document}

