% iso8859-2
% $Id: texlive-pl.tex, v. 55 2017/05/12
% 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
% (with a little help from my friends, while my guitar gently weeps ;-)
% and for TL 2017 release with a great help from Ryszard Kubiak; thanks a lot!
% 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-live}
\usepackage{polski}            %% for PL
\usepackage[latin2]{inputenc}  %% for PL
\usepackage[T1]{fontenc}
\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 \protect\TL{} 2017}}
}

\author{Redakcja: Karl Berry\\[2mm]
 tłumaczenie: Staszek Wawrykiewicz (współpraca: Ryszard Kubiak dla wydania 2017)\\[3mm]
        \url{http://tug.org/texlive/}
}

\date{Maj 2017}

\maketitle

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

\subsection{\protect\TeX\protect\ Live i \protect\TeX\protect\ 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{}, którą
otrzymują członkowie odpowiedniej 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 na serwerach \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 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}.

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

\TL{} zawiera oprogramowanie dla wielu platform uniksowych,
w~tym \GNU/Linux, \MacOSX i~Cyg\-win. Załączone pliki źródłowe pozwalają też 
na jego instalację na platformach innych systemów operacyjnych i~kompilację
samych programów.

Spośród systemów Windows obsługiwane jest Windows~7 i~wersje
późniejsze. W~Windows Vista, XP, 2000 \TL\ również powinien 
zadziałać. Brakuje wprawdzie oprogramowania dedykowanego dla wersji
64-bitowych, ale programy 32-bitowe działają w~nich równie sprawnie.

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łytki instalacyjnej.

Posiadając płytkę \TK{} \DVD{} (lub jej obraz w~pliku \code{.iso})
możemy 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 typowego przetwarzania dokumentów.

I~na koniec: \TeX\ (oraz towarzyszące mu programy) mogą, przy przetwarzaniu
dokumentów, tworzyć pliki. 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 mogą się znaleźć mniej lub
bardziej doświadczeni użytkownicy.
(Jeśli preferujemy komercyjne wsparcie techniczne, to możemy zamiast
\TL{} zakupić system u~jednego z~dostawców, których listę można znaleźć
pod adresem \url{http://tug.org/interest.html#vendors}.)

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

\begin{description}
\item [\TeX{} FAQ] \TeX-owy 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/},
a~także dostępny w~sieci: \url{http://www.tex.ac.uk/faq}. Proponujemy
tam najpierw zajrzeć. 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://mirror.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] Główne fora pomocy to grupa
Usenet \url{news:comp.text.tex}, lista dyskusyjna
\email{texhax@tug.org} oraz strona \url{http://tex.stackexchange.com}. 
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,
możemy wysłać pytanie do \dirname{comp.text.tex}, skorzystać z~Google,
czytnika wiadomości bądź pisząc list na adres \email{texhax@tug.org}.
Przedtem jednak \emph{należy} zapoznać się z~poradami dotyczącymi sposobu
zadawania pytań, zawartymi w~FAQ:
\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}.
Warto wspomnieć stronę \LaTeX{} Community
(\url{http://www.latex-community.org/}), forum 
\url{http://www.latex-community.org/forum/} oraz
\TeX\ StackExchange (\url{http://tex.stackexchange.com/}). 
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{The \protect\TeX\protect\ Collection: \protect\TL, pro\protect\TeX{}t, Mac\protect\TeX}
\label{sec:tl-coll-dists}

Płytka \TK{} \DVD{} zawiera:

\begin{description}

\item [\TL] kompletny system \TeX, który pozwala na instalację na 
twardym dysku lub przygotowanie przenośnej instalacji np. na pendrivie; 
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} nie spełnia 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 \protect\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 nie
w~katalogu głównym, ale w~katalogu \dirname{texlive}, którego struktura nieco
się różni; poniżej traktujemy katalog \dirname{texlive} jako katalog główny
we wszystkich odniesieniach do instalacji \TL).

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

\item[readme-*.dir] 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-dist] główne drzewo katalogów instalacji (zawiera makra,
 fonty i~dokumentacje; patrz: \texttt{TEXMFDIST} 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 oprogramowania 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 inne pliki informacyjne.
 %\filename{README}, w~formacie tekstowym lub HTML,
 %w~kilku językach (również polskim).
Do znalezienia dokumentacji mogą się przydać na przykład dowiązania zawarte 
w~pliku \OnCD{doc.html}. Dokumentacje niemal wszystkiego (pakietów makr,
formatów, fontów, programów, przewodników man i info, często także w~formacie
PDF) znajdują się w~katalogu \dirname{texmf-dist/doc/}. W~odszukaniu 
konkretnej dokumentacji w~dowolnym z~wymienionych
katalogów mogą pomóc programy \cmdname{texdoc} (tekstowy) lub 
\cmdname{texdoctk} (graficzny).

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

\begin{itemize*}
\item{uproszczony chiński:} \OnCD{texmf-dist/doc/texlive/texlive-zh-cn}
\item{czeski/słowacki:} \OnCD{texmf-dist/doc/texlive/texlive-cz}
\item{angielski:} \OnCD{texmf-dist/doc/texlive/texlive-en}
\item{francuski:} \OnCD{texmf-dist/doc/texlive/texlive-fr}
\item{niemiecki:} \OnCD{texmf-dist/doc/texlive/texlive-de}
\item{polski:} \OnCD{texmf-dist/doc/texlive/texlive-pl}
\item{rosyjski:} \OnCD{texmf-dist/doc/texlive/texlive-ru}
\item{serbski:} \OnCD{texmf-dist/doc/texlive/texlive-sr}
\item{włoski:} \OnCD{texmf-dist/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.

Wszystkie drzewa katalogów, włącznie z prywatnymi katalogami użytkownika,
powinny mieć strukturę zgodną z zaleceniami \TeX\
Directory Structure (\TDS, \url{http://tug.org/tds}), konsekwentnie wraz
z~odpowiednimi podkatalogami. W~przeciwnym wypadku potrzebne pliki mogą nie 
zostać odnalezione. W~części \ref{sec:local-personal-macros} 
(str.~\pageref{sec:local-personal-macros}) będzie to omówione dokładniej.
Porządek na liście jest odwrotny do tego, w~jakim drzewa są przeszukiwane, to
znaczy, drzewa umieszczone na liście później przesłaniają wcześniejsze.

\begin{ttdescription}
\item [TEXMFDIST] Drzewo katalogów zawierające niemal wszystkie pliki
 dystrybucji: pakiety makr, fontów, pomocnicze skrypty, dokumentacje itp.
 (pozostałe pliki dystrybucji, czyli programy, znajdują się w~równoległym
 katalogu \code{bin/}).
 %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 w~lokalnej sieci.
\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.
\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 [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 [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 [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 [TEXMFCACHE] Drzewa katalogów wykorzystywane przez \ConTeXt\
  MkIV oraz Lua\LaTeX\ do przechowywania buforowanych danych
  z~przetwarzania; domyślna wartość w~\TL{} jest identyczna
  z~\code{TEXMFSYSVAR} lub -- jeśli katalog jest niedostępny do zapisu
  -- \verb+TEXMFVAR+.
\end{ttdescription}

\noindent
Oto domyślny układ katalogów:
\begin{description}
  \item[ogólnosystemowy katalog instalacji] może zawierać kilka wydań \TL{}:
  \begin{ttdescription}
    \item[2016] poprzednie wydanie,
    \item[2017] wydanie aktualne:
    \begin{ttdescription}
      \item [bin] ~
      \begin{ttdescription}
        \item [i386-linux] programy dla \GNU/Linux
        \item [...]
        \item [x86\_64-darwin] programy dla \MacOSX
        \item [win32] programy dla Windows
      \end{ttdescription}
      \item [texmf-dist\ \ \ \ ] określany zmienną \envname{TEXMFDIST} i \envname{TEXMFMAIN}
      \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[.texlive2016] prywatne pliki konfiguracyjne 
        poprzedniego wydania
      \item[.texlive2017] prywatne pliki konfiguracyjne 
         bieżącego wydania:
      \begin{ttdescription}
        \item [texmf-var\  \ ] \envname{TEXMFVAR}, \envname{TEXMFCACHE}
        \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~zawsze będzie w~przyszłości dostępny w~dystrybucji. \TL{} zawiera ponadto
kilka wersji rozszerzonych standardowego \TeX-a (tzw. ,,silników'' \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~w~instalacji
\OnCD{texmf-dist/doc/luatex/base/luatex.pdf}.

\item [Xe\TeX] umożliwia pisanie 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'' (OTPs), 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]  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 
 PDF;

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

\item [context, mtxrun]  programy uruchamieniowe dla Con\TeX{}t;

\item [htlatex, \ldots] \cmdname{tex4ht} postprocesor dla 
 \AllTeX-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 pobrać
z~\DVD{} na twardy dysk jeden lub więcej zestawów, ale można następnie
doinstalować do już zainstalowanego zestawu także 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 wybrane 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[BibTeX additional styles] dodatkowa, obszerna biblioteka stylów 
 Bib\TeX-owych i~bazy danych bibliograficznych (podstawowe style znajdują 
 się w~zestawie ,,Essential\dots'');
%\item[chemistry] pakiety makr do składu wzorów chemicznych;
 \item[ConTeXt] 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[Graphics and 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[Additional fonts] biblioteka różnych rzadziej używanych fontów;
\item[Additional formats] pliki pomocnicze do generowania dodatkowych
 ,,formatów'' (tj. obszernych zestawów makr służących do wstępnego 
 przetworzenia i~utworzenia pliku \texttt{.fmt});
\item[Games typesetting] pakiety do prezentacji zapisu różnych gier (szachy,
 brydż itp.);
\item[Generic additional 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[arabski] itp.: 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[Polish] 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 i po zmianach 28.05.2013

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

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

Instalację \TL{} uruchamiamy z~płytki \TK{} \DVD{} lub po pobraniu z~sieci
pakietu instalacyjnego i~jego rozpakowaniu.
Dodatkowe informacje na temat różnych metod instalacji znajdziemy
na stronie \url{http://tug.org/texlive/acquire.html}.

\begin{description}
\item [Instalacja z sieci; pliki .zip i~tar.gz:] z~archiwum \CTAN, z~katalogu
\dirname{systems/texlive/tlnet} 
(\url{http://mirror.ctan.org/systems/texlive/tlnet} powinien
przekierować do najbliższej, aktualnej 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-windows.bat}
i~\filename{install-tl-advanced.bat}. 

\begin{figure}[tb]
\tlpng{nsis_installer}{.6\linewidth}
\caption{Ekran install-tl-windows.exe}\label{fig:nsis}
\end{figure}

\item [Instalacja z~sieci w~Windows:] Dla Windows można pobrać
  alternatywny program
\filename{install-tl-windows.exe} i~uruchomić go podwójnym kliknięciem. Po
samoczynnym rozpakowaniu zawartości ujrzymy okno przedstawione na 
rys.~\ref{fig:nsis}. Znajdziemy tam trzy opcje: ,,Simple install'' (prosta
instalacja; instaluje wszystko); ,,Custom install'' (instalacja zaawansowana,
opisana w~części ~\ref{sec:wininst}) oraz ,,Unpack only'' (tylko 
rozpakowanie, czyli w~wyniku otrzymamy to samo, co po rozpakowaniu
\filename{install-tl.zip}).

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}.

%====

\item [Instalacja z płytki \TeX{} Collection \DVD:] po zamontowaniu 
płytki należy zmienić katalog bieżący na \dirname{texlive} \DVD{} 
(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}). Możemy 
także wypalić płytkę z dostępnego w sieci jej obrazu \ISO{} bądź zamontować 
bezpośrednio plik obrazu (w większości systemów istnieje taka możliwość). Po
zainstalowaniu z \DVD\ lub obrazu \ISO{} można aktualizować
z~internetu (patrz \ref{sec:dvd-install-net-updates}).
\end{description}

Bez względu na źródło stosowany jest ten sam program instalacyjny. Jedyną
widoczną różnicą przy instalacji z sieci jest pobranie zaktualizowanych
pakietów, w przeciwieństwie do \DVD\ i obrazu \ISO, które nie są
aktualizowane między corocznymi wydaniami.

Gdy łączymy się z~siecią poprzez serwer proxy, należy uwzględnić 
jego ustawienia  dla programu Wget
w~pliku ~/.wget.rc bądź poprzez modyfikację zmiennych środowiskowych 
(patrz \url{http://www.gnu.org/software/wget/manual/html_node/Proxies.html}). 
Do pobierania plików \TL{} zawsze
używa programu \GNU\ Wget. Oczywiście uwaga ta jest nieistotna 
gdy instalujemy z \DVD\ lub obrazu płyty \ISO.

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{perl /path/to/installer/install-tl}
\end{alltt}
(można także uruchomić \Ucom{/path/to/installer/install-tl}, o~ile posiada 
on tryb ,,wykonywalny'', lub najpierw zmienić katalog poleceniem \texttt{cd}, 
itd.; w~dalszej części nie będziemy powtarzali wszelkich możliwych kombinacji). 
Zalecane jest powiększenie okna terminala, aby zobaczyć pełną zawartość 
ekranu programu instalacyjnego (rys.~\ref{fig:text-main}).

\begin{figure}[ht]
\begin{boxedverbatim}
Installing TeX Live 2017 from: ...
Platform: x86_64-linux => 'GNU/Linux on Intel x86_64'
Distribution: inst (compressed)
Directory for temporary files: /tmp
...
 Detected platform: GNU/Linux on Intel x86_64

 <B> binary platforms: 1 out of 19

 <S> installation scheme (scheme-full)

 <C> customizing installation collections:
     40 collections out of 41, disk space required: 4900 MB

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

 <O> options:
   [ ] use letter size instead of A4 by default
   ...

 <V> set up for portable installation

Actions:
 <I> start installation to hard disk
 <P> zapisz profil instalacyjny do pliku 'texlive.profile' i~zakończ
 <H> help
 <Q> quit
\end{boxedverbatim}
\caption{Główny ekran instalatora w~trybie tekstowym 
 (\GNU/Linux)}\label{fig:text-main}
\end{figure}

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 XFT (w~systemach \GNU/Linux{} jest on z~reguły 
dostępny, ale w~innych systemach 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]
\tlpng{install-lnx-main}{\linewidth}
\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}
\label{sec: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, \ldots), wykorzystując tzw. 
struktury danych \TeX{}Dist.

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

\subsubsection{Windows}\label{sec:wininst}

Gdy używamy pobranego z~sieci i~rozpakowanego z~pliku zip instalatora 
(bądź program ten nie uruchamia się automatycznie po włożeniu \DVD{} 
do napędu), należy uruchomić \filename{install-tl-windows.bat} (np. 
podwójnym kliknięciem myszy). Jeśli potrzebujemy więcej opcji 
instalacyjnych (np. wyboru konkretnych kolekcji pakietów), możemy
uruchomić alternatywny \filename{install-tl-advanced.bat}.

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-windows}
\end{alltt}

W linii poleceń można zamiast tego podać ścieżkę do programu, np.
dla \TK\ \DVD:
\begin{alltt}
> \Ucom{D:\bs{}texlive\bs{}install-tl-windows}
\end{alltt}
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-windows -no-gui}
\end{alltt}

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

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

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

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{} i~Lua\TeX)
\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 	, 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 jest
\textit{wizard} (,,czarodziej'', ,,mag'', rys.~\ref{fig:wizard-w32}). 

Na innych platformach tryb ten uruchamiamy 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 platforms: (Dostępne platformy:)
===============================================================================
   a [ ] Cygwin on Intel x86 (i386-cygwin)
   b [ ] Cygwin on x86_64 (x86_64-cygwin)
   c [ ] MacOSX legacy (10.5-10.6) on Intel x86 (i386-darwin)
   d [ ] MacOSX legacy (10.5) on PowerPC (powerpc-darwin)
   e [ ] MacOSX current on x86_64 (x86_64-darwin)
   f [ ] MacOSX legacy (10.6-10.9) on x86_64 (x86_64-darwinlegacy)
   g [ ] FreeBSD on x86_64 (amd64-freebsd)
   h [ ] FreeBSD on Intel x86 (i386-freebsd)
   i [ ] GNU/Linux on ARM (armel-linux)
   j [ ] GNU/Linux on ARMhf (armhf-linux)
   k [ ] GNU/Linux on Intel x86 (i386-linux)
   l [ ] GNU/Linux on PowerPC (powerpc-linux)
   m [X] GNU/Linux on x86_64 (x86_64-linux)
   o [ ] NetBSD on x86_64 (amd64-netbsd)
   p [ ] NetBSD on Intel x86 (i386-netbsd)
   s [ ] Solaris on Intel x86 (i386-solaris)
   t [ ] Solaris on Sparc (sparc-solaris)
   u [ ] Solaris on x86_64 (x86_64-solaris)
   v [ ] Windows (win32)
\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 składników do instalacji}
\label{sec:components}

\begin{figure}[tbh]
\begin{boxedverbatim}
Select scheme: (Wybór schematu do instalacji:)
===============================================================================
 a [X] full scheme (everything)
 b [ ] medium scheme (small + more packages and languages)
 c [ ] small scheme (basic + xetex, metapost, a few languages)
 d [ ] basic scheme (plain and latex)
 e [ ] minimal scheme (plain only)
 f [ ] ConTeXt scheme
 g [ ] GUST TeX Live scheme
 h [ ] infrastructure-only scheme (no TeX at all)
 i [ ] teTeX scheme (more than medium, but nowhere near full)
 j [ ] 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}
\centering \tlpng{stdcoll}{.7\linewidth}
\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ą tak zwane ,,kolekcje'', czyli zestawy pakietów, które można wybrać
w~kolejnym menu: ,,Kolekcje'' (rys.~\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
powinniśmy użyć 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}) to w~systemach Unix
\dirname{/usr/local/texlive/2017}, zaś w~Windows
|%SystemDrive%\texlive\2017|.
Możemy zatem mieć kilka równoległych instalacji, każdą dla konkretnego
roku wydania, i~łatwo się między nimi przełączać, zmieniając jedynie
kolejność ścieżek przeszukiwania.

Głównym powodem, dla którego chcielibyśmy ewentualnie zmienić domyślne 
położenie \dirname{TEXDIR} podczas instalacji,
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/2017|. 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.)

Katalogi przeznaczone na instalację można również zmienić  definiując zmienne systemowe
\envname{TEXLIVE\_INSTALL\_PREFIX} lub
\envname{TEXLIVE\_INSTALL\_TEXDIR}); patrz dokumentacja wyświetlana poleceniem
|install-tl --help| (dostępna też online na stronie
\url{http://tug.org/texlive/doc/install-tl.html}).

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
użytkownika podczas każdego uruchamiania programów. Znak ten rozwijany jest 
do zmiennej \dirname{$HOME} w~Unix/Linux i~\verb|%USERPROFILE%| w~Windows. Po 
raz kolejny podkreślmy, że tak jak inne drzewa katalogów, 
\envname{TEXMFHOME} musi mieć strukturę zgodną z \TDS, w~przeciwnym wypadku
potrzebne pliki mogą nie zostać znalezione.

Katalog określany przez zmienną \dirname{TEXMFVAR} przechowuje dane
konfiguracyjne specyficzne dla każdego użytkownika. Katalog określany przez
zmienną \dirname{TEXMFCACHE} przechowuje dane buforowane (\textit{cached})
Lua\LaTeX{} oraz \ConTeXt\ MkIV (patrz część~\ref{sec:context-mkiv}, na
str.~\pageref{sec:context-mkiv}).

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

\begin{figure}[tbh]
\begin{boxedverbatim}
Options setup:
===============================================================================
 <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:
 <Y> after installation, get package updates from CTAN: [X]
\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): od \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 znajdziemy w~części ,,Wydanie 
 2010'' (\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): wyłączenie tych opcji nie jest zalecane,
 mimo iż pozwala zaoszczędzić miejsce na dysku.

\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}). Wybranie
  opcji wymaga posiadania uprawnień do zapisu w~katalogach docelowych.

  Zdecydowanie zaleca się \emph{nie} używać tej opcji, bo może to 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. Nie zastępuj za pomocą tej opcji istniejących w~systemie
  plików, na przykład przez podanie katalogów
  systemowych. Najbezpieczniejszym i~zalecanym podejściem jest
  pozostawić opcję niezaznaczoną.

\item[after installation \ldots\ \CTAN] (po instalacji użyj CTAN, aby pobrać
 aktualizacje): gdy instalujemy z~\DVD, opcja ta jest domyślnie włączona,
 co pozwala zaktualizować zainstalowane pakiety z~sieci (z~kopii
 CTAN). Jedyny powodem, dla którego moglibyśmy wyłączyć tę opcję, jest sytuacja,
 gdy instalujemy tylko część pakietów i~zamierzamy potem doinstalować z~\DVD\
 inne. Tak czy inaczej, repozytorium pakietów do instalacji bądź
 aktualizacji może być w~każdej chwili zmienione w~linii poleceń, lub
 po wyborze odpowiedniego menu programu \cmdname{tlmgr} w~trybie graficznym.
 Patrz część~\ref{sec:location} i~część~\ref{sec:dvd-install-net-updates}.
\end{description}

Występujące w~zaawansowanym interfejsie Perl/Tk opcje specyficzne dla systemu
Windows:
\begin{description}
\item[adjust PATH setting in registry] Ta opcja zapewnia, że wszystkie
  programy będę miały w~swoich ścieżkach wyszukiwania dostęp do drzewa
  katalogów \TL.

\item[add menu shortcuts] Po wybraniu tej opcji Start menu systemu
  Windows będzie zawierało podmenu \TL. Oprócz pozycji `TeX Live menu'
  and `No shortcuts' istnieje trzecia opcja `Launcher entry'.
  Op0cja ta jest opisana w~punkcie \ref{sec:sharedinstall}.

\item[change file associations] Czy zmienić powiązania plików
  z~programami. Dostępne są warianty: `Only new' (powiąż pliki
  z~aplikacjami, ale tylko nowe, nie zmieniając powiązań dla plików
  już istniejących w~instalacji), `All' (wszystkie) and
  `None' (żadne).

\item[install \TeX{}works front end]
\end{description}

Po wykonaniu wszystkich potrzebnych ustawień można rozpocząć
instalację (klawisz ,,I''). Po instalacji zaleca się zajrzeć do części
\ref{sec:postinstall}, bo być może będą niezbędne 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 XFT;
gdy jest on niedostępny, program instalacyjny uruchomiony zostanie
w trybie tekstowym;
\item[-no-gui] wymusza tryb tekstowy, np. w~Windows.
\item[-lang {\sl ll}] pozwala wybrać język komunikatów, 
 \textsl{ll} oznacza tu dwuliterowy kod języka; listę dostępnych
 języków wyświetli \verb|install-tl --help|;
 %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 oraz menu będą wyświetlane w~języku angielskim;

\item[-portable] instalacja do użycia przenośnego, np. na pen drivie;
 opcja ta może być użyta zarówno w trybie tekstowym (poleceniem \code{V}), 
 jak i przez wybór odpowiedniego przycisku programu instalacyjnego w trybie
GUI (patrz część ~\ref{sec:portable-tl}).

\item[-profile {\sl plik}] wczytuje \var{plik} profilu instalacji 
 i~przebiega ona bez interakcji ze strony użytkownika; 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).

\htmlanchor{opt-in-place} 
\item[-in-place] jeśli posiadamy kopię repozytorium \TL{} uzyskaną via
 rsync, svn itp. (patrz \url{http://tug.org/texlive/acquire-mirror.html}),
 opcja ta pozwala na wykorzystanie jako instalacji owej kopii i~jedynie
 wykona kroki poinstalacyjne (konfigurację). \textbf{Uwaga:} plik
 \filename{tlpkg/texlive.tlpdb} może zostać nadpisany, a więc warto go
 uprzednio skopiować w~bezpieczne miejsce. Ponadto usuwanie zbędnych pakietów
 należy wykonać wtedy ręcznie, słowem -- użycie tej opcji zaleca się jedynie
 zaawansowanym użytkownikom. Opcja ta jest niedostępna w~programie 
 instalacyjnym z~graficznym interfejsem.

\end{ttdescription}

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

Domyślnym repozytorium pakietów dla \TL{} jest kopia (\textit{mirror}) CTAN, 
znajdywana automatycznie poprzez sewis \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 repozytorium pakietów na dysku (np. pobranej za pomocą 
programu \filename{wget} lub \filename{rsync}). 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}.  (Podając adres \texttt{http:}\ lub
\texttt{ftp:}\ końcowy znak ,,\texttt{/}'' lub komponent ,,\texttt{/tlpkg}'' 
są ignorowane.)

Przykładowo, można wybrać konkretną kopię (zwierciadło) \CTAN\ z 
\url{http://ctan.example.org/tex-archive/systems/texlive/tlnet/} podstawiając
prawdziwą nazwę hosta i jego konkretną ścieżkę do korzenia \CTAN, zamiast
|ctan.example.org/tex-archive|. Lista kopii \CTAN\ dostępna jest na
stronie \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}
 %

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

Użycie opisanej w~części~\ref{sec:options} opcji tworzenia dowiązań
symbolicznych w~standardowych katalogach nie wymaga zmian w zmiennych
środowiska systemowego. Niemniej jednak w systemach Unix
po instalacji należy do zmiennej \envname{PATH} dodać ścieżkę do
programów \TL. (W Windows program instalacyjny czyni to za nas.)

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{MANPATH}.

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/2017/bin/i386-linux:$PATH; export PATH
MANPATH=/usr/local/texlive/2017/texmf-dist/doc/man:$MANPATH; export MANPATH
INFOPATH=/usr/local/texlive/2017/texmf-dist/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/2017/bin/i386-linux:$PATH
setenv MANPATH /usr/local/texlive/2017/texmf-dist/doc/man:$MANPATH
setenv INFOPATH /usr/local/texlive/2017/texmf-dist/doc/info:$INFOPATH
\end{sverbatim}

Jeśli jakieś ustawienia zawarto już w~prywatnych plikach konfiguracyjnych,
wówczas oczywiście katalogi \TL\ powinny być tam odpowiednio wkomponowane.

\subsubsection{Zmienne środowiska: konfiguracja globalna}
\label{sec:envglobal}

Jeśli zmiany mają być na poziomie globalnym albo jeśli mają one być dla 
nowego użytkownika systemu, to należy to zrobić na własną rękę --
jest zbyt wiele możliwości dla różnych systemów dotyczących miejsca i~sposobu
konfiguracji.

Nasze dwie rady są następujące: 1)~można sprawdzić plik
\filename{/etc/manpath.config} i,~jeśli jest obecny, dodać w nim wiersze
\begin{sverbatim}
MANPATH_MAP /usr/local/texlive/2016/bin/i386-linux \
            /usr/local/texlive/2016/texmf-dist/doc/man 
\end{sverbatim} 
 2)~można sprawdzić plik \filename{/etc/environment}, w którym może być
zdefiniowana ścieżka wyszukiwania i~inne domyślne zmienne środowiska.  

W każdym katalogu w plikami wykonywalnymi systemów uniksowych możemy utworzyć
symboliczne dowiązanie o nazwie \code{man} do katalogu
\dirname{texmf-dist/doc/man}. Niektóre programy \code{man}, np. standardowy
program \code{man} w systemie \MacOSX, automatycznie znajdą to dowiązanie,
likwidując potrzebę jakiegokolwiek ustawiania dla stron manuala.

\subsubsection{Aktualizacje z internetu po instalacji z \DVD}
\label{sec:dvd-install-net-updates}

Po instalacji z \DVD\ i \textit{po modyfikacji} ścieżki wyszukiwania
programów (jak opisano to powyżej), możemy pobrać z internetu aktualizacje
pakietów:

\begin{alltt}
> \Ucom{tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet}
\end{alltt}

Wówczas pakiety będą aktualizowane z najbliższej, automatycznie
znalezionej kopii archiwów CTAN (co domyślnie włączono podczas instalacji). 
Jeśli wystąpią problemy z automatycznym wyborem archiwum, należy podać
konkretny adres (listę adresów znajdziemy na \url{http://ctan.org/mirrors})
wraz z pełną ścieżką do podkatalogu \dirname{tlnet}.

\htmlanchor{xetexfontconfig} % keep historical anchor working
\htmlanchor{sysfontconfig}
\subsubsection{Konfiguracja fontów dla \protect\XeTeX\protect\ i~Lua\protect\TeX}
\label{sec:font-conf-sys}

\XeTeX\ i~Lua\TeX\ pozwalają użyć każdy font zainstalowany w~systemie, nie
tylko fonty znajdujące się w~katalogach \TeX-owych. Oba programy korzystają
tu ze zbliżonych, ale jednak różnych metod.

W systemach Windows fonty dostarczone z~\TL\ są automatycznie dostępne
dla programu \XeTeX{} poprzez odwołanie do nazwy fontu. W~\MacOSX{} 
wyszukiwanie fontów wymaga dodatkowych kroków; patrz strona Mac\TeX\ w~sieci
(\url{http://tug.org/mactex}). Dla innych systemów uniksowych należy
skonfigurować system tak, aby dowolny program mógł znaleźć fonty 
dostarczone w~\TL. Aby to ułatwić, podczas instalacji pakietu 
\pkgname{xetex} 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ń, a~chcemy 
 %podczas uruchamiania \XeTeX-a
 korzystać z~fontów dostępnych 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*}

Uruchomienie programu \code{fc-list} pozwala wyświetlić nazwy fontów
systemowych. Uruchomienie \code{fc-list : family style file spacing} pokaże
więcej interesujących informacji.

%\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 pen drive USB,
%opisano w części~~\ref{sec:portable-tl}.

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

Zarówno tzw. ,,stary'' \ConTeXt{} (Mark II), jak i~nowy 
\ConTeXt{} (Mark IV, oparty na Lua\TeX) powinny działać po instalacji
\TL bez problemów, o ile do aktualizacji będziemy używać wyłącznie programu
\verb+tlmgr+. 

Ponieważ \ConTeXt{} MkIV nie stosuje biblioteki kpathsea do
wyszukiwania plików, to po zainstalowaniu ręcznie nowych plików (bez użycia 
\verb+tlmgr+) wymagane jest uruchomienie:  
\begin{sverbatim}
context --generate 
\end{sverbatim} 
do odświeżenia danych buforowych \ConTeXt.
Wygenerowane dane buforowe zostaną zapisane w~katalogach wskazywanych przez
zmienną \code{TEXMFCACHE} (domyślną wartością tej zmiennej w~\TL\ jest
\verb+TEXMFSYSVAR;TEXMFVAR+).

\ConTeXt\ MkIV przeszuka wszystkie ścieżki wymienione w
\verb+TEXMFCACHE+ i zapisze dane w pierwszej ścieżce, która jest dostępna 
do zapisu. Gdy dane buforowe są zduplikowane, podczas ich odczytywania
zostaną wykorzystane ostatnio znalezione.

Więcej informacji znajdziemy na stronach:
\url{http://wiki.contextgarden.net/Running_Mark_IV}.

\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| w~Windows) 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 dla kolejnych wydań. 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-dist/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}).

Każda z tych zmiennych ma domyślnie przypisany pojedynczy katalog, ale
nie musi być to regułą. Jeśli testujemy różne wersje pakietów, możemy
do własnych celów zakładać kolejne drzewa katalogów i przełączać kolejność
ich przeszukiwania. Wystarczy zadeklarować zmienną \dirname{TEXMFHOME}
dla listy katalogów, które oddzielamy przecinkami i~umieszczamy w~klamrach:

\begin{verbatim}
  TEXMFHOME = {/my/dir1,/mydir2,/a/third/dir}
\end{verbatim}

W części \ref{sec:brace-expansion} opisano dokładniej analizę listy
katalogów umieszczonych w klamrach.

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

Jest to, niestety, bardzo skomplikowane zagadnienie, wymagające sporej wiedzy
użytkownika. Warto najpierw przejrzeć, jakie fonty mamy dostępne 
bezpłatnie w~dystrybucji \TL\ (jest ich całkiem sporo).

Alternatywą jest tu użycie programu \XeTeX{} lub Lua\TeX\ (patrz
część~\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 wielkim staraniem ??
 opisano w~miarę dokładnie np. na stronie:
 \url{http://tug.org/fonts/fontinstall.html}. 

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

Po zainstalowaniu \TL{} warto sprawdzić, czy programy działają
poprawnie. Pierwszą rzeczą będzie znalezienie programu do edycji plików.
\TL{} dostarcza edytor \TeX{}works (\url{http://tug.org/texworks}), ale tylko
dla Windows, zaś Mac\TeX{} edytor
TeXShop (\url{http://pages.uoregon.edu/koch/texshop}).
Dla innych systemów uniksowych 
wybór edytora pozostawia się użytkownikowi. W~zasadzie we wszystkich 
systemach możemy korzystać z~dowolnego edytora, operującego na czystym
tekście. 

Opiszemy tu podstawowe procedury testujące funkcjonowanie instalacji
w~systemach Unix, ale zasady są identyczne dla innych systemów. 

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

\begin{alltt}
> \Ucom{tex -{}-version}
TeX 3.14159265 (TeX Live ...)
Copyright ... 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}
This is pdfTeX 3.14...
.....
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 PDF:
\begin{alltt}
> \Ucom{pdflatex sample2e.tex}
\end{alltt}

\item Podgląd dokumentu 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 polecić program
Sumatra PDF (\url{https://www.sumatrapdfreader.org/free-pdf-reader.html}).
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.14\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ę systemu, jak to opisano 
w~części~\ref{sec:font-conf-sys}.

\end{enumerate}

\section{Instalacje zaawansowane}

W poprzednich częściach opisano proces typowej instalacji. Teraz
omówimy te bardziej wyspecjalizowane.

\htmlanchor{tlsharedinstall}
\subsection{Instalacje dla wielu użytkowników (lub wieloplatformowe)}
\label{sec:sharedinstall}

\TL{} zaprojektowano tak, by w~sieci komputerowej mogło z~niego
korzystać wielu użytkowników, nawet w~różnych systemach operacyjnych.
Stosując standardową strukturę 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{$TEXMFDIST/web2c/texmf.cnf}, który zawiera na przykład takie
wiersze:
\begin{sverbatim}
TEXMFROOT = $SELFAUTOPARENT
...
TEXMFDIST = $TEXMFROOT/texmf-dist
...
TEXMFLOCAL = $SELFAUTOGRANDPARENT/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.

W~wypadku Windows, \TL{} zawiera program uruchomieniowy
\filename{tlaunch}. Jego główne okno zawiera zawiera menu i~przyciski
dla różnych programów \TeX-owych oraz dokumentacji, które można
konfigurować w~pliku \code{ini}. Podczas pierwszego uruchomienia
program modyfikuje ścieżkę dostępu dla \TL\ i~tworzy kilka asocjacji
typów plików -- ale tylko dla aktualnego użytkownika.  Z~tego powodu
stacje robocze, które mają w~sieci lokalnej dostęp do \TL{} potrzebują
jedynie skrótu do programu \filename{tlaunch} w~menu. Więcej o~tym
można przeczytać w~podręczniku programu (\code{texdoc tlaunch}
albo \url{https://ctan.org/pkg/tlaunch}).

Użytkownicy Windows mogą pobrać z~internetu program uruchomieniowy
\filename{tlaunch} (patrz:
\url{http://tug.org/texlive/w32client.html}).  Główne okno programu
zawiera menu i~przyciski dla różnych programów \TeX-owych oraz
dokumentacji.  Ponadto dodaje do menu Start skrót
dla odwołania tych zmian w~konfiguracji (taki sam skrót znajdzie się
również w menu \filename{tlaunch}).

%W części~\ref{sec:kpathsea} dowiemy się więcej o~konfigurowaniu \TL{}
%i~zasadach przeszukiwania ścieżek.

%%! 2 sekcje tłumaczył Andrzej Borzyszkowski, przeredagował StaW
\htmlanchor{tlportable}
\subsection{Przenośna instalacja na pen drivie USB}
\label{sec:portable-tl}

Aby wykonać przenośną instalację na pen drivie, należy uruchomić program
instalacyjny z~opcją \optname{-portable} (lub polecenie \code{V} w~trybie
tekstowym bądź odpowiednia opcja w~trybie \GUI). Instalacja taka nie ingeruje
w~sam system operacyjny. Można ją wykonać bezpośrednio na pen drivie, lub na
dysku twardym, skąd kopiujemy ją na urządzenie przenośne.

Do uruchomienia programów \TL\ w~takiej instalacji wystarczy w sesji
terminala dodać, jak zazwyczaj, odpowiedni katalog do zmiennej
\code{PATH}. W~Windows należy dwukrotnie kliknąć
\filename{tl-tray-menu} w głównym katalogu instalacji i~utworzyć
pomocnicze `tray menu`, które oferuje wybór spośród kilku podstawowych
zadań, pokazanych na poniższym rysunku:

\medskip
\tlpng{tray-menu}{4cm}
\smallskip

\noindent Wybór ,,More\ldots'' pokaże komunikat z~informacją, jak można
dostosować menu do własnych potrzeb.

% \htmlanchor{tlisoinstall}
% \subsection{Instalacje z pliku obrazu \ISO\ (lub \DVD)}
% \label{sec:isoinstall}

% Jeśli nie zamierzamy często aktualizować bądź modyfikować w inny sposób
% naszej instalacji, a~także gdy zamierzamy uruchamiać \TL\ na wielu systemach,
% warto utworzyć plik obrazu \ISO\ takiej instalacji, choćby z poniższych 
% powodów:

% \begin{itemize}
% \item kopiowanie obrazu \ISO\ między komputerami jest znacznie szybsze
%  niż kopiowanie zwykłej instalacji;
% \item jeśli używamy kilku systemów operacyjnych na tym samym komputerze
%  i chcemy korzystać z~tej samej instalacji \TL, obraz \ISO instalacji
%  jest pozbawiony ograniczeń różnych systemów plików
%  (FAT32, NTFS, HFS+);
% \item systemy uruchamiane w trybie wirtualnym mogą po prostu zamontować
%  plik obrazu \ISO.
% \end{itemize}

% Obraz \ISO\ można oczywiście wypalić na płytce \DVD.

% Systemy \GNU/Linux/Unix (w tym \MacOSX) pozwalają na montowanie pliku obrazu
% \ISO. Windows~8 jest pierwszą(!) wersją tego systemu, która też na to
% pozwala. Instalacja z~obrazu \ISO\ w~niczym się nie różni od typowej,
% wykonanej na dysku (patrz: \ref{sec:env}).

% Podczas wykonywania instalacji do \ISO\ warto pominąć specyfikowanie katalogu
% dla roku wydania, ponadto warto umieścić katalog \filename{texmf-local} na
% tym samym poziomie co inne drzewa (\filename{texmf-dist}, 
% \filename{texmf-var}, itd.). Zmianę katalogów umożliwia opcja 
% \verb+TEXDIR+ programu instalacyjnego.

% Dla natywnego (nie wirtualnego) systemu Windows można wypalić obraz \ISO\ na
% płytce \DVD, ale warto też rozważyć instalację któregoś z~dostępnych w~sieci
% programów umożliwiających montowanie takiego obrazu, np. dla Windows XP
% WinCDEmu (\url{http://wincdemu.sysprogs.org/}).

% Poza tym w~Windows można dołączyć opisany wyżej skrypt \filename{w32client}
% (patrz: \ref{sec:sharedinstall} oraz 
% \url{http://tug.org/texlive/w32client.html}), który wykonuje swe zadania,
% podobnie jak w wypadku instalacji sieciowej.

% W systemie \MacOSX{} program TeXShop będzie mógł wykorzystać
% instalację na DVD, gdy zadeklarujemy dowiązanie symboliczne
% \filename{/usr/texbin} do odpowiedniego katalogu, np.:
% \begin{verbatim}
% sudo ln -s /Volumes/MyTeXLive/bin/universal-darwin /usr/texbin
% \end{verbatim}

% Uwaga historyczna: \TL{} 2010 był pierwszą edycją, która (z różnych przyczyn)
% nie była faktycznie \textit{live}. Niemniej jednak poprzednie edycje zawsze
% wymagały akrobatycznych ,,sztuczek'' do uruchamiania programów bezpośrednio
% z \DVD\ lub obrazu \ISO (np. deklarowania dodatkowej zmiennej środowiska).
% Obraz \ISO, tworzony obecnie, tego nie wymaga.

\htmlanchor{tlmgr}
\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. 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 oraz ich opisó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*}

Program \prog{tlmgr} całkowicie zastąpił funkcjonalność programu
\prog{texconfig}. Choć ten ostatni jest nadal dostępny w~dystrybucji \TL{}
dla użytkowników przyzwyczajonych do tego interfejsu, zalecamy
obecnie używanie \prog{tlmgr}.

\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},
\texttt{Programy}, \texttt{TeX Live 2017}, \texttt{TeX Live Manager}. 
Po kliknięciu przycisku ,,Wczytaj'' wyświetla listę dostępnych oraz
listę zainstalowanych pakietów.

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 zaktualizować wszystkie pakiety:
\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/2017/texmf-dist/ls-R...
...
running fmtutil-sys --missing
...
Transcript written on xelatex.log.
fmtutil: /usr/local/texlive/2017/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 very large collection of add-on packages for LaTeX.
installed:  Yes
revision:   32768
\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[Skojarzenia typów plików.] Jeśli wybrano tę opcję, 
 \prog{TeXworks}, \prog{Dviout} oraz \prog{PS\_view} otwierają domyślne
  dla tych programów typy plików (lub, przy kliknięciu prawym klawiszem
  myszy na danym pliku, proponują ,,Otwórz'' i wybór programu).
\item[Konwerter bitmap do EPS.] Dla różnych formatów graficznych plików 
 bitmapowych kliknięcie prawym klawiszem myszy wyświetla w~menu ,,Otwórz''
 \cmdname{bitmap2eps}. Bitmap2eps jest prostym skryptem, który pozwala
 na wybór programu \cmdname{sam2p} bądź \cmdname{bmeps}.
\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. Przycisk ,,Usuń''
w~\TeX\ Live Manager \GUI\ także pozwala usunąć całość instalacji.
Dla zwykłego użytkownika program instalacyjny dodaje ponadto w~menu Start
skrót do usunięia instalacji.
\item[Zabezpieczenie przed zapisem.] Jeśli instalację wykonał
administrator systemu, to katalogi \TL\ są zabezpieczone przed zapisem przez
zwykłego użytkownika (przynajmniej na dysku stałym sformatowanym w~NTFS).
\end{description}

Istnieje też inne podejście, za pomocą programu \filename{tlaunch}, 
opisanego w~punkcie~\ref{sec:sharedinstall}.

\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
dedekowanego dla środowiska \TeX{} znacznie ułatwi pracę.

Stosowne wersje tych programów dla systemu Windows można dość ł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[PS\_View] -- program do podglądu plików postscriptowych (a~także
 plików PDF), patrz rys.~\ref{fig:psview};

\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}

\item[dviout.] Instalowany jest także \prog{dviout}, program do podglądu
plików DVI. Pierwsze uruchomienie \prog{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.
\item[\TeX{}works.] Zorientowany na środowisko \TeX-owe edytor, zintegrowany 
z~modułem do podglądu plików PDF;
\item[narzędzia uruchamiane z~linii poleceń] -- wersje Windowsowe
 kilku przydatnych programów uniksowych są włączone do \TL{}. Chodzi
 tu na przykład o~programy: \texttt{gzip}, \texttt{unzip}, 
 \texttt{jpeg2ps}, \texttt{tiff2png} i~kilka narzędzi z~zestawu
 \cmdname{xpdf}, jak \cmdname{pdfinfo}, \cmdname{pdffonts} 
 Sama przeglądarka \cmdname{xpdf} nie jest dostępna w~Windows, 
 można jednak pobrać z~internetu opartą na niej przeglądarkę \acro{PDF}:
 \url{https://www.sumatrapdfreader.org/free-pdf-reader.html};
\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 jako parametr rozszerzonego
 w~\XeTeX-u polecenia \cs{font});
\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}

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

\begin{description}
\item[Ghostscript] \url{https://ghostscript.com/}
\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ących
 indywidualne preferencje użytkownika (poniżej wymieniono jedynie
 te działające w~systemach Windows)
 \begin{itemize*}
  \item \cmdname{GNU Emacs} jest dostępna wersja natywna dla systemu Windows, zob.
        \url{http://www.gnu.org/software/emacs/emacs.html}.
  \item \cmdname{GNU Emacs} -- w~wersji zintegrowanej z~\textsf{AucTeX}
  dla Windows dostępny jest w~archiwach \CTAN;
  strona domowa: \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.latexeditor.org/}.
  \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 \cmdname{TexMakerX} jest rozszerzeniem \cmdname{Texmaker}
%  (\url{http://texmakerx.sourceforge.net}).
  \item \cmdname{TeXstudio} jest rozszerzeniem \cmdname{Texmaker} o~dodatkowe
  fukcje, patrz \url{http://texstudio.org/}.
  \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 wyłącznie w~Windows
         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}.

\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
Vista i~w~wersjach późniejszych jest to
\verb|C:\Users\<nazwa_użytkownika>|. W~pliku konfiguracyjnym
\filename{texmf.cnf} i~ogólnie w~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, którzy mają
pełną swobodę dostępu do całości systemu.  
Dołożono wielu starań, aby umożliwić instalację \TL{} także osobom bez 
uprawnień administratora.

Jeśli osoba instalująca ma uprawnienia administrata, to udostępniona jest
opcja instalacji dla wszystkich użytkowników. Użycie jej oznacza, że tworzone
są skróty, a także ustawiane są zmienne środowiska dla całego systemu.
W~przeciwnym wypadku skróty i~menu są tworzone jedynie dla konkretnego
użytkownika, także definiowane zmienne środowiska dotyczą zwykłych
użytkowników.

Bez względu na status użytkownika proponowanym, domyślnym katalogiem głównym
instalacji jest katalog w~ramach \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 rozwiązać 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 i nowsze stwarzają 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''.

%\subsubsection{Zabezpieczenie katalogu \TL}
%
%Nawet gdy instalujemy \TL{} jako administrator, nie zabezpiecza to katalogu
%docelowego instalacji przed zmianami, które może w~nim wykonać zwykły
%użytkownik. Po instalacji zatem może być wymagane ustawienie dla tego
%katalogu odpowiedniej wartości \acro{ACL} (Access Control List; patrz
%dokumentacja uruchamianego z~wiersza poleceń programu Windows
%\filename{icacls}). 

\subsection{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}.

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

\subsection{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-dist/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
str.~\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.

Chociaż 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, czyli
transformuje wszystkie specyfikacje do nazwy podstawowej 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
str.~\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{.../2017/texmf.cnf},
który w~wyjątkowych wypadkach możemy modyfikować. Głównym plikiem
konfiguracyjnym jest \file{.../2017/texmf-dist/web2c/texmf.cnf}, ale
nie powinien być on modyfikowany, gdyż 
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-dist/web2c/} bądź \path{../texmf-dist/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 str.~\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}
\label{sec:brace-expansion}

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ą (uproszczoną tu)
definicję:
\begin{verbatim}
  TEXMF = {$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFDIST}
\end{verbatim}
Używając jej, można następnie zdefiniować na przykład:
\begin{verbatim}
  TEXINPUTS = .;$TEXMF/tex//
\end{verbatim}
co oznacza, że po szukaniu w~katalogu bieżącym będą przeszukane kolejno
\code{\$TEXMFVAR/tex}, \\code{\$TEXMFHOME/tex}, code{\$TEXMFLOCAL/tex}, 
i~\code{\$TEXMFDIST/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-dist/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 odnajdywane 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,
 % ??? dvips to chyba nie przeglądarka ---
 % w oryg. było display programs like dvips...
 takie jak \cmdname{dvips} czy \cmdname{xdvi}.       
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-dist/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 Type1
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 do 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: \cmdname{dvips} Reference Manual, 
\OnCD{texmf-dist/doc/dvips/dvips.pdf}).
Komunikaty z~uruchomienia programu (nieco zmodyfikowane) znajdują się
na~rys.~\ref{fig:dvipsdbga}.
\begin{figure*}[tp]
\centering
\input{examples/ex6a.tex}
\caption{Szukanie pliku konfiguracyjnego}\label{fig:dvipsdbga}
\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 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-dist/dvips/config/config.cms}
p +ams.map
p +cms.map
p +cmbkm.map
p +amsbkm.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.92b Copyright 2002 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-dist/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf-dist/fonts/type1//).
kdebug:search(texc.pro) => /usr/local/texmf-dist/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-dist/fonts/tfm//:
       /var/tex/fonts/tfm//).
kdebug:search(cmr10.tfm) => /usr/local/texmf-dist/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-dist/dvips//:
       ~/tex/fonts/type1//:!!/usr/local/texmf-dist/fonts/type1//).
kdebug:search(cmr10.pfb) => /usr/local/texmf-dist/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~\TL{} \DVD{}
(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 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: TUG, DANTE e.V., NTG, i~GUST), 
  które wspólnie zapewniają potrzebną infrastrukturę techniczną 
  i~organizacyjną. Dołącz do swojej grupy użytkowników systemu \TeX!;
\item zespołu CTAN (\url{http://ctan.org}), 
 %(w~szczególności Robina Fairbairnsa 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, który umożliwił dostęp do wielu platform ekipie \TL\
  i~pomagał 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 \GNU\ autotools w~\TL); Peter zmarł
w~październiku 2015 roku, dedykujemy kontynuację prac Jego pamięci.
\item Jin-Hwan Cho i całego zespołu DVIPDFM$x$, którzy opracowali ten 
 znakomity sterownik i~nieustannie pomagali 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ł pakiet \ConTeXt\ 
(\url{http://pragma-ade.com}) do potrzeb \TL;
\item \Thanh{}a, %%! H\`an Th\^e Th\`anha coś nie działa w polskiej wersji [SW]
 Martina Schr\"odera i~zespołu pdf\TeX (\url{http://pdftex.org}), którzy 
 kontynuują ulepszanie tego programu;
\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 Khaleda Hosny, który pracuje nad doskonaleniem \XeTeX, DVIPDFM$x$
 oraz fontów arabskich i~innych;
\item Pawła Jackowskiego, który wykonał instalator dla Windows \cmdname{tlpm}
 i~Tomka Łuczaka, twórcy \cmdname{tlpmgui} (programy te były wykorzystywane
 w~poprzednich edycjach);
\item Akira Kakuto, który dostarczył programy dla Windows, pochodzące
  z~japońskiej dystrybucji 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{} 2008, 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{} 2008 (szczególnie dla 
 Windows) oraz włożyła sporo pracy w~aktualizację tej dokumentacji;
\item Mojcy Miklavec, która pomagała wielokrotnie w~pracach związanych
 z~\ConTeXt;
\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 i~nowszych, 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; Sebastian zmarł w~marcu 2016~r.; dedykujemy kontynuację prac 
 Jego pamięci;
\item Luigi Scarso, który kontynuuje rozwój MetaPosta, Lua\TeX-a i~innych
 programów;
\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, w~poprzednich latach;
\item Gerbena Wierda, który przygotował oryginalne oprogramowanie i~wsparcie 
 dla \MacOSX{};
\item Grahama Williamsa, który zainicjował prace nad \TeX\ Catalogue.
\end{itemize*}

Binaria dla różnych platform skompilowali:
%Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}),
Marc Baudoin (\pkgname{amd64-netbsd}, \pkgname{i386-netbsd}),
Karl Berry (\pkgname{i386-linux}),
%Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}),
Peter Breitenlohner (\pkgname{x86\_64-linux}),
Ken Brown (\pkgname{i386-cygwin}, \pkgname{x86\_64-cygwin}),
Simon Dales (\pkgname{armhf-linux}),
% Christian Mensing (\pkgname{mips-irix}),
Akira Kakuto (\pkgname{win32}),
Dick Koch (\pkgname{x86\_64-darwin}),
Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}),
Mojca Miklavec (\pkgname{i386-darwin}, \pkgname{powerpc-darwin},
                \pkgname{x86\_64-darwinlegacy},
                \pkgname{i386-solaris}, \pkgname{x86\_64-solaris},
                \pkgname{sparc-solaris}),
Norbert Preining (\pkgname{x86\_64-linux}),
Thomas Schmitz (\pkgname{powerpc-linux}),
Boris Veytsman (\pkgname{armel-linux}).
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),
Uwe Ziegenhagen (niemiecki),
Jjgod Jiang, Jinsong Zhao, Yue Wang i~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 i~Ryszard Kubiak (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 -- dzięki 
Fabrice Popineau.

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-dist/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*}

\subsubsection{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-dist/}.

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-dist/doc/web2c/web2c.html\#TCX-files} 
{\texttt{texmf-dist/doc/web2c/web2c.html\#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? Mętne...

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

\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 jest oczywiście nadal dostępny z~serwerów \acro{CTAN}
(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cbfonts}).

\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}

\subsubsection{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}

\subsubsection{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-dist/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://mirror.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 ulepszeń w~otoczeniu \TeX-owym, na
których skorzystają wszyscy.

\subsubsection{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 wprowadzone przez 
Donalda Knutha (tzw. \textit{\TeX\ tuneup of 2008}); patrz:
\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}.

\subsubsection{Wydanie 2009}

W wydaniu 2009 najbardziej widoczną zmianą jest to, że
pdf\AllTeX\ \emph{automatycznie} konwertuje plik 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, jakie D.~Knuth wprowadził w~plikach
metafontowych 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.

\subsubsection{Wydanie 2010}
\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ła 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
aktualizację można łatwo cofnąć za pomocą \code{tlmgr restore}.
W~wypadku ograniczonej ilości miejsca na dysku, opcja ta może zostać
wyłączona poleceniem \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.

\subsubsection{Wydanie 2011}

Edycja 2011 zawierała stosunkowo niewiele zmian w porównaniu do poprzednich
wydań.

Programy dla \MacOSX\ (\code{universal-darwin} i \code{x86\_64-darwin})
działają od tego momentu tylko dla wersji Leopard i późniejszych. Wersje
Panther i Tiger nie będą obsługiwane.

Dla większości platform dołączono program \code{biber}, służący do
przetwarzania danych bibliograficznych. Rozwój tego programu jest ściśle
związany z pakietem \code{biblatex}, który w zupełnie nowy sposób
obsługuje bibliografie w~La\TeX-u . 

Program MetaPost (\code{mpost}) ani nie tworzy, ani już więcej nie
wykorzystuje pliku formatu \code{.mem}. Wymagane pliki (np. \code{plain.mp})
są po prostu wczytywane przy każdym uruchomieniu. Zmiana (choć niezauważalna
dla przeciętnego użytkownika) związana jest z nowym, innym podejściem:
MetaPost jest obecnie traktowany jako biblioteka programów.

Zaprogramowany w Perl program \code{updmap} (uprzednio stosowany tylko 
w~Windows) został dostosowany do wszystkich platform. Również te zmiany
są niezauważalne dla użytkownika, choć znacznie przyspieszyły działanie 
programu.

Przywrócono (ze względów raczej historycznych) programy \cmdname{initex} 
i~\cmdname{inimf} (ale nie inne warianty \cmdname{ini*}).

\subsubsection{Wydanie 2012}

Znacznie zmodyfikowano program \code{tlmgr}, odtąd pozwala on m.in.
aktualizować z~kilku repozytoriów w~sieci.  Szczegóły zawarto w~pomocy
(\code{tlmgr --help}), w~części dotyczącej wielu repozytoriów.

Dla parametru \cs{XeTeXdashbreakstate} (\code{xetex} i~\code{xelatex})
ustawiono domyślnie wartość~1. Pozwala to na łamanie wierszy po myślnikach
i~separatorach zakresu liczb, co było zawsze typowe dla kompilacji
programami \TeX, \LaTeX, Lua\TeX, itp. 
Chcąc zachować dotychczasowe dokładne miejsca łamania,
pliki kompilowane programem \XeTeX\ wymagają zatem użycia polecenia 
\cs{XeTeXdashbreakstate=0}.

Wynikowe pliki \code{pdftex} oraz \code{dvips} mogą obecnie przekraczyć
wielkość dwóch gigabajtów.

Dotychczas program \code{dvips} korzystał ze zbyt wielu różnych wersji 
standardowych 35~fontów postscriptowych. Nie były one domyślnie włączane 
do pliku wynikowego, bo zakładano, że urządzenia drukujące bądź programy
(np. GhostScript) mają dostęp do odpowiednich fontów.
Od tej edycji fonty ze standardowego zestawu, dostarczone w~dystrybucji \TL,
domyślnie są włączane do tworzonego przez \code{dvips} pliku.

W zastrzeżonym trybie pracy \cs{write18} (ustawianym domyślnie) dopuszczono
uruchamianie programu \code{mpost}.

Plik konfiguracyjny \code{texmf.cnf} znajdywany jest także
w~drzewie katalogów \filename{../texmf-local}, np.
\filename{/usr/local/texlive/texmf-local/web2c/texmf.cnf}.

Skrypt \code{updmap} wczytuje \code{updmap.cfg} z~kolejnych drzew \TeX-owych,
zamiast jeden plik globalny. Zmiana nie powinna być zauważalna, chyba że
zmienimy ręcznie \code{updmap.cfg}. Uruchomienie \code{updmap --help}
pokaże szczegóły.

Dodano binaria dla \pkgname{armel-linux} and \pkgname{mipsel-linux}.
Usunięto z~głównej dystrybucji binaria dla \pkgname{sparc-linux}
i~\pkgname{i386-netbsd}.

\subsubsection{Wydanie 2013}

W układzie dystrybucji zawartość katalogu \code{texmf/} włączono (dla
uproszczenia) do katalogu \code{texmf-dist/}. Obie zmienne Kpathsea: 
\code{TEXMFMAIN} i~\code{TEXMFDIST} wskazują odtąd katalog \code{texmf-dist}.
Również dla uproszczenia instalacji połączono sporo niewielkich kolekcji
językowych.

W programie \MP{} udostępniono zapis do formatu PNG i~dodane wsparcie dla
operacji zmiennoprzecinkowych (IEEE double).

Lua\TeX{} zaktualizowano do wersji 5.2 Lua, oraz dołączono nową bibliotekę
\code{pdfscanner}, służącą do przetwarzania zawartości zewnętrznych stron
w~formacie PDF (więcej informacji na stronie domowej projektu).

W programie \XeTeX\ (patrz także na stronie domowej projektu):
\begin{itemize*}
\item do obsługi układu fontów zastosowano bibliotekę HarfBuzz, zamiast 
 dotychczasowej biblioteki ICU (biblioteka ICU jest nadal stosowana dla
 obsługi kodowania wejściowego, składu dwukierunkowego i~unikodowych
 miejsc łamania wiersza); 
\item biblioteki Graphite2 i~HarfBuzz zastąpiły SilGraphite dla układu
 Graphite;
\item dla komputerów Mac użyto mechanizmu Core Text, zamiast (zarzuconego)
 ATSUI; 
\item w wypadku znalezienia identycznych nazw fontów w~różnych
 formatach, program użyje fontów TrueType/OpenType, zamiast Type1;
\item naprawiano okazjonalnie występujące różnice w~znajdywaniu fontów
 przez programy \XeTeX\ i~\code{xdvipdfmx}.
\item dołączono wsparcie dla OpenType math cut-ins;
\end{itemize*}

W programie \cmdname{xdvi} zastąpiono bibliotekę do wyświetlania
\code{t1lib} przez FreeType.

W \pkgname{microtype.sty} 
dodano niektóre operacje mikrotypograficzne dla
programów \XeTeX\ (protrusion) i~Lua\TeX\ (protrusion,
font expansion, tracking).

W~\cmdname{tlmgr} zastosowano operację ,,przypinania'' (ang.
\textit{pinning}) wielu repozytoriów do pobierania aktualizacji.
Więcej informacji: \verb|tlmgr --help| lub strona
\url{http://tug.org/texlive/doc/tlmgr.html#MULTIPLE-REPOSITORIES}.

Dodano bądź przywrócono binaria dla platform: \pkgname{armhf-linux}, 
\pkgname{mips-irix}, \pkgname{i386-netbsd} i~\pkgname{amd64-netbsd};
usunięto \pkgname{powerpc-aix}.

\subsubsection{Wydanie 2014}

Edycja 2014 zawierała kolejną, drobną poprawkę D.E.~Knutha: dotyczy ona
wszystkich silników TeX-a, ale jedyną widoczną zmianą jest przywrócenie
komunikatu \code{preloaded format} (zamiast \code{format}) wyświetlanego
w~wierszu identyfikującym program podczas jego uruchamiania. Według
Knutha zmiana ma podkreślać, że chodzi o format ładowany domyślnie
przez odpowiednie wywołanie,
a~nie o~format, który jest zaszyty w binariach i~który może zostać
zastąpiony innym formatem.

pdf\TeX: dodano nowy parametr \cs{pdfsuppresswarningpagegroup} pozwalający
wyłączyć ostrzegawcze komunikaty programu; dodano nowe polecenia wbudowane
(\cs{pdfinterwordspaceon}, \cs{pdfinterwordspaceoff}, \cs{pdffakespace})
modyfikujące spacjowanie, mające w zamierzeniu ułatwiać oblewanie tekstem.

Lua\TeX: jest kilka istotnych zmian i~poprawek w~ładowaniu fontów i~wzorców
przenoszenia. Najważniejszym dodatkiem są nowe warianty silnika:
\code{luajittex} (\url{http://foundry.supelec.fr/projects/luajittex}) oraz
pokrewne \code{texluajit} and \code{texluajitc}. Wykorzystują one 
Lua do kompilacji do kodu maszynowego (ang. \emph{just-in-time compilation};
szczegóły na ten temat zawiera artykuł na stronie 
\url{http://tug.org/TUGboat/tb34-1/tb106scarso.pdf}).  
\code{luajittex} jest nadal w~fazie rozwoju, nie jest dostępny dla wszystkich
platform i~jest znacznie mniej stabilny niż \code{luatex}. Zarówno my, jak 
i~projektanci tego programu zalecamy jego użycie jedynie do eksperymentów
z~kodem jit i~Lua.

\XeTeX: na wszystkich platformach (w~tym na Mac OSX) obsługiwane są obecnie
te same formaty plików graficznych; zrezygnowano z~niektórych
wariantów dekompozycji znaków unikodowych (\emph{compatibility
decomposition}); preferowane jest korzystanie z~fontów OpenType, zamiast
fontów Graphite, dla zapewnienia zgodności w~poprzednimi wersjami \XeTeX-a.

\MP: zestaw możliwych wartości parametru \code{numbersystem}
 %, a~zarazem zmiennej wbudowanej
 rozszerzono o wartość \code{decimal}; dokładność
obliczeń można ustalać za pomocą nowej zmiennej wbudowanej 
\code{numberprecision}; dodano nową definicję \code{drawdot} w~pliku
\filename{plain.mp} (Knuth); usunięto błędy m.in.  w~zapisie do formatów
\acro{SVG} i~\acro{PNG}.

Narzędzie Con\TeX{}t-a \cmdname{pstopdf} zostanie usunięte jakiś czas po
opublikowaniu tego wydania \TL{} z~powodu konfliktów z~programem o~takiej
samej nazwie, występującym w~rożnych systemach operacyjnych. Na razie
nadal może być ono uruchamiane poleceniem \code{mtxrun --script pstopdf}.

Programy \cmdname{psutils} zostały w~istotny sposób zmienione przez nowego
opiekuna. W~rezultacie kilka rzadko używanych narzędzi (\code{fix*}, 
\code{getafm}, \code{psmerge}, \code{showchar}) znajdziemy teraz
tylko w~katalogu \dirname{scripts/}, a~nie jako samodzielne programy
(jeśli się okaże, że stwarza to problemy, może w~przyszłości zostać 
to zmienione). Dodano nowy skrypt \code{psjoin}.

Z~pochodnej z~\TL{} dystrybucji Mac\TeX\ (część~\ref{sec:macosx}) usunięto
opcjonalne tylko dla Mac OSX pakiety fontów Latin Modern oraz \TeX\ Gyre;
indywidualny użytkownik może je obecnie w~łatwy sposób udostępnić w~systemie
operacyjnym. Ze względu na definicje zawarte w~pliku \code{tex4ht.env}
usunięto pochodzący z~ImageMagick program \cmdname{convert}, ponieważ program
\TeX4ht korzysta bezpośrednio z programu Ghostscript.

Z~kolekcji \pkgname{langcjk}, wspólnej dla języków chińskiego,
japońskiego i~koreańskiego, zostały wydzielone oddzielne (o~mniejszej
wielkości) kolekcje dla każdego z~tych języków.

Dodano programy dla platformy \pkgname{x86\_64-cygwin}, usunięto
programy dla platformy \pkgname{mips-irix}. Ponieważ Microsoft zakończył
wspieranie Windows \acro{XP}, może się w~przyszłości zdarzyć, że nasze programy
nie będą działać prawidłowo w~tym systemie.

Programy dla niektórych innych platform są dostępne na stronie:
\url{http://tug.org/texlive/custom-bin.html}. Ponadto binaria dla 
pewnych platform pominięto na \DVD\ (dla zaoszczędzenia miejsca),
ale można je zainstalować z~repozytoriów w~sieci.

\subsubsection{Wydanie 2015}

Do \LaTeXe\ włączono domyślnie zmiany, które poprzednio były dostępne jedynie
przez dosłowne zadeklarowanie pakietu \pkgname{fixltx2e}. Nowy pakiet
\pkgname{latexrelease} pozwala na dokładniejszą kontrolę przetwarzania.
\LaTeX\ News \#22 i ,,\LaTeX\ changes'' opisują szczegółowo owe zmiany.
Pakiety \pkgname{babel} i~\pkgname{psnfss}, mimo iż wchodzą w~skład
podstawowego \LaTeXe, są nadal rozwijane odrębnie, ale nie zostały naruszone
wspomnianymi wyżej zmianami.

Obecnie \LaTeXe\ zawiera wewnętrzny mechanizm konfiguracji obsługi Unicode 
(które znaki są traktowane jako litery, nazwnictwo poleceń wbudowanych itp.).
Dla użytkownika nie powinno być to zauważalne, mimo iż zmieniono nazwy kilku
poleceń wbudowanych, zaś kilka usunięto.

pdf\TeX: poprawiono wsparcie dla plików \acro{JPEG} Exif oraz \acro{JFIF} dla
zgodności z~programem \prog{xpdf}~3.04.

Lua\TeX: dołączono nową bibliotekę \pkgname{newtokenlib} do skanowania
żetonów (ang. \emph{token}); poprawiono ponadto generator liczb losowych
\code{normal} i~inne drobne błędy.

\XeTeX: poprawiono obsługę wczytywanych ilustracji oraz program
\prog{xdvipdfmx}; zmieniono także wewnętrzne polecenie \code{XDV}.

MetaPost: zestaw możliwych wartości parametru \code{numbersystem} rozszerzono
o wartość \code{binary}; nowe programy \prog{upmpost} i~\prog{updvitomp}
dostarczają wsparcie dla języka japońskiego (podobnie jak \prog{up*tex}).

Mac\TeX: uaktualniono dołączony pakiet Ghostscript dla wparcia \acro{CJK}.
Tzw. \textit{The \TeX\ Distribution Preference Pane} działa obecnie w
Yosemite (\MacOSX~10.10).

Infrastruktura \TL: program \prog{fmtutil} został przekonstruowany tak, aby
wczytywał \filename{fmtutil.cnf} zgodnie z~kolejnością drzew katalogów
(analogicznie jak \prog{updmap}). Skrypty \prog{mktex*} Web2C (w~tym
\prog{mktexlsr}, \prog{mktextfm}, \prog{mktexpk}) preferują obecnie położenie
programów w~ich własnych katalogach, zamiast wykorzystywać za każdym razem
zmienną systemową \envname{PATH}.

Usunięto programy dla platform \pkgname{*-kfreebsd}, ponieważ \TL{} jest
obecnie łatwo dostępny poprzez ich mechanizmy aktualizacji.

% 
\subsubsection{Wydanie 2016}

Lua\TeX: ogólne zmiany dotyczące poleceń podstawowych (\textit{primitives}) 
-- zredukowana została ich liczba, dla niektórych operacji zmieniono nazwy,
ponadto zmieniona została struktura węzłów.  Zmiany zostały opisane przez
Hansa Hagena w~artykule  ,,Lua\TeX\ 0.90 backend changes for PDF and more''
(\url{http://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf}); szczegóły można
znaleźć w~podręczniku Lua\TeX-a \OnCD{texmf-dist/doc/luatex/base/luatex.pdf}.

\MF: nowe, w~znacznym stopniu eksperymentalne ,,rodzeństwo'' -- programy
MFlua and MFluajit, będące połączeniem Lua z~\MF-em, udostępnione do próbnych
testów.

Metapost: poprawki i~wewnętrzne przygotowanie do wersji 2.0.

Zmienna \code{SOURCE\_DATE\_EPOCH} jest obsługiwana przez wszystkie
implementacje (silniki) za wyjątkiem Lua\TeX-a (obsługa zostanie
zaimplementowana w~kolejnej wersji) i~(celowo) w~oryginalnym \code{tex}-u:
jeśli zmienna \code{SOURCE\_DATE\_EPOCH} ma nadaną wartość, to wartość ta
jest jest używana jako ,,datownik'' w~generowanych plikach PDF.  Jeżeli
zmienna \code{SOURCE\_DATE\_EPOCH\_TEX\_PRIMITIVES} ma także nadaną wartość,
to zmienna \code{SOURCE\_DATE\_EPOCH} używana jest do inicjalizacji 
\TeX-owych parametrów (operacji podstawowych) \cs{year}, \cs{month},
\cs{day}, \cs{time}. Szczegóły i~odnośne przykłady można znaleźć
w~podręczniku pdf\TeX-a.

pdf\TeX: nowe polecenia podstawowe \cs{pdfinfoomitdate},
\cs{pdftrailerid}, \cs{pdfsuppressptexinfo}, wpływające na wartości
parametrów pojawiających się w~wynikowym pliku PDF (operacje te nie mają
wpływu na wynikowy plik DVI).

Xe\TeX: nowe polecenia podstawowe \cs{XeTeXhyphenatablelength},
\cs{XeTeXgenerateactualtext}, \cs{XeTeXinterwordspaceshaping}; ograniczenie
liczby klas znaków powiększono do 4096; wartość bajtu identyfikacyjnego
w~pliku DVI powiększono o~1.

Inne programy:
\begin{itemize*}
 \item \code{gregorio} jest nowym programem, częścią pakietu
\code{gregoriotex} służącego do składu partytur śpiewu greogriańskiego;
włączono go domyślnie w~\code{shell\_escape\_commands}.
\item \code{upmendex} jest programem generującym skorowidze, w~znacznym
stopniu zgodnym z~programem \code{makeindex}, obsługującym m.in. sortowanie
unikodowe.
 \item \code{afm2tfm} teraz jedynie dopasowuje wysokości związane 
z~pozycjonowaniem akcentów; nowa opcja \code{-a} powoduje pominięcie 
wszystkich dopasowań.
 \item \code{ps2pk} obsługuje rozszerzone fonty PK/GF.
\end{itemize*}

Mac\TeX: program \TeX\ Distribution Preference Pane został zastąpiony przez
program \TeX\ Live Utility; zmodernizowano aplikacje działające w~trybie GUI;
dodano nowy skrypt \code{cjk-gs-integrate}, umożliwiający włączanie różnych
fontów CJK do Ghostscripta.

Infrastruktura: plik konfiguracyjny \code{tlmgr} jest obsługiwany na
poziomie systemowym; sprawdzane są sumy kontrolne pakietów; jeśli jest
dostępna usługa GPG (GNU Privacy Guard), to sprawdzana jest
również sygnatura instalacji pakietów bądź ich aktualizacji
z~sieci. Dotyczy to także programu instalacyjnego \TL. Jeżeli usługa
GPG nie jest dostępna, to instalacja bądź aktualizacja przebiega jak
dotychczas.

Binaria dla platform \code{alpha-linux} i~\code{mipsel-linux} zostały
usunięte.

\htmlanchor{news}
\subsection{Wersja aktualna -- 2017}
\label{sec:tlcurrent}

Lua\TeX: Więcej wywołań zwrotnych (\emph{ang.} callbacks), więcej
możliwości sterowania składem, więcej dostępu do struktur
wewnętrznych; w~wypadku niektórych platform dodana biblioteka
\code{ffi} do dynamicznego ładowania kodu.

pdf\TeX: Zmienna środowiskowa |SOURCE_DATE_EPOCH_TEX_PRIMITIVES|
z~instalacji poprzedniego roku zmienila nazwę na |FORCE_SOURCE_DATE|,
bez zmian w~funkcjonalności; jeśli lista tokenów \cs{pdfpageattr}
zawiera napis \code{/MediaBox}, to pomija się wyjście domyślnego
\code{/MediaBox}.

Xe\TeX: Obsługa wzorów matematycznych Unicode/OpenType oparta jest teraz na używaniu tabeli
HarfBuzz's MATH; kilka poprawek błędów.

Dvips: Decyduje ostatnie ustalenie formatu papieru, dla zgodności
z~\code{dvipdfmx} i~z~oczekiwaniami pakietu; opcja \code{-L0}
(\code{L0} w~ustawieniach konfiguracyjnych)
przywraca poprzednie zachowanie, w~którym 
decydowało pierwsze ustalenie formatu papieru.

ep\TeX, eup\TeX: Nowe polecenia: \cs{pdfuniformdeviate},
\cs{pdfnormaldeviate}, \cs{pdfrandomseed}, \cs{pdfsetrandomseed},
\cs{pdfelapsedtime}, \cs{pdfresettimer} zapożyczono z~pdf\TeX-a.

Mac\TeX: Począwszy od tego roku będzie zapewniana obsługa -- pod nazwą
|x86_64-darwin| -- jedynie tych wersji Mac\TeX-a, dla których Apple
wypuszcza łatki bezpieczeństwa; obecnie oznacza to: Yosemite,
El~Capitan, i~Sierra (10.10 i~nowsze). Binariów dla starszych \MacOSX-ów
nie ma w~Mac\TeX-u, są one jednak wciąż dostępne w~\TeX\ Live 
(|x86_64-darwinlegacy|, \code{i386-darwin}, \code{powerpc-darwin}).

Infrastruktura: Drzewo \envname{TEXMFLOCAL} jest teraz domyślnie
przeszukiwane przed \envname{TEXMFSYSCONFIG}
i~\envname{TEXMFSYSVAR}; w~nadziei, że lepiej spełniane będą
oczekiwania użytkowników lokalnych plików, które poprzednio były przesłaniane przez pliki
głównej instalacji. Dodatkowo, program \code{tlmgr} udostępnia teraz tryb \code{shell}
-- do użycia interaktywnego i~skryptowego -- jak też nową zadanie
\code{conf auxtrees} -- do łatwego dodawania i~usuwania dodatkowych
drzew.

\code{updmap} and \code{fmtutil}: Skrypty te ostrzegają teraz, jeśli
wywołano je bez jawnego podania tzw. trybu systemowego
(\code{updmap-sys}, \code{fmtutil-sys} bądź opcji \code{-sys}),
lub trybu użytkownika 
(\code{updmap-user}, \code{fmtutil-user} bądź opcji \code{-user}).
Być może zredukuje to odwieczny problem przypadkowego wywołania trybu
użytkownika, i~w~konsekwencji gubienia przyszłych aktualizacji systemowych.
Szczegóły można znaleźć na stronie: 
\url{http://tug.org/texlive/scripts-sys-user.html}.

\code{install-tl}: Ścieżki własne użytkownika Mac-ów są teraz
w~Mac\TeX-u domyślnie ustawione na |~/Library/...|; nowa opcja
\code{-init-from-profile} została dołączona dla wykorzystania zachowanego profilu poprzedniej instalacji; nowe polecenie \code{P} dla zapisu profilu; nowe nazwy zmiennych
w~profilach (stare są jednak nadal akceptowane).

Programy pomocnicze: \code{texosquery-jre8} jest nowym programem
wieloplatformowym do odczytywania w~dokumencie \TeX-owym danych
o~lokalizacji i~innych informacji z~poziomu systemu operacyjnego;
został on domyślnie włączony do zestawu |shell_escape_commands| na
potrzeby działań w~ograniczonym trybie powłoki (\emph{ang.} shell).
(Starsze wersje JRE są obsługiwane przez texosquery, ale nie można ich
udostępnić w~trybie ograniczonym, gdyż Oracle już ich nie wspiera,
nawet z~bardzo poważnych powodów związanych z~bezpieczeństwem).

Platformy: zapoznaj się z~powyższą informacją na temat Mac\TeX;
innych zmian nie ma.

\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}.

\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}

