From b04c2e1a42573e9735547702356c7b9a769a6855 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 7 Apr 2013 18:26:53 +0000 Subject: texmf -> texmf-dist: doc git-svn-id: svn://tug.org/texlive/trunk@29714 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/texlive/texlive-pl/texlive-pl.tex | 3862 ++++++++++++++++++++ 1 file changed, 3862 insertions(+) create mode 100644 Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex (limited to 'Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex') diff --git a/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex new file mode 100644 index 00000000000..9990b17257a --- /dev/null +++ b/Master/texmf-dist/doc/texlive/texlive-pl/texlive-pl.tex @@ -0,0 +1,3862 @@ +% iso8859-2 +% $Id: texlive-pl.tex, v. 46 2012/06/04 +% 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 ;-) +% Public domain. +% ---- +% UWAGA dla recenzentów/tłumaczy: %%! to moje komentarze (StaW) +\documentclass{article} +\let\tldocenglish=0 % for live4ht.cfg +\let\textsl\textit +\usepackage{tex-livep} +\usepackage{polski} %% for PL +\usepackage[latin2]{inputenc} %% for PL +\exhyphenpenalty=10000 %% for PL +\def\Dash{---} +\widowpenalty=10000 +\clubpenalty=10000 +%% redefined MF logo! %% for PL +%\def\MF{\textlogo{META}\-\textlogo{FONT}} %% for PL +%\def\MP{\textlogo{META}\-\textlogo{POST}} %% *** TP *** +\def\shac{\char178} % for PL + qtmr (HTML) +\def\aac{\char225} % for PL + qtmr (HTML) +\def\iac{\char237} % for PL + qtmr (HTML) +\renewcommand{\samp}[1]{,,\texttt{#1}''} %% for PL +%% Polish style for sections +\makeatletter +\renewcommand{\@seccntformat}[1]{% + \csname the#1\endcsname.\hspace{.5em}} %% +\def\numberline#1{\hb@xt@\@tempdima{#1.\hfill}} +\makeatother +\hyphenation{tex-basic la-tex pdf-tex} +%% ----- +\begin{document} + +\title{{\huge \textit{Przewodnik po \protect\TL}\\[1ex]} + {\LARGE \textsf\TL{} 2012} +} + +\author{Redakcja: Karl Berry \\[3mm] + \url{http://tug.org/texlive/} +} + +\date{Czerwiec 2012} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} +%-------------------------- +\section{Wstęp}\label{sec:intro} + +\subsection{\TeX\ Live i \TeX\ Collection} +Niniejsza dokumentacja opisuje oprogramowanie \TL{} -- +dystrybucję \TeX-a wraz z~programami pomocniczymi, dostępną dla +różnych wersji Unix, w~tym \acro{GNU}/Linux, \MacOSX{} i~Cygwin, +oraz Windows. + +\TL{} można ściągnąć z~sieci bądź otrzymać na płytce \DVD \TK{}, dostarczanej +swoim członkom przez Grupy Użytkowników Systemu \TeX{}. +Część \ref{sec:tl-coll-dists} omawia pokrótce zawartość tej płytki. +Zarówno \TL{}, jak i \TK{} powstały dzięki zbiorowemu wysiłkowi Grup. +W~tym dokumencie omówimy głównie samą dystrybucję \TL. + +\TL{} zawiera skompilowane programy: \TeX{}, \LaTeXe{}, \mbox{\MF}, \MP, +\BibTeX{} i~wiele innych oraz bogaty zestaw pakietów makr o~wielorakim +zastosowaniu, a także fonty i~dokumentacje. Wszystko to umożliwia skład +publikacji w~wielu językach. + +Pakiety zawarte w~\TL{} są regularnie aktualizowane z serwerów \acro{CTAN} +(\textit{Comprehensive TeX Archive Network}), które gromadzą wszelkie +zasoby dotyczące systemu \TeX: \url{http://www.ctan.org}. + +Lista najważniejszych zmian dokonanych w~tej edycji \TL{} +znajduje się w~części~\ref{sec:tlcurrent}, na str.~\pageref{sec:tlcurrent}. + +Nie opisujemy tu, czym jest system \TeX{}, a~jedynie kwestię instalacji +i~konfiguracji oprogramowania \TL. +Początkujący użytkownicy mogą się zapoznać z~podstawowymi pojęciami +np. w~artykule {\it Przewodnik po systemie \TeX\/}: +\OnCD{texmf-dist/doc/generic/tex-virtual-academy-pl/cototex.html}. + +\htmlanchor{platforms} +\subsection{Obsługiwane systemy operacyjne} +\label{sec:os_support} + +\TL{} zawiera oprogramowanie dla wielu platform uniksowych, +w~tym \GNU/Linux, \MacOSX i~Cygwin. Załączone pliki źródłowe pozwalają też +na jego instalację na platformach innych systemów operacyjnych. + +Spośród systemów Windows obsługiwane są tylko XP i nowsze wersje +(choć w Windows 2000 \TL{} też w zasadzie działa). +Wprawdzie brak jest oprogramowania dedykowanego dla wersji 64-bitowych, ale +aplikacje 32-bitowe powinny na nich działać. + +W części \ref{sec:tl-coll-dists} omówiono alternatywne dystrybucje, +przeznaczone dla Windows oraz \MacOSX. + +\subsection{Podstawy instalacji \protect\TL{}} +\label{sec:basic} + +\TL{} można zainstalować z~płytki \DVD{} lub internetu +(\url{http://tug.org/texlive/acquire.html}). Program instalacyjny +jest niewielki i~pozwala pobrać z sieci wszystkie potrzebne pakiety. +Jest to wygodne, zwłaszcza gdy potrzebujemy jedynie części oprogramowania +\TL\ i~nie chcemy pobierać niepotrzebnie obrazu całej płyty instalacyjnej. + +Posiadając płytkę \TK{} \DVD{} (lub jej obraz w~pliku \code{.iso}) +możemy jedynie zaistalować \TL{} na twardym dysku, +lub przygotować przenośną instalację np. na pen drivie +(patrz część~\ref{sec:portable-tl}). +Szczegółowy opis instalacji \TL{} znajduje się w dalszych rozdziałach +tego dokumentu, tu podamy skrócony przepis: + +\begin{itemize*} + \item program instalacyjny \filename{install-tl} może działać w~kilku +trybach: tzw. ,,wizard'' (graficznym, parametr \code{-gui=wizard}) -- +domyślnym dla Windows; tekstowym (\code{-gui=text}, domyślnym dla +Unix/Linux) i~graficznym trybie ,,expert'' (parametr \code{-gui=perltk}). +Dla wygody użytkowników Windows uruchomienie +\filename{install-tl-advanced.bat} przełącza instalator w tryb ,,expert''. + %tryb można wymusić podając parametr \code{-gui} + %bądź \code{-no-gui}; + +\item jednym z~instalowanych programów jest \prog{tlmgr} (menedżer \TL{}), +który również można uruchamiać w~trybie tekstowym bądź graficznym; pozwala +on doinstalować lub usunąć pakiety, aktualizować je z~sieci, a także +wykonać różne czynności konfiguracyjne. + +\end{itemize*} + +\htmlanchor{security} +\subsection{Uwagi dotyczące bezpieczeństwa} +\label{sec:security} + +Zgodnie z~naszą najlepszą wiedzą, główne programy \TeX-owe są +(i~zawsze były) nadzwyczaj odporne. Jednak mimo dokładania najwyższej +staranności, inne programy wspierające, zawarte w~\TeX\ Live, nie +zawsze osiągają ten sam poziom. Jak zawsze, należy być +ostrożnym przy uruchamianiu programów z~danymi pochodzącymi +z~niepewnych źródeł. Dla uzyskania najwyższego stopnia +bezpieczeństwa zalecamy stosowania podczas pracy nowych podfolderów. + +Konieczność zachowania staranności jest szczególnie ważna w systemie +Windows, ponieważ niezależnie od zawartości ścieżki przeszukiwania +poszukuje on programów zawsze najpierw w bieżącym folderze. To +zachowanie systemu otwiera szerokie możliwości ataku. Usunęliśmy +wiele luk, lecz niewątpliwie niektóre jeszcze pozostały, szczególnie +przy uruchamianiu programów pochodzących z~innych źródeł. Zalecamy +więc sprawdzanie bieżących folderów pod kątem obecności podejrzanych +plików, w~szczególności plików wykonywalnych (binarnych lub +skryptów). Zwykle nie powinno ich być, a~w~szczególności nie +powinny być one tworzone w~wyniku zwykłego przetwarzania dokumentów. + +I~na koniec: \TeX\ (oraz towarzyszące mu programy) mogą tworzyć +pliki przy przetwarzaniu dokumentów. Własność ta jest na wiele różnych +sposobów podatna na nadużycia. Także w~tych przypadkach, +przetwarzanie nieznanych dokumentów w~nowych podfolderach jest +najlepszym znanym sposobem zabezpieczenia. + +\subsection{Dostępna pomoc} +\label{sec:help} + +Społeczność \TeX-owa jest bardzo aktywna i~pomocna, stąd też większość +poważnych zapytań nie pozostaje bez odpowiedzi. Przed zadaniem +pytania warto je uprzednio dobrze przemyśleć i~sformułować, ponieważ +respondenci to wolontariusze, wśród których znaleźć się mogą mniej lub +bardziej doświadczeni użytkownicy. +(Jeśli preferujemy komercyjne wsparcie techniczne, możemy zamiast +\TL{} zakupić system u~jednego z~dostawców, których listę można znaleźć +na \url{http://tug.org/interest.html#vendors}.) + +Oto lista źródeł pomocy, w~kolejności przez nas rekomendowanej: + +\begin{description} +\item [\TeX{} \acro{FAQ}] \TeX-owy \acro{FAQ} jest obszernym zbiorem +odpowiedzi na wiele pytań, od najprostszych do najbardziej +zaawansowanych. Jest on załączony na \TL{} w~katalogu +\OnCD{texmf-dist/doc/generic/FAQ-en/html/index.html}, +a~także dostępny w~sieci: \url{http://www.tex.ac.uk/faq}. Proponujemy +zajrzeć najpierw tam. Uruchomiono też serwis \acro{FAQ} +w~języku polskim: \url{http://faq.gust.org.pl}. + +\item [\TeX{} Catalogue] Jeśli poszukujemy konkretnego pakietu, fontu, +programu itp., to polecamy \TeX{} Catalogue. Jest to obszerne zestawienie +wszelkich pakietów dotyczących \TeX-a. Patrz: + %\OnCD{texmf-dist/doc/english/catalogue} lub + \url{http://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] Dwa główne fora pomocy to grupa +Usenet \url{news:comp.text.tex} oraz lista dyskusyjna +\email{texhax@tug.org}. Warto przeszukać archiwa list dyskusyjnych, +zawierające wiele pytań i odpowiedzi zbieranych przez wiele lat: +\url{http://groups.google.com/group/comp.text.tex/topics} oraz +\url{http://tug.org/mail-archives/texhax}. Nie zaszkodzi +skorzystanie z~wyszukiwarki, np. \url{http://www.google.com}. + +\item [wysyłanie pytań] Jeśli nadal nie znajdujemy rozwiązania problemu, +to możemy wysłać pytanie do \dirname{comp.text.tex}, korzystając z~Google, +czytnika wiadomości bądź pisząc list na adres \email{texhax@tug.org}. +Przedtem jednak \emph{należy} zapoznać się z~poradami dotyczącymi sposobu +zadawania pytań, zawartymi w~\acro{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{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\TK{} \DVD{} zawiera: + +\begin{description} + +\item [\TL] kompletny system na \acro{DVD}, pozwala na instalację na +twardym dysku lub przygotowanie przenośnej instalacji np. na pen drivie; +strona domowa projektu: \url{http://tug.org/texlive/}. + +\item [Mac\TeX] dla systemu \MacOSX; posiada własny program instalacyjny +i~dodatkowe programy dla tego systemu; strona domowa projektu: +\url{http://tug.org/mactex/}; + +\item [pro\TeX{}t] dystrybucja dla Windows, oparta na dystrybucji \MIKTEX{}, +rozszerzonej o~dodatkowe narzędzia; całkowicie niezależna od \TL; +\ProTeXt\ posiada własny, łatwy w~obsłudze program instalacyjny; + strona domowa projektu: \url{http://tug.org/protext}; + +\item [CTAN] zrzut zawartości archiwów \CTAN{}; +(\url{http://www.ctan.org}). + +\item [\texttt{texmf-extra}] katalog z wybranymi pakietami dodatkowymi. + +\end{description} + +\CTAN, \pkgname{protext}, i~\texttt{texmf-extra} nie spełniają przyjętych dla +\TL{} wymogów dotyczących swobody kopiowania, wobec tego należy ten fakt +uwzględnić przy redystrybucji bądź modyfikacji zawartości wymienionych +katalogów. + +\subsection{Główne katalogi \TL} +\label{sec:tld} + +Poniżej wymieniono ważniejsze podkatalogi głównego katalogu \emph{instalacji} \TL +(na płytce \TK{} \DVD{} cała dystrybucja \TL{} została +umieszczona w katalogu \dirname{texlive}, którego struktura nieco się różni, nie zaś w~katalogu głównym; +poniżej traktujemy katalog \dirname{texlive} jako katalog główny we wszystkich +odniesieniach do \TL). + +\begin{ttdescription} +\item[bin] skompilowane programy \TeX-owe, zorganizowane w~podkatalogach + według platform systemowych; + +\item[readme-*.html] krótkie omówienie z~użytecznymi odnośnikami, +w kilku językach, w formacie \HTML{} i~zwykłym tekstowym; + +\item[source] źródła wszystkich programów, włącznie z~głównymi dystrybucjami + \Webc{} \TeX-a; + +%\item[support] różne programy pomocnicze związane z~\TeX-em, które \emph{nie} +% są domyślnie instalowane; +% dla użytkowników systemów Windows dołączono ponadto szereg programów +% (edytory, ,,shelle TeX-owe''), których zwykle brak w~typowej instalacji +% Windows (programy te mogą być szczególnie przydatne dla początkujących); + +\item[texmf] drzewo katalogów plików pomocniczych i~dokumentacji dla + \emph{programów} (patrz: \texttt{TEXMFMAIN} w~następnej części); + +\item[texmf-dist] główne drzewo katalogów formatów i~pakietów (zawiera makra, + fonty i~dokumentacje; patrz: \texttt{TEXMDIST} w~następnej części); + +%\item[texmf-doc] drzewo samodzielnych dokumentacji (m.in. podręczniki itp.), +% niezwiązane z~konkretnymi pakietami, zorganizowane według języków. + +\item[tlpkg] skrypty, programy i~inne dane potrzebne do instalacji; + katalog zawiera także ,,prywatne'' dla \TL{} kopie 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 pliki \filename{README}, w~formacie tekstowym lub HTML, +w~kilku językach (również polskim). + + %Katalog \dirname{texmf-doc} zawiera, jak wspomniano wyżej, dokumentacje + %ogólne, np. podręczniki (także po polsku). + Do znalezienia dokumentacji przydatne mogą być dowiązania zawarte w pliku +\OnCD{doc.html}, który znajdziemy w~głównym katalogu instalacji. Dokumentacje programów +(man, info, także w~formacie PDF) znajdują się w~katalogu +\dirname{texmf/doc}, zaś dokumentacje pakietów makr, fontów i~formatów +w~katalogu \dirname{texmf-dist/doc}. W~odszukaniu konkretnej dokumentacji +w~dowolnym z~wymienionych katalogów mogą pomóc programy \cmdname{texdoc} lub +\cmdname{texdoctk}. + +Niniejsza dokumentacja w~kilku językach znajduje się na płytce \TK{}DVD\ w~podkatalogach katalogu \dirname{texlive-doc}, +zaś po instalacji w~podkatalogach katalogu \dirname{texmf/doc/texlive}: + +\begin{itemize*} +\item{uproszczony chiński:} \OnCD{texmf/doc/texlive/texlive-zh-cn} +\item{czeski/słowacki:} \OnCD{texmf/doc/texlive/texlive-cz} +\item{angielski:} \OnCD{texmf/doc/texlive/texlive-en} +\item{francuski:} \OnCD{texmf/doc/texlive/texlive-fr} +\item{niemiecki:} \OnCD{texmf/doc/texlive/texlive-de} +\item{polski:} \OnCD{texmf/doc/texlive/texlive-pl} +\item{rosyjski:} \OnCD{texmf/doc/texlive/texlive-ru} +\item{serbski:} \OnCD{texmf/doc/texlive/texlive-sr} +\item{włoski:} \OnCD{texmf/doc/texlive/texlive-it} +\end{itemize*} + +\subsection{Predefiniowane drzewa katalogów texmf} +\label{sec:texmftrees} + +W tej części wymieniono wszystkie używane przez system, predefiniowane +zmienne specyfikujące drzewa katalogów texmf; omówiono też ich przeznaczenie. +Uruchomiając polecenie \texttt{tlmgr conf}, wyświetlimy wartości tych +zmiennych, dzięki czemu łatwo ustalimy, które katalogi w~naszej instalacji są +przypisane do konkretnych zmiennych. + +Wszystkie drzewa katalogów, włącznie z prywatnymi katalogami użytkownika, +powinny posiadać strukturę zgodną z zaleceniami \TeX\ +Directory Structure (\TDS, \url{http://tug.org/tds}), konsekwentnie wraz +z mnóstwem podkatalogów. 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. + +\begin{ttdescription} +\item [TEXMFMAIN] Drzewo katalogów zawierające podstawowe dla + dystrybucji elementy systemu, jak skrypty + %(np. \verb+web2c/mktexdir+), + i~inne pliki pomocnicze oraz dokumentację programów (nie zawiera zatem + pakietów makr ani formatów). +\item [TEXMFDIST] Drzewo katalogów zawierające pakiety makr, fontów itp., + %tak jak są one oryginalnie dystrybuowane; + drzewo to może być współdzielone z~dowolną dystybucją. +\item [TEXMFLOCAL] Drzewo katalogów, które administratorzy mogą wykorzystać + do przechowywania lokalnych makr, fontów itp., dostępnych dla wszystkich + użytkowników serwera. +\item [TEXMFHOME] Drzewo katalogów dla prywatnych makr, fontów itp. + użytkownika. Rozwinięcie tej zmiennej zależy domyślnie od wartości przypisanej + zmiennej systemowej \verb+$HOME+ (w~Windows \verb+%USERPROFILE%+). +\item [TEXMFCONFIG] Lokalne drzewo katalogów wykorzystywane przez narzędzia + \verb+texconfig+, \verb+updmap+ oraz \verb+fmtutil+ do przechowywania + danych konfiguracyjnych (domyślnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFSYSCONFIG] Drzewo katalogów wykorzystywane przez narzędzia + \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+ + do przechowywania danych konfiguracyjnych dla całej instalacji (np. + sieciowej). +\item [TEXMFVAR] Lokalne drzewo katalogów wykorzystywane przez \verb+texconfig+, + \verb+updmap+ i~\verb+fmtutil+ do przechowywania wygenerowanych plików + formatów i~map fontowych (domyślnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFCACHE] Drzewa katalogów wykorzystywane przez + \ConTeXt\ Mk\acro{IV} do przechowywania + %!!!(cached) runtime data. ??? + buforowanych danych z~przetwarzania. + %Domyślna wartość w \TL{} jest identyczna z \verb+TEXMFVAR+. +\item [TEXMFSYSVAR] Drzewo katalogów wykorzystywane przez + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, a~także + przez program \verb+tlmgr+ do przechowywania wygenerowanych plików + formatów i~map fontowych dla całej instalacji. +\end{ttdescription} + +\noindent +Domyślny układ katalogów: +\begin{description} + \item[ogólnosystemowy katalog instalacji] może zawierać kilka wydań \TL{}: + \begin{ttdescription} + \item[2011] poprzednie wydanie, + \item[2012] wydanie aktualne: + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] programy dla \GNU/Linux + \item [...] + \item [universal-darwin] programy dla \MacOSX + \item [win32] programy dla Windows + \end{ttdescription} + \item [texmf\ \ \ \ ] określany zmienną \envname{TEXMFMAIN} + \item [texmf-dist\ \ ] \envname{TEXMFDIST} + \item [texmf-var\ \ ] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, katalog zachowywany + od wydania do wydania, + \end{ttdescription} + \item[katalog domowy użytkownika] (\texttt{\$HOME} lub + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2011] prywatne pliki konfiguracyjne + poprzedniego wydania + \item[.texlive2012] prywatne pliki konfiguracyjne + dla 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~będzie w~przyszłości dostępny w~dystrybucji. \TL{} zawiera ponadto +kilka wersji rozszerzonych standardowego \TeX-a: + +\begin{description} +\item [\eTeX] wersja \label{text:etex} programu \TeX{}, w~której dodano + pożyteczny zestaw nowych poleceń wbudowanych + (dotyczących głównie rozwijania makr, leksemów znakowych, interpretacji + znaczników itp.) oraz rozszerzenie \TeXXeT{} dla składu + od prawej do lewej. W~trybie domyślnym \eTeX{} jest w~100\% zgodny ze + standardowym programem \TeX. Więcej szczegółów można znaleźć + w~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] program zawierający silnik \eTeX{} i dalsze +rozszerzenia, który umożliwia tworzenie plików zarówno w~formacie PDF, jak +i~\dvi{}. Jest on domyślnym programem dla większości formatów (prócz plain +\TeX), nie ma więc obecnie rozróżnienia na ,,maszyny'' \textsf{pdftex} i +\textsf{pdfetex}, jak to miało miejsce w~poprzednich wersjach programów +i~w~poprzednich dystrybucjach \TL. Podręczniki znajdziemy w~katalogu +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}, zaś przykład wykorzystania +w~pliku \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [Lua\TeX] docelowo sukcesor pdf\TeX-a, z~którym ma być, aczkolwiek +niecałkowicie, zgodny wstecz. +Powinien także zastąpić Aleph (patrz niżej), choć nie zakłada się +tu technicznej kompatybilności. Załączony +interpreter Lua (patrz strona domowa \url{http://www.lua.org/}) +pozwala na eleganckie rozwiązanie wielu trudnych problemów \TeX-a. +Program \filename{texlua} ma funkcjonalność samodzielnego +interpretera Lua, co sprawia, że jest używany w~\TL{} do wielu zadań. +Patrz \url{http://www.luatex.org/} i~na \DVD{} +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] umożliwia kodowanie tekstów w~Unicode oraz korzystanie +z~fontów OpenType (także tych dostępnych bezpośrednio w~systemie operacyjnym), +przy czym stosuje biblioteki obce. Patrz \url{http://tug.org/xetex}. + +\item [\OMEGA{} (Omega)] program, który pracuje wewnętrznie ze znakami +kodowanymi 16-bitowo (Unicode), pozwalając składać jednocześnie +większość tekstów spotykanych na świecie. Wspomaga dynamicznie +ładowane tzw. ,,procesy tłumaczenia \OMEGA'' (\acro{OTP}), co pozwala +użytkownikowi definiować złożone transformacje, wykonywane na dowolnych +strumieniach wejściowych. + %Więcej szczegółów znaleźć można na \DVD: + %\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (dokumentacja niezbyt aktualna; + Sam program od dawna nie jest aktualizowany, został więc usunięty z~\TL. + Pozostawiono jego działający klon: + +\item [Aleph] łączy rozszerzenia \OMEGA\ i~\eTeX; powstał jako niezależny +projekt z~potrzeby stabilnej ,,używalności'' programu Omega, w~sytuacji, +gdy ten pozostawał wciąż w~fazie eksperymentalnej. Dostępna jest minimalna +dokumentacja: \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + +\subsection{Inne ważniejsze programy \protect\TL} + +Poniżej zestawiono kilka innych, najczęściej używanych programów, dostępnych +w~dystrybucji \TL{}: + +\begin{cmddescription} + +\item[bibtex, bibtex8] tworzenie spisów bibliograficznych; + +\item[makeindex, xindy] tworzenie posortowanych skorowidzów; + +\item[dvips] konwersja \dvi{} do \PS{}; + +\item[xdvi] przeglądarka plików \dvi{} dla X~Window; + +\item[dvilj] sterownik dla drukarek HP LaserJet; + +%\item [dv2dt, dt2dv] konwerter \dvi{} do/z tekstu ASCII; + +\item [dviconcat, dviselect] programy do manipulacji stronami w~plikach + \dvi{}; + +\item [dvipdfmx] konwersja \dvi{} do PDF, metoda alternatywna w~stosunku + do wspomnianego wyżej programu pdf\TeX{}; + %(pakiety \pkgname{ps4pdf} i~\pkgname{pdftricks} dostarczają tutaj kolejnych + %możliwości); + +\item [psselect, psnup, \ldots] narzędzia do manipulacji na plikach +postscriptowych; + +\item [pdfjam, pdfjoin, \ldots] narzędzia do manipulacji na plikach + \acro{PDF}; + +%\item [lacheck] kontrola syntaktyki plików \LaTeX-owych; + +\item [texexec, texmfstart] programy uruchamiające dla Con\TeX{}t; + +\item [tex4ht] postprocesor dla \TeX-a konwersji do HTML i XML. + +\end{cmddescription} + +%%! zostawiam tę część, choć wyleciała z wersji oryginalnej!!! 27.08.2003 +%%! zmiany: 24.09.2009 + +\subsection[Pakiety i ich zestawy]{Pakiety i ich zestawy} +\label{packages} +Zawartość drzew \texttt{texmf} na \TL{} została do celów instalacji +zorganizowana w~szereg ,,zestawów'' (\emph{collections}), +z~których każdy posiada zbiór ,,pakietów'' (\emph{packages}; jest ich obecnie +ponad 2500). Normalna instalacja pozwala użytkownikowi skopiować +z~\DVD{} na twardy dysk jeden lub więcej zestawów, ale można też +doinstalować z niej do już zainstalowanego zestawu jedynie pojedynczy pakiet. + +Zestawy pozwalają lepiej dobrać instalowane składniki, a~także określić, +jakie języki będą obsługiwane po instalacji. Najważniejszy zestaw, wymagany +dla większości zastosowań, to ,,Essential programs and files''. Zestawy +,,Basic LaTeX packages'' i~,,Recommended fonts'' są rekomendowane dla +większości użytkowników. Pozostałe zestawy są opcjonalne. + +Oto 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[Extra BibTeX 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 format] pakiet makr do Con\TeX{}t -- ,,dialektu'' \TeX-a + autorstwa Hansa Hagena; + %\item[documentation] dodatkowe, użyteczne dokumentacje; + %\item[etex] pliki pomocnicze dla programu e-\TeX; + \item[TeX auxiliary programs] różne programy pomocnicze; zestaw + zawiera m.in. + programy i~makra dla systemu texinfo, programy do manipulacji na plikach + DVI itp.; +\item[TeX and Outline font utilities] programy do konwersji plików + fontowych oraz testowania + i~instalacji fontów (zestaw do tworzenia fontów wirtualnych, manipulacji + plikami .gf i~.pk, programy \texttt{mft}, \texttt{fontinst} itp.); +\item[Recommended fonts] obszerna biblioteka częściej używanych fontów + w~postaci źródłowej (.mf) bądź fontów obwiedniowych oraz pliki z~definicjami + i~stylami \LaTeX-a dla tych fontów; +\item[Extra fonts] biblioteka różnych rzadziej używanych fontów; +\item[Extra formats] pliki pomocnicze do generowania dodatkowych + ,,formatów'' (tj. obszerne zestawy makr służące do wstępnego przetworzenia + i~utworzenia pliku \texttt{.fmt}); +\item[Games typesetting] pakiety do prezentacji zapisu różnych gier (szachy, + brydż itp.); +\item[Extra generic packages] obszerna biblioteka makr, trudnych do + sklasyfikowania, działających z~różnymi formatami (Plain, \LaTeX{} itp.); +\item[HTML/SGML/XML support] pakiety konwersji \LaTeX-a do XML/HTML oraz + do składu dokumentów XML/SGML; +\item[lang\dots] wsparcie poszczególnych języków; zestawy zawierają + wzorce przenoszenia wyrazów i~makra obsługi danych języków, czasem też + specyficzne fonty itp., przykładowo: + %\item[langarmenian] armeński; +%\item[langcjk] pakiety CJK (obsługa chińskiego, japońskiego i~koreańskiego); +%\item[langcroatian] chorwacki; +%\item[langcyrillic] fonty i makra do składu cyrylicą; +%\item[langczechslovak] fonty i pakiety makr dla czeskiego i~słowackiego; +%\item[langdanish] duński; +%\item[langdutch] holenderski; +%\item[langfinnish] fiński; +%\item[langfrench] francuski; +%\item[langgerman] niemiecki; +%\item[langgreek] grecki; +%\item[langhungarian] węgierski; +%\item[langindic] wsparcie dla języków indyjskich; +%\item[langitalian] włoski; +%\item[langlatin] łacina; +%\item[langmanju] język Manju; +%\item[langmongolian] mongolski; +%\item[langnorwegian] norweski; +%\item[langother] wzorce przenoszenia wyrazów dla innych języków; +\item[langpolish] zawiera polskie pakiety: makra do tworzenia formatu MeX, + pakiety \texttt{polski}, \texttt{mwcls}, fonty i~makra dodatkowe + przydatne dla polskich użytkowników oraz dokumentacje w~języku polskim. +%\item[langportuguese] portugalski; +%\item[langspanish] hiszpański; +%\item[langswedish] szwedzki; +%\item[langtibetan] fonty i~wsparcie do składu tybetańskiego; +%\item[langukenglish] angielski (brytyjski); +%\item[langvietnamese] wietnamski; +%\item[music] makra do składu nutowego; +%\item[omega] rozszerzenie \TeX{}a autorstwa Johna Plaice'a i~Yannisa Haralambousa, działające ze znakami kodowanymi 16-bitowo; +%\item[pdftex] pliki pomocnicze dla pdf\TeX{}-a, wersji programu \TeX{} +% tworzącej pliki w~formacie PDF; +%\item[pictures] pakiety do tworzenia diagramów i~innych obiektów graficznych; +%\item[plainextra] dodatkowe biblioteki makr dla Plain \TeX; +%\item[psutils] narzędzia do manipulacji plikami \PS-owymi; +%\item[publishers] pakiety makr pochodzące od różnych wydawnictw; +%\item[t1utils] narzędzia do obsługi fontów w~formacie Type~1; +%\item[texbooks] przykłady i~inne materiały autorstwa D.E.~Knutha; +%\item[ttfutils] narzędzia do konwersji fontów True Type. +\end{description} +%-------------------------- +%%! koniec pozostawionej sekcji 24.09.2009 + +\begin{figure}[ht] +\begin{boxedverbatim} +Installing TeX Live 2012 from: ... +Platform: i386-linux => 'Intel x86 with GNU/Linux' +Distribution: inst (compressed) +... + Detected platform: Intel x86 with GNU/Linux + + platforms: 1 out of 19 + + Installation scheme (scheme-full) + 84 collections out of 85, disk space required: 3091 MB + + Customizing installation scheme: + standard collections + language collections + + directories: + TEXDIR (the main TeX directory): + /usr/local/texlive/2012 + ... + + options: + [ ] use letter size instead of A4 by default + ... + + set up for portable installation + +Actions: + start installation to hard disk + help + quit +\end{boxedverbatim} +\caption{Główny ekran instalatora w~trybie tekstowym + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +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}. + +%==== + +\htmlanchor{installation} +\section{Instalacja} +\label{sec:install} + +\subsection{Start instalacji} +\label{sec:inst-start} + +Instalację \TL{} uruchamiamy z~płytki \TK{} \DVD{} (bądź po pobraniu z~sieci +pakietu instalacyjnego i~jego rozpakowaniu) skryptem \filename{install-tl} +(Unix), \filename{install-tl.bat} lub \filename{install-tl-advanced.bat} +(Windows). Dodatkowe informacje na temat różnych metod instalacji znajdziemy +na stronie \url{http://tug.org/texlive/acquire.html}. + +\begin{description} +\item [Instalacja z sieci:] z~archiwum \CTAN, z~katalogu +\dirname{systems/texlive/tlnet} +(\url{http://mirror.ctan.org/systems/texlive/tlnet} automatycznie +przekierowuje do najbliższej kopii \CTAN) należy pobrać plik +\filename{install-tl.zip} (wspólny dla Unix i Windows) lub znacznie mniejszy +\filename{install-unx.tar.gz} (tylko dla Unix). Po rozpakowaniu, +w~katalogu \dirname{install-tl/} znajdziemy skrypty instalacyjne +\filename{install-tl}, \filename{install-tl.bat} +i~\filename{install-tl-advanced.bat}. + +\item [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 dokonywać aktualizacji +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. + +Dalsze kroki omówiono dokładniej poniżej. + + +\subsubsection{Unix} + +\noindent +Poniżej \texttt{>} oznacza znak zachęty systemu (tzw. prompt); to, +co wpisuje użytkownik, zaznaczono \Ucom{\texttt{pogrubieniem}}. +W~oknie terminala należy wykonać: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(można także uruchomić \Ucom{perl /path/to/installer/install-tl} lub +\Ucom{./install-tl}; w dalszej części nie będziemy powtarzać wszelkich +możliwych kombinacji). Zalecane jest powiększenie okna terminala, aby +zobaczyć pełną zawartość ekranu programu instalacyjnego +(rys.~\ref{fig:text-main}). + +Do uruchomienia w~trybie graficznym (\GUI; rys.~\ref{fig:gui-main}) +wymagana jest obecność w~systemie modułu \dirname{Perl/TK} skompilowanego +ze wsparciem dla \acro{XFT} (w~systemach \GNU/Linux{} jest on z~reguły +dostępny, ale dla innych systemów niekoniecznie): +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Kompletny wykaz dostępnych opcji otrzymamy uruchamiając: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Uwaga dotycząca uprawnień w Unix:} program instalacyjny +będzie respektował aktualną wartość \code{umask}. +Jeśli więc chcemy, aby instalacja była dostępna dla innych użytkowników, +musimy ustawić wartość np. \code{umask 002}. Więcej informacji na temat +\code{umask} znajdziemy w~dokumentacji posiadanego systemu operacyjnego. + +\begin{figure}[tb] +\tlpng{install-lnx-main}{\linewidth,trim=10 4 0 20,clip} +\caption{Ekran zaawansowanego programu instalacyjnego \GUI{} +(\GNU/Linux)}\label{fig:gui-main} +\end{figure} + +\textbf{Uwagi specjalne dotyczące Cygwin:} w~odróżnieniu od wielu +rzeczywistych systemów operacyjnych, których Cygwin jest jedynie emulatorem, +w~środowisku tym mogą nie być domyślnie zainstalowane niektóre programy +wymagane dla instalatora \TL. Dodatkowe informacje -- patrz +część~\ref{sec:cygwin}. + +\subsubsection{MacOSX} + +Jak wspomniano w części \ref{sec:tl-coll-dists}, dla \MacOSX{} +przygotowano odrębną dystrybucję Mac\TeX\ (\url{http://tug.org/mactex}). +W~jej wypadku należy użyć dedykowanego programu instalacyjnego, gdyż +zmienia on w~specyficzny sposób ustawienia systemu, w~szczególności pozwala +na łatwe przełączanie między różnymi dystrybucjami \TeX-a dla +\MacOSX: Mac\TeX, Fink, MacPorts. + +Mac\TeX\ jest oparty na \TL{} i główne drzewa katalogów pozostały w~nim +dokładnie takie same, dodano jedynie katalogi ze specyficznymi dla systemu +\MacOSX\ dokumentacjami i~aplikacjami. + +\subsubsection{Windows} + +Gdy używamy instalatora pobranego z~sieci (bądź program ten nie uruchamia się +automatycznie po włożeniu \DVD{} do napędu), należy uruchomić +\filename{install-tl.bat} (np. podwójnym kliknięciem myszy). +Można to uczynić także z~linii poleceń. Gdy katalog zawierający ten plik +jest katalogiem bieżącym, wystarczy uruchomić: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} +bądź, dla bardziej wymagającej instalacji, pozwalającej na wybór schematów, +kolekcji itp.: +\begin{alltt} +> \Ucom{install-tl-advanced} +\end{alltt} + +W linii poleceń można też podać ścieżkę do programu, np.: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +dla \TK\ \DVD, zakładając, że \dirname{D:} jest napędem \DVD +(rys.~\ref{fig:wizard-w32} pokazuje domyślny dla Windows ekran programu +instalacyjnego). + +Instalacja w~trybie tekstowym wymaga podania: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Wszystkie dostępne opcje wyświetlimy uruchamiając: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\begin{figure}[tb] +\tlpng{wizard-w32}{\linewidth,trim=0 4 0 0,clip} +\caption{Ekran programu instalacyjnego ,,Wizard'' +(Windows)}\label{fig:wizard-w32} +\end{figure} + +\htmlanchor{cygwin} +\subsubsection{Cygwin} +\label{sec:cygwin} + +Program instalujący \TL{} obsługuje jedynie Cygwin w~wersji 1.7. +Przed instalacją w tym systemie zaleca się uruchomić program +\filename{setup.exe} i,~o~ile nie zostały one uprzednio zainstalowane, +zainstalować pakiety \filename{perl} oraz \filename{wget}. +Ponadto zalecana jest instalacja: +\begin{itemize*} +\item \filename{fontconfig} (wymagany dla \XeTeX) +\item \filename{ghostscript} (wymagany dla wielu narzędzi) +\item \filename{libXaw7} (wymagany dla \code{xdvi}) +\item \filename{ncurses} (udostępnia \code{clear} -- ,,czyste'' polecenie +stosowane przez program instalacyjny) +\end{itemize*} + +\subsubsection{Instalator w trybie tekstowym} + +Rysunek \ref{fig:text-main} przedstawia główny ekran programu +\filename{install-tl} w (domyślnym) trybie tekstowym w~systemie Unix. +W tym trybie nie używamy ani klawiszy kursora, ani myszy, +lecz wyłącznie klawiszy alfanumerycznych (uwaga: duże i~małe litery są +rozróżniane!). Wybraną opcję zatwierdzamy klawiszem Enter. +Instalator w~trybie tekstowym jest na tyle prosty, by działał na +możliwie wielu platformach, nawet wyposażonych jedynie w~podstawowe +biblioteki Perla. + +\subsubsection{Zaawansowany program instalacyjny w trybie graficznym} + +Rysunek \ref{fig:gui-main} przedstawia program instalacyjny w~trybie +graficznym, w~wersji rozszerzonej. W systemie Windows znajdziemy +tu dodatkowe przyciski dla opcji nieistotnych w systemach Unix/Linux. +Tryb ten uruchamiamy poleceniem: + +\begin{alltt} + > \Ucom{install-tl -gui=perltk} +\end{alltt} + +\subsubsection{Uproszczony program instalacyjny} + +W systemie Windows domyślnie uruchamiany jest uproszczony program +instalujący wszystkie pakiety \TL{}, który wymaga od użytkownika odpowiedzi +jedynie na kilka pytań (katalog docelowy itp.). Tryb ten, zwany +\textit{wizard} (,,czarodziej'', ,,mag'', rys.~\ref{fig:wizard-w32}), +uruchamiany jest poleceniem: + +\begin{alltt} +> \Ucom{install-tl -gui=wizard} +\end{alltt} + +\subsection{Podczas instalacji} +\label{sec:runinstall} + +Program instalacyjny jest z~założenia na tyle prosty, że szczegółowe +wyjaśnienia wydają się zbędne. Podamy jednak kilka uwag dotyczących różnych +opcji i~dostępnych podmenu. + +\subsubsection{Menu: binary systems (tylko Unix)} +\label{sec:binary} + +\begin{figure}[tb] +\begin{boxedverbatim} +Available platforms: (Dostępne platformy:) +=============================================================================== + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] amd64-kfreebsd x86_64 with GNU/FreeBSD + d [ ] armel-linux ARM with GNU/Linux + e [ ] i386-cygwin Intel x86 with Cygwin + f [ ] i386-freebsd Intel x86 with FreeBSD + g [ ] i386-kfreebsd Intel x86 with GNU/FreeBSD + h [X] i386-linux Intel x86 with GNU/Linux + i [ ] i386-solaris Intel x86 with Solaris + j [ ] mips-irix SGI IRIX + k [ ] mipsel-linux mipsel with Linux + l [ ] powerpc-aix PowerPC with AIX + m [ ] powerpc-linux PowerPC with GNU/Linux + o [ ] sparc-solaris Sparc with Solaris + p [ ] universal-darwin universal binaries for MacOSX/Darwin + s [ ] win32 Windows + t [ ] x86_64-darwin x86_64 with MacOSX/Darwin + u [ ] x86_64-linux x86_64 with GNU/Linux + v [ ] x86_64-solaris x86_64 with Solaris +\end{boxedverbatim} +\caption{Wybór platformy (systemu operacyjnego)}\label{fig:bin-text} +\end{figure} + +Rysunek \ref{fig:bin-text} pokazuje (w~trybie tekstowym) wybór platformy +(systemu operacyjnego). Domyślnie instalowane są tylko programy dla bieżącej +platformy, ale menu to pozwala wybrać także zestawy dla innych platform. Może +być to przydatne do instalacji na serwerze i~współdzielenia zasobów w~sieci +dla różnych systemów operacyjnych bądź dla instalacji dla kilku systemów na +tej samej maszynie. + +\subsubsection{Wybór 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 [ ] teTeX scheme (more than medium, but nowhere near full) + i [ ] XML scheme + 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} +\tlpng{stdcoll}{.7\linewidth,trim=0 4 0 0,clip} +\caption{Menu Collections (Kolekcje)}\label{fig:collections-gui} +\end{center} +\end{figure} + +Wstępnie wybrane schematy można modyfikować. W skład ,schematów'' wchodzą +tzw. ,,kolekcje'', które można wybrać w~kolejnych menu o~nazwach: ,,Kolekcje +standardowe'' i~,,Kolekcje językowe'' (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 użyjemy +programu \TeX\ Live Manager (\prog{tlmgr}, patrz część~\ref{sec:tlmgr}). + +\subsubsection{Katalogi} +\label{sec:directories} + +Domyślny układ katalogów opisano w części~\ref{sec:texmftrees} na +str.~\pageref{sec:texmftrees}. Położenie domyślne całej instalacji +(\dirname{TEXDIR}) różni się w~Windows (|%SystemDrive%\texlive\2012|) +i~w~Unix (\dirname{/usr/local/texlive/2012}). + +Głównym powodem, dla którego chcielibyśmy ewentualnie zmienić domyślne +położenie \dirname{TEXDIR}, +może być brak uprawnień systemowych. Aby zainstalować \TL{}, nie musimy być +administratorem systemu, musimy jednak posiadać uprawnienia do zapisu +w~docelowym katalogu. Rozsądną alternatywą może być wtedy instalacja +w~katalogu domowym, szczególnie gdy będziemy jej jedynym użytkownikiem. +Stosujemy tu zapis ,,|~|'' do zaznaczenia katalogu domowego użytkownika, np. +|~/texlive/2012|. Zalecamy użycie katalogu z~nazwą odzwierciedlającą +rok wydania, co pozwoli na zainstalowanie obok siebie różnych wydań \TL{}. + %%! przegadane, na razie olewam (SW) + %(You may wish to make a + %version-independent name such as \dirname{/usr/local/texlive-cur} via a + %symbolic link, which you can then update after testing the new release.) + +Zmiana \dirname{TEXDIR} w programie instalacyjnym zmieni także ścieżki +katalogów określone przez zmienne \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} +i~\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} jest zalecanym położeniem dla prywatnych makr i~fontów +użytkownika. Domyślnym katalogiem jest |~/texmf|. W odróżnieniu od +\dirname{TEXDIR}, znak |~| jest zachowywany w generowanych plikach +konfiguracyjnych, ponieważ w~wygodny sposób odnosi się do katalogu domowego +podczas każdego uruchamiania programów. Znak ten rozwijany jest do zmiennej +\dirname{$HOME} w~Unix i~\verb|%USERPROFILE%| w~Windows. Po raz kolejny +podkreślmy, że tak jak inne drzewa katalogów, \envname{TEXMFHOME} musi +mieć strukturę zgodną z \TDS. + +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}) \ConTeXt\ Mk\acro{IV} (patrz część~\ref{sec:context-mkiv}, +na str.~\pageref{sec:context-mkiv}). + +\subsubsection{Opcje} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Options setup: +=============================================================================== +

use letter size instead of A4 by default: [ ] + execution of restricted list of programs: [X] + create all format files: [X] + install font/macro doc tree: [X] + install font/macro source tree: [X] + create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: + 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 znajdziesz 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): wprawdzie wyłączenie tych opcji + pozwala zaoszczędzić miejsce na dysku, ale nie jest zalecane. + +\item[create symlinks in standard directories] (utwórz dowiązania + w~standardowych katalogach, dotyczy tylko Unix): opcja ta pozwala + uniknąć ustawiania zmiennych środowiska po instalacji (\envname{PATH}, + \envname{MANPATH} i~\envname{INFOPATH}), ale jej użycie nie jest zalecane, + bo może powodować kolizje z już zainstalowanym w~systemie środowiskiem + \TeX; może być ona przydatna jedynie wtedy, gdy w~standardowych katalogach + (np. \dirname{/usr/local/bin}) nie ma jakichkolwiek programów \TeX-owych. + Wymaga ona ponadto uprawnień do zapisu w docelowych katalogach. + +\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 dokonać aktualizacji zainstalowanych pakietów z~sieci (z~kopii + CTAN). Jedyny powód, dla którego moglibyśmy wyłączyć tę opcję, to 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} + +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ą jeszcze potrzebne 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 <===================== +%... +% 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 +% +% options: +% [ ] use letter size instead of A4 by default +% [X] create all format files +% +% set up for installing to hard disk +% +%Other actions: +% start installation for running from DVD +% help +% quit +%\end{boxedverbatim} +%\caption{Menu główne dla uruchamiania z~\optname{DVD}}% +%\label{fig:main-fromdvd} +%\end{figure} +% +%Zwróćmy uwagę na następujące zmiany w menu: zniknęły wszystkie opcje dotyczące +%wyboru pakietów, sekcja dotycząca katalogów pokazuje teraz \dirname{TEXDIRW} +%-- katalog posiadający prawa do zapisu. Pozwoli to uruchamiać dowolny program +%bezpośrednio z~płytki; na dysku twardym znajdą się (w odpowiednich +%katalogach) jedynie niezbędne pliki konfiguracyjne. +% +%Ponieważ struktura katalogów różni się nieco od domyślnej, niezbędne będą +%pewne czynności konfiguracyjne, omówione w~części~\ref{sec:postinstall}. +% +%Instalator \GUI nie posiada opcji ,,V'', dlatego +%użytkownicy Windows mogą uruchomić program jedynie +%z~linii poleceń, jak opisano to w~części~\ref{sec:cmdline}. +% +%W~rozdziale \ref{sec:portable-tl} opisano jeszcze inny, przenośny sposób +%uruchamiania \TL, który nie wymaga zmian w~konfiguracji systemu +%(a~wręcz nie pozwala na nie). + +\subsection{Parametry instalacji z linii poleceń} +\label{sec:cmdline} + +Uruchom +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +aby wyświetlić wszystkie dostępne parametry. + % Either |-| or |--| can be used to introduce option names. + Oto najczęściej używane: + +\begin{ttdescription} +\item[-gui] użyj (jeśli to możliwe) programu w~wersji graficznej (\GUI); + wymagane jest posiadanie modułu Perl/Tk + (\url{http://tug.org/texlive/distro.html#perltk}) skompilowanego ze +wsparciem dla \acro{XFT}; +gdy jest on niedostępny, program instalacyjny uruchomiony zostanie +w trybie tekstowym; +\item[-no-gui] wymusza tryb tekstowy, np. w~Windows. +\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 \code{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 i menu będą wyświetlane w języku angielskim; + +\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 może być włączona/wyłączona w programie + instalacyjnym. + +\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). +\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 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 zwierciadeł \CTAN\ jest dostępna 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/2012/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2012/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2012/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +W~wypadku csh lub tcsh należy zmodyfikować plik \filename{$HOME/.cshrc}, np.: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2012/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2012/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2012/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Jeśli są już jakieś ustawienia zawarte 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ć dokonane globalnie, lub jeśli mają być dokonane dla +nowego użytkownika systemu, wówczas należy dokonać tego 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/2012/bin/i386-linux \ + /usr/local/texlive/2012/texmf/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/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 \textbf{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 \XeTeX\ i~Lua\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. Korzystają tu ze +zbliżonych, ale jednak różnych metod. + +W systemach Windows fonty dostarczone z~\TL\ są automatycznie dostępne +dla programu \XeTeX{}. +Gdy w systemie uniksowym zainstalowano \filename{xetex}, należy +skonfigurować system tak, aby program ten mógł znaleźć fonty dostarczone +w~\TL. Aby to ułatwić, podczas instalacji pakietu tworzony jest +plik konfiguracyjny fontów: +\filename{TEXMFSYSVAR/fonts/conf/texlive-fontconfig.conf}. + +Aby udostępnić fonty \TL{} dla innych aplikacji systemu +(zakładając, że mamy odpowiednie uprawnienia) należy wykonać +następujące czynności: +\begin{enumerate*} +\item skopiować \filename{texlive-fontconfig.conf} do +\dirname{/etc/fonts/conf.d/09-texlive.conf}; +\item uruchomić \Ucom{fc-cache -fsv}. +\end{enumerate*} + +Jeśli nie mamy odpowiednich uprawnień i chcemy podczas uruchamiania \XeTeX-a +korzystać jedynie 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. \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{\ConTeXt{} Mark IV} +\label{sec:context-mkiv} + +Zarówno tzw. ,,stary'' \ConTeXt{} (Mark \acro{II}), jak i~nowy +\ConTeXt{} (Mark \acro{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{} Mk\acro{IV} nie stosuje biblioteki kpathsea do +wyszukiwania plików, 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ślna wartość w \TL\ tej zmiennej to +\verb+TEXMSYSVAR;TEXMFVAR+). + +\ConTeXt\ Mk\acro{IV} 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 w~kolejnych wydaniach. Zalecamy zatem, by nie +przedefiniowywać \dirname{TEXMFLOCAL}, co pozwoli uniknąć ręcznego +konfigurowania w~przyszłości. + +W~obu drzewach katalogów pliki powinny być umieszczane w~odpowiednich +podkatalogach, zgodnie z~zaleceniami \TDS{} (patrz: \url{http://tug.org/tds}, +także plik \filename{texmf/web2c/texmf.cnf}). Przykładowo pliki klas lub +makr \LaTeX-a powinny być umieszczane w~katalogu +\dirname{TEXMFLOCAL/tex/latex/} lub \dirname{TEXMFHOME/tex/latex/} +(lub ich podkatalogach). + +\dirname{TEXMFLOCAL} po zmianie zawartości wymaga odświeżenia bazy danych -- +poleceniem \cmdname{mktexlsr} lub poprzez użycie przycisku ,,Odśwież bazy +danych'' w~graficznym trybie programu TeX Live Manager (\prog{tlmgr}). + +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 się dowiedzieć, jakie fonty mamy dostępne +bezpłatnie (patrz część~\ref{sec:tl-fonts}). + +Alternatywą jest tu użycie programu \XeTeX{} lub Lua\TeX\ (patrz +część~\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 dokładnie np. +w:~\url{http://tug.org/fonts/fontinstall.html}. + +\subsection{Testowanie instalacji} +\label{sec:test-install} + +Po zainstalowaniu \TL{} warto sprawdzić, czy programy działają +poprawnie. Opiszemy tu podstawowe procedury testujące funkcjonowanie +systemu w~systemach Unix. W~\MacOSX{} i~Windows najczęściej użyjemy +środowiska graficznego (\GUI), reguły jednak będą podobne. + +\begin{enumerate} +\item Sprawdzamy najpierw, czy uruchamia się program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (TeX Live ...) +kpathsea version 6.0.1 +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} +pdfTeX 3.1415926-... (TeX Live ...) +..... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Gdy program nie znajduje \filename{sample2e.tex} (bądź innych wymaganych +plików), może to oznaczać, że nadal działają ustawienia zmiennych środowiska +bądź pliki konfiguracyjne z~innej (poprzedniej) instalacji. +Szczegółową analizę, gdzie pliki są szukane i~znajdowane, +umożliwia diagnostyka opisana w~części \ref{sec:debugging} na +str.~\pageref{sec:debugging}. + +\item Podgląd wyniku składu: +\begin{alltt} + > \Ucom{xdvi sample2e.dvi} # Unix + > \Ucom{dviout sample2e.dvi} # Windows +\end{alltt} +Polecenie \cmdname{xdvi} wymaga uruchomionego środowiska graficznego +X~Window. Dla MS Windows analogicznym poleceniem jest \cmdname{dviout}. + %%! + %%! You should see a new window with a nice document explaining some of the + %%! basics of \LaTeX{}. (Well worth reading, by the way if you're new to the + %%! system.) You do have to be running under X for \cmdname{xdvi} to work; if + %%! you're not, or your \envname{DISPLAY} environment variable is set + %%! incorrectly, you'll get an error \samp{Can't open display}. + +\item Przetwarzanie wyniku składu do \PS{} w~celu wyświetlenia lub wydruku: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Tworzenie dokumentu bezpośrednio w~formacie \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Podgląd dokumentu \acro{PDF}: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{lub:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Programy \cmdname{gv} i~\cmdname{xpdf} są zwykle dostarczane +w~ramach systemu operacyjnego, wobec tego nie zamieszczono ich +na \TL. Przed samodzielną instalacją warto odwiedzić strony, +odpowiednio: \url{http://www.gnu.org/software/gv} +i~\url{http://www.foolabs.com/xpdf}. W~sieci dostępny jest także +bezpłatny program Adobe Reader (\url{http://www.adobe.com}). +Użytkownikom Windows można zarekomendować program +Sumatra PDF (\url{http://blog.kowalczyk.info/software/sumatrapdf}. +W~systemie Windows domyślnie instalowany jest dla \TL{} program +\cmdname{psv} +(PS\_View), pozwalający przeglądać pliki \cmdname{.ps} i~\cmdname{.pdf}. +Program ten można też zainstalować samodzielnie w~systemach Linux + %(w~katalogu \dirname{support/} znajdziemy plik \filename{psview-5.09t.zip}). + (\url{http://psview.sourceforge.net/download.html}). + +\item Inne przydatne pliki testowe: + +\begin{ttdescription} +\item [small2e.tex] przykład prostszy niż \filename{sample2e}; +\item [testpage.tex] test położenia wydruku na kartce papieru, przydatny + do sprawdzenia, czy nasza drukarka nie wprowadza przesunięć; +\item [nfssfont.tex] służy do wydruku tablic fontowych; +\item [testfont.tex] jak wyżej, z~tym że zamiast \LaTeX-a trzeba użyć plain + \TeX{}; +\item [story.tex] najbardziej kanoniczny przykład dla plain \TeX{}; + na zakończenie przetwarzania uruchomionego poleceniem \samp{tex story}, + po ukazaniu się \code{*}, należy wpisać \samp{\bs bye}. +\end{ttdescription} + +\item Jeśli zainstalowano pakiet \filename{xetex}, możemy przetestować + użycie fontów systemowych: +\begin{alltt} +> \Ucom{xetex opentype-info.tex} +This is XeTeX, Version 3.1415926\dots +... +Output written on opentype-info.pdf (1 page). +Transcript written on opentype-info.log. +\end{alltt} +Gdy otrzymamy komunikat błędu: +,,Invalid fontname `Latin Modern Roman/ICU'\dots'', oznacza to, że +należy zmienić konfigurację, jak to opisano +w~części~\ref{sec:font-conf-sys}. + +\end{enumerate} + +\subsection{Programy pomocnicze dla Windows} + +Początkującym użytkownikom polecamy stronę +\url{http://tug.org/begin.html} oraz podręcznik +Petera Flynna \textsl{Formatting Information}, dostępny pod adresem +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + +Aby instalacja była kompletna, \TL{} wymaga kilku pomocniczych +programów, które nie są dostarczane z~systemem Windows. +Wiele skryptów napisano w~języku Perl, ponadto wiele narzędzi wymaga +programu Ghostscript (interpretera języka PostScript) do +rasteryzacji bądź konwersji plików. Przydatne są także w~wielu wypadkach +różne programy do obróbki grafiki. Ponadto posiadanie edytora +zorientowanego na środowisko \TeX{} znacznie ułatwi pracę. + +Wszystkie te programy dla Windows można dosyć łatwo znaleźć w~sieci, +ponieważ jednak jest ich spory wybór, postanowiliśmy te najbardziej istotne +umieścić w~dystrybucji \TL: +\begin{description} +\item[Perl i Ghostscript] -- obydwa te programy są niezbędne do +poprawnego działania \TL, dołączyliśmy zatem \cmdname{Ghostscript} 8.62 +i~minimalną dystrybucję \cmdname{Perl} 5.8, wystarczającą do +uruchomienia wszystkich zawartych w~\TL{} skryptów perlowych; +oba programy zostały ,,ukryte'', to znaczy tylko programy \TL, które +z~nich korzystają, ,,wiedzą'' gdzie je znaleźć; tym samym nie powinny +kolidować z~ewentualnie zainstalowanymi w~systemie programami Perl +i~Ghostscript; +\item[narzędzia uruchamiane z~linii poleceń] -- zestaw kilku przydatnych + programów + (\texttt{gzip}, \texttt{unzip}, \texttt{jpeg2ps} i~\texttt{tiff2png}) + a~także kilka narzędzi z~zestawu \cmdname{xpdf}, uruchamianych z~linii + poleceń (sam \cmdname{xpdf} nie jest dostępny dla Windows, + można jednak pobrać z~internetu opartą na nim przeglądarkę \acro{PDF}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}); +\item[fc-list, fc-cache] -- narzędzia z~biblioteki fontconfig; program +\prog{fc-cache} rejestruje dla \XeTeX-a fonty systemowe lub dostarczane + w~dystrybucji \TL{} fonty OpenType; \prog{fc-list} wyświetla zarejestrowane + fonty, podając ich pełne nazwy (deklarujemy je w~rozszerzonym w~\XeTeX-u + poleceniu \cs{font}); +\item[PS\_View] -- program do podglądu plików postscriptowych (a~także + plików \acro{PDF}), patrz rys.~\ref{fig:psview}. +\end{description} + %\begin{description} + %\item[katalog \texttt{support,}] wspomniany już w~części~\ref{sec:tld}, + %zawiera różne programy, które mogą być użyteczne w~środowisku \TeX-owym + %(np. edytory/środowiska dla \TeX-a); programy te \emph{nie są} uwzględniane + %podczas instalacji samego \TL, należy je więc zainstalować samodzielnie. + %\end{description} + +\begin{figure}[h] +\begin{center} +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: umożliwia bardzo duże powiększenia!}\label{fig:psview} +\end{center} +\end{figure} + +Poniżej zamieszczono listę miejsc, z~których można pobrać programy +pomocnicze: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org} (uzupełniające, przydatne + pakiety należy pobrać z~zasobów CPAN \url{http://cpan.org}) +\item[ImageMagick] -- bogaty zestaw narzędzi do wsadowego przetwarzania + plików graficznych (\url{http://www.imagemagick.com}) +\item[NetPBM] -- do przetwarzania i~konwersji plików graficznych możemy + użyć alternatywnego dla \textsf{ImageMagick} programu NetPBM + (\url{http://netpbm.sourceforge.net/}) +\item[Edytory dla systemu \TeX{}] -- spory wybór programów, uwzględniających + indywidualne preferencje użytkownika (poniżej wymieniono jedynie + te działające w~systemach Windows) + \begin{itemize*} + \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://mirror.ctan.org/support/LEd}. + \item \cmdname{SciTE} -- edytor dostępny + z \url{http://www.scintilla.org/SciTE.html} + \item \cmdname{Texmaker} -- edytor dostępny z + \url{http://www.xm1math.net/texmaker}. + \item \cmdname{TexMakerX} jest rozszerzeniem \cmdname{Texmaker} + (\url{http://texmakerx.sourceforge.net}). + \item TeXnicCenter -- kolejny, dosyć bogaty w~funkcje edytor + (\url{http://www.toolscenter.org/products/texniccenter/}) + \item \cmdname{TeXworks} -- nowy edytor, dostępny z + \url{http://tug.org/texworks} i instalowany w Windows oraz + \MacOSX\ jako część \TL. + \item \cmdname{Vim} -- rozbudowany i~bardzo funkcjonalny edytor, + wywodzący się z~klasycznego dla systemów Unix edytora \cmdname{vi} + %, dostępny na \TL{} w~katalogu \dirname{support/vim} + (\url{http://www.vim.org}) + \item \cmdname{WinShell} -- prosty edytor/shell + (\url{http://www.winshell.de}) + \item \cmdname{WinEdt} -- bogaty w~funkcje edytor dla \TeX-a, dostępny jako + \emph{shareware} (\url{http://www.winedt.com}) + \end{itemize*} +\end{description} + +Obszerniejszą listę programów można znaleźć na stronie +\url{http://tug.org/interest.html}. + +\section{Instalacje 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. +Dzięki standardowej strukturze katalogów nie ma potrzeby konfiguracji +i~określania konkretnych ścieżek: położenie plików wymaganych przez programy +\TL{} jest zdefiniowane jako względne wobec samych programów. Można to +zobaczyć w~pliku \filename{$TEXMFMAIN/web2c/texmf.cnf}, który zawiera np. +takie wiersze: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +W konsekwencji oznacza to, że dla różnych systemów operacyjnych bądź +użytkowników wystarczy dodać do ich ścieżek przeszukiwania tylko ścieżkę +do programów \TL{}. + +Możliwa jest zatem np. instalacja lokalna \TL{}, po czym przeniesienie +całej struktury w~inne miejsce w~sieci. + +Użytkownicy Windows mogą pobrać z internetu skrypt \filename{w32client} +(patrz: \url{http://tug.org/texlive/w32client.html}), który +pozwala dostosować istniejącą instalację \TL{} dla potrzeb sieci +(włącznie z~utworzeniem skrótów w~menu systemowym). Plik .zip dostępny na +wymienionej stronie zawiera ponadto skrypt \filename{w32unclient}, +służący do odinstalowania. + +%W części~\ref{sec:kpathsea} dowiemy się więcej o~konfigurowaniu \TL{} +%i~zasadach przeszukiwania ścieżek. + +%%! 2 sekcje tłumaczył Kocio (Andrzej Borzyszkowski), przeredagował StaW +\htmlanchor{tlportable} +\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, aby wybrać jedno z 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 + (\acro{FAT32}, \acro{NTFS}, \acro{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. Prócz tego taka instalacja 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}, \filename{texmf-dist}, +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 +Microsoft oferuje program \filename{winxpvirtualcdcontrolpanel}. + +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{} programy TeXShop i \TeX{}works będą mogły wykorzystać +instalację na \acro{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. Programy \prog{updmap}, +\prog{fmtutil} oraz \prog{texconfig} są nadal dostępne i~będą utrzymywane +w~przyszłości, jednakże obecnie polecanym interfejsem jest \prog{tlmgr}. Jego +możliwości obejmują: + +\begin{itemize*} +\item instalowanie, aktualizację, tworzenie kopii zapasowych, odtwarzanie + oraz usuwanie pojedynczych pakietów (opcjonalnie~-- z~uwzględnieniem + zależności pomiędzy pakietami); +\item wyszukiwanie i pokazanie zawartości pakietów; +\item wyszczególnianie oraz dodawanie architektur (platform systemowych); +\item zmianę opcji instalacji, takich jak rozmiar papieru czy zmiana + położenia źródła instalacji (patrz część~\ref{sec:location}). +\end{itemize*} + +\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 2012}, \texttt{TeX Live Manager}. +Po kliknięciu przycisku ,,Wczytaj'' wyświetla listę dostępnych oraz +listę zainstalowanych pakietów. + %(te ostatnie poprzedzone są znacznikiem + %,,(i)''). Zakładamy oczywiście, że źródła instalacji są poprawne i~są + %dostępne. + +Rysunki~\ref{fig:tlmgr-general-options} i~\ref{fig:tlmgr-paper-options} +pokazują zakładki doczące opcji. + +\subsection{Przykładowe wywołania \cmdname{tlmgr} z~linii poleceń} + +Po zainstalowaniu \TL{} można dokonać aktualizacji wszystkich pakietów: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Symulację aktualizacji umożliwia: +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +bądź tylko wyliczenie, jakie pakiety będą aktualizowane: +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Poniższy przykład dodaje kolekcję zawierającą m.in. nowy ,,silnik'' \XeTeX, + %z~innego niż domyślne położenia źródła + z~lokalnego repozytorium instalacji: + +\begin{alltt} +> \Ucom{tlmgr -repository /local/mirror/tlnet install collection-xetex} +\end{alltt} +co pokazują komunikaty (tu w skrócie): +\begin{fverbatim} +install: collection-xetex +install: arabxetex +... +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +... +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2012/texmf/ls-R... +... +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2012/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Jak widać, \prog{tlmgr} instaluje wszystkie pakiety zależne, a także +przeprowadza wymagane czynności poinstalacyjne, jak aktualizacja bazy +danych, budowa plików formatów itp. (w przykładzie wygenerowaliśmy +nowy format dla \XeTeX). + +Aby wyświetlić informację o~pakiecie (kolekcji bądź schemacie), należy +uruchomić np.: +\begin{alltt} +> \Ucom{tlmgr show collection-latexextra} +\end{alltt} +co pokaże: +\begin{fverbatim} +package: collection-latexextra +category: Collection +shortdesc: LaTeX supplementary packages +longdesc: A large collection of add-on packages for LaTeX. +installed: Yes +revision: 14675 +\end{fverbatim} + +\noindent +\textbf{Uwaga:} pełna dokumentacja programu \cmdname{tlmgr} dostępna +jest pod adresem: +\url{http://tug.org/texlive/tlmgr.html} lub po uruchomieniu: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Uwagi dotyczące Windows} +\label{sec:windows} + +%\TL\ posiada tylko jeden program instalacyjny, działający zarówno w~Unix, +%jak i~w~Windows. Stworzenie takiego programu było możliwe dopiero +%po zaniechaniu wsparcia dla starszych wersji Windows. Obecnie +%\TL\ można instalować tylko w~Windows 2000 i~nowszych. + +\subsection{Cechy specyficzne w~systemie Windows} +\label{sec:winfeatures} + +W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynności: +\begin{description} +\item[Menu i skróty.] W~menu systemowym instalowane jest podmenu ,,\TL'', + które zawiera kilka pozycji dla programów działających w~trybie graficznym + (\prog{tlmgr}, \prog{texdoctk}, PS\_View -- przeglądarka plików + postscriptowych) oraz dokumentacji. + %Dla PS\_View tworzony jest także + %skrót (ikona) na pulpicie, umożliwiający ,,przeciąganie\dywiz upuszczanie'' + %na ikonie plików postscriptowych. +\item[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. +\end{description} + +%\subsection{Program Dviout} +% +%Obecne wydanie \TL{} nie oferuje niestety preinstalowanego programu do +%podglądu plików \acro{DVI} dla Windows, można jednak samodzielnie +%zainstalować doskonały \prog{dviout}, autorstwa Toshio Oshimy. Znajdziemy go +%w~katalogu \path{support/dviout/}, zawierającym również krótki plik +%\filename{README} omawiający, jak zaistalować i~skonfigurować \prog{dviout} +%dla \TL. Przed instalacją zalecamy przeczytać informacje tam zawarte. +% +%Pierwsze uruchomienie \verb+dviout+ zazwyczaj automatycznie generuje wymagane +%fonty ekranowe. Po kilku sesjach komunikaty dotyczące generowania fontów +%staną się rzadsze. Więcej informacji można znaleźć w~bardzo dobrym +%poradniku \emph{on-line} tego programu. + +\subsection{User Profile to inaczej Home (katalog domowy)} +\label{sec:winhome} + +Odpowiednikiem uniksowego katalogu domowego użytkownika (|$HOME|) jest +w~Windows katalog określany zmienną \verb|%USERPROFILE%|. W~Windows XP jest +to zazwyczaj katalog \verb|C:\Documents and Settings\| +\verb||, +zaś w~Windows Vista i~Windows~7 katalog +\verb|C:\Users\|. W~pliku konfiguracyjnym +\filename{texmf.cnf} i~bibliotekach \KPS{} znak \verb|~| jest poprawnie +rozwijany do odpowiedniej zmiennej zarówno w~Windows, jak i~w~Unix/Linux. + +\subsection{Rejestr Windows} +\label{sec:registry} + +W systemie Windows prawie wszystkie dane konfiguracyjne przechowywane są +w~tzw. rejestrze. Zawiera on hierachicznie zorganizowane klucze, w~ramach +kilku kluczy głównych. Najbardziej istotne dla programów instalacyjnych +są klucze \path{HKEY_CURRENT_USER} oraz \path{HKEY_LOCAL_MACHINE} +(w~skrócie \path{HKCU} i~\path{HKLM}). Część \path{HKCU} dotyczy katalogów +domowych użytkowników (patrz~\ref{sec:winhome}), zaś \path{HKLM} -- podkatalogów +systemowych (w~katalogu Windows). + +Informacje o~ustawieniach systemu można czasem uzyskać ze zmiennych +środowiska, ale po inne informacje, np. położenie tzw. skrótów, trzeba +odwołać się do rejestru. Także zapis zmiennych środowiska na stałe wymaga +dostępu do rejestru. + +\subsection{Uprawnienia w Windows} +\label{sec:winpermissions} + +%%! UWAGA SW: cała ta część jest mocno niejasna w oryginale. Tłumaczyłem +%%! ją mając na uwadze ogólny sens, w niektórych miejscach doprecyzowując +%%! sformułowania. Ale i tak jest, wg mnie, do bani :-) + +W nowszych wersjach Windows istnieje wyraźne rozróżnienie między +użytkownikami ,,zwykłymi'' i~administratorami, mającymi +pełną swobodę dostępu do całości systemu. + %%! ??? + %In practice, though, you could better describe + %these classes of users as unprivileged users and normal users: being an + %administrator is the rule, not the exception. + Dołożono wielu starań, aby umożliwić instalację \TL{} także osobom bez + uprawnień administratora. + +Jeśli osoba instalująca jest administratorem, to udostępniona jest opcja +instalacji dla wszystkich użytkowników. Użycie jej oznacza, że tworzone są +skróty, a także ustawiane są zmienne środowiska dla całego systemu. +W~przeciwnym wypadku skróty i~menu są tworzone jedynie dla konkretnego +użytkownika, także definiowane zmienne środowiska dotyczą zwykłych +użytkowników. + %Mając uprawnienia admistratora możemy zainstalować \TL{} tylko + %dla użytkowników; należy wtedy uruchomić \prog{install-tl} z~parametrem + %\optname{-non-admin}. + +Bez względu na status użytkownika proponowanym, domyślnym katalogiem głównym +instalacji, jest katalog w~ramach \verb|%SystemDrive%|. Program instalacyjny +zawsze sprawdza, czy ten katalog jest dostępny do zapisu dla aktualnego +użytkownika. + +Problem może się pojawić wtedy, gdy użytkownik instalujący \TL{} nie jest +administratorem, a~programy \TeX-owe są już w~ścieżce przeszukiwania. +Wynikowa ścieżka zawiera wtedy ścieżkę systemową, do której dodano ścieżkę do +programów użytkownika. W~konsekwencji nie będą znajdowane nowo instalowane +programy. Aby 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 Windows~7 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''. + +\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/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. + +Jeśli baza danych nie istnieje bądź nie odnosi się do danego elementu +ścieżki albo też nie zawiera elementów zgodnych, to przeszukiwany jest system +plików (jeżeli nie zostało to zabronione przez specyfikację rozpoczynającą +się od~\samp{!!}\ oraz jeżeli poszukiwany plik musi istnieć). +\KPS{} konstruuje listę podkatalogów, które korespondują z~danym elementem +ścieżki, a~następnie sprawdza w~każdym z~nich, czy nie ma tam poszukiwanego +pliku. + +Warunek mówiący, że ,,plik musi istnieć'' dotyczy np. plików \samp{.vf} +i~plików dołączanych \TeX-owym poleceniem \cs{openin}. +Takiego pliku może nie być (np. \file{cmr10.vf}), błędne byłoby zatem +poszukiwanie go na dysku. +Jeśli więc zapomnisz o~aktualizacji \file{ls-R} po instalacji nowego +pliku \samp{.vf}, to nie zostanie on odnaleziony. +Każdy element ścieżki sprawdzany jest w~następującej kolejności: najpierw +w~bazie danych, potem na dysku. +Jeżeli plik się znajdzie, to przeszukiwanie zostanie zatrzymane i~zwrócony +zostanie wynik. + +Ponieważ najprostszym i~najbardziej powszechnym elementem ścieżki jest +nazwa katalogu, \KPS{} korzysta z~dodatkowych możliwości w~przeszukiwaniu +ścieżek: +wielowarstwowych wartości domyślnych, zmiennych środowiskowych, wartości +pliku konfiguracyjnego, lokalnych +podkatalogów użytkownika oraz rekursywnego przeszukiwania podkatalogów. +Można więc powiedzieć, że \KPS{} \emph{rozwija} element ścieżki, tzn. +transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogów. +Jest to opisane w~kolejnych akapitach, w~kolejności w~jakiej to zachodzi. + +Trzeba zauważyć, że jeżeli nazwa poszukiwanego pliku jest +absolutna lub jawnie względna, tj. zaczyna się od \samp{/} lub \samp{./} +lub \samp{../}, to \KPS{} ogranicza się do sprawdzenia, czy ten plik istnieje. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Przykład pliku konfiguracyjnego} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Źródła ścieżek} +\label{Path-sources} + +Nazwa przeszukiwanej ścieżki może pochodzić z~wielu źródeł. +Oto kolejność, w~jakiej \KPS{} ich używa: + +\begin{enumerate} +\item + Zmienna środowiskowa ustawiana przez użytkownika, np. + \envname{TEXINPUTS}. + Zmienne środowiskowe z~dołączoną kropką i~nazwą programu zastępują inne, + np. jeżeli \samp{latex} jest nazwą uruchomionego programu, wtedy zamiast + \envname{TEXINPUTS} wykorzystana zostanie zmienna \envname{TEXINPUTS.latex}. +\item + Plik konfiguracyjny konkretnego programu, np. linia ,,\texttt{S /a:/b}'' + w~pliku \file{config.ps} programu \cmdname{dvips}. +\item Plik konfiguracyjny \KPS{} \file{texmf.cnf}, zawierający taką linię, + jak \samp{TEXINPUTS=/c:/d} (patrz poniżej). +\item Wartości domyślne dla uruchamianych programów. +\end{enumerate} +\noindent Każdą z~tych wartości dla danej ścieżki przeszukiwania można +zobaczyć, używając opcji diagnostyki błędów (patrz ,,Diagnostyka błędów'' na +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{.../2012/texmf.cnf}, +który w~wyjątkowych wypadkach możemy modyfikować. Głównym plikiem +konfiguracyjnym jest \file{.../2012/texmf/web2c/texmf.cnf}, ale +nie powinien być on modyfikowany, gdyż + %wprowadzone ewentualne + zmiany będą utracone podczas aktualizacji. + +Czytane będą \emph{wszystkie} pliki \file{texmf.cnf} w~ścieżce +przeszukiwania, a~definicje we wcześniejszych plikach zastąpią te +w~późniejszych. Tak więc w~ścieżce \verb|.:$TEXMF| wartości pochodzące +z~\file{./texmf.cnf} zastąpią te z~\verb|$TEXMF/texmf.cnf|. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Dociekliwy czytelnik może być zainteresowany sposobem, w~jaki programy +znajdują plik \file{texmf.cnf}, skoro nie ma konieczności deklarowania +specyficznej zmiennej środowiskowej systemu. Otóż położenie domyślne jest +wkompilowane w~programy jako względne do ich położenia (określanego, jak +wiemy, w~ścieżce specyfikowanej przez \texttt{\$PATH}): +\path{../../texmf/web2c/} bądź \path{../texmf/web2c/}. Jeśli jawnie +deklarujemy zmienną \envname{TEXMFCNF}, wymagane jest podanie bezwzględnej +ścieżki. + +Czytając zamieszczony poniżej opis formatu pliku \file{texmf.cnf}, +warto przeglądać jego zawartość. Położenie \emph{aktywnego} pliku +znajdziemy za pomocą polecenia \texttt{kpsewhich texmf.cnf}. + +\begin{itemize} +\item + Komentarze zaczynają się od ,,\texttt{\%}'', a~kończą na końcu wiersza. +\item + Puste wiersze nie są brane pod uwagę. +\item + Znak ,,\bs{}'' na końcu wiersza działa jako znak kontynuacji, tzn. + oznacza, że kolejny wiersz jest kontynuacją bieżącego. + Spacja na początku kolejnego wiersza nie jest ignorowana. +\item + Pozostałe wiersze mają postać: +\begin{alltt} + \emph{zmienna}[.\emph{program}] [=] \emph{wartość} +\end{alltt}% + gdzie \samp{=} i~otaczające spacje są opcjonalne. +\item + ,,\texttt{\var{zmienna}}'' zawierać może dowolne znaki poza spacją, + \samp{=}, lub \samp{.} (kropką), najbezpieczniej jednak używać znaków + z~zakresu \samp{A-Za-z\_}. +\item + Napis ,,\texttt{.\var{program}}'' ma zastosowanie w~wypadku, gdy + uruchamiany program nosi nazwę \texttt{\var{program}} lub + \texttt{\var{program}.exe}. Pozwala to różnym odmianom \TeX-a stosować + różne ścieżki przeszukiwania. +\item ,,\texttt{\var{wartość}}'' zawierać może dowolne znaki poza + ,,\texttt{\%}'' i \samp{@}. + Nie można używać konstrukcji ,,\texttt{\$\var{zmienna}.\var{program}}'' + po prawej stronie. Zamiast tego trzeba zastosować zmienną pomocniczą. + Jeżeli systemem operacyjnym jest Unix, + to średnik \samp{;}\ użyty w~,,\texttt{\var{wartość}}'' zamieniany jest na + \samp{:}; umożliwia to istnienie + wspólnego pliku \file{texmf.cnf} dla systemów Unix oraz Windows. +\item + Wszystkie definicje czytane są zanim cokolwiek zostanie rozwinięte, tak + więc do zmiennych można się odwoływać przed ich zdefiniowaniem. +\end{itemize} +Oto fragment pliku konfiguracyjnego ilustrujący większość opisanych powyżej +reguł notacji: +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +jest pokazany na rys.~\ref{fig:config-sample}. +\fi + +\subsubsection{Rozwijanie ścieżek} +\label{Path-expansion} + +\KPS{} rozpoznaje w~ścieżkach przeszukiwania pewne specjalne znaki oraz +konstrukcje, podobne do tych, które są dostępne w~powłokach systemów +typu Unix. +Jako ogólny przykład: złożona ścieżka +\verb+~$USER/{foo,bar}//baz+ rozwija się do wszystkich podkatalogów pod +katalogami \file{foo} i~\file{bar} w~katalogu głównym \texttt{\$USER}, +które zawierają katalog lub plik \file{baz}. +Rozwinięcia te opisane są w~poniższych podrozdziałach. + +\subsubsection{Rozwijanie domyślne} +\label{Default-expansion} + +\tolerance=2500 +Jeżeli ścieżka przeszukiwania największego uprzywilejowania (patrz ,,Źródła +ścieżek'' na 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 = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Używając jej, można następnie napisać coś w~rodzaju: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +co oznacza, że po szukaniu w~katalogu bieżącym będą przeszukane kolejno +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +i~\code{\$TEXMFMAIN/tex} (wszystkie wraz z~katalogami niższego poziomu; +dwie ostatnie ścieżki \emph{wyłącznie} na podstawie zawartości +pliku \file{ls-R}). +Jest to wygodny sposób na uruchamianie dwóch równoległych struktur \TeX-owych, +jednej ,,zamrożonej'' (np. na \CD), a~drugiej ciągle uaktualnianej nowo +pojawiającymi się wersjami. +Używając zmiennej \code{\$TEXMF} we wszystkich definicjach daje pewność, +że najpierw przeszukiwane jest drzewo uaktualnione. + +\subsubsection{Rozwijanie podkatalogów} +\label{Subdirectory-expansion} + +Dwa lub więcej kolejnych ,,ciachów'' (,,/'') w~elemencie ścieżki, +występujących po nazwie katalogu~\var{d}, zastępowanych jest przez wszystkie +podkatalogi~\var{d}, najpierw podkatalogi znajdujące się bezpośrednio +pod~\var{d}, potem te pod powyższymi i~tak dalej. Na każdym etapie +kolejność, w~jakiej przeszukiwane są katalogi, jest \emph{nieokreślona}. + +Jeśli wyszczególni się człony nazwy pliku po \samp{//}, to uwzględnione zostaną +tylko te podkatalogi, które zawierają powyższe człony. +Na przykład \samp{/a//b} rozwija się do katalogów \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} itd., ale nie do \file{/a/b/c} czy \file{/a/1}. + +Możliwe jest wielokrotne użycie \samp{//} w~ścieżce, jednakże \samp{//} +występujące na początku ścieżki nie jest brane pod uwagę. + +\subsubsection{Lista znaków specjalnych i~ich znaczeń -- podsumowanie} + +Poniższa lista podsumowuje znaczenie znaków specjalnych w~plikach +konfiguracyjnych. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] znak rozdzielający w~specyfikacji ścieżki; umieszczony na + początku lub na końcu ścieżki zastępuje domyślne rozwinięcie ścieżki; +\item[\CODE{;}] znak rozdzielający dla systemów nieuniksowych + (działa tak jak ,,\code{:}''); +\item[\CODE{\$}] rozwijanie zmiennej; +\item[\CODE{\string~}] oznacza katalog główny użytkownika; +\item[\CODE{\char`\{\dots\char`\}}] rozwijanie nawiasów, np. + \verb+a{1,2}b+ zmieni się w~\verb+a1b:a2b+; +\item[\CODE{//}] rozwijanie podkatalogów (może wystąpić gdziekolwiek + w~ścieżce, poza jej początkiem); +\item[\CODE{\%}] początek komentarza, obejmującego wszystkie znaki do końca + linii; +\item[\CODE{\bs}] znak kontynuacji (pozwala na przełamanie wiersza + z~wyrażeniem); +\item[\CODE{!!}] przeszukiwanie \emph{tylko} bazy danych, + a~\emph{nie} dysku. +\end{description} + + +\subsection{Bazy nazw plików} +\label{Filename-database} + +Podczas przeszukiwania \KPS{} stara się zminimalizować dostęp do dysku. +Niemniej, w~przypadku instalacji ze zbyt dużą liczbą katalogów +przeglądanie każdego dopuszczalnego katalogu w~poszukiwaniu pliku może +zabierać sporo czasu (ma to miejsce zwłaszcza, jeżeli przeszukać trzeba setki +katalogów z~fontami). +Dlatego też \KPS{} może używać zewnętrznego pliku z~,,bazą danych'' +o~nazwie \file{ls-R}, który zawiera przypisania plików do katalogów. +Unika się w~ten sposób czasochłonnego przeszukiwania dysku. + +Drugi plik z~bazą danych -- \file{aliases} -- pozwala na nadawanie +dodatkowych nazw plikom zawartym w~\file{ls-R}. +Może to być pomocne do adaptacji do DOS-owej konwencji ,,8.3'' nazewnictwa +plików w~plikach źródłowych. + +\subsubsection{Baza nazw plików} +\label{ls-R} + +Jak wspomniano, plik zawierający główną bazę nazw +plików musi nosić nazwę \file{ls-R}. +W~katalogu podstawowym każdej hierarchii \TeX-owej (domyślnie \code{\$TEXMF}), +którą chcemy włączyć w~mechanizm przeszukiwania, umieszczać można po jednym +pliku \file{ls-R}; w~większości przypadków istnieje tylko jedna hierarchia. +\KPS{} szuka pliku \file{ls-R} w~ścieżce \code{TEXMFDBS}. + +Najlepszym sposobem stworzenia i~utrzymywania pliku \file{ls-R} jest +uruchomienie skryptu \code{mktexlsr}, będącego składnikiem dystrybucji. +Jest on wywoływany przez różne skrypty typu \samp{mktex...}. +W~zasadzie skrypt ten jedynie wykonuje polecenie +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +zakładając, że polecenie \code{ls} danego systemu utworzy właściwy format +strumienia wyjściowego (\acro{GNU} \code{ls} działa prawidłowo). +Aby mieć pewność, że baza danych jest zawsze aktualna, wygodnie jest + przebudowywać ją regularnie za pomocą demona \code{cron}. + %tak że wraz ze zmianami + %w~instalowanych plikach -- np. po instalacji lub uaktualnianiu pakietu + %\LaTeX{} -- plik \file{ls-R} jest uaktualniany automatycznie. + +Jeśli pliku nie ma w~bazie danych, \KPS{} domyślnie przechodzi do +przeszukiwania dysku. Jeżeli jednak dany element ścieżki zaczyna sie od +\samp{!!}, to w~poszukiwaniu tego elementu sprawdzona zostanie \emph{jedynie} +baza danych, a~nigdy dysk. + +\subsubsection{kpsewhich -- program do przeszukiwania ścieżek} +\label{Invoking-kpsewhich} + +Przeszukiwanie ścieżek przez program \texttt{kpsewhich} jest niezależne od +jakiejkolwiek aplikacji. +Może on być przydatny jako rodzaj programu \code{find}, za pomocą którego +lokalizować można pliki w~hierarchiach \TeX-owych (jest on używany +intensywnie w~skryptach \samp{mktex...} tej dystrybucji). + +\begin{alltt} +> \Ucom{kpsewhich \var{opcje}\dots{} \var{nazwa-pliku}\dots{}} +\end{alltt} +Parametry wyszczególnione w~,,\texttt{\var{opcje}}'' mogą zaczynać się zarówno od +\samp{-}, jak i~od \samp{-{}-}, a~dozwolony jest każdy jednoznaczny skrót. + +\KPS{} traktuje każdy argument niebędący parametrem jako nazwę pliku +i~zwraca pierwszą odnalezioną nazwę. +Nie ma parametru nakazującego zwracanie wszystkich nazw plików o~określonej +nazwie (w~tym celu można wykorzystać Unix-owy program \samp{find}). + +Oto ważniejsze parametry. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\* + Ustaw rozdzielczość na ,,\texttt{\var{num}}''; ma to tylko wpływ na + przeszukiwanie fontów \samp{gf} i~\samp{pk}. Dla zgodności + z~\cmdname{dvips} parametr + \samp{-D} działa identycznie. Domyślną wartością jest 600. +\item[\texttt{-{}-format=\var{nazwa}}]\mbox{}\\ + Ustawienie formatu (typu pliku) przeszukiwania na ,,\texttt{\var{nazwa}}''. + Domyślnie format odgadywany jest z~nazwy pliku. + Dla formatów, które nie mają przydzielonego jednoznacznego rozszerzenia, + takich jak niektóre pliki \MP{}-owe czy pliki konfiguracyjne + \cmdname{dvips}-a, należy wyszczególnić nazwę, których listę wyświetli + uruchomienie \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{napis}}]\mbox{}\\* + Ustaw nazwę trybu na ,,\texttt{\var{napis}}''; dotyczy to jedynie szukania + fontów \samp{gf} oraz \samp{pk}. + Brakuje wartości domyślnej -- odnaleziony zostanie dowolny + wyszczególniony tryb. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Zrób wszystko co możliwe, aby odnaleźć pliki, włączając w~to przede wszystkim + przeszukanie dysku. + Domyślnie, w~celu zwiększeniu efektywności działania, sprawdzana jest + tylko baza \file{ls-R}. +\item[\texttt{-{}-path=\var{napis}}]\mbox{}\\ + Szukaj w~ścieżce ,,\texttt{\var{napis}}'' (rozdzielonej, jak + zwykle, dwukropkami), zamiast zgadywać ścieżkę przeszukiwania z~nazwy + pliku. + \samp{//} i~wszystkie zwykłe rozszerzenia są możliwe. + Parametry \samp{-{}-path} oraz \samp{-{}-format} wzajemnie się wykluczają. +\item[\texttt{-{}-progname=\var{nazwa}}]\mbox{}\\ + Ustaw nazwę programu na ,,\texttt{\var{nazwa}}''. + Może to mieć wpływ na ścieżkę przeszukiwania poprzez + ,,\texttt{.\var{program}}'' w~plikach konfiguracyjnych. + Ustawieniem domyślnym jest \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{nazwa}}]\mbox{}\\ + Pokazuje ścieżkę używaną do poszukiwania plików typu + ,,\texttt{\var{nazwa}}''. + Użyć można zarówno rozszerzenia (\samp{.pk}, \samp{.vf}, etc.), jak + i~nazwy pliku, tak jak w~wypadku parametru \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + ustawia parametry wykrywania błędów na ,,\texttt{\var{num}}''. +\end{ttdescription} + +%Zmienne środowiskowe domyślnie ustawiane są w~pliku konfiguracyjnym +%\file{texmf.cnf}. W~wypadku gdy chce się unieważnić wartości zmiennych +%wyszczególnione w~tym pliku, można narzucić ich ustawienie w~środowisku, +%w~którym uruchamiane są programy. + +\subsubsection{Przykłady użycia} +\label{SExamplesofuse} + +Przyjrzyjmy sie teraz, jak działa \KPS{}. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Szukamy tu pliku \file{article.cls}. +Ponieważ rozszerzenie \samp{.cls} jest jednoznaczne, nie musimy zaznaczać, że +poszukujemy pliku typu ,,tex'' (katalogi plików źródłowych \TeX-a). +Znajdujemy go w~podkatalogu \file{tex/latex/base}, pod katalogiem nadrzędnym +\samp{texmf-dist}. +Podobnie wszystkie poniższe pliki 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/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 ... \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: \emph{Dvips Reference Manual}, +\OnCD{texmf/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} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Szukanie pliku prologu}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Szukanie pliku fontu}\label{fig:dvipsdbgc} +\end{figure*} + Program \cmdname{dvips} zaczyna pracę od zlokalizowania potrzebnych mu plików. +Najpierw znajduje plik \file{texmf.cnf}, który zawiera ścieżki +przeszukiwania dla innych plików. Potem znajduje bazę danych \file{ls-R} +(w~celu optymalizacji szukania plików), następnie plik \file{aliases}, +który umożliwia deklarowanie różnych nazw (np. krótkie \acro{DOS}-owe ,,8.3'' +i~bardziej naturalne dłuższe wersje) dla tych samych plików. +Następnie \cmdname{dvips} znajduje podstawowy plik konfiguracyjny +\file{config.ps}, zanim poszuka pliku z~ustawieniami użytkownika +\file{.dvipsrc} (który w~tym wypadku \emph{nie} zostaje odnaleziony). +W~końcu \cmdname{dvips} lokalizuje plik konfiguracyjny \file{config.cms} +dla fontów PostScript-owych Computer Modern (jest to inicjowane przez +dodanie parametru \texttt{-Pcms} przy uruchamianiu programu). +Plik ten zawiera listę plików z~,,mapami'', które definiują relacje +pomiędzy \TeX-owymi, PostScript-owymi i~systemowymi nazwami fontów. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/config/config.cms} +p +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/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +potem szuka pliku prologu \file{texc.pro}. + %(patrz rys.~\ref{fig:dvipsdbgb}). + +\fi +Po znalezieniu szukanego pliku \cmdname{dvips} podaje datę i~czas +oraz informuje o~generowaniu pliku \file{hello-world.ps}. +Ponieważ potrzebuje pliku z~fontem \file{cmr10}, a~jest on +zadeklarowany jako dostępny, wyświetla komunikat: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 is resident. +\end{alltt} +Teraz trwa poszukiwanie pliku \file{cmr10.tfm}, który zostaje znaleziony, +po czym \cmdname{dvips} powołuje się na kilka innych plików startowych +(nie pokazanych). W~końcu przykładowy font Type1 \file{cmr10.pfb} +zostaje zlokalizowany i~dołączony do pliku wynikowego (patrz ostatnia linia): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... + +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +[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 \acro{ANSI}~C, oprogramowanie \cmdname{make}, +skaner leksykalny oraz generator parserów. +Programy użytkowe \acro{GNU} (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) +są najlepiej przetestowanymi na różnych platformach. +Poprawnie powinny pracować \cmdname{gcc}-2.7.*, \cmdname{flex}-2.4.7 +i~\acro{GNU}\,\cmdname{make}-3.72.1 lub nowszy. +Można też korzystać z~innych kompilatorów C i~programów +\cmdname{make}, wymaga to jednak dobrego zrozumienia zasad tworzenia +programów uniksowych, aby poradzić sobie z~ewentualnymi problemami. + %W~wyniku wykonania polecenia \texttt{uname} powinniśmy + %otrzymać jakąś rozsądną wartość. + +\subsection{Konfiguracja} +Należy rozpakować źródła ze skompresowanego pliku \texttt{tar} +z~katalogu \dirname{source} na twardy dysk, a~potem przejść do katalogu, +do którego zostały one skopiowane. +Teraz trzeba się zdecydować, gdzie będzie główny katalog instalacji, +np.\ \path|/usr/TeX| lub \path|/usr/local/TeX|. +Naturalnie, należy użyć tej samej lokalizacji, która została użyta +podczas instalacji głównego drzewa \TeX-owego. + +Uruchomić \textsf{configure} z~linii poleceń: +\begin{alltt} +> \Ucom{./configure --prefix=/usr/local/TeX} +\end{alltt} + +Katalog ,,prefix'' to ten, w~którym zainstalowane zostało główne drzewo +\TeX-owe. Zostanie użyty następujący układ katalogów + (\verb|$TEXDIR| oznacza wybrany powyżej katalog): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & strony manuala uniksowego,\\ + \dirname{$TEXDIR/share/texmf} & główne drzewo \TeX-owe, + zawierające makra itp.,\\ + \dirname{$TEXDIR/info} & podręczniki w formacie \acro{GNU} + info,\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaria\\ +\end{tabular} +%$ + +Można uniknąć stosowania ,,\dirname{share/}'' przed katalogiem +\dirname{texmf}, ponieważ \dirname{$TEXDIR/share/texmf} +i~\dirname{$TEXDIR/texmf} są wykrywane automatycznie przez skrypt \cmdname{configure}. +W~razie wybrania innego katalogu, trzeba ten katalog wyszczególnić +parametrem \verb|--datadir| skryptu \cmdname{configure}. + +Jeżeli nie chcemy używać katalogu \dirname{$PLATFORM} +(a~więc umieścić binaria bezpośrednio w~\dirname{$TEXDIR/bin}), to +w~wywołaniu skryptu \cmdname{configure} należy użyć parametru +\verb|--disable-multiplatform|. + +Więcej dostępnych parametrów (np. pomijanie pakietów opcjonalnych, takich +jak \OMEGA) można zobaczyć, uruchamiając +\texttt{./configure -{}-help}. + +\subsection{Uruchamianie \textsf{make}} +Po upewnieniu się, że nie jest ustawiona zmienna powłoki \texttt{noclobber}, +należy napisać: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +i~\ldots zaparzyć sobie kawę. + +Może się też przydać zapisanie całego procesu +kompilacji w~pliku \texttt{.log}: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Zanim stwierdzimy, że wszystko jest w~porządku, warto sprawdzić, czy w~pliku +\texttt{.log} nie ma komunikatów błędów (kiedy polecenie zwraca kod błędu, +\acro{GNU} \cmdname{make} zawsze używa sekwencji \samp{***}), +i~czy utworzone zostały wszystkie binaria: +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Oczekiwanym rezultatem jest ponad 200. Polecenie \texttt{make world} jest +równoważne z~\texttt{make all install strip}. +Jeśli do uruchamiania \texttt{make install} potrzebne są specjalne +uprawnienia, można uruchomić dwie oddzielne sesje \cmdname{make}: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +\subsection{Końcowe kroki konfiguracyjne} +Należy uaktualnić zmienną \envname{PATH} o~nazwę katalogu zawierającego +właśnie zainstalowane binaria (np.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.3}); podobnie postąpić trzeba +z~\envname{MANPATH} i~\envname{INFOPATH} i~dołączyć do nich +odpowiednie nazwy podkatalogów, tj.\ +\dirname{$TEXDIR/man} oraz \dirname{$TEXDIR/info}. +Patrz część~\ref{sec:postinstall} (str.~\pageref{sec:postinstall}). + +Jeśli zechcesz udostępnić skompilowane przez siebie programy, skontaktuj +się z~nami (\url{tex-live@tug.org}); chętnie umieścimy je na stronie \TL. +%\end{comment} + +%-------------------------- +\htmlanchor{ack} +\section{Podziękowania} + +\TL{} jest wspólnym dziełem prawie wszystkich grup \TeX-owych. +Niniejsza edycja \TL{} została opracowana pod kierownictwem Karla Berry'ego, +przy głównym współudziale: + +\begin{itemize*} +\item grup \TeX-owych: międzynarodowej, niemieckiej, holenderskiej i~polskiej + (odpowiednio: \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, i~\acro{GUST}), + które wspólnie zapewniają potrzebną infrastrukturę techniczną + i~organizacyjną. Dołącz do swojej grupy \TeX-owej!; +\item zespołu \acro{CTAN} (w~szczególności Robina Fairbairnsa, Jima + Hef{}ferona i~Rainera Sch\"opfa), który dystrybuuje obrazy płyt \TL{} + i~udostępnia wspólną infrastrukturę służącą aktualizacji pakietów, od której + zależy \TL{}; +\item Nelsona Beebe, za umożliwienie dostępu do wielu platform ekipie \TL\ + i pomoc w testowaniu; +\item Johna Bowmana, który dostosował swój zaawansowany program Asymptote + do współpracy z TL; +\item Petera Breitenlohnera i~zespołu \eTeX, którzy stworzyli stabilną + podstawę przyszłych wersji \TeX-a (Peter dodatkowo służy nieustanną pomocą + w~wykorzystaniu narzędzi autotools w~\TL); +\item Jin-Hwan Cho i całego zespołu DVIPDFM$x$ za ten znakomity sterownik + i nieustanną pomoc w~rozwiązywaniu problemów z konfiguracją; +\item Thomasa Essera, autora wspaniałego \teTeX-a, bez którego + \TL{} z~całą pewnością by nie powstał i~którego stała + pomoc umożliwiła doskonalenie tej dystrybucji; +\item Michaela Goossensa, który był współautorem pierwotnej dokumentacji; +\item Eitana Gurari, autora programu \TeX4ht{} (wykorzystanego do + tworzenia niniejszej dokumentacji w~wersji \HTML), który niezmordowanie + pracował nad jego ulepszaniem i~błyskawicznie dostarczał poprawki; + Eitan zmarł w czerwcu 2009~r. i dedykujemy tę dokumentację Jego pamięci; +\item Hansa Hagena, który dostosowywał \ConTeXt\ do potrzeb \TL; +\item \Thanh{}a, Martina Schr\"odera i~zespołu pdf\TeX-a, którzy ciągle + ulepszali możliwości \TeX-a; +\item Hartmuta Henkela, mającego istotny udział w~rozwoju pdf\TeX-a, + Lua\TeX-a i~innych programów; +\item Taco Hoekwatera, który wznowił rozwój MetaPosta i~pracował nad + Lua\TeX-em, jak też pomógł w~integracji \ConTeXt\ w~\TL oraz + ulepszył bibliotekę Kpathsea, dodając jej wielowątkowość; +\item Pawła Jackowskiego, który wykonał instalator dla Windows \cmdname{tlpm} + i~Tomka Łuczaka, twórcy \cmdname{tlpmgui} (programy te były wykorzystane + w~poprzednich edycjach); +\item Akira Kakuto, który dostarczył programy dla Windows, pochodzące + z~dystrybucji \acro{W32TEX} + (\url{http://w32tex.org}), + stale dostosowywane i~aktualizowane dla potrzeb \TL; +\item Jonathana Kew, który zainicjował nową ścieżkę + rozwojową -- Xe\TeX{}, i~który włożył sporo wysiłku w~zintegrowanie + tego programu z~\TL, jak również zapoczątkował prace nad instalatorem dla + Mac\TeX{} oraz edytorem \TeX{}works; +\item Dicka Kocha, który pielęgnuje Mac\TeX-a (\url{http://tug.org/mactex}) + w~ścisłym połączeniu z~\TL i~bardzo sympatycznie współpracuje; +\item Reinharda Kotuchy, mającego istotny udział w~stworzeniu nowej infrastruktury + i~programu instalacyjnego dla \TL{} 2009, uparcie dążącego do ujednolicenia + działania \TL{} w~Windows i~Unix, który również opracował skrypt + \texttt{getnonfreefonts} i~wykonał wiele innych prac; +\item Siep Kroonenberg, która również wzięła udział w~stworzeniu nowej + infrastruktury i~programu instalacyjnego dla \TL{} 2009 (szczególnie dla + Windows) oraz włożyła sporo pracy w aktualizację tej dokumentacji; +\item Petra Ol\shac{}\aac{}ka, który koordynował i~sprawdzał + przygotowanie pakietów czeskich i~słowackich; +\item Toshio Oshimy, który opracował przeglądarkę \cmdname{dviout} dla Windows; +\item Manuela P\'egouri\'e-Gonnarda, który pomógł w~aktualizacji pakietów + i~pracował nad \cmdname{texdoc}; +\item Fabrice'a Popineau, który pierwszy stworzył wersje oprogramowania + dla Windows; +\item Norberta Preininga, głównego architekta infrastruktury i~programu + instalacyjnego \TL{} 2009, który przyczynił się również do aktualizacji + pakietów, a także koordynował (wraz z~Frankiem K\"usterem) debianową + wersję \TL{} i~przedstawił wiele sugestii ulepszeń; +\item Sebastiana Rahtza, który stworzył \TL{} i~kierował projektem przez + wiele lat; +\item Phila Taylora, który skonfigurował BitTorrent + (do pobierania plików z sieci) na potrzeby \TL{}; +\item Tomka Trzeciaka, który pracowicie rozwiązywał rozliczne problemy + związane z Windows; +\item Vladimira Volovicha, który wydatnie pomógł w~rozwiązywaniu problemów + przenośności, szczególnie zaś umożliwił dołączenia \cmdname{xindy}; +\item Staszka Wawrykiewicza, głównego testującego \TL{} w~różnych systemach, + który ponadto koordynował przygotowanie wszystkich polskich dodatków (fontów, + programów instalacyjnych i~wielu innych); +\item Olafa Webera, który cierpliwie pielęgnował Web2C, od którego wszystko zależy; +\item Gerbena Wierda, który przygotował oryginalne oprogramowanie i~wsparcie + dla \MacOSX{}; +\item Grahama Williamsa, którego prace nad katalogiem pakietów bardzo + pomogły w~przygotowaniu dystrybucji. +\end{itemize*} + +Binaria dla różnych platform skompilowali: +Ettore Aldrovandi (\pkgname{i386-solaris}, \pkgname{x86\_64-solaris}), +Alan Braslau (\pkgname{amd64-kfreebsd}, \pkgname{i386-kfreebsd}), +Peter Breitenlohner (\pkgname{x86\_64-linux}), +Karl Berry (\pkgname{i386-linux}), +Ken Brown (\pkgname{i386-cygwin}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}, \pkgname{x86\_64-darwin}), +Nikola Le\v{c}i\'c (\pkgname{amd64-freebsd}, \pkgname{i386-freebsd}), +Mojca Miklavec (\pkgname{mipsel-linux}), +Norbert Preining (\pkgname{alpha-linux}), + %Jukka Salmi (\pkgname{i386-netbsd}), + Thomas Schmitz (\pkgname{powerpc-linux}), +Boris Veytsman (\pkgname{armel-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Informacje na temat procesu budowy \TL{} można znaleźć na stronie: +\url{http://tug.org/texlive/build.html}. + +Aktualizacje i~tłumaczenia dokumentacji wykonali: +Siep Kroonenberg i~Karl Berry (angielski), +Manuel P\'egouri\'e-Gonnard (francuski), +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 (polski). +Na stronie \url{http://tug.org/texlive/doc.html} będą umieszczane ewentualne +aktualizacje tej dokumentacji. + +Oczywiście, najważniejsze podziękowania należą się Donaldowi Knuthowi +za stworzenie systemu \TeX{} i~ofiarowanie go nam wszystkim. + +%%% +\section{Historia} +\label{sec:history} + +\subsection{Poprzednie wersje} + +Dystrybucja \TL{} jest wspólnym przedsięwzięciem +grup Użytkowników Systemu \TeX{} z Niemiec, Holandii, Wielkiej +Brytanii, Francji, Czech, Słowacji, Polski, Indii i~Rosji oraz grupy +międzynarodowej TUG (\emph{\TeX{} Users Group}). +Dyskusje nad projektem rozpoczęły się pod koniec 1993 roku, kiedy holenderska +Grupa Użytkowników \TeX-a rozpoczęła prace nad swoim +4All\TeX{} \CD{} dla użytkowników \acro{MS-DOS}. W~tym też +czasie pojawiły się nadzieje na opracowanie jednego \CD{} dla +wszystkich systemów. +Projekt ten był wprawdzie zbyt ambitny, zrodził jednak nie tylko bardzo +popularny i~uwieńczony dużym powodzeniem projekt 4All\TeX{} \CD{}, +lecz również spowodował powstanie Grupy Roboczej TUG ds. Standardu Katalogów +\TeX-owych (\emph{\TeX{} Directory Structure}), określającego, w~jaki +sposób tworzyć zgodne i~łatwe do zarządzania zestawy pakietów \TeX-owych. +Końcowy raport \TDS{} został opublikowany w~grudniowym numerze +\textsl{TUGboat}-a, i~jasnym się stało, że +jednym z~oczekiwanych wyników wprowadzenia tego standardu mogłaby +być modelowa struktura na płytce \CD. +Wydana wówczas płytka \CD{} była bezpośrednim rezultatem rozważań i~zaleceń +Grupy Roboczej ds. \TDS. +Jasne także było, że sukces 4All\TeX{} \CD{} pokazał, że +użytkownicy Unixa także wiele by zyskali, mogąc korzystać +z~podobnie łatwego w~instalacji/pielęgnacji i~użytkowaniu systemu. +Było to jednym z~celów projektu \TL. + +Projekt przygotowania płytki \CD, opartej na standardzie \TDS i~zorientowanej +na systemy uniksowe, rozpoczął się jesienią 1995 roku. Szybko +zdecydowaliśmy się na wykorzystanie \teTeX-a autorstwa Thomasa Essera, ponieważ +działał na wielu platformach i~został zaprojektowany z~myślą +o~przenośności pomiędzy różnymi systemami plików. Thomas zgodził się pomóc +i~prace rozpoczęły się na dobre na początku 1996 roku. Pierwsze wydanie +ukazało się w~maju 1996 roku. Na początku 1997 roku Karl Berry udostępnił +nową, istotnie zmienioną wersję swojego pakietu \Webc, zawierającą prawie +wszystkie funkcje wprowadzone do \teTeX-a przez Thomasa Essera. W~związku +z~tym zdecydowaliśmy się oprzeć drugie wydanie \CD{} na standardowej +bibliotece \Webc, z~dodaniem skryptu \texttt{texconfig} z~pakietu \teTeX. +Trzecie wydanie \CD{} było oparte na \Webc{} wersji 7.2, przygotowanej przez +Olafa Webera. W~tym samym czasie została przygotowana nowa wersja \teTeX-a +i~\TL{} udostępniał prawie wszystkie jego nowe funkcje. +Czwarta edycja była przygotowana podobnie, +z~użyciem nowej wersji te\TeX-a i~nowej wersji \Webc{} (7.3). +Wtedy to też zapoczątkowano kompletną dystrybucję dla Windows. + +Edycja piąta (marzec 2000) zawierała wiele poprawek i~uzupełnień; +zaktualizowano setki pakietów. Szczegółową zawartość pakietów +zapisano w~plikach XML. +Główną zmianą w~\TeX\ Live~5 było usunięcie programów, które nie miały +statusu {\it public domain}. Zawartość całej płytki powinna odpowiadać ustaleniom +Debian Free Software Guidelines (\url{http://www.debian.org/intro/free}). +Dołożyliśmy wszelkich starań, aby sprawdzić warunki licencyjne pakietów. + %nadal jednak bardzo prosimy o~zgłaszanie zauważonych pomyłek. + +Szósta edycja (lipiec 2001) zawierała aktualizacje całego materiału. Główną +zmianą było wprowadzenie nowej koncepcji programów instalacyjnych -- użytkownik +miał odtąd możliwość dokładniejszego wyboru potrzebnych zestawów i~pakietów. +Zestawy dotyczące obsługi poszczególnych języków zostały całkowicie +zreorganizowane, dzięki czemu wybór jednego z~nich nie tylko instalował +potrzebne makra i~fonty, ale też przygotowywał odpowiedni plik +\texttt{language.dat}. + +\TL~7 (rok 2002) zawierał po raz pierwszy oprogramowanie dla \MacOSX{} +i -- jak zwykle -- aktualizację wszelkich programów i~pakietów. +Ważnym zadaniem, które wykonano, było ujednolicenie plików źródłowych +programów z~dystrybucją te\TeX. W~programach instalacyjnych wprowadzono +możliwość wyboru bardziej ogólnych, predefiniowanych zestawów pakietów +(m.in. dla użytkowników francuskojęzycznych oraz polskich). Nowością +było także wprowadzenie procedury aktualizacji map fontowych dla Dvips +i~PDFTeX podczas instalacji oraz doinstalowywania pakietów fontowych. + +W~2003~r., wraz z~napływem aktualizacji i~dodatkowych nowych pakietów, +okazało się, że \TL{} nie mieści się na pojedynczym \CD. +Zmuszeni byliśmy podzielić \TL{} na trzy dystrybucje, które wydano +na \DVD{} i~dwóch płytkach \CD. Ponadto: + +\begin{itemize*} +\item na życzenie ,,\LaTeX{} team'' zmieniono standardowe użycie + programów \cmdname{latex} i~\cmdname{pdflatex}~-- by korzystały + one z~\eTeX{} (patrz str.~\pageref{text:etex}); +\item załączono nowe fonty obwiedniowe Latin Modern, które zastępują + m.in. fonty EC (zawierając komplet znaków europejskich), szczególnie + do tworzenia poprawnych plików PDF; +\item usunięto binaria dla platformy Alpha \acro{OSF} (poprzednio + usunięto także binaria dla \acro{HPUX}), niestety nie udało się znaleźć + osób chętnych do wykonania kompilacji; +\item zmieniono instalację w~systemach Windows, wprowadzając po raz pierwszy + zintegrowane środowisko pracy, oparte na edytorze XEmacs; +\item potrzebne programy pomocnicze dla Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) instalowano w~strukturze katalogów + instalacji \TL; +\item mapy fontowe, z~których korzystają programy \cmdname{dvips}, + \cmdname{dvipdfm} oraz \cmdname{pdftex}, generowano odtąd w~katalogu + \dirname{texmf/fonts/map}; +\item \TeX{}, \MF{} oraz \MP{} domyślnie pozwalały wypisywać komunikaty + na ekranie i~w~pliku .log, a~także w~operacjach \verb|\write| w~ich + reprezentacji 8-bitowej, zamiast tradycyjnej notacji \verb|^^|; + w~\TL{}~7 eksperymentalnie wprowadzono zależność przekodowania + wyjścia programów od systemowej strony kodowej, potem ten pomysł + zarzucono; +\item znacznie zmieniono niniejszą dokumentację; +\item wreszcie, ponieważ numery wersji kolejnych edycji mogły wprowadzać + w~błąd, postanowiono identyfikować edycje \TL{} zgodnie z~rokiem + wydania. +\end{itemize*} + +\subsection{Wydanie 2004} + +Jak w~każdej kolejnej wersji, w~2004 roku uaktualniono wiele pakietów +i~programów. Poniżej wymieniamy najbardziej istotne zmiany. + +\begin{itemize} +\item Gdy mieliśmy już lokalnie zainstalowane fonty, które korzystały +z~własnych plików \filename{.map} i/lub \filename{.enc}, \emph{należało} +przenieść te pliki w~nowe miejsce w~strukturze \filename{texmf/}. + +Pliki \filename{.map} (map fontowych) są odtąd wyszukiwane w~podkatalogach +\dirname{fonts/map} (w~każdym drzewie \filename{texmf}), zgodnie ze ścieżką +określoną przez zmienną \envname{TEXFONTMAPS}. Analogicznie, pliki +\filename{.enc} (przekodowań fontów) są odtąd wyszukiwane w~podkatalogach +\dirname{fonts/enc}, zgodnie ze ścieżką określoną przez zmienną +\envname{ENCFONTS}. O~niewłaściwie umieszczonych plikach tego typu +zostaniemy ostrzeżeni podczas uruchomienia programu \cmdname{updmap}. +Zmiany te wprowadzono w~celu uporządkowania struktury katalogów: wszystkie +pliki dotyczące fontów znajdują się odtąd w~ramach jednego podkatalogu +\dirname{fonts/}. + +Metody radzenia sobie z~sytuacjami związanymi z~przejściem na nowy układ +katalogów omawiał artykuł \url{http://tug.org/texlive/mapenc.html}. + +\item Do \TK\ \DVD{} dodano nową dystrybucję dla Windows o~nazwie +pro\TeX{}t (opartą na \MIKTEX-u). Była ona dostępna także na odrębnym \CD. +Choć pro\TeX{}t nie bazuje na implementacji Web2C, stosuje układ katalogów +zgodny z~\TDS (patrz część~\ref{sec:struct-tl} na +str.~\pageref{sec:struct-tl}). + +\item W ramach \TL{} dotychczasowe pojedyncze drzewo katalogów +\dirname{texmf} zostało rozdzielone na trzy mniejsze: \dirname{texmf}, +\dirname{texmf-dist} i~\dirname{texmf-doc} (patrz +część~\ref{sec:tld}, str.~\pageref{sec:tld}) oraz pliki \filename{README} +w~każdym z~tych katalogów). + +\item Wszystkie pliki makr wczytywane przez \TeX-a zostały +umieszczone wyłącznie w~podkalogu \dirname{tex} w~ramach +\dirname{texmf*}. Tym samym usunięto zbędne katalogi +\dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} itp. i~uproszczono +metody wyszukiwania plików. Patrz +\CDref{texmf-dist/doc/generic/tds/tds.html\#Extensions} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Extensions}}. + +\item Pomocnicze skrypty wykonywalne, niezależne od platformy +i~zwykle uruchamiane w~sposób automatyczny, były odtąd +umieszczone w~nowym podkatalogu \dirname{scripts} w~ramach \dirname{texmf*}. +Znajdowane są poleceniem \verb|kpsewhich -format=texmfscripts|. +Programy korzystające z tych skryptów mogły wymagać modyfikacji. +Patrz \CDref{texmf-dist/doc/generic/tds/tds.html\#Scripts} +{\texttt{texmf-dist/doc/generic/tds/tds.html\#Scripts}}. + +\item Prawie wszystkie formaty traktują od tego wydania większość znaków jako +jawnie ,,wyświetlalne'' (\emph{printable}), nie zaś, jak było dotychczas, +konwertowane na \TeX-ową notację \verb|^^|. Było to możliwe dzięki domyślnemu +wczytywaniu tablicy przekodowań \filename{cp227.tcx}. Dokładniej, znaki +o~kodach 32--256, HT, VT oraz FF zostały potraktowane dosłownie podczas +wyświetlania komunikatów. Wyjątkiem jest plain \TeX{} (tylko znaki z~zakresu +32--127 są nie zmieniane), \ConTeXt{} (znaki z zakresu 0--255) oraz formaty +bazujące na Omedze. Podobna domyślna właściwość występowała w~\TL\,2003, ale +w~tej edycji została zaimplementowana w~bardziej elegancki sposób +i~z~większymi możliwościami indywidualnego dostosowania (patrz +\CDref{texmf/doc/web2c/web2c.html\#TCX-files} {\texttt{texmf/doc/web2c/web2c. +tml\#TCX-files}}. (Warto wspomnieć, że wczytując Unicode, \TeX{} może +w~komunikatach błędów pokazywać niekompletne sekwencje znaków, ponieważ +został zaprojektowany ,,bajtowo''.) + %%! hmmm, cały akapit by o strumieniach we-wy? + +\item Program \textsf{pdfetex} został domyślną ,,maszyną'' dla +większości formatów (nie dotyczy to samego Plain \textsf{tex}). +Domyślnie, gdy uruchamiamy polecenie \textsf{latex}, \textsf{mex} +itp., generowane są pliki \acro{DVI}. Możliwe jest jednak wykorzystanie +w~\LaTeX, \ConTeXt{} itp. m.in. właściwości mikrotypograficznych +zaimplementowanych w~\textsf{pdftex}, a~także rozszerzonych cech \eTeX-a +(\OnCD{texmf-dist/doc/etex/base/}). + +Oznacza to także, co warto podkreślić, że \emph{zalecane} jest odtąd użycie +pakietu \pkgname{ifpdf} (który działa zarówno z~plain, jak i~\LaTeX) +lub analogicznych makr. Zwykłe sprawdzanie czy zdefiniowano \cs{pdfoutput} +bądź kilka innych poleceń pierwotnych może nie wystarczyć do rozstrzygnięcia +czy nie jest generowany plik \acro{PDF}. W~2004 roku podjęliśmy +wysiłek by zachować, najlepiej jak to możliwe, kompatybilność +z~dotychczasowymi przyzwyczajeniami użytkowników. Brano wówczas pod uwagę, +że \cs{pdfoutput} może być zdefiniowany nawet wtedy, +gdy generowany jest plik \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) zyskał wówczas wiele nowych +cech: + + \begin{itemize*} + \item \cs{pdfmapfile} i~\cs{pdfmapline} pozwalają określić + z~poziomu dokumentu użyte mapy fontowe, a~także pojedyncze + dodatkowe wpisy w~tych mapach. + + \item mikrotypograficzne operacje z~fontami są łatwiejsze w użyciu;\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item wszystkie parametry pracy pdf\TeX-a, dotychczas określane + w~specjalnym pliku konfiguracyjnym \filename{pdftex.cfg}, muszą być + odtąd ustawiane poleceniami wbudowanymi, jak w~pliku + \filename{pdftexconfig.tex}; plik \filename{pdftex.cfg} + nie jest już w~ogóle wykorzystywany. Po zmianie \filename{pdftexconfig.tex} + należało na nowo wygenerować pliki formatów (wciąż jednak użytkownik miał + pełną swobodę określania parametrów w~redagowanym dokumencie); + + \item więcej informacji zawarto w~podręczniku pdf\TeX-a: + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item Polecenie \cs{input} w~programach \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} akceptowało odtąd nazwy + plików ograniczone podwójnymi apostrofami, zawierające spacje i~inne + znaki, np.: +\begin{verbatim} +\input "nazwa_pliku ze spacjami" % plain +\input{"nazwa_pliku ze spacjami"} % latex +\end{verbatim} +Więcej informacji zawarto w~podręczniku Web2C: \OnCD{texmf/doc/web2c}. + +\item \texttt{-output-directory} -- nowa opcja programów \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} -- pozwalała na zapisanie wyniku pracy + w~wyspecyfikowanym katalogu (np. można uruchomić program \texttt{tex} + z~plikiem znajdującym się na dysku tylko do odczytu, zaś wynik zapisać + na dysku pozwalającym na~to); + +\item Rozszerzenie enc\TeX\ zostało szczęśliwie włączone do Web2C. + Aby uaktywnić to rozszerzenie, należało podczas generowania formatu + użyć opcji \optname{-enc}. Ogólnie mówiąc, enc\TeX\ obsługuje + przekodowanie wejścia i~wyjścia, włączając także Unicode (\acro{UTF}-8) + (patrz \OnCD{texmf-dist/doc/generic/enctex/} oraz + \url{http://www.olsak.net/enctex.html}). + +\item Udostępniono nowy program Aleph, który łączył cechy \eTeX\ i~\OMEGA. + Skromna dokumentacja jest dostępna na \OnCD{texmf-dist/doc/aleph/base} + oraz \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. + Format oparty na \LaTeX-u dla programu Aleph nazwano \textsf{lamed}. + +\item Dystrybucja \LaTeX-a została po raz pierwszy zaopatrzona w~nową + licencję \acro{LPPL}, odtąd w~pełni zgodną i~aprobowaną przez zalecenia + określone w~licencji Debiana. O~nowościach i~uaktualnieniach można się + dowiedzieć przeglądając pliki \filename{ltnews} + w~\OnCD{texmf-dist/doc/latex/base}. + +\item Dołączono także program \cmdname{dvipng} konwertujący pliki \acro{DVI} +do formatu graficznego \acro{PNG} (\OnCD{texmf/doc/man/man1/dvipng.1}). + +\item W~porozumieniu i~z~pomocą autora, Claudio Beccariego, ograniczono + pakiet \pkgname{cbgreek} do zestawu fontów rozsądnego rozmiaru. Usunięto + sporadycznie używane fonty konturowe i~służące do prezentacji. Pełen + zestaw jest oczywiście nadal dostępny z~serwerów \acro{CTAN} +(\url{http://mirror.ctan.org/tex-archive/fonts/greek/cb}). + +\item Usunięto program \cmdname{oxdvi}; jego funkcje przejął + \cmdname{xdvi}. + +\item Programy z~przedrostkiem \cmdname{ini} oraz \cmdname{vir} + (np. \cmdname{initex}), które zwykle były dowiązaniami do programów + \cmdname{tex}, \cmdname{mf} i~\cmdname{mpost}, nie były od tej pory dostępne + -- w~zupełności wystarcza użycie w~wierszu poleceń opcji \optname{-ini}. + +\item Dystrybucja nie zawierała binariów dla platformy \textsf{i386-openbsd} + (głównie z~powodu braku chętnych do wykonania kompilacji). + +\item W~systemie \textsf{sparc-solaris} należało ustawić zmienną systemową + \envname{LD\_LIBRARY\_PATH}, aby uruchomić programy \pkgname{t1utils}. + Binaria były kompilowane w~C++, ale w~tym systemie brakowało standardowego + położenia bibliotek uruchomieniowych. Wiedziano o~tym już wcześniej, + nie było to jednak dotychczas udokumentowane. Z~kolei dla systemu + \textsf{mips-irix} wymagana była obecność bibliotek \acro{MIPS}pro 7.4. + +\end{itemize} + +\subsection{Wydanie 2005} + +Kolejna edycja przyniosła, jak zwykle, mnóstwo aktualizacji pakietów +i~programów. Struktura dystrybucji ustabilizowała się, niemniej +pojawiło się nieco zmian w~konfiguracji: + +\begin{itemize} + +\item Wprowadzono nowe skrypty \cmdname{texconfig-sys}, \cmdname{updmap-sys} + i~\cmdname{fmtutil-sys}, których zadaniem jest modyfikowanie plików + konfiguracyjnych w~głównych drzewach katalogów systemu. Dotychczasowe + skrypty \cmdname{texconfig}, \cmdname{updmap} i~\cmdname{fmtutil} + modyfikują odtąd pliki użytkownika w~katalogu \dirname{$HOME/.texlive2005}. + %(Patrz część~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}). + +\item Dodano nowe zmienne środowiskowe \envname{TEXMFCONFIG} + i~\envname{TEXMFSYSCONFIG}, które wskazują położenie drzew katalogów + z~plikami konfiguracyjnymi, odpowiednio: użytkownika i~systemu. Tak więc + mogło okazać się koniecznym przeniesienie własnych wersji + \filename{fmtutil.cnf} i~\filename{updmap.cfg} w~odpowiednie miejsca. + Inną możliwością było przedefiniowanie \envname{TEXMFCONFIG} lub + \envname{TEXMFSYSCONFIG} w~pliku \file{texmf.cnf}. W~każdym z~przypadków + położenie tych plików i~przypisania + \envname{TEXMFCONFIG} i~\envname{TEXMFSYSCONFIG} muszą być zgodne. + (Patrz część~\ref{sec:texmftrees}, str.~\pageref{sec:texmftrees}.) + +\item W~wydaniu z~poprzedniego roku podczas tworzenia wynikowego pliku + DVI \verb|\pdfoutput| i~podobne polecenia pozostawały niezdefiniowane, mimo + że używany był program \cmdname{pdfetex}. Zgodnie z~obietnicą, + w~2005 roku zarzucono to rozwiązanie (jego celem było zapewnienie + kompatybilności). Z~tego powodu użytkownik był zmuszony zmienić te dokumenty, + które używały \verb|\ifx\pdfoutput\undefined| do sprawdzania, czy plik + wynikowy ma być w~formacie PDF. Zamiast tego należało zastosować pakiet + \pkgname{ifpdf.sty}, który działa zarówno z~plain \TeX-em jak i~\LaTeX-em, + albo zapożyczyć zastosowane w~nim rozwiązania. + +\item W~wydaniu z~2004 roku zmieniono większość formatów tak, by + na wyjściu 8-bitowe znaki były reprezentowane przez same siebie (por. + poprzednia część). Nowy plik TCX o~nazwie \filename{empty.tcx} pozwalał + w~łatwy sposób uzyskać w~razie potrzeby oryginalną notację (\verb|^^|), + np.: + +\begin{verbatim} +latex --translate-file=empty.tcx twojplik.tex +\end{verbatim} + +\item Dołączono nowy program \cmdname{dvipdfmx}, służący do konwersji DVI + do PDF. Program jest aktywnie pielęgnowaną wersją programu + \cmdname{dvipdfm}, który wciąż jest dostępny, ale nie jest już jednak + polecany. + +\item Nowe programy \cmdname{pdfopen} i~\cmdname{pdfclose} pozwalały na + przeładowanie plików PDF w~Adobe Acrobat Reader, bez konieczności ponownego + uruchamiania programu. (Inne przeglądarki formatu PDF, jak \cmdname{xpdf}, + \cmdname{gv} i~\cmdname{gsview}, nigdy na tę przypadłość nie cierpiały.) + +\item Dla spójności, zmienne \envname{HOMETEXMF} i~\envname{VARTEXMF} zostały + przemianowane odpowiednio na \envname{TEXMFHOME} i~\envname{TEXMFSYSVAR}. + Zachowano zmienną \envname{TEXMFVAR}, przeznaczoną domyślnie dla + użytkownika. Patrz też punkt pierwszy, powyżej. + +\end{itemize} + +\subsection{Wydanie 2006--2007} + +Największą nowością edycji lat 2006 i~2007 był Xe\TeX{}, +w~postaci programów \texttt{xetex} i~\texttt{xelatex}; patrz +\OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf} lub +\url{http://scripts.sil.org/xetex}. + +W istotny sposób został zaktualizowany MetaPost, zaplanowano także jego +dalszy rozwój (\url{http://tug.org/metapost/articles}); to samo dotyczy +pdf\TeX-a (\url{http://tug.org/applications/pdftex}). + +Pliki formatów (pdf)TeX-a (\filename{.fmt}) oraz analogiczne dla MetaPosta +i~Meta\-Fonta są od tej edycji zapisywane w~podkatalogach +\dirname{texmf/web2c}, choć sam ten katalog jest nadal przeszukiwany. +Podkatalogi te mają nazwę zgodną z~zastosowanym podczas generowania +,,silnikiem'', np. \filename{tex}, \filename{pdftex} lub \filename{xetex}. +Zmiana ta nie powinna być zauważalna w~typowym użyciu. + +Program \texttt{tex} (plain) od tej edycji już nie analizował pierwszego +wiersza rozpoczynającego się znakami \texttt{\%\&}, aby ustalić jaki ma +wczytać format. Pozostał zatem czysty, Knuthowy \TeX. \LaTeX\ i~wszystkie +pozostałe formaty nadal analizują pierwszy wiersz z~\texttt{\%\&}. + +Oczywiście, jak zwykle, w~okresie od poprzedniego wydania opracowano setki +innych aktualizacji pakietów i programów. Kolejne aktualizacje można znaleźć +tradycyjnie na \acro{CTAN} (\url{http://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 takich ulepszeń w~otoczeniu \TeX-owym, na +których skorzystają wszyscy. + +\subsection{Wydanie 2008} + +W 2008 roku cała infrastruktura \TL{} została przeprojektowana +i~przeprogramowana. Informacja dotycząca instalacji jest przechowywana +obecnie w~zwykłym pliku tekstowym \filename{tlpkg/texlive.tlpdb}. + +Po zainstalowaniu \TL{} wreszcie jest możliwa jego aktualizacja z~internetu, +podobnie jak od paru lat umożliwia to dystrybucja MiK\TeX. Zamierzamy +regularnie aktualizować pakiety, w~miarę jak będą się pojawiać na serwerach +\CTAN. + +W~tym wydaniu pojawił się nowy ,,silnik'', Lua\TeX\ +(\url{http://luatex.org}). Prócz nowych, elastycznych możliwości +dotyczących składu, udostępnia on doskonały język skryptowy do +zastosowania zarówno w~dokumentach \TeX-owych, jak i~poza nimi. + +Obsługa dla Windows i~platform opartych na Unix została obecnie znacznie +bardziej zunifikowana. W~szczególności większość skryptów w~Perlu i~Lua +dostępna jest teraz także dla Windows (zastosowano ,,wewnętrzny'' Perl, +dostarczany wraz z~\TL). + +Pojawił się nowy skrypt \cmdname{tlmgr} (patrz część~\ref{sec:tlmgr}), który +staje się głównym narzędziem do zarządzania \TL{} po jego instalacji. +Umożliwia on aktualizację pakietów wraz z~niezbędnymi wtedy czynnościami, +jak regenerowanie formatów, aktualizacja map fontowych itp. + +Wraz z pojawieniem się \cmdname{tlmgr} niektóre funkcje \cmdname{texconfig} +zostały zablokowane (edycja plików konfiguracyjnych formatów i~wzorców +przenoszenia). + +Program \cmdname{xindy} do tworzenia skorowidzów +(\url{http://xindy.sourceforge.net/}) jest obecnie dostępny dla większości +platform. + +Narzędzie \cmdname{kpsewhich} może obecnie raportować wszystkie wyniki +przeszukiwania danego pliku (parametr \optname{--all}), jak również +ograniczyć wyszukiwanie do jednego katalogu (parametr \optname{--subdir}). + +Program \cmdname{dvipdfmx} posiada obecnie funkcję \cmdname{extractbb} +uzyskania informacji o~prostokącie ograniczającym (\textit{bounding box}); +jest to jedna z~ostatnich cech przejętych od dawniej używanego programu +\cmdname{dvipdfm} (który jest nadal dostępny). + +Usunięto aliasy fontów \filename{Times-Roman}, \filename{Helvetica}, itd. +Różne pakiety korzystały z~nich w~nieoczekiwany sposób (np. spodziewając +się, że fonty te będą miały różne kodowanie). Nie ma obecnie dobrego sposobu +na rozwiązanie tych sprzeczności. + +Usunięto format \pkgname{platex}, by uniknąć konfliktu nazwy z~używanym od +wielu lat japońskim pakietem \pkgname{platex}; pakiet \pkgname{polski} (czyli +dawny \pkgname{platex}) jest obecnie wystarczającym sposobem na polonizację +dla \LaTeX-a. + +Usunięto pliki \filename{.pool}, które są obecnie wkompilowane w~programy, +co ułatwia ich aktualizację. + +Do tego wydania włączono także ostatnie zmiany dokonane przez +Donalda Knutha (tzw. \textit{\TeX\ tuneup of 2008}); patrz: +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{Wydanie 2009} + +W wydaniu 2009 najbardziej widoczną zmianą jest to, że +pdf\AllTeX\ \emph{automatycznie} dokonuje konwersji pliku EPS do PDF, +poprzez uruchomienie programu \code{epstopdf} (dotyczy to sytuacji, +gdy użyto pliku konfiguracyjnego \code{graphics.cfg} \LaTeX-a i gdy +plikiem wynikowym składu ma być PDF). Domyślne ustawienia zapobiegają +nadpisaniu wszelkich utworzonych wcześniej przez użytkownika plików PDF, +ale można także wyłączyć uruchamianie \code{epstopdf}, wstawiając +|\newcommand{\DoNotLoadEpstopdf}{}| (lub |\def...|) przed deklaracją +\cs{documentclass}. Szczegóły można znaleźć w dokumentacji pakietu epstopdf +(\url{http://ctan.org/pkg/epstopdf-pkg}). + +Ważną zmianą jest także uruchamianie podczas kompilacji niektórych +zewnętrznych programów via \cs{write18}. Dotyczy to np. +\code{epstopdf}, \code{makeindex} czy \code{bibtex}. Dokładna lista +takich programów zawarta jest w pliku \code{texmf.cnf}. +Dla instalacji, które mogą wymagać zakazu uruchamiania takich programów +,,w~tle'' przewidziano odpowiednią opcję w programie instalacyjnym (patrz +część~~\ref{sec:options}). Po instalacji można zablokować uruchamianie +w~pliku \code{texmf.cnf}. + +Od wydania 2009 domyślnym formatem wyjściowym dla Lua\AllTeX\ staje się PDF +(wykorzystuje on m.in. obsługę przez Lua\-\TeX-a fontów OpenType). Aby uzyskać +plik DVI należy użyć nowych poleceń: \code{dviluatex} lub \code{dvilualatex}. +Strona domowa projektu Lua\TeX: \url{http://luatex.org}. + +Usunięto oryginalny silnik Omega i format Lambda (w uzgodnieniu z autorami). +Pozostał zaktualizowany Aleph i format Lamed, oraz pliki pomocnicze Omega. + +Załączono nowe wydanie fontów AMS \TypeI, m.in. fonty +Computer Modern. Zawierają one poprawki dokonane w plikach metafontowych +przez D.~Knutha w ciągu ostatnich lat, a także poprawki hintingu. +Hermann Zapf przeprojektował także fonty Euler (patrz +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92hagen-euler.pdf}). +Co ważne, dla wszystkich fontów nie zmieniono plików metrycznych (TFM). +Strona domowa fontów: \url{http://www.ams.org/tex/amsfonts.html}. + +Dla Windows i Mac\TeX{} dołączono nowe środowisko\dywiz edytor \TeX{}works. +Dla innych platform patrz: \url{http://tug.org/texworks}. +Inspirowany przez edytor TeXShop dla \MacOSX, \TeX{}works jest +wieloplatformowym, łatwym w użyciu środowiskiem pracy. + +Dla niektórych platform załączono nowy program graficzny Asymptote +(\url{http://asymptote.sourceforge.net}). Korzysta on z tekstowej notacji +zbliżonej do MetaPosta, ale rozszerzonej do obsługi 3D itp. + +Program \code{dvipdfm} został zastąpiony przez \code{dvipdfmx}, który +działa w specjalnym trybie kompatybilnym, gdy użyć do wywołania +dawną nazwę. \code{dvipdfmx} wspiera \acro{CJK} i zawiera wiele poprawek +od ostatniej dystrybucji \code{dvipdfm}. Strona domowa: +\url{http://project.ktug.or.kr/dvipdfmx}. + +Dodano zestawy programów dla \pkgname{cygwin} i \pkgname{i386-netbsd}, +podczas gdy usunięto programy dla innych platform BSD. Zapewniono nas, +że użytkownicy OpenBSD i FreeBSD będą mogli pobierać pakiety \TeX-owe +wraz z aktualizacją obu systemów. Ponadto natknęliśmy się na spore trudności +przy kompilacji programów, które mogłyby działać w różnych wersjach tych +systemów. + +Inne zmiany: do kompresji pakietów użyto programu \pkgname{xz}, +stanowiącego stabilny zamiennik \pkgname{lzma} +(\url{http://tukaani.org/xz/}); znak |$| jest obecnie dozwolony w nazwach +plików, o ile nie poprzedza on nazwy znanej zmiennej; biblioteka Kpathsea +jest obecnie wielowątkowa (co wykorzystano w~programie MetaPost); do budowy +wszystkich programów wykorzystano teraz Automake. + +\subsection{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 +aktualizacja może zostać łatwo cofnięta poprzez \code{tlmgr restore}. +W~przypadku ograniczonej ilości miejsca na dysku, opcja ta może zostać +wyłączona przez \code{tlmgr option autobackup 0}. + +Dołączono nowe programy: p\TeX\ i~narzędzia do składu w~języku japońskim, +\BibTeX{}U dla obsługi Unicode w~\BibTeX-u, chktex +(\url{http://baruch.ev-en.org/proj/chktex}) -- program do sprawdzania +dokumentów \AllTeX, dvisvgm -- konwerter DVI do SVG +(\url{http://dvisvgm.sourceforge.net}) oraz binaria dla nowych platform +sprzętowych: \code{amd64-freebsd}, \code{amd64-kfreebsd}, +\code{i386-freebsd}, \code{i386-kfreebsd}, \code{x86\_64-darwin}, +\code{x86\_64-solaris}. + +W~dokumentacji zmian poprzedniego wydanie (\TL{} 2009) nie zdążono uwzględnić +usunięcia wielu programów uruchomieniowych dla \TeX4ht +(\url{http://tug.org/tex4ht}) oraz zastąpienia ich jednym programem +\code{mk4ht}. + +Wreszcie, z~powodu niewystarczającej ilości miejsca na płycie \TK\ \DVD, +zrezygnowano z~możliwości uruchamiania \TL{} w~trybie ,,live''. Jednocześnie +znacznie przyspieszyło to sam proces instalacji \TL{} z~płytki \DVD. + +\subsection{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 dl użytkownika, choć znacznie przyspieszyły działanie +programu. + +\htmlanchor{news} +\subsection{Obecna edycja} +\label{sec:tlcurrent} + +Program \code{tlmgr} pozwala na aktualizacje 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 przekroczyć +wielkość 2GB. + +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 obecnie 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}, ale są one nadal dostępne (wraz z~binariami dla +kilku innych platform) na stronie: +\url{http://tug.org/texlive/custom-bin.html}. + +\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{\enspace 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} + -- cgit v1.2.3